summaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 19:57:55 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 19:57:55 +0000
commit42e07529247dbd05d4dfd64340cda771b66a0f59 (patch)
tree262c3cfc442253a7dd1a33f90c4f37cc51a23e39 /gcc/except.c
parentcfdc832f0d9472709f297ae5cbd37cfa34c2030f (diff)
downloadgcc-42e07529247dbd05d4dfd64340cda771b66a0f59.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106445 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/except.c')
-rw-r--r--gcc/except.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 7f317625924..34dddfeacbf 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