public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/3869: Segmentation fault on specialized outer template with inner member template
@ 2002-11-01 12:46 Wolfgang Bangerth
  0 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Bangerth @ 2002-11-01 12:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3869; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-bugs@gcc.gnu.org, <gcc-gnats@gcc.gnu.org>
Cc:  
Subject: Re: c++/3869: Segmentation fault on specialized outer template with
 inner member template
Date: Fri, 1 Nov 2002 14:41:49 -0600 (CST)

 This is a reduced testcase:
 ---------------------------------------
 template <int> struct Outer {
    template<typename> struct Inner {
       typedef int Result;
    };
 };
 
 template<>     struct Outer<0> {
    template<typename> struct Inner {
       typedef int Result;
    };
 };
 
 template<int flag> struct Select {
    typedef typename Outer<flag>::Inner<int>::Result Result;
 };
 
 typedef Select<1>::Result Int;
 --------------------------------------
 
 It fails with a segfault.
 
 W.
 
 -------------------------------------------------------------------------
 Wolfgang Bangerth              email:           bangerth@ticam.utexas.edu
                                www: http://www.ticam.utexas.edu/~bangerth
 
 


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2003-01-03 12:19 paolo
  0 siblings, 0 replies; 8+ messages in thread
From: paolo @ 2003-01-03 12:19 UTC (permalink / raw)
  To: fluxsmith, gcc-bugs, gcc-prs, jhl, nobody

Synopsis: Segmentation fault on specialized outer template with inner member template.

