c++/6206: ICE 89 when falsely importing member function/operator

thomas.stratmann@ruhr-uni-bochum.de thomas.stratmann@ruhr-uni-bochum.de
Sat Apr 6 11:42:00 GMT 2002


>Number:         6206
>Category:       c++
>Synopsis:       ICE 89 when falsely importing member function/operator
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          ice-on-illegal-code
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 06 10:46:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     thomas.stratmann@ruhr-uni-bochum.de
>Release:        2.95.3 20010315 [FreeBSD], others (also seen on Linux 2.95.3)
>Organization:
>Environment:

>Description:
$cat test.cpp
template <class T>
class A {
public:
	using T::operator+;
};

A<char> gObj;
$g++ test.cpp
test.cpp: In instantiation of `A<char>':
test.cpp:7:   instantiated from here
test.cpp:5: Internal compiler error 89.
test.cpp:5: Please submit a full bug report.
test.cpp:5: See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

We falsely try to import one of the many theoretically possible (really?) operator+ members(?) of base type int into out own class. Error seems to need template mechanism to appear.
>How-To-Repeat:

>Fix:
Try code that makes sense.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="test.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test.cpp"

dGVtcGxhdGUgPGNsYXNzIFQ+CmNsYXNzIEEgewpwdWJsaWM6Cgl1c2luZyBUOjpvcGVyYXRvcis7
Cn07CgpBPGNoYXI+IGdPYmo7Cg==



More information about the Gcc-bugs mailing list