aboutsummaryrefslogtreecommitdiff
path: root/gcc/convert.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/convert.c')
-rw-r--r--gcc/convert.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/convert.c b/gcc/convert.c
index f900ace..79aef214 100644
--- a/gcc/convert.c
+++ b/gcc/convert.c
@@ -349,6 +349,13 @@ convert_to_integer (tree type, tree expr)
switch (fcode)
{
+ case BUILT_IN_FLOOR: case BUILT_IN_FLOORF: case BUILT_IN_FLOORL:
+ if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (long_long_integer_type_node))
+ fn = mathfn_built_in (s_intype, BUILT_IN_LLFLOOR);
+ else
+ fn = mathfn_built_in (s_intype, BUILT_IN_LFLOOR);
+ break;
+
case BUILT_IN_ROUND: case BUILT_IN_ROUNDF: case BUILT_IN_ROUNDL:
if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (long_long_integer_type_node))
fn = mathfn_built_in (s_intype, BUILT_IN_LLROUND);