diff options
Diffstat (limited to 'gcc-4.6/gcc/lto-streamer-out.c')
-rw-r--r-- | gcc-4.6/gcc/lto-streamer-out.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/gcc-4.6/gcc/lto-streamer-out.c b/gcc-4.6/gcc/lto-streamer-out.c index 3b90fdd..4f5247a 100644 --- a/gcc-4.6/gcc/lto-streamer-out.c +++ b/gcc-4.6/gcc/lto-streamer-out.c @@ -2408,7 +2408,7 @@ write_symbol (struct lto_streamer_cache_d *cache, enum gcc_plugin_symbol_kind kind; enum gcc_plugin_symbol_visibility visibility; int slot_num; - uint64_t size; + unsigned HOST_WIDEST_INT size; const char *comdat; unsigned char c; @@ -2466,7 +2466,7 @@ write_symbol (struct lto_streamer_cache_d *cache, when symbol has attribute (visibility("hidden")) specified. targetm.binds_local_p check DECL_VISIBILITY_SPECIFIED and gets this right. */ - + if (DECL_EXTERNAL (t) && !targetm.binds_local_p (t)) visibility = GCCPV_DEFAULT; @@ -2488,14 +2488,9 @@ write_symbol (struct lto_streamer_cache_d *cache, } if (kind == GCCPK_COMMON - && DECL_SIZE (t) - && TREE_CODE (DECL_SIZE (t)) == INTEGER_CST) - { - size = (HOST_BITS_PER_WIDE_INT >= 64) - ? (uint64_t) int_size_in_bytes (TREE_TYPE (t)) - : (((uint64_t) TREE_INT_CST_HIGH (DECL_SIZE_UNIT (t))) << 32) - | TREE_INT_CST_LOW (DECL_SIZE_UNIT (t)); - } + && DECL_SIZE_UNIT (t) + && TREE_CODE (DECL_SIZE_UNIT (t)) == INTEGER_CST) + size = TREE_INT_CST_LOW (DECL_SIZE_UNIT (t)); else size = 0; |