PR rtl/32219
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Feb 2015 04:52:45 +0000 (04:52 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 13 Feb 2015 04:52:45 +0000 (04:52 +0000)
commit78db4b4db0bfaef7a744e90741879028fc362953
tree0b7c95151ce5d3baedf0ed3fc3544b11a92ae3a7
parent57713f5cb19a0ddd1e6a130ca8d7a3c870e3e317
PR rtl/32219

gcc/
* cgraphunit.c (cgraph_node::finalize_function): Set definition
before notice_global_symbol.
(varpool_node::finalize_decl): Likewise.
* varasm.c (default_binds_local_p_2): Rename from
default_binds_local_p_1, add weak_dominate argument.  Use direct
returns instead of assigning to local variable.  Unify varpool and
cgraph paths via symtab_node.  Reject undef weak variables before
testing visibility.  Reorder tests for simplicity.
(default_binds_local_p): Use default_binds_local_p_2.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Unify varpool and cgraph paths
via symtab_node.
(default_elf_asm_output_external): Emit visibility when specified.
gcc/testsuite/
* gcc.dg/visibility-22.c: New test.
* gcc.dg/visibility-23.c: New test.
* gcc.target/i386/pr32219-1.c: New test.
* gcc.target/i386/pr32219-2.c: New test.
* gcc.target/i386/pr32219-3.c: New test.
* gcc.target/i386/pr32219-4.c: New test.
* gcc.target/i386/pr32219-5.c: New test.
* gcc.target/i386/pr32219-6.c: New test.
* gcc.target/i386/pr32219-7.c: New test.
* gcc.target/i386/pr32219-8.c: New test.
* gcc.target/i386/pr64317.c: Expect GOTOFF, not GOT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220674 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/ChangeLog
gcc/cgraphunit.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/visibility-22.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/visibility-23.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr32219-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr64317.c
gcc/varasm.c