c++/10243: int& int_ref => typeof(int_ref) != int&
MHL.Schulze@t-online.de
MHL.Schulze@t-online.de
Thu Mar 27 14:46:00 GMT 2003
>Number: 10243
>Category: c++
>Synopsis: int& int_ref => typeof(int_ref) != int&
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Mar 27 14:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Martin Schulze
>Release: unknown-1.0
>Organization:
>Environment:
linux, i686
>Description:
typeof doesn't work with c++ references. E.g. in
"int& int_ref; typeof(int&) clone;" clone is defined as an "int" but it should be an "int&".
This holds true for any reference type: typeof() always eats the "&".
>How-To-Repeat:
Compiling the attached source code with a simple "c++" will show the wrong type in an error message:
compiler_bug.cc: In static member function `static void test_type<T>::dump()
[with T = int]':
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="compiler_bug.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="compiler_bug.cc"
dGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCB0ZXN0X3R5cGUgeyBzdGF0aWMgdm9pZCBkdW1wKCkg
e2Vycm9yO30gfTsKCmludCBtYWluKCkgewogIGludCYgaW50X3JlZjsKICB0ZXN0X3R5cGU8dHlw
ZW9mKGludF9yZWYpPjo6ZHVtcCgpOwp9Cg==
More information about the Gcc-prs
mailing list