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