
5. No real test suite exists
Is there more I can expand on to address those?
I mostly think that much more deep testing required. I mean all macro that can be tested using available tools should be tested and result validated with users.
I don't expect that for example you'll be able to test OpenVMS or z/390 but there is no reason that basic things would behave unexpectedly.
I explain it now little bit deeper what I think currently is wrong: I tested info_as_cpp on my own small server + compiler farm a use to check CppCMS, so far: Ok -- Linux x86 g++ Solaris g++ Solaris g++/StlPort Not Ok ------- Linux x86_64 g++ (IA64 detected) Linux x86_64 g++/stlport (libstdc++ and IA64 detected) Linux x86_64 clang (gcc and ia64 detected) Darwin x86 g++ (Unix is not detected) Solaris x64 sunCC (does not build) FreeBSD x86 g++ (does not build) Let's start: ------------ Linux x86_64 (Ubuntu 11.10) g++-4.6.1 ------------------------------------- Ok BOOST_ARCHITECTURE_AMD64 = 1 (0,0,1) | American Micro Devices AMD 64 Not OK! BOOST_ARCHITECTURE_IA64 = 1 (0,0,1) | Intel IA-64 I do not run Itanium! Linux x86_64 (Ubuntu 11.10) clang-2.9 ------------------------------------- (IA64 as well) Ok BOOST_CXX_CLANG = 20900000 (2,9,0) | Clang Not Ok BOOST_CXX_GNUC = 40200001 (4,2,1) | Gnu GCC C/C++ I don't use gcc! Linux x86_64 (Ubuntu 11.10) g++-4.6.1/Stlport ---------------------------------------------- (IA64 as well) Not Ok BOOST_LIBSTD_GNU = 410900003 (41,9,3) | GNU Ok BOOST_LIBSTD_STLPORT = 50200001 (5,2,1) | STLport I don't think BOOST_LIBSTD_GNU should be defined as I use STLPort Darwin 8.0.1 x86 g++4.0.0 ------------------------- Ok BOOST_OS_MACOS = 100000000 (10,0,0) | Mac OS Not Ok! BOOST_OS_UNIX = 0 | Unix Environment Darwin/Mac OS X is Unix. Open Solaris x86 ----------------- gcc-3.4 and sunCC/stlport ok But sunCC -I ../../.. info_as_cpp.cpp boost/predef/library/std/roguewave.h, line 37: Error: The function "BOOST_PREDEF_MAKE_FF_FF_FF" must have a prototype. But I'm ok with that as Boost does not work with SunCC without STLPort FreeBSD 8.0 x86 ---------------- g++ -I ../../.. info_as_cpp.cpp In file included from ../../../boost/predef/os.h:14, from ../../../boost/predef.h:15, from info_as_cpp.cpp:62: ../../../boost/predef/os/bsd.h:152: error: 'BOOST_OS_DRAGONFLY_BSD' was not declared in this scope ../../../boost/predef/os/bsd.h:154: error: 'BOOST_OS_BSDI_BSD' was not declared in this scope ../../../boost/predef/os/bsd.h:155: error: 'BOOST_OS_NET_BSD' was not declared in this scope ../../../boost/predef/os/bsd.h:156: error: 'BOOST_OS_OPEN_BSD' was not declared in this scope --------------------------- So that is my real problem. --------------------------- Artyom Beilis