[Bug libstdc++/59048] operator== between std::string and const char* slower than strcmp

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 9 17:21:00 GMT 2014


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).



More information about the Gcc-bugs mailing list