summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-27 11:18:38 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-27 11:18:38 +0000
commitae2a9b00047ceffe62164b4e4f7d53f5a643afef (patch)
tree311268027d8b08e109c2a84ccb88ed8b40680011 /gcc/tree-cfg.c
parent3cac7f65c33debaa85e1da6358affae4c0989dff (diff)
downloadgcc-ae2a9b00047ceffe62164b4e4f7d53f5a643afef.tar.gz
2009-04-27 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (remove_useless_stmts): Verify stmts afterwards. (verify_stmts): Dispatch to gimple/type verification code. * tree-inline.c (remap_gimple_op_r): Work around C++ FE issue with call argument types. java/ PR java/38374 * constants.c (build_constants_constructor): Retain the old pointer type as valid TYPE_POINTER_TO after patching the type of the constant pool decl. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146831 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 329932dd314..78f82a279bc 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -2084,6 +2084,11 @@ remove_useless_stmts (void)
remove_useless_stmts_1 (&gsi, &data);
}
while (data.repeat);
+
+#ifdef ENABLE_TYPES_CHECKING
+ verify_types_in_gimple_seq (gimple_body (current_function_decl));
+#endif
+
return 0;
}
@@ -4313,6 +4318,14 @@ verify_stmts (void)
err |= true;
}
}
+
+#ifdef ENABLE_TYPES_CHECKING
+ if (verify_gimple_phi (phi))
+ {
+ debug_gimple_stmt (phi);
+ err |= true;
+ }
+#endif
}
for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); )
@@ -4349,6 +4362,14 @@ verify_stmts (void)
}
err |= verify_stmt (&gsi);
+
+#ifdef ENABLE_TYPES_CHECKING
+ if (verify_types_in_gimple_stmt (gsi_stmt (gsi)))
+ {
+ debug_gimple_stmt (stmt);
+ err |= true;
+ }
+#endif
addr = walk_gimple_op (gsi_stmt (gsi), verify_node_sharing, &wi);
if (addr)
{