diff options
author | Richard Biener <rguenther@suse.de> | 2014-09-22 12:49:16 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-09-22 12:49:16 +0000 |
commit | 931002b26597b93aff99d78043b1e838a59861ce (patch) | |
tree | acdd7e883c4ced4c323d5ab78864125f759c3e79 /gcc/tree-cfg.c | |
parent | 1a849e50d72a16045c089dae9773abb972faed12 (diff) | |
download | gcc-931002b26597b93aff99d78043b1e838a59861ce.zip gcc-931002b26597b93aff99d78043b1e838a59861ce.tar.gz gcc-931002b26597b93aff99d78043b1e838a59861ce.tar.bz2 |
gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors around.
2014-09-22 Richard Biener <rguenther@suse.de>
* gimplify.c (gimplify_init_constructor): Do not leave
non-GIMPLE vector constructors around.
* tree-cfg.c (verify_gimple_assign_single): Verify that
CONSTRUCTORs have gimple elements.
From-SVN: r215461
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index e89d76a..e88842a 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4207,8 +4207,20 @@ verify_gimple_assign_single (gimple stmt) debug_generic_stmt (rhs1); return true; } + if (!is_gimple_val (elt_v)) + { + error ("vector CONSTRUCTOR element is not a GIMPLE value"); + debug_generic_stmt (rhs1); + return true; + } } } + else if (CONSTRUCTOR_NELTS (rhs1) != 0) + { + error ("non-vector CONSTRUCTOR with elements"); + debug_generic_stmt (rhs1); + return true; + } return res; case OBJ_TYPE_REF: case ASSERT_EXPR: |