This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/10243: int& int_ref => typeof(int_ref) != int&
- From: MHL dot Schulze at t-online dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 27 Mar 2003 14:37:07 -0000
- Subject: c++/10243: int& int_ref => typeof(int_ref) != int&
- Reply-to: MHL dot Schulze at t-online dot de
>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==