[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537 Jonathan Wakely changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #9 from Jonathan Wakely --- (In reply to Jonathan Wakely from comment #8) > Changing status to WAITING to start the timer, but if I don't hear otherwise > then I'll close it. tick tick boom. I'm going to call this INVALID because I don't think there's a bug here. char_traits is a reserved name, and if users get ambiguities from careless use of using-directives that's their fault.
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537 Jonathan Wakely changed: What|Removed |Added Status|NEW |WAITING --- Comment #8 from Jonathan Wakely --- I would like to suggest closing this bug. I don't think we should rename __gnu_cxx::char_traits, it uses a reserved name. I don't think there is anything wrong with e.g. __debug::vector or __gnu_cxx::char_traits and we shouldn't pick ugly names to avoid problems for users who abuse using-directives. Changing status to WAITING to start the timer, but if I don't hear otherwise then I'll close it.
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537 --- Comment #7 from Jonathan Wakely --- char_traits shouldn't need to be uglified, because it's a reserved name anyway, due to std::char_traits. That means users can't define macros with that name. If they get ambiguities due to "using namespace __gnu_cxx;" then they should not do that. Thee are other names that should be uglified though, see PR 64135.
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
--- Comment #3 from bkoz at gcc dot gnu dot org 2005-10-27 06:04 --- Naming wise I think __gnu_ext makes more sense. It's what we should have used for the extension namespace from the beginning. -benjamin -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
--- Comment #4 from pcarlini at suse dot de 2005-10-27 09:07 --- (In reply to comment #3) Naming wise I think __gnu_ext makes more sense. It's what we should have used for the extension namespace from the beginning. Of course I'm ok with __gnu_ext. Actually, I'm ok with anything you would rather prefer, __gnu_legacy was just an example, meant to make totally clear (for argumentation purposes too) that we are talking about legacy stuff, indeed. Anyway, when I will actually prepare a patch, it will move the old HP/SGI facilities to namespace __gnu_ext, agreed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
--- Comment #5 from pinskia at gcc dot gnu dot org 2005-10-27 21:55 --- Confirmed. -- pinskia at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2005-10-27 21:55:03 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
--- Comment #1 from pinskia at gcc dot gnu dot org 2005-10-26 12:34 --- Seems like to me, this is what namespaces are for anyways? and non-uglified names are correct, maybe it needs to be a different namespace like __gnu_cxx::__implemenation instead which seems like the more correct thing to do than uglify names. I think this is what Boost does too. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537
[Bug libstdc++/24537] Non-uglified names inside namespace __gnu_cxx
--- Comment #2 from pcarlini at suse dot de 2005-10-26 12:37 --- (In reply to comment #1) Seems like to me, this is what namespaces are for anyways? and non-uglified names are correct, maybe it needs to be a different namespace like __gnu_cxx::__implemenation instead which seems like the more correct thing to do than uglify names. I think this is what Boost does too. Indeed, the idea is using namespaces. But seems much more clean to me using separate namespaces, not nested ones, for our problem: __gnu_cxx for new extensions and __gnu_legacy for legacy extensions. The implementation proper bits are instead already inside __gnu_internal. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24537