From 726612d29af73d63826b0e9f74e5a5b2765b7b7e Mon Sep 17 00:00:00 2001 From: Richard Guenther <rguenther@suse.de> Date: Sun, 13 Jan 2008 16:30:51 +0000 Subject: [PATCH] re PR c/34601 (ICE with undefined enum) 2008-01-13 Richard Guenther <rguenther@suse.de> PR middle-end/34601 * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE instead of TYPE_MODE to deal with calls from expand_one_error_var. * gcc.dg/noncompile/incomplete-4.c: New testcase. From-SVN: r131506 --- gcc/ChangeLog | 6 ++++++ gcc/emit-rtl.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/noncompile/incomplete-4.c | 4 ++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/noncompile/incomplete-4.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9ea747dcf1f7..27b488216c91 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-01-13 Richard Guenther <rguenther@suse.de> + + PR middle-end/34601 + * emit-rtl.c (set_reg_attrs_for_decl_rtl): Use DECL_MODE + instead of TYPE_MODE to deal with calls from expand_one_error_var. + 2008-01-13 Uros Bizjak <ubizjak@gmail.com> * gcse.c (cprop_jump): Call validate_unshare_change instead of diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 5a2aede40ddc..bef4d58f53d0 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1006,7 +1006,7 @@ set_reg_attrs_for_decl_rtl (tree t, rtx x) if (REG_P (x)) REG_ATTRS (x) = get_reg_attrs (t, byte_lowpart_offset (GET_MODE (x), - TYPE_MODE (TREE_TYPE (t)))); + DECL_MODE (t))); if (GET_CODE (x) == CONCAT) { if (REG_P (XEXP (x, 0))) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b067970ec88d..521407af5acf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-01-13 Richard Guenther <rguenther@suse.de> + + PR middle-end/34601 + * gcc.dg/noncompile/incomplete-4.c: New testcase. + 2008-01-13 Jan Hubicka <jh@suse.cz> PR middle-end/32135 diff --git a/gcc/testsuite/gcc.dg/noncompile/incomplete-4.c b/gcc/testsuite/gcc.dg/noncompile/incomplete-4.c new file mode 100644 index 000000000000..a4f47694d65b --- /dev/null +++ b/gcc/testsuite/gcc.dg/noncompile/incomplete-4.c @@ -0,0 +1,4 @@ +void foo() +{ + enum E e; /* { dg-error "storage size" } */ +} -- GitLab