[LLVMbugs] [Bug 852] llvm-gcc4 doesn't build on Linux: ICE in regex.c

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Jul 31 10:26:00 PDT 2006


http://llvm.org/bugs/show_bug.cgi?id=852

sabre at nondot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         OS/Version|Linux                       |All
           Platform|PC                          |All
         Resolution|                            |FIXED
   Target Milestone|---                         |1.9



------- Additional Comments From sabre at nondot.org  2006-07-31 12:25 -------
Fixed.  Patch here:

===============================================================
====
--- llvm-convert.cpp    (revision 116625)
+++ llvm-convert.cpp    (working copy)
@@ -1575,7 +1575,8 @@ Value *TreeToLLVM::EmitLoadOfLValue(tree
   if (isGCC_SSA_Temporary(exp)) {
     assert(DECL_LLVM_SET_P(exp) && "Definition not found before use!");
     return DECL_LLVM(exp);
-  } else if (TREE_CODE(exp) == VAR_DECL && DECL_REGISTER(exp)) {
+  } else if (TREE_CODE(exp) == VAR_DECL && DECL_REGISTER(exp) &&
+             TREE_STATIC(exp)) {
     // If this is a register variable, EmitLV can't handle it (there is no
     // l-value of a register variable).  Emit an inline asm node that copies the
     // value out of the specified register.
@@ -1951,7 +1952,8 @@ Value *TreeToLLVM::EmitMODIFY_EXPR(tree 
     SET_DECL_LLVM(TREE_OPERAND(exp, 0), RHS);
     return RHS;
   } else if (TREE_CODE(TREE_OPERAND(exp, 0)) == VAR_DECL &&
-             DECL_REGISTER(TREE_OPERAND(exp, 0))) {
+             DECL_REGISTER(TREE_OPERAND(exp, 0)) &&
+             TREE_STATIC(TREE_OPERAND(exp, 0))) {
     // If this is a store to a register variable, EmitLV can't handle the dest
     // (there is no l-value of a register variable).  Emit an inline asm node
     // that copies the value into the specified register.

-Chris



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list