diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/builtins.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23f3b4d..06d2c23 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-10-11 Tom de Vries <tom@codesourcery.com> + + PR middle-end/77558 + * builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE + special-casing. + 2016-10-11 Eric Botcazou <ebotcazou@adacore.com> * tree.h (build_complex_type): Add second parameter with default. diff --git a/gcc/builtins.c b/gcc/builtins.c index 6c68198..43a9db0 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -4090,10 +4090,8 @@ std_canonical_va_list_type (tree type) wtype = va_list_type_node; htype = type; - /* Treat structure va_list types. */ - if (TREE_CODE (wtype) == RECORD_TYPE && POINTER_TYPE_P (htype)) - htype = TREE_TYPE (htype); - else if (TREE_CODE (wtype) == ARRAY_TYPE) + + if (TREE_CODE (wtype) == ARRAY_TYPE) { /* If va_list is an array type, the argument may have decayed to a pointer type, e.g. by being passed to another function. |
