diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2023-07-20 11:55:59 +0200 |
---|---|---|
committer | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2023-07-20 11:55:59 +0200 |
commit | 23ad5ed7432bea7c5d00837f12d8334f53c43cb4 (patch) | |
tree | 1e11ba271991df2e6ed1f4563ec19517001e24e3 /gcc | |
parent | dca2874897ec58ea1c22a9c2161f112fff07cfb2 (diff) | |
download | gcc-23ad5ed7432bea7c5d00837f12d8334f53c43cb4.zip gcc-23ad5ed7432bea7c5d00837f12d8334f53c43cb4.tar.gz gcc-23ad5ed7432bea7c5d00837f12d8334f53c43cb4.tar.bz2 |
Fortran: fix wrong rebase that broke bootstrap
Sorry...
gcc/fortran/
* trans-intrinsic.cc (conv_intrinsic_ieee_comparison): Only
define it once.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/trans-intrinsic.cc | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc index e0f86b1..2893091 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. */ |