summaryrefslogtreecommitdiff
path: root/gcc/lto-symtab.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-23 14:01:49 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-23 14:01:49 +0000
commita9b8ddbe56eac92f5a4620418f3070266ff08d34 (patch)
tree6385e1fabde05644320c6c7f11ab4bd95f2dc27a /gcc/lto-symtab.c
parentb580be013da277d984f69093f153eef8a659be12 (diff)
downloadgcc-a9b8ddbe56eac92f5a4620418f3070266ff08d34.tar.gz
2010-07-23 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values. (lto_symtab_merge_decls_2): Likewise. * tree-ssa.c (useless_type_conversion_p): Likewise. * lto-streamer-in.c (input_gimple_stmt): Likewise. * gimple.c (gtc_visited2, gtc_ob2): Remove. (struct type_pair_d): Make same_p an array indexed by mode. Update comment. (lookup_type_pair): Update initialization. (struct sccs): Adjust same_p type. (gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p): Adjust. (print_gimple_types_stats): Likewise. * gimple.h (enum gtc_mode): New. (gimple_types_compatible_p): Adjust prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162461 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-symtab.c')
-rw-r--r--gcc/lto-symtab.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/lto-symtab.c b/gcc/lto-symtab.c
index f7bb9b6e47a..9e782d578a2 100644
--- a/gcc/lto-symtab.c
+++ b/gcc/lto-symtab.c
@@ -349,7 +349,7 @@ lto_symtab_merge (lto_symtab_entry_t prevailing, lto_symtab_entry_t entry)
if (TREE_CODE (decl) == FUNCTION_DECL)
{
if (!gimple_types_compatible_p (TREE_TYPE (prevailing_decl),
- TREE_TYPE (decl), false))
+ TREE_TYPE (decl), GTC_DIAG))
/* If we don't have a merged type yet...sigh. The linker
wouldn't complain if the types were mismatched, so we
probably shouldn't either. Just use the type from
@@ -382,7 +382,7 @@ lto_symtab_merge (lto_symtab_entry_t prevailing, lto_symtab_entry_t entry)
fixup process didn't yet run. */
prevailing_type = gimple_register_type (prevailing_type);
type = gimple_register_type (type);
- if (!gimple_types_compatible_p (prevailing_type, type, false))
+ if (!gimple_types_compatible_p (prevailing_type, type, GTC_DIAG))
{
if (COMPLETE_TYPE_P (type))
return false;
@@ -408,7 +408,8 @@ lto_symtab_merge (lto_symtab_entry_t prevailing, lto_symtab_entry_t entry)
return false;
if (!gimple_types_compatible_p (gimple_register_type (tem1),
- gimple_register_type (tem2), false))
+ gimple_register_type (tem2),
+ GTC_DIAG))
return false;
}
@@ -603,7 +604,7 @@ lto_symtab_merge_decls_2 (void **slot)
for (i = 0; VEC_iterate (tree, mismatches, i, decl); ++i)
{
if (!gimple_types_compatible_p (TREE_TYPE (prevailing->decl),
- TREE_TYPE (decl), false))
+ TREE_TYPE (decl), GTC_DIAG))
diagnosed_p |= warning_at (DECL_SOURCE_LOCATION (decl), 0,
"type of %qD does not match original "
"declaration", decl);