diff --git a/config.lib b/config.lib index ab9bb82b61..a144b9e3ea 100644 --- a/config.lib +++ b/config.lib @@ -1285,7 +1285,7 @@ make_compiler_cflags() { # -W alone doesn't enable all warnings enabled by -Wall; on the other hand, # -Weverything enables too many useless warnings that can't be disabled (as of 3.0) - flags="$flags -Wall -W" + flags="$flags -Wall -W -Wextra" # warning: unused parameter '...' flags="$flags -Wno-unused-parameter" @@ -1326,6 +1326,11 @@ make_compiler_cflags() { flags="$flags -Wno-unused-variable" fi + if [ "$cc_version" -ge "33" ]; then + # clang completed C++11 support in version 3.3 + flags="$flags -std=c++11" + fi + # rdynamic is used to get useful stack traces from crash reports. ldflags="$ldflags -rdynamic" else diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index b7d0c92024..afe19bbedb 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -17,7 +17,7 @@ #define NIP_END() { NULL, 0, 0, 0, 0 } /* Helper for filling callback tables */ -#define NIC(cb_id, base, variable, bit) { #cb_id, cpp_offsetof(base, variable), cpp_sizeof(base, variable), bit, cb_id } +#define NIC(cb_id, base, variable, bit) { #cb_id, (ptrdiff_t)cpp_offsetof(base, variable), cpp_sizeof(base, variable), bit, cb_id } #define NIC_END() { NULL, 0, 0, 0, 0 } /* Helper for filling variable tables */