Marks patch for fixing PR23099 from 2005-08-29 makes glibmm not compile:
% cat glib-test.cc
#include <string>
struct A{
static const long npos = std::string::npos;
};
% g++ -c glib-test.cc
glib-test.cc:3: error: field initializer is not constant
Reverting it makes this compile again. To fail it seems to need that the
type of std::string::npos comes from a template argument member (the allocator
of std::string in this case). Easier tests do compile. Also doing
the initialization of A::npos outside the class definition makes this compile.
--
Summary: patch for #23099 breaks glibmm
Product: gcc
Version: 4.0.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: mark at codesourcery dot com
ReportedBy: matz at suse dot de
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23699