This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/10818: reinterpret_cast<void*> not handled the same as (void*)
- From: razeh at yahoo dot com
- To: gcc-gnats at gcc dot gnu dot org
- Date: 16 May 2003 15:04:36 -0000
- Subject: c++/10818: reinterpret_cast<void*> not handled the same as (void*)
- Reply-to: razeh at yahoo dot com
>Number: 10818
>Category: c++
>Synopsis: reinterpret_cast<void*> not handled the same as (void*)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri May 16 15:06:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: razeh@yahoo.com
>Release: unknown-1.0
>Organization:
>Environment:
/home/host/razeh/testing$ gcc -v
Reading specs from /usr/local/packages/gcc-3.3/lib/gcc-lib/sparc-sun-solaris2.8/3.3/specs
Configured with: ../configure --prefix=/usr/local/packages/gcc-3.3 : (reconfigured) ../configure --prefix=/usr/local/packages/gcc-3.3 --disable-multilib
Thread model: posix
gcc version 3.3
/home/host/razeh/testing$ uname -a
SunOS terk 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Blade-100
>Description:
extern "C" {
void g( void *);
};
struct X {
static void a() { }
};
extern "C" void f() {
void *a = (void*)(X::a);
void *b = reinterpret_cast<void*>(X::a);
void *c = reinterpret_cast<void*>(&f);
}
The the (void*)line compiles, while the reinterpret_cast lines generate:
fp4.C:15: error: ISO C++ forbids casting between pointer-to-function and
pointer-to-object
fp4.C:16: error: ISO C++ forbids casting between pointer-to-function and
pointer-to-object
I would expect all three lines to fail.
>How-To-Repeat:
Compile the file.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: