varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.

gcc/
	* varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.

	gcc/testsuite/
	* gcc.dg/visibility-21.c: New.

From-SVN: r198965
This commit is contained in:
Nathan Sidwell 2013-05-16 10:29:42 +00:00 committed by Nathan Sidwell
parent 43bb4dd14d
commit e375378583
4 changed files with 24 additions and 3 deletions

View file

@ -1,3 +1,7 @@
2013-05-16 Nathan Sidwell <nathan@codesourcery.com>
* varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/57286

View file

@ -1,3 +1,7 @@
2013-05-16 Nathan Sidwell <nathan@codesourcery.com>
* gcc.dg/visibility-21.c: New.
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/57286

View file

@ -0,0 +1,13 @@
/* Test visibility attribute on function definition. */
/* { dg-do compile } */
/* { dg-options "-O2 -fsection-anchors" } */
/* { dg-require-visibility "" } */
/* { dg-require-weak "" } */
/* { dg-final { scan-assembler-not "ANCHOR" } } */
int __attribute__((weak, visibility("hidden"))) weak_hidden[3];
int *f_weak_hidden ()
{
return weak_hidden;
}

View file

@ -6580,9 +6580,9 @@ default_use_anchors_for_symbol_p (const_rtx symbol)
decl = SYMBOL_REF_DECL (symbol);
if (decl && DECL_P (decl))
{
/* Don't use section anchors for decls that might be defined by
other modules. */
if (!targetm.binds_local_p (decl))
/* Don't use section anchors for decls that might be defined or
usurped by other modules. */
if (TREE_PUBLIC (decl) && !decl_binds_to_current_def_p (decl))
return false;
/* Don't use section anchors for decls that will be placed in a