This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/24263] [4.1 Regression] gcc.dg/torture/builtin-convert-1.c fails
- From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Oct 2005 16:29:56 -0000
- Subject: [Bug middle-end/24263] [4.1 Regression] gcc.dg/torture/builtin-convert-1.c fails
- References: <bug-24263-230@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from ebotcazou at gcc dot gnu dot org 2005-10-10 16:29 -------
> Yes, I think it's true that (float)floor((double)f) == floorf(f). We could
> make that routine look for that case, although it wasn't before, and I think
> your test was passing by accident (i.e. the invalid tranformation that it
> actually was doing, happened to work.) I should be able to look at it later
> this week, have a firedrill at the moment.
It could be as simple as reinstating the code and checking that we have a real
extension from the underlying argument.
> (On darwin convert_to_real does not get called with anything that looks like
> that, and all the builtin-convert tests pass. I'm not sure why Sparc is
> different.)
It's not SPARC per se, it's Solaris and HP-UX and any non-C99 OSes. On C99
systems, the call is folded earlier because we have an implicit builtin.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24263