State-Changed-From-To: analyzed->closed
State-Changed-By: paolo
State-Changed-When: Fri Jan  3 04:19:19 2003
State-Changed-Why:
    Fixed for 3.4 (one less thanks to Mark's parser!).

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3869


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2003-01-03 12:16 Neil Booth
  0 siblings, 0 replies; 8+ messages in thread
From: Neil Booth @ 2003-01-03 12:16 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3869; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.co.uk>
To: Paolo Carlini <pcarlini@unitus.it>
Cc: jhl@sssonline.com, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org,
	fluxsmith@fluxsmith.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org
Subject: Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
Date: Fri, 3 Jan 2003 12:14:11 +0000

 Paolo Carlini wrote:-
 
 > >>It is compiled just fine with 3.2, 3.3 and mainline.
 > >>
 > >>It seems to me that the PR can be closed.
 > >>Paolo.
 > >>   
 > >>
 > >If so, please add a testcase.
 > >
 > Well, if my analysis is correct, which one? I mean, the legal-ized 
 > version is compiled
 > just fine by 3.2.1, 3.3 and 3.4, the illegal one doesn't ICE with 3.4 
 > but, good, is not compiled
 > either (see above). So, perhaps just closing it would be fine?
 
 Sorry, you're right; if 3.3 compiles it there is no need to add a
 testcase (it's not due to the new parser).
 
 Neil.


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2003-01-03 12:06 Paolo Carlini
  0 siblings, 0 replies; 8+ messages in thread
From: Paolo Carlini @ 2003-01-03 12:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3869; it has been noted by GNATS.

From: Paolo Carlini <pcarlini@unitus.it>
To: Neil Booth <neil@daikokuya.co.uk>
Cc: jhl@sssonline.com,  gcc-gnats@gcc.gnu.org,  gcc-prs@gcc.gnu.org, 
 fluxsmith@fluxsmith.com,  gcc-bugs@gcc.gnu.org,  nobody@gcc.gnu.org
Subject: Re: c++/3869: Segmentation fault on specialized outer template with
 inner member template.
Date: Fri, 03 Jan 2003 13:00:39 +0100

 Neil Booth wrote:
 
 >Paolo Carlini wrote:-
 >  
 >
 >>With current 3.4 no segmentation fault, but instead:
 >>
 >>3869.cc:14: error: expected unqualified-id
 >>3869.cc:17: error: expected init-declarator
 >>3869.cc:17: error: expected `,' or `;'
 >>
 >>If the illegal testcase is changed from:
 >>
 >>    typedef typename Outer<flag>::Inner<int>::Result Result;
 >>
 >>to
 >>
 >>    typedef typename Outer<flag>::template Inner<int>::Result Result;
 >>	
 >>It is compiled just fine with 3.2, 3.3 and mainline.
 >>
 >>It seems to me that the PR can be closed.
 >>Paolo.
 >>    
 >>
 >If so, please add a testcase.
 >
 Well, if my analysis is correct, which one? I mean, the legal-ized 
 version is compiled
 just fine by 3.2.1, 3.3 and 3.4, the illegal one doesn't ICE with 3.4 
 but, good, is not compiled
 either (see above). So, perhaps just closing it would be fine?
 
 Thanks, Paolo.
 


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2003-01-02 21:56 Neil Booth
  0 siblings, 0 replies; 8+ messages in thread
From: Neil Booth @ 2003-01-02 21:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3869; it has been noted by GNATS.

From: Neil Booth <neil@daikokuya.co.uk>
To: Paolo Carlini <pcarlini@unitus.it>
Cc: jhl@sssonline.com, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org,
	fluxsmith@fluxsmith.com, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org
Subject: Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
Date: Thu, 2 Jan 2003 21:46:23 +0000

 Paolo Carlini wrote:-
 
 > With current 3.4 no segmentation fault, but instead:
 > 
 > 3869.cc:14: error: expected unqualified-id
 > 3869.cc:17: error: expected init-declarator
 > 3869.cc:17: error: expected `,' or `;'
 > 
 > If the illegal testcase is changed from:
 > 
 >     typedef typename Outer<flag>::Inner<int>::Result Result;
 > 
 > to
 > 
 >     typedef typename Outer<flag>::template Inner<int>::Result Result;
 > 	
 > It is compiled just fine with 3.2, 3.3 and mainline.
 > 
 > It seems to me that the PR can be closed.
 > Paolo.
 
 If so, please add a testcase.
 
 Neil.


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2003-01-02 21:26 Paolo Carlini
  0 siblings, 0 replies; 8+ messages in thread
From: Paolo Carlini @ 2003-01-02 21:26 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3869; it has been noted by GNATS.

From: Paolo Carlini <pcarlini@unitus.it>
To: jhl@sssonline.com,  gcc-gnats@gcc.gnu.org,  gcc-prs@gcc.gnu.org, 
 fluxsmith@fluxsmith.com,  gcc-bugs@gcc.gnu.org,  nobody@gcc.gnu.org
Cc:  
Subject: Re: c++/3869: Segmentation fault on specialized outer template with
 inner member template.
Date: Thu, 02 Jan 2003 22:21:48 +0100

 With current 3.4 no segmentation fault, but instead:
 
 3869.cc:14: error: expected unqualified-id
 3869.cc:17: error: expected init-declarator
 3869.cc:17: error: expected `,' or `;'
 
 If the illegal testcase is changed from:
 
      typedef typename Outer<flag>::Inner<int>::Result Result;
 
 to
 
      typedef typename Outer<flag>::template Inner<int>::Result Result;
 	
 It is compiled just fine with 3.2, 3.3 and mainline.
 
 It seems to me that the PR can be closed.
 Paolo.
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3869
 


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

* Re: c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2001-08-01  5:19 nathan
  0 siblings, 0 replies; 8+ messages in thread
From: nathan @ 2001-08-01  5:19 UTC (permalink / raw)
  To: fluxsmith, gcc-bugs, gcc-prs, jhl, nobody

Synopsis: Segmentation fault on specialized outer template with inner member template.

State-Changed-From-To: open->analyzed
State-Changed-By: nathan
State-Changed-When: Wed Aug  1 05:19:11 2001
State-Changed-Why:
    confirmed as a bug

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3869&database=gcc


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

* c++/3869: Segmentation fault on specialized outer template with inner member template.
@ 2001-07-29 13:06 fluxsmith
  0 siblings, 0 replies; 8+ messages in thread
From: fluxsmith @ 2001-07-29 13:06 UTC (permalink / raw)
  To: gcc-gnats; +Cc: jhl

>Number:         3869
>Category:       c++
>Synopsis:       Segmentation fault on specialized outer template with inner member template.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 29 13:06:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Jonathan H Lundquist
>Release:        3.0
>Organization:
>Environment:
cygwin
>Description:
/* On viewing report 3868, the file attachment doesn't seem to be working.  This is duplicative, with the code here: */

template<int flag>
struct Flag {
   template<typename T, typename U>
   struct Which {
      typedef T Result;
   };
};

template<>
struct Flag<0> {
   template<typename T, typename U>
   struct Which {
      typedef U Result;
   };
};

template<int flag, typename T, typename U>
struct Select {
   typedef typename Flag<flag>::Which<T, U>::Result Result;
};


typedef Select<1, int, long>::Result Int;
typedef Select<0, int, long>::Result Long;

Int i = 0;
Long j = 0;

/*
C:\MYDOCU~1\DEVELO~1\jhl\gcctest>gcc -v -save-temps gcctest.cpp
Reading specs from /usr/local/lib/gcc-lib/i686-pc-cygwin/3.0/specs
Configured with: /cygdrive/c/mydocu~1/downloads/gcc-3.0/configure
Thread model: single
gcc version 3.0
 /usr/local/lib/gcc-lib/i686-pc-cygwin/3.0/cpp0.exe -lang-c++ -D__GNUG__=3 -D__G
XX_DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -D__GNUC__=3 -D__GNUC_MI
NOR__=0 -D__GNUC_PATCHLEVEL__=0 -D_X86_=1 -D_X86_=1 -Asystem=winnt -D__NO_INLINE
__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__
tune_i686__ -D__tune_pentiumpro__ -D__stdcall=__attribute__((__stdcall__)) -D__c
decl=__attribute__((__cdecl__)) -D_stdcall=__attribute__((__stdcall__)) -D_cdecl
=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -D__i386__ -D__i3
86 -D__CYGWIN32__ -D__CYGWIN__ -Dunix -D__unix__ -D__unix -isystem /usr/local/in
clude -idirafter /usr/include -idirafter /usr/include/w32api gcctest.cpp gcctest
.ii
GNU CPP version 3.0 (cpplib) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/include/g++-v3
 /usr/local/include/g++-v3/i686-pc-cygwin
 /usr/local/include/g++-v3/backward
 /usr/local/lib/gcc-lib/i686-pc-cygwin/3.0/include
 /usr/include
 /usr/include/w32api
End of search list.
 /usr/local/lib/gcc-lib/i686-pc-cygwin/3.0/cc1plus.exe -fpreprocessed gcctest.ii
 -quiet -dumpbase gcctest.cpp -version -o gcctest.s
GNU CPP version 3.0 (cpplib) (80386, BSD syntax)
GNU C++ version 3.0 (i686-pc-cygwin)
        compiled by GNU C version 3.0.
gcctest.cpp:23: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
*/


>How-To-Repeat:
Compile the above
>Fix:
Unknown
>Release-Note:
>Audit-Trail:
>Unformatted:


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

end of thread, other threads:[~2003-01-03 12:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-01 12:46 c++/3869: Segmentation fault on specialized outer template with inner member template Wolfgang Bangerth
  -- strict thread matches above, loose matches on Subject: below --
2003-01-03 12:19 paolo
2003-01-03 12:16 Neil Booth
2003-01-03 12:06 Paolo Carlini
2003-01-02 21:56 Neil Booth
2003-01-02 21:26 Paolo Carlini
2001-08-01  5:19 nathan
2001-07-29 13:06 fluxsmith

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).