This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [v3] libstdc++/36104 namespace versioning, revisited
- From: François Dumont <francois dot cppdevs at free dot fr>
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Fri, 04 Feb 2011 22:00:26 +0100
- Subject: Re: [v3] libstdc++/36104 namespace versioning, revisited
- References: <20110114162953.60699a0c@shotwell> <20110119123159.39012958@shotwell> <20110130143409.64964106@shotwell> <4D49C9F0.2080101@free.fr> <4D4B167A.9000806@free.fr> <20110203135327.3558d7a3@shotwell>
Just the time for me to fix my previous proposition, it was rather:
# define _GLIBCXX_NORM __norm
# define _GLIBCXX_BEGIN_NAMESPACE_NORM \
namespace _GLIBCXX_NORM { _GLIBCXX_BEGIN_NAMESPACE_VERSION
# define _GLIBCXX_END_NAMESPACE_NORM \
} _GLIBCXX_END_NAMESPACE_VERSION
for both algos or containers.
And I also wanted to add that we could even consider the concept checks
as a special mode even if it would be always active. Doing so we could
have concepts checks always considered first because for the moment if
debug, parallel or profile mode is active concepts checks are evaluated
later and concept check violations won't be reported as well as they are
normally.
Last but not least I do not find the new:
# error illegal use of multiple inlined namespaces
very clear, users of debug or parallel mode might know them without
knowing what inline namespaces are. The previous:
# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \
-D_GLIBCXX_PARALLEL
was more clear.
François
On 02/03/2011 10:53 PM, Benjamin Kosnik wrote:
Hey! Got your email, in the middle of writing up linkage docs and will
respond as soon as I am done with that.
best,
-benjamin