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>
---
 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 43b175f92fd..df62e2d80db 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)
-- 
2.44.0

Reply via email to