------- Additional Comments From manus at eiffel dot com  2004-11-10 01:24 
-------
I believe we do not have the right definition of unspecified behavior. Going 
back to my initial post:

extern void f();

void g(char a) {
  ((void (*) (char)) f)(a);
}

Knowing that actually `f' has been declared in some other module as:
extern void f(char){...}

Then the above code "((void (*) (char)) f)(a);" make sense. I'm simply calling 
`f' with the right type for the argument thanks to the function cast.

Could you point out where the undefined part is?

Thanks,
Manu

PS: sorry to be so picky on this issue but I feel it is important.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18411

Reply via email to