public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
@ 2013-02-07  5:48 ppluzhnikov at google dot com
  2013-02-07  5:49 ` [Bug c++/56237] " ppluzhnikov at google dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: ppluzhnikov at google dot com @ 2013-02-07  5:48 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

             Bug #: 56237
           Summary: [4.8 regression] ICE in lang_* check: failed in
                    push_local_name, at cp/decl.c:924
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: ppluzhnikov@google.com


Test case reduced from jscoverage/jscpucfg.cpp

int main () {
  static union { } u;
  { static union { } u; }
}

Compiles fine with 4.7. Fails with g++ (GCC) 4.8.0 20130205 (experimental) in
C++11 mode:

g++ -c t.cc  # ok
g++ -c -std=c++11 t.ii
t.ii: In function ‘int main()’:
t.ii:3:22: internal compiler error: lang_* check: failed in push_local_name, at
cp/decl.c:924
   { static union { } u; }
                      ^
0x697eb3 lang_check_failed(char const*, int, char const*)
    ../../gcc/cp/tree.c:3946
0x53e29b push_local_name
    ../../gcc/cp/decl.c:924
0x53e29b cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int)
    ../../gcc/cp/decl.c:6286
...


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
@ 2013-02-07  5:49 ` ppluzhnikov at google dot com
  2013-02-07  9:39 ` [Bug c++/56237] [4.6/4.7/4.8 " jakub at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: ppluzhnikov at google dot com @ 2013-02-07  5:49 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Paul Pluzhnikov <ppluzhnikov at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code

--- Comment #1 from Paul Pluzhnikov <ppluzhnikov at google dot com> 2013-02-07 05:49:29 UTC ---
Google ref: b/8152937


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
  2013-02-07  5:49 ` [Bug c++/56237] " ppluzhnikov at google dot com
@ 2013-02-07  9:39 ` jakub at gcc dot gnu.org
  2013-02-07 10:41 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-07  9:39 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-checking
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-02-07
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org
   Target Milestone|---                         |4.8.0
            Summary|[4.8 regression] ICE in     |[4.6/4.7/4.8 regression]
                   |lang_* check: failed in     |ICE in lang_* check: failed
                   |push_local_name, at         |in push_local_name, at
                   |cp/decl.c:924               |cp/decl.c:924
     Ever Confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07 09:39:26 UTC ---
Started with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153816


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
  2013-02-07  5:49 ` [Bug c++/56237] " ppluzhnikov at google dot com
  2013-02-07  9:39 ` [Bug c++/56237] [4.6/4.7/4.8 " jakub at gcc dot gnu.org
@ 2013-02-07 10:41 ` rguenth at gcc dot gnu.org
  2013-02-07 11:11 ` jakub at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-07 10:41 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.8.0                       |4.6.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (2 preceding siblings ...)
  2013-02-07 10:41 ` rguenth at gcc dot gnu.org
@ 2013-02-07 11:11 ` jakub at gcc dot gnu.org
  2013-02-07 15:18 ` jason at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-07 11:11 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07 11:11:12 UTC ---
Created attachment 29383
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29383
gcc48-pr56237.patch

Untested fix.  For -std=c++0x and the anon union,
7839  if (cxx_dialect > cxx98
7840      && decl_linkage (decl) != lk_none
7841      && DECL_LANG_SPECIFIC (decl) == NULL
7842      && !DECL_EXTERN_C_P (decl)
7843      && no_linkage_check (TREE_TYPE (decl), /*relaxed_p=*/false))
7844    retrofit_lang_decl (decl);
creates the DECL_LANG_SPECIFIC for the first decl, but apparently
push_local_name wasn't expecting there could be other reason why
DECL_LANG_SPECIFIC could be created.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (3 preceding siblings ...)
  2013-02-07 11:11 ` jakub at gcc dot gnu.org
@ 2013-02-07 15:18 ` jason at gcc dot gnu.org
  2013-02-07 17:39 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jason at gcc dot gnu.org @ 2013-02-07 15:18 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> 2013-02-07 15:18:07 UTC ---
(In reply to comment #3)
> Created attachment 29383 [details]
> gcc48-pr56237.patch

OK.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (4 preceding siblings ...)
  2013-02-07 15:18 ` jason at gcc dot gnu.org
@ 2013-02-07 17:39 ` jakub at gcc dot gnu.org
  2013-02-07 17:45 ` [Bug c++/56237] [4.6/4.7 " jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-07 17:39 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07 17:38:43 UTC ---
Author: jakub
Date: Thu Feb  7 17:38:33 2013
New Revision: 195858

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195858
Log:
    PR c++/56237
    * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
    only if DECL_DISCRIMINATOR_SET_P (t) rather than just
    DECL_LANG_SPECIFIC (t).

    * g++.dg/abi/mangle61.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/abi/mangle61.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (5 preceding siblings ...)
  2013-02-07 17:39 ` jakub at gcc dot gnu.org
@ 2013-02-07 17:45 ` jakub at gcc dot gnu.org
  2013-02-19 17:21 ` jakub at gcc dot gnu.org
  2013-02-19 17:39 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-07 17:45 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.0
            Summary|[4.6/4.7/4.8 regression]    |[4.6/4.7 regression] ICE in
                   |ICE in lang_* check: failed |lang_* check: failed in
                   |in push_local_name, at      |push_local_name, at
                   |cp/decl.c:924               |cp/decl.c:924

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07 17:44:49 UTC ---
Fixed on the trunk so far.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (6 preceding siblings ...)
  2013-02-07 17:45 ` [Bug c++/56237] [4.6/4.7 " jakub at gcc dot gnu.org
@ 2013-02-19 17:21 ` jakub at gcc dot gnu.org
  2013-02-19 17:39 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-19 17:21 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-19 17:21:14 UTC ---
Author: jakub
Date: Tue Feb 19 17:21:08 2013
New Revision: 196142

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196142
Log:
    Backported from mainline
    2013-02-07  Jakub Jelinek  <jakub@redhat.com>

    PR c++/56237
    * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
    only if DECL_DISCRIMINATOR_SET_P (t) rather than just
    DECL_LANG_SPECIFIC (t).

    * g++.dg/abi/mangle61.C: New test.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/g++.dg/abi/mangle61.C
Modified:
    branches/gcc-4_7-branch/gcc/cp/ChangeLog
    branches/gcc-4_7-branch/gcc/cp/decl.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug c++/56237] [4.6/4.7 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
  2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
                   ` (7 preceding siblings ...)
  2013-02-19 17:21 ` jakub at gcc dot gnu.org
@ 2013-02-19 17:39 ` jakub at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-02-19 17:39 UTC (permalink / raw)
  To: gcc-bugs


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-19 17:38:57 UTC ---
Fixed for 4.7+.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-02-19 17:39 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-07  5:48 [Bug c++/56237] New: [4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924 ppluzhnikov at google dot com
2013-02-07  5:49 ` [Bug c++/56237] " ppluzhnikov at google dot com
2013-02-07  9:39 ` [Bug c++/56237] [4.6/4.7/4.8 " jakub at gcc dot gnu.org
2013-02-07 10:41 ` rguenth at gcc dot gnu.org
2013-02-07 11:11 ` jakub at gcc dot gnu.org
2013-02-07 15:18 ` jason at gcc dot gnu.org
2013-02-07 17:39 ` jakub at gcc dot gnu.org
2013-02-07 17:45 ` [Bug c++/56237] [4.6/4.7 " jakub at gcc dot gnu.org
2013-02-19 17:21 ` jakub at gcc dot gnu.org
2013-02-19 17:39 ` jakub at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).