This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/9990] locale_facets.h contains invalid typedef
- From: "bangerth at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Feb 2010 20:53:07 -0000
- Subject: [Bug c++/9990] locale_facets.h contains invalid typedef
- References: <bug-9990-5622@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #11 from bangerth at gmail dot com 2010-02-18 20:53 -------
(In reply to comment #10)
> I'm not sure to fully understand, Wolfgang: you mean, we should change that
> line in the library instead of dealing with a possible C++ issue here? That
> would be easy to do, just tell me the exact form you would like to see, whose
> correctness you are 101% sure about, and let's close this PR!
I think there are two issues:
1/ A possible bug in the C++ front end, though from what I read Nathan felt
unsure about it.
2/ A poorly written typedef that, depending on the outcome of 1/ may or may
not be invalid, but in any case isn't easy to understand to the human
reader.
Ideally, there would be separate PRs about these two issues. I was just
addressing the second point, which could be solved by replacing
typedef typename ctype::mask mask;
by
typedef typename __ctype_abstract_base<_CharT>::mask mask;
which makes it abundantly clear that ctype::mask is not meant to be a
reference to the typedef we are currently declaring.
Best
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9990