re PR rtl-optimization/32219 (optimizer causes wrong code in pic/hidden/weak symbol checking.)
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. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r220674
Showing
gcc/testsuite/gcc.dg/visibility-22.c
0 → 100644
gcc/testsuite/gcc.dg/visibility-23.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-1.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-2.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-3.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-4.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-5.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-6.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-7.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr32219-8.c
0 → 100644
Please
register
or
sign in
to comment