From: Loren J. Rittle Date: Wed, 29 May 2002 01:07:35 +0000 (+0000) Subject: c++config (__USE_MALLOC): Report case where the user improperly defined it on the... X-Git-Tag: releases/gcc-3.1.1~245 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=059d3a8770ce7f8dc4bf96b792c54d70c4d11891;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: r53979 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 70dabc82d654..c1d68ed06662 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2002-05-28 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-27 Benjamin Kosnik * src/misc-inst.cc: Define unnecessary algorithm diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index a3522c674bc4..33d7bc8479cd 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.