diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-23 14:01:49 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-07-23 14:01:49 +0000 |
commit | a9b8ddbe56eac92f5a4620418f3070266ff08d34 (patch) | |
tree | 6385e1fabde05644320c6c7f11ab4bd95f2dc27a /gcc/lto-symtab.c | |
parent | b580be013da277d984f69093f153eef8a659be12 (diff) | |
download | gcc-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.c | 9 |
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); |