With my mods over the last couple of week I believe I have almost fulfilled the requirements for demonstrating strict standards compilation and testing for the BRL-CAD trunk. Basically my mods so far have been:
1. Fixed some old and crufty hangovers for some obscure corners of source code. 2. Determined the 7 functions that seem to be the remaining show stoppers (4 are C99 and 3 are POSIX): C99: realpath gethostname strcasecmp strncasecmp POSIX: fdopen (POSIX.1-1990) fileno (POSIX) posix_memalign (POSIX.1d) [The C99 functions now have working bu_* versions (thanks for the help, Sean, in filling in the FIXMEs). I have no-action replacements for the other 3 if wanted.] 3. Added reliable CMake code to test for those 7 functions. Note that the CMake try_compile and try_run functions are the ones I believe should be used for rigorous function testing in order to properly control the compiler setting for consistency. Given the above, I am in the final stages of satisfying two standards with the trunk as it is (using gcc on Debian): C99 POSIX 200112L I see the changes Cliff just made to CMake and I don't really understand. IMHO, the goal should be the strict use during debug--otherwise I don't see how we ever advance. Those standards have been around for over 10 years! To quote Bjarne Stroustrup (from the 4th edition of "The C++ Programming Language" [C++11]), page vi: "if you stick to older styles [standards], you will be writing lower-quality and worse-performing code. Best regards, -Tom ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk _______________________________________________ BRL-CAD Developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/brlcad-devel
