c++/8778: ICE on illegal initialization of non-integral static in-class constant

Gabriel Dos Reis gdr@integrable-solutions.net
Tue Dec 3 07:26:00 GMT 2002


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

From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
Cc: Volker Reichelt <reichelt@igpm.rwth-aachen.de>, gcc-gnats@gcc.gnu.org,
   <gcc-bugs@gcc.gnu.org>, <sgunderson@bigfoot.com>
Subject: Re: c++/8778: ICE on illegal initialization of non-integral static in-class constant
Date: 03 Dec 2002 16:18:44 +0100

 Wolfgang Bangerth <bangerth@ticam.utexas.edu> writes:
 
 | > You can really compile the following with gcc!!!
 | > 
 | > ------------------------snip here----------------------
 | > template <int n> struct A
 | > {
 | >     static const int i[] = { 1, 2 };       // works
 | > };
 
 If this compiles with GCC then that is a compiler bug.  The program
 construct is invalid.
 
 [...]
 
 | So maybe we can meet in the middle: "The code is illegal based on the C++ 
 | standard, but is accepted as a gcc extension"?
 
 I doubt that is an extension.
 
 -- Gaby



More information about the Gcc-prs mailing list