Commit 85fac79c by Uros Bizjak

elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available.

	* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
	type if available.

From-SVN: r158834
parent 902a51a1
2010-04-28 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
type if available.
2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/22224 PR target/22224
...@@ -144,8 +149,7 @@ ...@@ -144,8 +149,7 @@
* config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
(SUB_LINK_ENTRY32): New. (SUB_LINK_ENTRY32): New.
(SUB_LINK_ENTRY64): New. (SUB_LINK_ENTRY64): New.
(LINK_SPEC): Replace entry point spec by (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
SUB_LINK_ENTRY.
* config/i386/mingw32 (SUB_LINK_ENTRY32): New. * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
(SUB_LINK_ENTRY64): New. (SUB_LINK_ENTRY64): New.
(SUB_LINK_ENTRY): New. (SUB_LINK_ENTRY): New.
...@@ -225,7 +229,7 @@ ...@@ -225,7 +229,7 @@
(estimate_num_insns): Special case more builtins. (estimate_num_insns): Special case more builtins.
2010-04-27 Shujing Zhao <pearly.zhao@oracle.com> 2010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
PR c/32207 PR c/32207
* c-typeck.c (build_binary_op): Move forward check for comparison * c-typeck.c (build_binary_op): Move forward check for comparison
pointer with null pointer constant and adjust the diagnostic message. pointer with null pointer constant and adjust the diagnostic message.
...@@ -375,25 +379,22 @@ ...@@ -375,25 +379,22 @@
2010-04-26 Ira Rosen <irar@il.ibm.com> 2010-04-26 Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.h (struct _stmt_vec_info): Add new field to * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
determine if the statement is vectorizable, and a macro to determine if the statement is vectorizable, and a macro to access it.
access it. * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Skip statements that can't be vectorized. If the analysis fails,
Skip statements that can't be vectorized. If the analysis mark the statement as unvectorizable if vectorizing basic block.
fails, mark the statement as unvectorizable if vectorizing
basic block.
(vect_compute_data_refs_alignment): Likewise. (vect_compute_data_refs_alignment): Likewise.
(vect_verify_datarefs_alignment): Skip statements marked as (vect_verify_datarefs_alignment): Skip statements marked as
unvectorizable. Add print. unvectorizable. Add print.
(vect_analyze_group_access): Skip statements that can't be (vect_analyze_group_access): Skip statements that can't be
vectorized. If the analysis fails, mark the statement as vectorized. If the analysis fails, mark the statement as
unvectorizable if vectorizing basic block. unvectorizable if vectorizing basic block.
(vect_analyze_data_ref_accesses, vect_analyze_data_refs): (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
Likewise. * tree-vect-stmts.c (vectorizable_store): Fix the number of
* tree-vect-stmts.c (vectorizable_store): Fix the number of
generated stmts for SLP. generated stmts for SLP.
(new_stmt_vec_info): Initialize the new field. (new_stmt_vec_info): Initialize the new field.
* tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
statements marked as unvectorizable. statements marked as unvectorizable.
2010-04-25 Joseph Myers <joseph@codesourcery.com> 2010-04-25 Joseph Myers <joseph@codesourcery.com>
......
...@@ -272,20 +272,36 @@ do { \ ...@@ -272,20 +272,36 @@ do { \
/* Write the extra assembler code needed to declare an object properly. */ /* Write the extra assembler code needed to declare an object properly. */
#ifdef HAVE_GAS_GNU_UNIQUE_OBJECT
#define USE_GNU_UNIQUE_OBJECT 1
#else
#define USE_GNU_UNIQUE_OBJECT 0
#endif
#undef ASM_DECLARE_OBJECT_NAME #undef ASM_DECLARE_OBJECT_NAME
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \ #define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
do { \ do { \
HOST_WIDE_INT size; \ HOST_WIDE_INT size; \
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \ \
size_directive_output = 0; \ /* For template static data member instantiations or \
if (!flag_inhibit_size_directive \ inline fn local statics, use gnu_unique_object so that \
&& DECL_SIZE (DECL) \ they will be combined even under RTLD_LOCAL. */ \
&& (size = int_size_in_bytes (TREE_TYPE (DECL))) > 0) \ if (USE_GNU_UNIQUE_OBJECT \
{ \ && !DECL_ARTIFICIAL (DECL) && DECL_ONE_ONLY (DECL)) \
size_directive_output = 1; \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "gnu_unique_object"); \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \ else \
} \ ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
ASM_OUTPUT_LABEL(FILE, NAME); \ \
size_directive_output = 0; \
if (!flag_inhibit_size_directive \
&& (DECL) && DECL_SIZE (DECL)) \
{ \
size_directive_output = 1; \
size = int_size_in_bytes (TREE_TYPE (DECL)); \
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
} \
\
ASM_OUTPUT_LABEL (FILE, NAME); \
} while (0) } while (0)
/* Output the size directive for a decl in rest_of_decl_compilation /* Output the size directive for a decl in rest_of_decl_compilation
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment