This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Problems with the new concepts checking code (boost)



Eeek!

On Mon, Apr 09, 2001 at 06:25:44PM -0400, Phil Edwards wrote:
> On Mon, Apr 09, 2001 at 11:48:36PM +0200, Gabriel Dos Reis wrote:
> > Thanks.  Please make sure the library doesn't use identifiers in
> > user-namespace, that is using glibcpp_function_requires for example is
> > not right.  Thats is why the library has always been "uglified".
> 
> Oh, I took care not to step on toes, at least I hope I did.  The calls
> to glibcpp_* are macros.  (For this one, it expands into a call to
> boost::function_requires().)  All of them expand into things which are
> fully-qualified by the boost namespace; we never use any 'using' 
> statements of any kind.

Sorry, that's not enough.  It doesn't matter if a name is scoped
within a namespace, it has to be uglified too.  You will notice
that _all_ the non-standard-specified names in headers are uglified,
even the function-local ones.  This is for protection against user
and other-header macros.
 
> The only user namespace we have to worry about is boost itself, which
> could be a concern.

That would be a concern itself: we would be imposing a particular
version of Boost components on users who very likely would prefer 
to move on to a newer version. 

The fact is, we can't share any part of Boost, except perhaps as an 
unholy configure-time option.  It's unfortunate that these facilities
are duplicated when a user also uses similar facilities from Boost, 
but there are bigger concerns.  This, practically, means we have to 
fork any parts of Boost that we use, because they're not about to 
uglify their names.

Nathan Myers
ncm at cantrip dot org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]