Summary: | [4.4 Regression] undefined reference to a variable | ||
---|---|---|---|
Product: | gcc | Reporter: | Andrew Pinski <pinskia> |
Component: | tree-optimization | Assignee: | Andrew Pinski <pinskia> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | gcc-bugs, segher |
Priority: | P3 | Keywords: | link-failure, patch |
Version: | 4.4.0 | ||
Target Milestone: | 4.4.0 | ||
URL: | http://gcc.gnu.org/ml/gcc-patches/2008-07/msg01507.html | ||
See Also: | https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36882 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2008-07-19 21:54:30 |
Description
Andrew Pinski
2008-07-19 21:53:15 UTC
I have a patch which I am testing right now: Index: gcc/gcc/tree-switch-conversion.c =================================================================== --- gcc/gcc/tree-switch-conversion.c (revision 137991) +++ gcc/gcc/tree-switch-conversion.c (working copy) @@ -474,7 +474,8 @@ build_one_array (tree swtch, int num, tr DECL_ARTIFICIAL (decl) = 1; TREE_CONSTANT (decl) = 1; add_referenced_var (decl); - assemble_variable (decl, 0, 0, 0); + varpool_mark_needed_node (varpool_node (decl)); + varpool_finalize_decl (decl); mark_sym_for_renaming (decl); name = make_ssa_name (SSA_NAME_VAR (PHI_RESULT (phi)), NULL_TREE); ---- CUT ---- There is still a missed optimization but I will test/submit that patch separately. Fixed. Subject: Bug 36879 Author: pinskia Date: Sun Jul 20 17:51:48 2008 New Revision: 138012 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138012 Log: 2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/36879 * tree-switch-conversion.c (build_one_array): Call varpool_mark_needed_node and varpool_finalize_decl instead of assemble_variable. 2008-07-20 Andrew Pinski <andrew_pinski@playstation.sony.com> PR tree-opt/36879 * gcc.c-torture/execute/20080719-1.c: New testcase. Added: trunk/gcc/testsuite/gcc.c-torture/execute/20080719-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-switch-conversion.c |