Platform: Fedora release 12 (Constantine) Linux cage.lbl.gov 2.6.31.5-127.fc12.x86_64 #1 SMP Sat Nov 7 21:11:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux g++ (GCC) 4.4.2 20091027 (Red Hat 4.4.2-7)
URL: svn://gcc.gnu.org/svn/gcc/trunk Revision: 154886 % g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/net/cci-filer1/vol1/tmp/rwgk/gcc_trunk_154886_fc12_x86_64/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /net/cage/raid1/rwgk/gcc_trunk/configure --prefix=/net/cci-filer1/vol1/tmp/rwgk/gcc_trunk_154886_fc12_x86_64 --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.5.0 20091201 (experimental) (GCC) g++ -c ~/not_const.cpp /net/cci/rwgk/not_const.cpp:58:13: error: integral expression 'boost::hash_detail::ldexpf_detect::check:: c99' is not constant /net/cci/rwgk/not_const.cpp:58:13: error: trying to instantiate 'template<bool x> struct boost::hash_detail::call_c99_ldexpf' I'll add a self-contained reproducer (60 lines, no includes). Reduced from boost/functional/hash/detail/float_functions.hpp boost svn trunk 58091. It works with g++ 4.4.2 (Fedora 12) and I think many other compilers. -- Summary: failure detecting constant integral expression Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rwgk at yahoo dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42251