Tested to compile c10t with clang and got a lot of compiler warnings which also overlapped with #270. Didn't run any benchmarks but compiling seems much faster and all my worlds appear to render correctly afterwards. Note that all out-of-tree dependencies were compiled with GCC.
To compile with clang I simply replaced c++ and cc with clang++ and clang in cmakes config gui. Of course you'll have to install clang first.
evildeeds@evil ~/games/minecraft/tools/c10t/c10t-git $ cmake-gui ./
evildeeds@evil ~/games/minecraft/tools/c10t/c10t-git $ make clean
evildeeds@evil ~/games/minecraft/tools/c10t/c10t-git $ make -j1
[ 2%] Building CXX object libs/unc/CMakeFiles/uncdata.dir/gen/unc/iso8859.cpp.o
[ 4%] Building CXX object libs/unc/CMakeFiles/uncdata.dir/gen/unc/unccase.cpp.o
Linking CXX static library libuncdata.a
[ 4%] Built target uncdata
[ 6%] Building CXX object src/image/CMakeFiles/c10t-image.dir/image_operations.cpp.o
[ 8%] Building CXX object src/image/CMakeFiles/c10t-image.dir/image_base.cpp.o
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/image_base.cpp:43:14: warning: taking the absolute value of unsigned type 'unsigned long' has no effect [-Wabsolute-value]
int dx = abs(x2-x1);
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/image_base.cpp:43:14: note: remove the call to 'abs' since unsigned values cannot be negative
int dx = abs(x2-x1);
^~~
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/image_base.cpp:44:14: warning: taking the absolute value of unsigned type 'unsigned long' has no effect [-Wabsolute-value]
int dy = abs(y2-y1);
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/image_base.cpp:44:14: note: remove the call to 'abs' since unsigned values cannot be negative
int dy = abs(y2-y1);
^~~
2 warnings generated.
[ 11%] Building CXX object src/image/CMakeFiles/c10t-image.dir/memory_image.cpp.o
[ 13%] Building CXX object src/image/CMakeFiles/c10t-image.dir/cached_image.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.cpp:4:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.hpp:42:35: warning: implicit conversion from array size expression of type 'streampos' (aka 'fpos<mbstate_t>') to integral type 'streamoff' (aka 'long') is a C++11 extension [-Wc++11-extensions]
boost::scoped_array<char> nil(new char[write_size]);
^ ~~~~~~~~~~
1 warning generated.
[ 15%] Building CXX object src/image/CMakeFiles/c10t-image.dir/color.cpp.o
[ 17%] Building CXX object src/image/CMakeFiles/c10t-image.dir/algorithms.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/algorithms.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/algorithms.hpp:9:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
Linking CXX static library libc10t-image.a
[ 17%] Built target c10t-image
[ 20%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/isometric_base.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_base.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 22%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/flat_base.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/flat_base.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/flat_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 24%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/topdown_engine.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/topdown_engine.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/topdown_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/flat_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 26%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/oblique_engine.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/oblique_engine.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/oblique_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 28%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/obliqueangle_engine.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/obliqueangle_engine.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/obliqueangle_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 31%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/isometric_engine.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_engine.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 33%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/fatiso_engine.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/fatiso_engine.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/fatiso_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/isometric_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
1 warning generated.
[ 35%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/functions.cpp.o
[ 37%] Building CXX object src/engine/CMakeFiles/c10t-engine.dir/block_rotation.cpp.o
Linking CXX static library libc10t-engine.a
[ 37%] Built target c10t-engine
[ 40%] Building CXX object libs/unc/CMakeFiles/unc.dir/src/unc/unc.cpp.o
Linking CXX static library libunc.a
[ 40%] Built target unc
[ 42%] Building CXX object src/nbt/CMakeFiles/c10t-nbt.dir/nbt.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.cpp:3:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
1 warning generated.
Linking CXX static library libc10t-nbt.a
[ 42%] Built target c10t-nbt
[ 44%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/blocks.cpp.o
[ 46%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/level.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/mc/level.cpp:5:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
1 warning generated.
[ 48%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/utils.cpp.o
[ 51%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/world.cpp.o
[ 53%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/region.cpp.o
[ 55%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/level_info.cpp.o
[ 57%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/region_iterator.cpp.o
[ 60%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/rotated_level_info.cpp.o
[ 62%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/dynamic_buffer.cpp.o
[ 64%] Building CXX object src/mc/CMakeFiles/c10t-mc.dir/marker.cpp.o
Linking CXX static library libc10t-mc.a
[ 64%] Built target c10t-mc
[ 66%] Building CXX object CMakeFiles/c10t.dir/src/main.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:18:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:120:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete (*it).second;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:158:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete *it;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:19:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:11:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.hpp:13:
In file included from /usr/include/freetype2/freetype.h:33:
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
long long ret, tmp;
^
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
/usr/include/freetype2/config/ftconfig.h:532:13: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
ret = (long long)a * b;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:19:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:12:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:41:15: warning: unused variable 'RENDER_BYTE' [-Wunused-const-variable]
const uint8_t RENDER_BYTE = 0x10;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:42:15: warning: unused variable 'COMP_BYTE' [-Wunused-const-variable]
const uint8_t COMP_BYTE = 0x20;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:43:15: warning: unused variable 'IMAGE_BYTE' [-Wunused-const-variable]
const uint8_t IMAGE_BYTE = 0x30;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:44:15: warning: unused variable 'PARSE_BYTE' [-Wunused-const-variable]
const uint8_t PARSE_BYTE = 0x40;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main.cpp:19:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:12:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
11 warnings generated.
[ 68%] Building CXX object CMakeFiles/c10t.dir/src/dlopen.cpp.o
[ 71%] Building CXX object CMakeFiles/c10t.dir/src/main_utils.cpp.o
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/main_utils.cpp:650:28: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
if (s.rotation < 0) {
~~~~~~~~~~ ^ ~
1 warning generated.
[ 73%] Building CXX object CMakeFiles/c10t.dir/src/algorithm.cpp.o
[ 75%] Building CXX object CMakeFiles/c10t.dir/src/players.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.cpp:4:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.cpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
2 warnings generated.
[ 77%] Building CXX object CMakeFiles/c10t.dir/src/fileutils.cpp.o
[ 80%] Building CXX object CMakeFiles/c10t.dir/src/dirlist.cpp.o
[ 82%] Building CXX object CMakeFiles/c10t.dir/src/altitude_graph.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:5:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/png.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/base.hpp:13:15: warning: 'format_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:20:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.hpp:42:35: warning: implicit conversion from array size expression of type 'streampos' (aka 'fpos<mbstate_t>') to integral type 'streamoff' (aka 'long') is a C++11 extension [-Wc++11-extensions]
boost::scoped_array<char> nil(new char[write_size]);
^ ~~~~~~~~~~
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:2:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.hpp:13:
In file included from /usr/include/freetype2/freetype.h:33:
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
long long ret, tmp;
^
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
/usr/include/freetype2/config/ftconfig.h:532:13: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
ret = (long long)a * b;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:16:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:21:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/algorithms.hpp:9:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
8 warnings generated.
[ 84%] Building CXX object CMakeFiles/c10t.dir/src/warps.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/warps.cpp:1:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/warps.hpp:22:17: warning: 'warps_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/warps.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/warps.hpp:12:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
2 warnings generated.
[ 86%] Building CXX object CMakeFiles/c10t.dir/src/text.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.cpp:3:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.hpp:13:
In file included from /usr/include/freetype2/freetype.h:33:
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
long long ret, tmp;
^
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
/usr/include/freetype2/config/ftconfig.h:532:13: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
ret = (long long)a * b;
^
3 warnings generated.
[ 88%] Building CXX object CMakeFiles/c10t.dir/src/json.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.cpp:1:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:120:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete (*it).second;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:158:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete *it;
^
2 warnings generated.
[ 91%] Building CXX object CMakeFiles/c10t.dir/src/generate_map.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:2:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/png.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/base.hpp:13:15: warning: 'format_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:6:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.hpp:13:
In file included from /usr/include/freetype2/freetype.h:33:
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
long long ret, tmp;
^
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
/usr/include/freetype2/config/ftconfig.h:532:13: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
ret = (long long)a * b;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:8:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/warps.hpp:22:17: warning: 'warps_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:26:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.hpp:42:35: warning: implicit conversion from array size expression of type 'streampos' (aka 'fpos<mbstate_t>') to integral type 'streamoff' (aka 'long') is a C++11 extension [-Wc++11-extensions]
boost::scoped_array<char> nil(new char[write_size]);
^ ~~~~~~~~~~
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:31:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:120:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete (*it).second;
^
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/json.hpp:158:11: warning: delete called on 'json::basic_json' that is abstract but has non-virtual destructor [-Wdelete-non-virtual-dtor]
delete *it;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:26:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.hpp:42:35: warning: implicit conversion from array size expression of type 'streampos' (aka 'fpos<mbstate_t>') to integral type 'streamoff' (aka 'long') is a C++11 extension [-Wc++11-extensions]
boost::scoped_array<char> nil(new char[write_size]);
^ ~~~~~~~~~~
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:653:16: note: in instantiation of function template specialization 'cached_image::build<nonstd::limited<std::fpos<__mbstate_t>, std::basic_ostream<char> > >' requested here
image->build(c);
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:7:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_map.cpp:14:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/topdown_engine.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/flat_base.hpp:4:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/engine/engine_base.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
12 warnings generated.
[ 93%] Building CXX object CMakeFiles/c10t.dir/src/generate_statistics.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_statistics.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:5:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/png.hpp:7:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/format/base.hpp:13:15: warning: 'format_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_statistics.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_statistics.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:20:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/cached_image.hpp:42:35: warning: implicit conversion from array size expression of type 'streampos' (aka 'fpos<mbstate_t>') to integral type 'streamoff' (aka 'long') is a C++11 extension [-Wc++11-extensions]
boost::scoped_array<char> nil(new char[write_size]);
^ ~~~~~~~~~~
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_statistics.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:16:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/generate_statistics.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/altitude_graph.hpp:21:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/image/algorithms.hpp:9:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/2d/cube.hpp:60:15: warning: private field 'y' is not used [-Wunused-private-field]
const pos_t y;
^
5 warnings generated.
[ 95%] Building CXX object CMakeFiles/c10t.dir/src/marker.cpp.o
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:11:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/text.hpp:13:
In file included from /usr/include/freetype2/freetype.h:33:
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
long long ret, tmp;
^
/usr/include/freetype2/config/ftconfig.h:529:5: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
/usr/include/freetype2/config/ftconfig.h:532:13: warning: 'long long' is a C++11 extension [-Wc++11-long-long]
ret = (long long)a * b;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:12:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:23:17: warning: 'players_db_exception::what' hides overloaded virtual function [-Woverloaded-virtual]
const char* what() throw() {
^
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/exception:68:25: note: hidden overloaded virtual function 'std::exception::what' declared here: different qualifiers (const vs none)
virtual const char* what() const _GLIBCXX_USE_NOEXCEPT;
^
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.cpp:1:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/marker.hpp:12:
In file included from /home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/players.hpp:16:
/home/evildeeds/games/minecraft/tools/c10t/c10t-git/src/nbt/nbt.hpp:112:17: warning: private field 'path' is not used [-Wunused-private-field]
const char* path;
^
5 warnings generated.
[ 97%] Building CXX object CMakeFiles/c10t.dir/src/nullstream.cpp.o
[100%] Building CXX object CMakeFiles/c10t.dir/src/settings_t.cpp.o
Linking CXX executable c10t
[100%] Built target c10t
Tested to compile c10t with clang and got a lot of compiler warnings which also overlapped with #270. Didn't run any benchmarks but compiling seems much faster and all my worlds appear to render correctly afterwards. Note that all out-of-tree dependencies were compiled with GCC.
To compile with clang I simply replaced c++ and cc with clang++ and clang in cmakes config gui. Of course you'll have to install clang first.