This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/43040] Wrong decl for mathbuiltins -> wrong code with LTO
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Feb 2010 13:54:57 -0000
- Subject: [Bug fortran/43040] Wrong decl for mathbuiltins -> wrong code with LTO
- References: <bug-43040-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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