> I found some documentation problems in the Boost Configuration > Reference, and possibly some obsolete symbols in the configuration > headers. These comments all apply to the boost_1_29_0 release. Here > are the specifics:
Thanks! > 1. The config headers may define > > BOOST_NO_STD_WSTREAMBUF > > which is not mentioned in the documentation; however, the documentation > mentions > > BOOST_NO_STD_WSTREAM > > which is not defined in any config header, but is used in > > <boost/format/format_fwd.hpp> > libs/format/test/format_test1.cpp I think we ended up changing the name at some point - it needs to be changed to BOOST_NO_STD_WSTREAMBUF throughout. > 2. No config header defines BOOST_HAS_PTHREAD_YIELD, although it is > described in the documentation. It is used in some tests and one place > in Boost Threads. I think pthread_yield is only required on some obsolete unix systems, most now have the POSIX standard sched_yield. The configure script will pick this one up if the platform requires it. > 3. BOOST_COMPILER_VERSION is defined in the config headers, but is > undocumented and unused. Good point, I think that Beman added this one for a couple of compilers in order that BOOST_COMPILER would give more readable output - in other words it's an internal detail, no documentation needed, you shouldn't use it. > 4. BOOST_DECL is defined in the config headers, but is undocumented and > unused except in test libs/config/test/config_info.cpp. These are a hang up from the previous config system, I think that the only code that used them has now been removed, so unless anyone objects I'll remove these.... > 5. BOOST_HAS_MPTASKS is defined in the config headers, but is > undocumented. It is used only in Boost Threads. Can whoever is responsible for that one please supply docs and a test case? > 6. BOOST_NO_CWTYPE is defined in the config headers, but is undocumented > and unused. Thanks: it's typo in the one place it appears: it should be BOOST_NO_CWCTYPE > 7. BOOST_STD_EXTENSION_NAMESPACE is defined in the config headers and > widely used, but is undocumented. I'll get it added, thanks. > 8. The documentation states, in guidelines to Boost authors, > > "Boost files that use macros defined in <boost/config.hpp> should have > sensible, standard conforming, default behavior if the macro is not > defined. This means that the starting point for porting > <boost/config.hpp> to a new platform is simply to define nothing at all > specific to that platform. In the rare case where there is no sensible > default behavior, an #error message should describe the problem." > > Aren't there some macros, such as BOOST_STATIC_CONSTANT, > BOOST_USE_FACET, BOOST_NESTED_TEMPLATE, etc., that you can count on > always being defined to something, even on (the mythical) fully > standard-conforming platforms? Yes, the inevitable exceptions :-) These all get defined to sensible defaults in suffix.hpp if they're not otherwise defined, they're exceptions because they simplify code, rather than going through the usual: #ifdef SOMTHING .. code #else ... code #endif all over the place. John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost