[v3] libstdc++/36104 namespace versioning, revisited

François Dumont francois.cppdevs@free.fr
Fri Feb 4 21:00:00 GMT 2011


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
>
>    



More information about the Libstdc++ mailing list