c++/7775: std::string foo = foo + "b" is erroneously compiled
udbz@rz.uni-karlsruhe.de
udbz@rz.uni-karlsruhe.de
Fri Aug 30 09:06:00 GMT 2002
>Number: 7775
>Category: c++
>Synopsis: std::string foo = foo + "b" is erroneously compiled
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: accepts-illegal
>Submitter-Id: net
>Arrival-Date: Fri Aug 30 08:56:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: udbz@rz.uni-karlsruhe.de
>Release: gcc-3.0.3
>Organization:
>Environment:
>Description:
GCC is too permissive when it comes to initialization
with operator=(): It will even generate illegal code
on optimization-level -O3:
#include <iostream.h>
#include <string>
int main()
{
std::string foo = foo + "b";
std::cout << foo << endl;
}
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-prs
mailing list