[LLVMdev] [DragonEgg] Why Fortran's "call flush()" is converted to "call void bitcast (void (...)* @_gfortran_flush_i4 to void (i8*)*)(i8* null) nounwind" ?

Duncan Sands baldrick at free.fr
Tue Jul 17 06:10:56 PDT 2012


Hi Anton,

>> How do you think what would be the best way to workaround this problem, if
>> it seems to be not in focus for anybody for now?
> Keep in mind, this not LLVM problem, it's gfortran problem. Also, it's
> of pretty low priority for gcc devs since they do almost no type
> checking on TREEs, so the varargs decl seems to be only viable
> llvm-side fix.

actually there is a different fix, which is to not pay any attention to GCC
function types when generating calls (and function prototypes), and instead do
everything by querying GCC's CUMULATIVE_ARGS.

Ciao, Duncan.



More information about the llvm-dev mailing list