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