Hello, Martin,

On Oct 12, 2020, Martin Liška <mli...@suse.cz> wrote:

> It seems the patch caused quite some clang warnings:

> /home/marxin/BIG/buildbot/buildworker/marxinbox-gcc-clang/build/gcc/builtins.c:2366:5:
> warning: comparison of different enumeration types in switch statement
> ('combined_fn' and 'built_in_function') [-Wenum-compare-switch]
> ...

Thanks for the report.

> Can we please fix them?

Here's the patch I'm just about to begin regstrapping.
I'll check it in, as obvious, once I'm done.

Thanks again,


mathfn_built_in_type case type fix

Martin Liška reported warnings about type mismatches in the cases in
the recently-introduced mathfn_built_in_type.  This patch adjusts the
macros to use the combined_fn enumerators rather than the
(currently same-numbered) built_in_function ones.

for  gcc/ChangeLog

        * builtins.c (mathfn_built_in_type): Use CFN_ enumerators.
---
 gcc/builtins.c |   26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/gcc/builtins.c b/gcc/builtins.c
index 3a77da2..3f799e5 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -2451,37 +2451,37 @@ tree
 mathfn_built_in_type (combined_fn fn)
 {
 #define CASE_MATHFN(MATHFN)                    \
-  case BUILT_IN_##MATHFN:                      \
+  case CFN_BUILT_IN_##MATHFN:                  \
     return double_type_node;                   \
-  case BUILT_IN_##MATHFN##F:                   \
+  case CFN_BUILT_IN_##MATHFN##F:               \
     return float_type_node;                    \
-  case BUILT_IN_##MATHFN##L:                   \
+  case CFN_BUILT_IN_##MATHFN##L:               \
     return long_double_type_node;
 
 #define CASE_MATHFN_FLOATN(MATHFN)             \
   CASE_MATHFN(MATHFN)                          \
-  case BUILT_IN_##MATHFN##F16:                 \
+  case CFN_BUILT_IN_##MATHFN##F16:             \
     return float16_type_node;                  \
-  case BUILT_IN_##MATHFN##F32:                 \
+  case CFN_BUILT_IN_##MATHFN##F32:             \
     return float32_type_node;                  \
-  case BUILT_IN_##MATHFN##F64:                 \
+  case CFN_BUILT_IN_##MATHFN##F64:             \
     return float64_type_node;                  \
-  case BUILT_IN_##MATHFN##F128:                        \
+  case CFN_BUILT_IN_##MATHFN##F128:            \
     return float128_type_node;                 \
-  case BUILT_IN_##MATHFN##F32X:                        \
+  case CFN_BUILT_IN_##MATHFN##F32X:            \
     return float32x_type_node;                 \
-  case BUILT_IN_##MATHFN##F64X:                        \
+  case CFN_BUILT_IN_##MATHFN##F64X:            \
     return float64x_type_node;                 \
-  case BUILT_IN_##MATHFN##F128X:               \
+  case CFN_BUILT_IN_##MATHFN##F128X:           \
     return float128x_type_node;
 
 /* Similar to above, but appends _R after any F/L suffix.  */
 #define CASE_MATHFN_REENT(MATHFN) \
-  case BUILT_IN_##MATHFN##_R:                  \
+  case CFN_BUILT_IN_##MATHFN##_R:              \
     return double_type_node;                   \
-  case BUILT_IN_##MATHFN##F_R:                 \
+  case CFN_BUILT_IN_##MATHFN##F_R:             \
     return float_type_node;                    \
-  case BUILT_IN_##MATHFN##L_R:                 \
+  case CFN_BUILT_IN_##MATHFN##L_R:             \
     return long_double_type_node;
 
   switch (fn)


-- 
Alexandre Oliva, happy hacker
https://FSFLA.org/blogs/lxo/
Free Software Activist
GNU Toolchain Engineer

Reply via email to