diff --git a/gcc/cp/reflect.cc b/gcc/cp/reflect.cc index 8aede2bab3c..4b2eeb2075f 100644 --- a/gcc/cp/reflect.cc +++ b/gcc/cp/reflect.cc @@ -474,10 +474,8 @@ get_range_elts (location_t loc, const constexpr_ctx *ctx, tree call, int n, == ((tree_to_uhwi (maxv) + 1) * tree_to_uhwi (TYPE_SIZE_UNIT (valuet)))) && (at = TREE_TYPE (TREE_OPERAND (a, 0))) - && TREE_CODE (at) == ARRAY_TYPE - && TYPE_MAIN_VARIANT (TREE_TYPE (at)) == valuet - && TYPE_DOMAIN (at) - && tree_int_cst_equal (maxv, TYPE_MAX_VALUE (TYPE_DOMAIN (at)))) + && same_type_ignoring_top_level_qualifiers_p (TREE_TYPE (type), + at)) return TREE_OPERAND (a, 0); } if (kind == REFLECT_CONSTANT_ARRAY)