This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c++/10818: reinterpret_cast<void*> not handled the same as (void*)


>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:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]