diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2005-11-03 19:57:55 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2005-11-03 19:57:55 +0000 |
commit | b03e9863c9802d3c143c07613be95b0a91518e18 (patch) | |
tree | 262c3cfc442253a7dd1a33f90c4f37cc51a23e39 /gcc/except.c | |
parent | a39041fae9f62c038e457f754c7578fb7e772dbb (diff) | |
download | gcc-b03e9863c9802d3c143c07613be95b0a91518e18.zip gcc-b03e9863c9802d3c143c07613be95b0a91518e18.tar.gz gcc-b03e9863c9802d3c143c07613be95b0a91518e18.tar.bz2 |
dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
reference only if 'public' is true.
(dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
emit the .hidden directive only if the indirect reference is public.
(dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
Pass it to dw2_force_const_mem.
* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
* dwarf2out.c (output_cfi): Adjust calls to above function.
(output_call_frame_info): Likewise.
* except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
as 'public' argument to dw2_asm_output_encoded_addr_rtx.
From-SVN: r106445
Diffstat (limited to 'gcc/except.c')
-rw-r--r-- | gcc/except.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c index 7f31762..34dddfe 100644 --- a/gcc/except.c +++ b/gcc/except.c @@ -3463,6 +3463,7 @@ static void output_ttype (tree type, int tt_format, int tt_format_size) { rtx value; + bool public = true; if (type == NULL_TREE) value = const0_rtx; @@ -3485,6 +3486,7 @@ output_ttype (tree type, int tt_format, int tt_format_size) node = cgraph_varpool_node (type); if (node) cgraph_varpool_mark_needed_node (node); + public = TREE_PUBLIC (type); } } else if (TREE_CODE (type) != INTEGER_CST) @@ -3499,7 +3501,7 @@ output_ttype (tree type, int tt_format, int tt_format_size) assemble_integer (value, tt_format_size, tt_format_size * BITS_PER_UNIT, 1); else - dw2_asm_output_encoded_addr_rtx (tt_format, value, NULL); + dw2_asm_output_encoded_addr_rtx (tt_format, value, public, NULL); } void |