http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59048
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |UNCONFIRMED Version|4.4.7 |4.9.0 Summary|std::string operator== |operator== between |between std::string and |std::string and const char* |const char* creates |slower than strcmp |unecessary temporary object | Ever confirmed|1 |0 --- Comment #12 from Marc Glisse <glisse at gcc dot gnu.org> --- Configuring libstdc++ with --disable-extern-template "fixes" the issue (I actually only edited bits/c++config.h). I don't think we can mark the functions with attribute pure, and even if we do it doesn't seem sufficient (not sure what else gcc wants).