https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70651

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
And we seem to do the right thing if I just do away with the canon_expr_type:

diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 30c815d..8b0a34b 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -5722,11 +5722,6 @@ build_va_arg (location_t loc, tree expr, tree type)
       mark_addressable (expr);
       expr = build1 (ADDR_EXPR, build_pointer_type (TREE_TYPE (expr)), expr);

-      /* Verify that &ap is still recognized as having va_list type.  */
-      tree canon_expr_type
-   = targetm.canonical_va_list_type (TREE_TYPE (expr));
-      gcc_assert (canon_expr_type != NULL_TREE);
-
       return build_va_arg_1 (loc, type, expr);
     }


(there are two spots like that)

Reply via email to