(handle_class_ref): Call assemble_constant_align before output_constant.
From-SVN: r4510
This commit is contained in:
parent
d447ec6f4c
commit
4f52d29057
|
@ -1043,7 +1043,7 @@ synth_module_prologue ()
|
||||||
umsg_decl = build_decl (FUNCTION_DECL,
|
umsg_decl = build_decl (FUNCTION_DECL,
|
||||||
get_identifier (TAG_MSGSEND), temp_type);
|
get_identifier (TAG_MSGSEND), temp_type);
|
||||||
DECL_EXTERNAL (umsg_decl) = 1;
|
DECL_EXTERNAL (umsg_decl) = 1;
|
||||||
TREE_PUBLIC (umsg_decl) = 0;
|
TREE_PUBLIC (umsg_decl) = 1;
|
||||||
DECL_INLINE (umsg_decl) = 1;
|
DECL_INLINE (umsg_decl) = 1;
|
||||||
|
|
||||||
if (flag_traditional && TAG_MSGSEND[0] != '_')
|
if (flag_traditional && TAG_MSGSEND[0] != '_')
|
||||||
|
@ -7452,6 +7452,7 @@ handle_class_ref (chain)
|
||||||
{
|
{
|
||||||
tree decl;
|
tree decl;
|
||||||
char *string = (char *) alloca (strlen (name) + 30);
|
char *string = (char *) alloca (strlen (name) + 30);
|
||||||
|
tree exp;
|
||||||
|
|
||||||
sprintf (string, "%sobjc_class_name_%s",
|
sprintf (string, "%sobjc_class_name_%s",
|
||||||
(flag_next_runtime ? "." : "__"), name);
|
(flag_next_runtime ? "." : "__"), name);
|
||||||
|
@ -7467,12 +7468,16 @@ handle_class_ref (chain)
|
||||||
/* Make following constant read-only (why not)? */
|
/* Make following constant read-only (why not)? */
|
||||||
readonly_data_section ();
|
readonly_data_section ();
|
||||||
|
|
||||||
|
exp = build1 (ADDR_EXPR, string_type_node, decl);
|
||||||
|
|
||||||
|
/* Align the section properly. */
|
||||||
|
assemble_constant_align (exp);
|
||||||
|
|
||||||
/* Inform the assembler about this new external thing. */
|
/* Inform the assembler about this new external thing. */
|
||||||
assemble_external (decl);
|
assemble_external (decl);
|
||||||
|
|
||||||
/* Output a constant to reference this address. */
|
/* Output a constant to reference this address. */
|
||||||
output_constant (build1 (ADDR_EXPR, string_type_node, decl),
|
output_constant (exp, int_size_in_bytes (string_type_node));
|
||||||
int_size_in_bytes (string_type_node));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue