Commit e922069e by Jim Wilson Committed by Jim Wilson

Fix for ICE with -g on testcase with incomplete types.

gcc/c/
	PR debug/66068
	* c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
	after calling build_qualified_type.
gcc/testsuite/
	PR debug/66068
	* gcc.dg/debug/pr66068.c: New test.

From-SVN: r229505
parent 08585fba
2015-10-26 Jim Wilson <jim.wilson@linaro.org>
PR debug/66068
* c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
after calling build_qualified_type.
2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
Thomas Schwinge <thomas@codesourcery.com>
James Norris <jnorris@codesourcery.com>
......
......@@ -13126,7 +13126,13 @@ c_build_qualified_type (tree type, int type_quals)
type_quals &= ~TYPE_QUAL_RESTRICT;
}
return build_qualified_type (type, type_quals);
tree var_type = build_qualified_type (type, type_quals);
/* A variant type does not inherit the list of incomplete vars from the
type main variant. */
if (TREE_CODE (var_type) == RECORD_TYPE
|| TREE_CODE (var_type) == UNION_TYPE)
C_TYPE_INCOMPLETE_VARS (var_type) = 0;
return var_type;
}
/* Build a VA_ARG_EXPR for the C parser. */
......
2015-10-26 Jim Wilson <jim.wilson@linaro.org>
PR debug/66068
* gcc.dg/debug/pr66068.c: New test.
2015-01-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67933
......
/* { dg-do compile } */
struct S a;
const struct S b;
struct S
{
};
union U c;
const union U d;
union U
{
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment