On Friday 13 August 2010 11:32:25 you wrote: > On 08/13/2010 10:25 AM, Job Noorman wrote: > > //file main.cpp > > void func() {} > > > > int main() > > { > > > > //this works but GCC generates an indirect call: > > // movl $_Z4funcv, %eax > > // call *%eax > > asm("call *%0" : : "r"(func)); > > > > //this is what I conceptually want to do but doesn't work because > > //GCC generates > > // call $_Z4funcv > > //which gives an error from the assembler: > > // main.cpp: Assembler messages: > > // main.cpp:20: Error: suffix or operands invalid for `call' > > //I would like to find a way to make GCC generate the following: > > // call _Z4funcv > > //(note there is no "$") > > asm("call %0" : : "i"(func)); > > > > } > > asm("call %P0" : : "i"(func)); > > Andrew. Wow thanks a lot! Is this feature documented somewhere? I've been looking through the manuals but haven't found it.