From 152ef731950c9b35e6bab40b30d60027bb996254 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 29 Jun 2016 00:30:04 +0200 Subject: re PR c/71685 (Segmentation fault in gcc when compiling the attached file.) PR c/71685 * c-typeck.c (c_build_qualified_type): Don't clear C_TYPE_INCOMPLETE_VARS for the main variant. * gcc.dg/pr71685.c: New test. From-SVN: r237830 --- gcc/c/ChangeLog | 8 +++++++- gcc/c/c-typeck.c | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'gcc/c') diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 403f267..df73934 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,4 +1,10 @@ -2016-06-28 Martin Sebor +2016-06-29 Jakub Jelinek + + PR c/71685 + * c-typeck.c (c_build_qualified_type): Don't clear + C_TYPE_INCOMPLETE_VARS for the main variant. + +2016-06-28 Martin Sebor PR c/71552 * c-typeck.c (output_init_element): Diagnose incompatible types diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c index 818ad94..56268fc 100644 --- a/gcc/c/c-typeck.c +++ b/gcc/c/c-typeck.c @@ -13676,7 +13676,8 @@ c_build_qualified_type (tree type, int type_quals, tree orig_qual_type, : build_qualified_type (type, type_quals)); /* A variant type does not inherit the list of incomplete vars from the type main variant. */ - if (RECORD_OR_UNION_TYPE_P (var_type)) + if (RECORD_OR_UNION_TYPE_P (var_type) + && TYPE_MAIN_VARIANT (var_type) != var_type) C_TYPE_INCOMPLETE_VARS (var_type) = 0; return var_type; } -- cgit v1.1