From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.3; Linux) (KHTML, like Gecko) Description of problem: g++4 -D_Pm2_VERSION_=\"0.9-beta3\" -D_Pm2_USER_=\"roebel\" -I. -I../LibSrc -O3 -funroll-loops -pthread -Wall -pedantic -o ../obj_/Pm2Sdif.o -c Pm2Sdif.cpp /usr/include/c++/3.4.3/limits:996: error: floating-point literal cannot appear in a constant-expression /usr/include/c++/3.4.3/limits:1009: error: field initializer is not constant /usr/include/c++/3.4.3/limits:1052: error: floating-point literal cannot appearin a constant-expression /usr/include/c++/3.4.3/limits:1065: error: field initializer is not constant /usr/include/c++/3.4.3/limits:1108: error: floating-point literal cannot appearin a constant-expression /usr/include/c++/3.4.3/limits:1122: error: field initializer is not constant /u/formes/share/include/sdif.h:251: warning: â_sdif_h_cvs_revision_â defined but not used m Version-Release number of selected component (if applicable): gcc4-c++-4.0.0-0.41.fc3 How reproducible: Always Steps to Reproduce: 1. compile a c++ file that includes <limits> and give -pedantic option 2. 3. Actual Results: see above Expected Results: gcc 3.4 did compile! Additional info:
The error is correct. libstdc++-v3 was fixed in GCC 4.0: 2005-01-31 Mark Mitchell <mark> * include/std/std_limits.h (numeric_limits<float>::has_denorm): Add required cast. (numeric_limits<double>::has_denorm): Likewise. (numeric_limits<long double>::has_denorm): Likewise.
Should be fixed in gcc-3.4.4-1.