From: Loren J. Rittle Date: Wed, 15 May 2002 22:32:25 +0000 (+0000) Subject: c++config (__USE_MALLOC): Report case where the user improperly defined it on the... X-Git-Tag: releases/gcc-3.3.0~5042 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6c784d99594fe02b1653f6a12790e31c2ffba3e3;p=thirdparty%2Fgcc.git c++config (__USE_MALLOC): Report case where the user improperly defined it on the command line. libstdc++/6641 * include/bits/c++config (__USE_MALLOC): Report case where the user improperly defined it on the command line. From-SVN: r53494 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 91082c7ebf2a..d94791b86b28 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2002-05-15 Loren J. Rittle + + libstdc++/6641 + * include/bits/c++config (__USE_MALLOC): Report case where + the user improperly defined it on the command line. + 2002-05-15 Rainer Orth * testsuite/testsuite_hooks.h (__set_testsuite_memlimit): diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index b3e1916a222b..3433f02bc9b2 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -69,7 +69,15 @@ // that threads are properly configured on your platform before // assigning blame to the STL container-memory allocator. After doing // so, please report any possible issues to libstdc++@gcc.gnu.org . -// Do not blindly #define __USE_MALLOC here or on the command line. +// Do not define __USE_MALLOC on the command line. Enforce it here: +#ifdef __USE_MALLOC +#error __USE_MALLOC should only be defined within \ +libstdc++-v3/include/bits/c++config before full recompilation of the library. +#endif +// Define __USE_MALLOC after this point in the file in order to aid debugging +// or globally change allocation policy. This breaks the ABI, thus +// completely recompile the library. A patch to better support +// changing the global allocator policy would be probably be accepted. // The remainder of the prewritten config is mostly automatic; all the // user hooks are listed above.