https://gcc.gnu.org/g:30ff6c55ba0f2262cf292c90d7b9d771005305f0

commit r15-437-g30ff6c55ba0f2262cf292c90d7b9d771005305f0
Author: Ken Matsui <kmat...@gcc.gnu.org>
Date:   Sun May 12 23:43:55 2024 -0700

    c++: Avoid using __array_rank as a variable name [PR115061]
    
    This patch fixes a compilation error when building GCC using Clang.
    Since __array_rank is used as a built-in trait name, use rank instead.
    
            PR c++/115061
    
    gcc/cp/ChangeLog:
    
            * semantics.cc (finish_trait_expr): Use rank instead of
            __array_rank.
    
    Signed-off-by: Ken Matsui <kmat...@gcc.gnu.org>

Diff:
---
 gcc/cp/semantics.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gcc/cp/semantics.cc b/gcc/cp/semantics.cc
index 43b175f92fdc..df62e2d80dbd 100644
--- a/gcc/cp/semantics.cc
+++ b/gcc/cp/semantics.cc
@@ -12914,10 +12914,10 @@ finish_trait_expr (location_t loc, cp_trait_kind 
kind, tree type1, tree type2)
   tree val;
   if (kind == CPTK_RANK)
     {
-      size_t __array_rank = 0;
+      size_t rank = 0;
       for (; TREE_CODE (type1) == ARRAY_TYPE; type1 = TREE_TYPE (type1))
-       ++__array_rank;
-      val = build_int_cst (size_type_node, __array_rank);
+       ++rank;
+      val = build_int_cst (size_type_node, rank);
     }
   else
     val = (trait_expr_value (kind, type1, type2)

Reply via email to