diff options
author | Richard Guenther <rguenther@suse.de> | 2010-07-23 14:01:49 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-07-23 14:01:49 +0000 |
commit | c4fcd06a10ddacc81f535b165034dbaa93b6005c (patch) | |
tree | 6385e1fabde05644320c6c7f11ab4bd95f2dc27a /gcc/lto-symtab.c | |
parent | 6afb52d3e2c1ea3376e3037d1c6e6a69ff7ac6fd (diff) | |
download | gcc-c4fcd06a10ddacc81f535b165034dbaa93b6005c.zip gcc-c4fcd06a10ddacc81f535b165034dbaa93b6005c.tar.gz gcc-c4fcd06a10ddacc81f535b165034dbaa93b6005c.tar.bz2 |
lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
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.
From-SVN: r162461
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 f7bb9b6..9e782d5 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); |