https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32219
--- Comment #16 from Richard Henderson <rth at gcc dot gnu.org> --- Author: rth Date: Fri Feb 13 04:52:45 2015 New Revision: 220674 URL: https://gcc.gnu.org/viewcvs?rev=220674&root=gcc&view=rev Log: 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. Added: trunk/gcc/testsuite/gcc.dg/visibility-22.c trunk/gcc/testsuite/gcc.dg/visibility-23.c trunk/gcc/testsuite/gcc.target/i386/pr32219-1.c trunk/gcc/testsuite/gcc.target/i386/pr32219-2.c trunk/gcc/testsuite/gcc.target/i386/pr32219-3.c trunk/gcc/testsuite/gcc.target/i386/pr32219-4.c trunk/gcc/testsuite/gcc.target/i386/pr32219-5.c trunk/gcc/testsuite/gcc.target/i386/pr32219-6.c trunk/gcc/testsuite/gcc.target/i386/pr32219-7.c trunk/gcc/testsuite/gcc.target/i386/pr32219-8.c Modified: trunk/gcc/ChangeLog trunk/gcc/cgraphunit.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/i386/pr64317.c trunk/gcc/varasm.c