public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/43327]  New: ICE in unifiy.c
@ 2010-03-10 22:29 roger dot ferrer at bsc dot es
  2010-03-11  7:56 ` [Bug c++/43327] " roger dot ferrer at bsc dot es
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: roger dot ferrer at bsc dot es @ 2010-03-10 22:29 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1092 bytes --]

The following code

---
template <typename _T>
struct A
{
   template <int _N, int _M>
       struct B;

   template <int _N>
       struct B<_N, _T::m>
       {
           static void f();
       };
};

struct C
{
   static const int m = 4;
};


void m()
{
   A<C>::B<1, 4>::f();
}
-- 

causes the following ICE as of 4.2

[g++ 4.4]
test.cc: In function ‘void m()’:
test.cc:22: internal compiler error: in unify, at cp/pt.c:14081

g++ 4.1 yields this error, instead

[g++ 4.1]
test.cc: In function ‘void m()’:
test.cc:22: error: incomplete type ‘A<C>::B<1, 4>’ used in nested name
specifier

This code seems fine to me (and so seems to intel, xlc++ and comeau online) so
I assume it is some issue in g++.


-- 
           Summary: ICE in unifiy.c
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: roger dot ferrer at bsc dot es


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


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

* [Bug c++/43327] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
@ 2010-03-11  7:56 ` roger dot ferrer at bsc dot es
  2010-03-13  1:00 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: roger dot ferrer at bsc dot es @ 2010-03-11  7:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from roger dot ferrer at bsc dot es  2010-03-11 07:56 -------
For what it's worth, replacing

 static const int m = 4;

with

 enum { m = 4 }; 

works fine.


-- 


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


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

* [Bug c++/43327] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
  2010-03-11  7:56 ` [Bug c++/43327] " roger dot ferrer at bsc dot es
@ 2010-03-13  1:00 ` pinskia at gcc dot gnu dot org
  2010-03-16  9:15 ` dodji at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2010-03-13  1:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2010-03-13 00:59 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |4.2.3 4.3.3 4.5.0
   Last reconfirmed|0000-00-00 00:00:00         |2010-03-13 00:59:53
               date|                            |


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


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

* [Bug c++/43327] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
  2010-03-11  7:56 ` [Bug c++/43327] " roger dot ferrer at bsc dot es
  2010-03-13  1:00 ` pinskia at gcc dot gnu dot org
@ 2010-03-16  9:15 ` dodji at gcc dot gnu dot org
  2010-03-17 14:56 ` dodji at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-03-16  9:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |dodji at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-03-13 00:59:53         |2010-03-16 09:14:54
               date|                            |


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


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

* [Bug c++/43327] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
                   ` (2 preceding siblings ...)
  2010-03-16  9:15 ` dodji at gcc dot gnu dot org
@ 2010-03-17 14:56 ` dodji at gcc dot gnu dot org
  2010-03-26  9:21 ` dodji at gcc dot gnu dot org
  2010-03-26  9:33 ` [Bug c++/43327] [4.4/4.5 regression] " dodji at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-03-17 14:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dodji at gcc dot gnu dot org  2010-03-17 14:55 -------
A patch was proposed at http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00662.html


-- 


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


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

* [Bug c++/43327] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
                   ` (3 preceding siblings ...)
  2010-03-17 14:56 ` dodji at gcc dot gnu dot org
@ 2010-03-26  9:21 ` dodji at gcc dot gnu dot org
  2010-03-26  9:33 ` [Bug c++/43327] [4.4/4.5 regression] " dodji at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-03-26  9:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from dodji at gcc dot gnu dot org  2010-03-26 09:21 -------
Subject: Bug 43327

Author: dodji
Date: Fri Mar 26 09:20:58 2010
New Revision: 157745

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157745
Log:
Fix for PR c++/43327

gcc/cp/ChangeLog:
        PR c++/43327
        * pt.c (add_to_template_args): Support NULL ARGS;
        (most_specialized_class): call coerce_template_parms on
        template arguments passed to get_class_bindings. Use
        add_to_template_args.
        (unify): Handle VAR_DECLs.

gcc/testsuite/ChangeLog:
        PR c++/43327
        * g++.dg/other/crash-10.C: New test.
        * g++.dg/other/crash-11.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/other/crash-10.C
    trunk/gcc/testsuite/g++.dg/other/crash-11.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/pt.c
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug c++/43327] [4.4/4.5 regression] ICE in unifiy.c
  2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
                   ` (4 preceding siblings ...)
  2010-03-26  9:21 ` dodji at gcc dot gnu dot org
@ 2010-03-26  9:33 ` dodji at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: dodji at gcc dot gnu dot org @ 2010-03-26  9:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from dodji at gcc dot gnu dot org  2010-03-26 09:33 -------
Fixed in 4.5.


-- 

dodji at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
            Summary|ICE in unifiy.c             |[4.4/4.5 regression] ICE in
                   |                            |unifiy.c


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


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

end of thread, other threads:[~2010-03-26  9:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-10 22:29 [Bug c++/43327] New: ICE in unifiy.c roger dot ferrer at bsc dot es
2010-03-11  7:56 ` [Bug c++/43327] " roger dot ferrer at bsc dot es
2010-03-13  1:00 ` pinskia at gcc dot gnu dot org
2010-03-16  9:15 ` dodji at gcc dot gnu dot org
2010-03-17 14:56 ` dodji at gcc dot gnu dot org
2010-03-26  9:21 ` dodji at gcc dot gnu dot org
2010-03-26  9:33 ` [Bug c++/43327] [4.4/4.5 regression] " dodji 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).