[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