https://gcc.gnu.org/g:086d0d8c9cbd9625b6e1af1146c014662ff96ae2

commit r16-3500-g086d0d8c9cbd9625b6e1af1146c014662ff96ae2
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Mon Sep 1 21:47:09 2025 +0200

    c: Rename uimaxabs to umaxabs
    
    The following patch implements
    https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3577.txt
    No big deal on the GCC side, for uimaxabs we just won't
    recognize it as builtin and I don't see it worth preserving
    __builtin_uimaxabs, I doubt anything but gcc testsuite used
    that.
    But on the glibc side I think it will need to remain exported
    for ABI compatibility :(
    
    2025-09-01  Jakub Jelinek  <ja...@redhat.com>
    
            * builtins.def: Implement C2Y N3577 - Rename s/uimaxabs/umaxabs/.
            (BUILT_IN_UIMAXABS): Rename to ...
            (BUILT_IN_UMAXABS): ... this.  Change second argument to "umaxabs".
            * builtins.cc (fold_builtin_1): Use BUILT_IN_UMAXABS rather than
            BUILT_IN_UIMAXABS.
    
            * gcc.c-torture/execute/builtins/lib/abs.c (uimaxabs): Rename to ...
            (umaxabs): ... this.
            * gcc.c-torture/execute/builtins/uabs-2.c (uimaxabs): Rename to ...
            (umaxabs): ... this.
            (main_test): Use umaxabs instead of uimaxabs.
            * gcc.c-torture/execute/builtins/uabs-3.c (main_test): Use umaxabs
            instead of uimaxabs.

Diff:
---
 gcc/builtins.cc                                    |  2 +-
 gcc/builtins.def                                   |  2 +-
 .../gcc.c-torture/execute/builtins/lib/abs.c       |  2 +-
 .../gcc.c-torture/execute/builtins/uabs-2.c        | 28 +++++++++++-----------
 .../gcc.c-torture/execute/builtins/uabs-3.c        | 26 ++++++++++----------
 5 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 7f580a3145ff..ced84781afad 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -10679,7 +10679,7 @@ fold_builtin_1 (location_t loc, tree expr, tree fndecl, 
tree arg0)
     case BUILT_IN_UABS:
     case BUILT_IN_ULABS:
     case BUILT_IN_ULLABS:
-    case BUILT_IN_UIMAXABS:
+    case BUILT_IN_UMAXABS:
       return fold_builtin_abs (loc, arg0, type);
 
     CASE_FLT_FN (BUILT_IN_CONJ):
diff --git a/gcc/builtins.def b/gcc/builtins.def
index d7b2894bcfa0..3dc2333c6f29 100644
--- a/gcc/builtins.def
+++ b/gcc/builtins.def
@@ -1137,7 +1137,7 @@ DEF_EXT_LIB_BUILTIN    (BUILT_IN_STRFMON, "strfmon", 
BT_FN_SSIZE_STRING_SIZE_CON
 DEF_LIB_BUILTIN        (BUILT_IN_STRFTIME, "strftime", 
BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR, 
ATTR_FORMAT_STRFTIME_NOTHROW_3_0)
 DEF_GCC_BUILTIN        (BUILT_IN_TRAP, "trap", BT_FN_VOID, 
ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST)
 DEF_C2Y_BUILTIN        (BUILT_IN_UABS, "uabs", BT_FN_UINT_INT, 
ATTR_CONST_NOTHROW_LEAF_LIST)
-DEF_C2Y_BUILTIN        (BUILT_IN_UIMAXABS, "uimaxabs", BT_FN_UINTMAX_INTMAX, 
ATTR_CONST_NOTHROW_LEAF_LIST)
+DEF_C2Y_BUILTIN        (BUILT_IN_UMAXABS, "umaxabs", BT_FN_UINTMAX_INTMAX, 
ATTR_CONST_NOTHROW_LEAF_LIST)
 DEF_C2Y_BUILTIN        (BUILT_IN_ULABS, "ulabs", BT_FN_ULONG_LONG, 
ATTR_CONST_NOTHROW_LEAF_LIST)
 DEF_C2Y_BUILTIN        (BUILT_IN_ULLABS, "ullabs", BT_FN_ULONGLONG_LONGLONG, 
ATTR_CONST_NOTHROW_LEAF_LIST)
 DEF_GCC_BUILTIN        (BUILT_IN_UNREACHABLE_TRAP, "unreachable trap", 
BT_FN_VOID, ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST)
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c 
b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c
index ac21ca32a9f8..18f13d99a7a9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c
@@ -67,7 +67,7 @@ ullabs (long long x)
 
 __attribute__ ((__noinline__))
 uintmax_t
-uimaxabs (intmax_t x)
+umaxabs (intmax_t x)
 {
   ABORT_INSIDE_MAIN;
   return x < 0 ? -(uintmax_t) x : x;
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-2.c 
b/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-2.c
index 0eab0b492211..2c13b8a7a569 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-2.c
@@ -1,4 +1,4 @@
-/* Test for builtin uabs, ulabs, ullabs, uimaxabs.  */
+/* Test for builtin uabs, ulabs, ullabs, umaxabs.  */
 /* Origin: Joseph Myers <js...@cam.ac.uk> */
 
 #include <limits.h>
@@ -9,7 +9,7 @@ typedef unsigned __INTMAX_TYPE__ uintmax_t;
 extern unsigned int uabs (int);
 extern unsigned long ulabs (long);
 extern unsigned long long ullabs (long long);
-extern uintmax_t uimaxabs (intmax_t);
+extern uintmax_t umaxabs (intmax_t);
 extern void abort (void);
 extern void link_error (void);
 
@@ -96,28 +96,28 @@ main_test (void)
     abort ();
   if (ullabs (__LONG_LONG_MAX__) != __LONG_LONG_MAX__)
     link_error ();
-  if (uimaxabs (imax0) != 0)
+  if (umaxabs (imax0) != 0)
     abort ();
-  if (uimaxabs (0) != 0)
+  if (umaxabs (0) != 0)
     link_error ();
-  if (uimaxabs (imax1) != 1)
+  if (umaxabs (imax1) != 1)
     abort ();
-  if (uimaxabs (1) != 1)
+  if (umaxabs (1) != 1)
     link_error ();
-  if (uimaxabs (imaxm1) != 1)
+  if (umaxabs (imaxm1) != 1)
     abort ();
-  if (uimaxabs (-1) != 1)
+  if (umaxabs (-1) != 1)
     link_error ();
-  if (uimaxabs (imaxmin) != INTMAX_MAX)
+  if (umaxabs (imaxmin) != INTMAX_MAX)
     abort ();
-  if (uimaxabs (imaxmin - 1) != (uintmax_t) 1 + INTMAX_MAX)
+  if (umaxabs (imaxmin - 1) != (uintmax_t) 1 + INTMAX_MAX)
     abort ();
-  if (uimaxabs (-INTMAX_MAX) != INTMAX_MAX)
+  if (umaxabs (-INTMAX_MAX) != INTMAX_MAX)
     link_error ();
-  if (uimaxabs (-INTMAX_MAX - 1) != (uintmax_t) 1 + INTMAX_MAX)
+  if (umaxabs (-INTMAX_MAX - 1) != (uintmax_t) 1 + INTMAX_MAX)
     link_error ();
-  if (uimaxabs (imaxmax) != INTMAX_MAX)
+  if (umaxabs (imaxmax) != INTMAX_MAX)
     abort ();
-  if (uimaxabs (INTMAX_MAX) != INTMAX_MAX)
+  if (umaxabs (INTMAX_MAX) != INTMAX_MAX)
     link_error ();
 }
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-3.c 
b/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-3.c
index b45045cd4546..58ce00650888 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-3.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/uabs-3.c
@@ -1,4 +1,4 @@
-/* Test for builtin uabs, ulabs, ullabs, uimaxabs.  Test for __builtin 
versions. */
+/* Test for builtin uabs, ulabs, ullabs, umaxabs.  Test for __builtin 
versions. */
 /* Origin: Joseph Myers <js...@cam.ac.uk> */
 
 #include <limits.h>
@@ -92,28 +92,28 @@ main_test (void)
     abort ();
   if (__builtin_ullabs (__LONG_LONG_MAX__) != __LONG_LONG_MAX__)
     link_error ();
-  if (__builtin_uimaxabs (imax0) != 0)
+  if (__builtin_umaxabs (imax0) != 0)
     abort ();
-  if (__builtin_uimaxabs (0) != 0)
+  if (__builtin_umaxabs (0) != 0)
     link_error ();
-  if (__builtin_uimaxabs (imax1) != 1)
+  if (__builtin_umaxabs (imax1) != 1)
     abort ();
-  if (__builtin_uimaxabs (1) != 1)
+  if (__builtin_umaxabs (1) != 1)
     link_error ();
-  if (__builtin_uimaxabs (imaxm1) != 1)
+  if (__builtin_umaxabs (imaxm1) != 1)
     abort ();
-  if (__builtin_uimaxabs (-1) != 1)
+  if (__builtin_umaxabs (-1) != 1)
     link_error ();
-  if (__builtin_uimaxabs (imaxmin) != INTMAX_MAX)
+  if (__builtin_umaxabs (imaxmin) != INTMAX_MAX)
     abort ();
-  if (__builtin_uimaxabs (imaxmin - 1) != (uintmax_t) 1 + INTMAX_MAX)
+  if (__builtin_umaxabs (imaxmin - 1) != (uintmax_t) 1 + INTMAX_MAX)
     abort ();
-  if (__builtin_uimaxabs (-INTMAX_MAX) != INTMAX_MAX)
+  if (__builtin_umaxabs (-INTMAX_MAX) != INTMAX_MAX)
     link_error ();
-  if (__builtin_uimaxabs (-INTMAX_MAX - 1) != (uintmax_t) 1 + INTMAX_MAX)
+  if (__builtin_umaxabs (-INTMAX_MAX - 1) != (uintmax_t) 1 + INTMAX_MAX)
     link_error ();
-  if (__builtin_uimaxabs (imaxmax) != INTMAX_MAX)
+  if (__builtin_umaxabs (imaxmax) != INTMAX_MAX)
     abort ();
-  if (__builtin_uimaxabs (INTMAX_MAX) != INTMAX_MAX)
+  if (__builtin_umaxabs (INTMAX_MAX) != INTMAX_MAX)
     link_error ();
 }

Reply via email to