[Bug c/71602] [6/7 regression] ICE on __builtin_va_arg in build_va_arg, at c-family/c-common.c:5810

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Sep 10 14:39:00 GMT 2016


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

--- Comment #16 from Tom de Vries <vries at gcc dot gnu.org> ---
Author: vries
Date: Sat Sep 10 14:38:56 2016
New Revision: 240072

URL: https://gcc.gnu.org/viewcvs?rev=240072&root=gcc&view=rev
Log:
Make canonical_va_list_type more strict

2016-09-10  Tom de Vries  <tom@codesourcery.com>

        PR C/71602
        * builtins.c (std_canonical_va_list_type): Strictly return non-null for
        va_list type only.
        * config/i386/i386.c (ix86_canonical_va_list_type): Same.
        * gimplify.c (gimplify_va_arg_expr): Handle &va_list.

        * c-common.c (build_va_arg): Handle more strict
        targetm.canonical_va_list_type.  Replace first argument type error with
        assert.

        * c-c++-common/va-arg-va-list-type.c: New test.

Added:
    trunk/gcc/testsuite/c-c++-common/va-arg-va-list-type.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/config/i386/i386.c
    trunk/gcc/gimplify.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list