From 23ad5ed7432bea7c5d00837f12d8334f53c43cb4 Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Thu, 20 Jul 2023 11:55:59 +0200 Subject: [PATCH] Fortran: fix wrong rebase that broke bootstrap Sorry... gcc/fortran/ * trans-intrinsic.cc (conv_intrinsic_ieee_comparison): Only define it once. --- gcc/fortran/trans-intrinsic.cc | 86 ---------------------------------- 1 file changed, 86 deletions(-) diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc index e0f86b1ab551..289309190a5e 100644 --- a/gcc/fortran/trans-intrinsic.cc +++ b/gcc/fortran/trans-intrinsic.cc @@ -10462,92 +10462,6 @@ conv_intrinsic_ieee_comparison (gfc_se * se, gfc_expr * expr, int signaling, } -/* Generate code for comparison functions IEEE_QUIET_* and - IEEE_SIGNALING_*. */ - -static void -conv_intrinsic_ieee_comparison (gfc_se * se, gfc_expr * expr, int signaling, - const char *name) -{ - tree args[2]; - tree arg1, arg2, res; - - /* Evaluate arguments only once. */ - conv_ieee_function_args (se, expr, args, 2); - arg1 = gfc_evaluate_now (args[0], &se->pre); - arg2 = gfc_evaluate_now (args[1], &se->pre); - - if (startswith (name, "eq")) - { - if (signaling) - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISEQSIG), - 2, arg1, arg2); - else - res = fold_build2_loc (input_location, EQ_EXPR, logical_type_node, - arg1, arg2); - } - else if (startswith (name, "ne")) - { - if (signaling) - { - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISEQSIG), - 2, arg1, arg2); - res = fold_build1_loc (input_location, TRUTH_NOT_EXPR, - logical_type_node, res); - } - else - res = fold_build2_loc (input_location, NE_EXPR, logical_type_node, - arg1, arg2); - } - else if (startswith (name, "ge")) - { - if (signaling) - res = fold_build2_loc (input_location, GE_EXPR, logical_type_node, - arg1, arg2); - else - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISGREATEREQUAL), - 2, arg1, arg2); - } - else if (startswith (name, "gt")) - { - if (signaling) - res = fold_build2_loc (input_location, GT_EXPR, logical_type_node, - arg1, arg2); - else - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISGREATER), - 2, arg1, arg2); - } - else if (startswith (name, "le")) - { - if (signaling) - res = fold_build2_loc (input_location, LE_EXPR, logical_type_node, - arg1, arg2); - else - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISLESSEQUAL), - 2, arg1, arg2); - } - else if (startswith (name, "lt")) - { - if (signaling) - res = fold_build2_loc (input_location, LT_EXPR, logical_type_node, - arg1, arg2); - else - res = build_call_expr_loc (input_location, - builtin_decl_explicit (BUILT_IN_ISLESS), - 2, arg1, arg2); - } - else - gcc_unreachable (); - - se->expr = fold_convert (gfc_typenode_for_spec (&expr->ts), res); -} - - /* Generate code for an intrinsic function from the IEEE_ARITHMETIC module. */ -- 2.47.2