This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/6432: __builtin_apply() rejected by g++ - per PR 102
- From: colin at field dot medicine dot adelaide dot edu dot au
- To: gcc-gnats at gcc dot gnu dot org
- Date: Wed, 24 Apr 2002 09:43:04 +1000 (EST)
- Subject: c++/6432: __builtin_apply() rejected by g++ - per PR 102
>Number: 6432
>Category: c++
>Synopsis: __builtin_apply() rejected by g++ - per PR 102
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Tue Apr 23 16:46:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Colin McCormack
>Release: gcc version 2.95.4 20011002 (Debian prerelease)
>Organization:
>Environment:
System: Linux colin.sharedtech.dyndns.org 2.4.18-686 #2 Wed Mar 20 20:21:31 EST 2002 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
>Description:
g++ rejects all possible constructions of __builtin_apply() by requiring the second argument to be of an impossible type, with an error: argument passing to `void * ()(unsigned int)' from `void *'. Please note the impossible type `void * () (unsigned int)'
>How-To-Repeat:
run g++ over the following code:
----
extern void fn1();
void fn (int b){
__builtin_apply( (void (*)())fn1,
__builtin_apply_args(),
32);
}
----
NB: this bug was reported in Problem Report 102 on March 12th 2000, and was closed in error. The bug is, and has been, causing my GPL'd project a great deal of difficulty, and its fix should be straight forward.
>Fix:
There is no fix or workaround possible within g++
>Release-Note:
>Audit-Trail:
>Unformatted: