------- Comment #3 from burnus at gcc dot gnu dot org 2010-02-12 13:54 ------- (In reply to comment #2) > /* We define these separately as the fortran versions have different > semantics (they return an integer type) */ > gfc_define_builtin ("__builtin_roundl", mfunc_longdouble[0], > > ugh. You can't overload existing builtin names with different semantics. > The middle-end expects that of gcc/builtins.def. For the above case > there exists BUILT_IN_LROUNDL.
My impression is that the comment is old and does not apply to "roundl" as the trans-intrinsics.c uses both BUILT_IN_ROUND* and BUILT_IN_LROUND - and given that the "round*" were added much later than the comment according to svn blame. Having said that, I think one should check the other intrinsics in that file (f95-lang.c) and remove then the bogus comment. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43040