------- Additional Comments From uros at kss-loka dot si  2005-04-30 07:59 
-------
I think that the best way to fix problems with missing floorf(), floorl(),
ceilf() and ceill() builtins is to completely disable all (int)floor() and
(int)ceil() optimizations for !TARGET_C99_FUNCTIONS.

I'll make a proper patch next week, but to solve this bug,

case BUILT_IN_CEIL: case BUILT_IN_CEILF: case BUILT_IN_CEILL:

and

case BUILT_IN_FLOOR: case BUILT_IN_FLOORF: case BUILT_IN_FLOORL:

should be moved before

+         /* Only convert in ISO C99 mode.  */
+         if (!TARGET_C99_FUNCTIONS)
+           break;

in convert_to_integer() function in convert.c source. Please look at:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/convert.c.diff?cvsroot=gcc&r1=1.60&r2=1.61

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |uros at kss-loka dot si
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-04-29 19:47:50         |2005-04-30 07:59:52
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21282

Reply via email to