This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/19883] New: [4.0 regression] Even more array bounds rejected as non-constant in template...
- From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Feb 2005 22:13:15 -0000
- Subject: [Bug c++/19883] New: [4.0 regression] Even more array bounds rejected as non-constant in template...
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following valid code snippet is rejected by mainline:
====================================
template<typename T> struct A
{
static const T i = 1;
char a[int(i)];
};
====================================
The error message is:
bug1.cc:4: error: array bound is not an integer constant
Mark, this is similar to PR19826 which you already fixed, but with an
additional cast.
For the same reason the following testcase fails, too:
==================================
template<int> struct A {};
template<typename T> struct B
{
static const T i = 2;
A<int(i)> a;
};
==================================
bug2.cc:6: error: template argument 1 is invalid
Due to this problem the testcase in PR19297 still fails on mainline.
--
Summary: [4.0 regression] Even more array bounds rejected as non-
constant in template...
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: rejects-valid, monitored
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,mark at codesourcery dot
com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19883