stepcode/cmake
Jeff Epler 0fbc3c0c84 Fix build error with g++ 6.3 (Debian Stretch)
On this platform, TEST_NULLPTR fails, even though nullptr and
nullptr_t are supported:

/home/jepler/src/stepcode/build/CMakeFiles/CMakeTmp/src.cxx:4:23:
    error: converting to 'bool' from 'std::nullptr_t'
    requires direct-initialization [-fpermissive]
 int main() {return !!f();}
                      ~^~

Subsequent to this failure, the workaround definitions in sc_nullptr.h
prevent standard C++ headers (which must refer to real nullptr) to fail.

The failure occurs because the C++ standard apparently does not state
that operator! may be used on nullptr.  Despite this, some compilers
have historically allowed it.  g++ 6.3's behavior appears to be aligned
with the standard.

As requested by @brlcad, ensure that the function 'f' is used from main,
to avoid a clever (but not nullptr-supporting) compiler from somehow
skipping 'f' altogether, creating a false positive for nullptr support.
2017-08-15 06:50:56 -05:00
..
schema_scanner fix warning, improve cmake messages 2015-07-26 20:49:04 -04:00
test_srcs go with the mpictor github capitalization 2012-03-21 23:03:37 +00:00
cmake_uninstall.cmake.in Start working on merging BRL-CAD changes back into upstream. 2016-08-06 10:46:23 -04:00
FindLEMON.cmake Update Find cmake scripts 2016-08-06 10:53:19 -04:00
FindPERPLEX.cmake Update Find cmake scripts 2016-08-06 10:53:19 -04:00
FindRE2C.cmake Update Find cmake scripts 2016-08-06 10:53:19 -04:00
Generated_Source_Utils.cmake Make a stab at adapting the new, simplier verification to vanilla stepcode 2016-08-06 11:23:34 -04:00
md5_gen.cmake.in Make a stab at adapting the new, simplier verification to vanilla stepcode 2016-08-06 11:23:34 -04:00
md5_verify.cmake.in Make a stab at adapting the new, simplier verification to vanilla stepcode 2016-08-06 11:23:34 -04:00
SC_Build_opts.cmake Add an option to completely bypass the git management of the version header. 2016-08-06 13:53:12 -04:00
SC_Config_Headers.cmake Fix build error with g++ 6.3 (Debian Stretch) 2017-08-15 06:50:56 -05:00
SC_CXX_schema_macros.cmake fix test dependency so 'make test ARGS=-jN' works 2014-12-26 13:29:07 -05:00
SC_Locale.cmake whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00
SC_Outdirs.cmake whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00
SC_Paths.cmake Apparently get_filename_component needs some help when it comes to windows drive names. 2014-04-08 21:22:55 -04:00
SC_Regenerate.cmake Update Find cmake scripts 2016-08-06 10:53:19 -04:00
SC_Run_exp2cxx.cmake whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00
SC_Targets.cmake Fix macro comments. This approach to managing the targets varies from the old EXCLUDE_OR_INSTALL setup in that by default the testable targets are not added to the 'all' build - in other works, 'make' will make just the main stepcode targets. The testable targets are available individually, and if SC_ENABLE_TESTING is enabled they *will* be added to the 'all' target, but by default they are not compiled in the basic build. 2016-08-06 12:32:12 -04:00
sc_version_string.cmake Add an option to completely bypass the git management of the version header. 2016-08-06 13:53:12 -04:00
sync_generated.cmake.in whitespace and case changes on .cmake files 2014-03-01 11:53:30 -05:00