This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/25222] New: not integer constant error while casting static double const member to int in enum at compile-time
- From: "pkgm at o2 dot pl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Dec 2005 14:18:08 -0000
- Subject: [Bug c++/25222] New: not integer constant error while casting static double const member to int in enum at compile-time
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
//////////////////////////////////////////////
template<int i>
class A
{
public:
static double const VAL = 0.5;
enum
{
COS = (int)(A::VAL)
};
};
int main()
{
A<5>::COS;
return 0;
}
//////////////////////////////////////////////
This returns following error:
pom.cpp: In instantiation of 'A<5>':
pom.cpp:15: instantiated from here
pom.cpp:7: error: enumerator value for 'COS' not integer constant
>$ g++ -v -save-temps pom.cpp
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.0 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt
--enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm
--enable-java-awt=gtk --enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr
--disable-werror --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.2
/usr/lib/gcc/i486-linux-gnu/4.0.2/cc1plus -E -quiet -v -D_GNU_SOURCE pom.cpp
-mtune=i486 -fpch-preprocess -o pom.ii
ignoring nonexistent directory
"/usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../i486-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../include/c++/4.0.2
/usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../include/c++/4.0.2/i486-linux-gnu
/usr/lib/gcc/i486-linux-gnu/4.0.2/../../../../include/c++/4.0.2/backward
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.0.2/include
/usr/include
End of search list.
/usr/lib/gcc/i486-linux-gnu/4.0.2/cc1plus -fpreprocessed pom.ii -quiet
-dumpbase pom.cpp -mtune=i486 -auxbase pom -version -o pom.s
GNU C++ version 4.0.2 (i486-linux-gnu)
compiled by GNU C version 4.0.2.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
--
Summary: not integer constant error while casting static double
const member to int in enum at compile-time
Product: gcc
Version: 4.0.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pkgm at o2 dot pl
GCC build triplet: i486-linux-gnu
GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25222