public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/35026]  New: [4.3 regression] ICE with parameter pack in pointer type
@ 2008-01-30  1:04 reichelt at gcc dot gnu dot org
  2008-01-30  1:08 ` [Bug c++/35026] " reichelt at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-01-30  1:04 UTC (permalink / raw)
  To: gcc-bugs

The following invalid code snippet is accepted on mainline:

=====================================
template<typename... T> struct A
{
  T* x[1];
};

A<int> a;
=====================================

One can also trigger ICEs with the snippet if one compiles it with "-g":

bug.cc: In instantiation of 'A<int>':
bug.cc:6:   instantiated from here
bug.cc:2: internal compiler error: in gen_type_die_with_usage, at
dwarf2out.c:13432
Please submit a full bug report, [etc.]

or with "-gstabs":

bug.cc: In instantiation of 'A<int>':
bug.cc:6:   instantiated from here
bug.cc:2: internal compiler error: in dbxout_type, at dbxout.c:2237
Please submit a full bug report, [etc.]


-- 
           Summary: [4.3 regression] ICE with parameter pack in pointer type
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code, accepts-invalid, monitored
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
@ 2008-01-30  1:08 ` reichelt at gcc dot gnu dot org
  2008-01-30 10:09 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-01-30  1:08 UTC (permalink / raw)
  To: gcc-bugs



-- 

reichelt at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.3.0


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
  2008-01-30  1:08 ` [Bug c++/35026] " reichelt at gcc dot gnu dot org
@ 2008-01-30 10:09 ` rguenth at gcc dot gnu dot org
  2008-02-14 21:46 ` dgregor at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-30 10:09 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |error-recovery
           Priority|P3                          |P5
   Last reconfirmed|0000-00-00 00:00:00         |2008-01-30 10:05:22
               date|                            |


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
  2008-01-30  1:08 ` [Bug c++/35026] " reichelt at gcc dot gnu dot org
  2008-01-30 10:09 ` rguenth at gcc dot gnu dot org
@ 2008-02-14 21:46 ` dgregor at gcc dot gnu dot org
  2008-02-15  3:52 ` dgregor at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2008-02-14 21:46 UTC (permalink / raw)
  To: gcc-bugs



-- 

dgregor at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |dgregor at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-01-30 10:05:22         |2008-02-14 21:45:58
               date|                            |


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2008-02-14 21:46 ` dgregor at gcc dot gnu dot org
@ 2008-02-15  3:52 ` dgregor at gcc dot gnu dot org
  2008-02-15 17:34 ` dgregor at gcc dot gnu dot org
  2008-02-15 17:36 ` dgregor at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2008-02-15  3:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from dgregor at gcc dot gnu dot org  2008-02-15 03:52 -------
Patch here: http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00529.html

We could tweak this ice-on-invalid-code to create some ice-on-valid-code
failures. See the e-mail with the patch.


-- 

dgregor at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2008-
                   |                            |02/msg00529.html


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2008-02-15  3:52 ` dgregor at gcc dot gnu dot org
@ 2008-02-15 17:34 ` dgregor at gcc dot gnu dot org
  2008-02-15 17:36 ` dgregor at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2008-02-15 17:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from dgregor at gcc dot gnu dot org  2008-02-15 17:33 -------
Subject: Bug 35026

Author: dgregor
Date: Fri Feb 15 17:33:02 2008
New Revision: 132348

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132348
Log:
2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>

        PR c++/35023
        PR c++/35024
        PR c++/35026
        * pt.c (finish_member_template_decl): If the type in a TYPE_DECL
        is error_mark_node, return an error early.
        (find_parameter_packs_r): Pass the pointer set along to recursive
        calls of cp_walk_subtrees; don't try to manage the pointer set
        ourselves.
        (uses_parameter_packs): Pass the pointer set to cp_walk_tree.
        (make_pack_expansion): Ditto.
        (check_for_bare_parameter_packs): Ditto. Also, don't bother taking
        a second pass through the tree with find_parameter_packs_r; that
        second pass no longer does anything.
        (push_template_decl_real): If we have an erroneous declaration,
        set its type to error_mark_node before returning an error.

2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>

        PR c++/35023
        PR c++/35024
        PR c++/35026
        * g++.dg/cpp0x/vt-35026.C: New.
        * g++.dg/cpp0x/vt-35023.C: New.
        * g++.dg/cpp0x/vt-34055.C: Tweak expected error messages.
        * g++.dg/cpp0x/vt-35024.C: New.

Added:
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-35023.C
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-35024.C
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-35026.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/cpp0x/vt-34055.C


-- 


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


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

* [Bug c++/35026] [4.3 regression] ICE with parameter pack in pointer type
  2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-02-15 17:34 ` dgregor at gcc dot gnu dot org
@ 2008-02-15 17:36 ` dgregor at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2008-02-15 17:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dgregor at gcc dot gnu dot org  2008-02-15 17:35 -------
Fixed for 4.3


-- 

dgregor at gcc dot gnu dot org changed:

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


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


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

end of thread, other threads:[~2008-02-15 17:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-30  1:04 [Bug c++/35026] New: [4.3 regression] ICE with parameter pack in pointer type reichelt at gcc dot gnu dot org
2008-01-30  1:08 ` [Bug c++/35026] " reichelt at gcc dot gnu dot org
2008-01-30 10:09 ` rguenth at gcc dot gnu dot org
2008-02-14 21:46 ` dgregor at gcc dot gnu dot org
2008-02-15  3:52 ` dgregor at gcc dot gnu dot org
2008-02-15 17:34 ` dgregor at gcc dot gnu dot org
2008-02-15 17:36 ` dgregor at gcc dot gnu dot 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).