This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/17364] [3.5 Regression] c99 designators in nptl <pthreads.h> break libstdc++
- From: "jsm at polyomino dot org dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Sep 2004 01:50:21 -0000
- Subject: [Bug bootstrap/17364] [3.5 Regression] c99 designators in nptl <pthreads.h> break libstdc++
- References: <20040909011310.17364.rth@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From jsm at polyomino dot org dot uk 2004-09-09 01:50 -------
Subject: Re: [3.5 Regression] c99 designators in nptl
<pthreads.h> break libstdc++
On Thu, 9 Sep 2004, bangerth at dealii dot org wrote:
> That's definitely a glibc bug. They need to fix it, or we should fixinclude
> it. Even if g++ picks this up, some people will want to compile with
> various older -std=... standards.
It's the specific form of macro expansion here that's particularly
problematic, as it's not amenable to using __extension__.
To work as a static initializer it needs to be a brace-enclosed list, not
a compound literal which would only for C be accepted in such a case as a
concession in gnu89 mode. But being a brace-enclosed list, there's no way
of attaching __extension__ to it to avoid -pedantic warnings for C90 and
C++ even if designated initializers were implemented for C++. Of course
yet another syntax using __extension__ could be added for both languages
if really necessary.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17364