------- Comment #6 from sje at cup dot hp dot com 2007-01-17 16:58 ------- The code in comment #5 works fine. In pure C cases, if a prototype has been seen when you get to the call, the floating point value goes into a FP reg. If you haven't seen a prototype then the value goes into both an FP reg -and- a general register. In the Fortran case the floating point value is only going into a general register. I think the only way to reproduce this in C is to have a protype for the f_to_f function that looks like f_to_f (int, ...).
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30432