[llvm-commits] [dragonegg] r132838 - /dragonegg/trunk/src/Convert.cpp
Duncan Sands
baldrick at free.fr
Fri Jun 10 01:13:09 PDT 2011
Author: baldrick
Date: Fri Jun 10 03:13:09 2011
New Revision: 132838
URL: http://llvm.org/viewvc/llvm-project?rev=132838&view=rev
Log:
In gcc-4.5 the base pointer can have type sizetype.
Modified:
dragonegg/trunk/src/Convert.cpp
Modified: dragonegg/trunk/src/Convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/Convert.cpp?rev=132838&r1=132837&r2=132838&view=diff
==============================================================================
--- dragonegg/trunk/src/Convert.cpp (original)
+++ dragonegg/trunk/src/Convert.cpp Fri Jun 10 03:13:09 2011
@@ -5985,7 +5985,12 @@
Delta = EmitRegister(addr.base);
} else {
assert(addr.base && "TARGET_MEM_REF has neither base nor symbol!");
- Ref = LValue(EmitRegister(addr.base), 1);
+ Value *Base = EmitRegister(addr.base);
+ // The type of BASE is sizetype or a pointer type. Convert sizetype to i8*.
+ // TODO: In mainline BASE always has pointer type.
+ if (!isa<PointerType>(Base->getType()))
+ Base = Builder.CreateIntToPtr(Base, GetUnitPointerType(Context));
+ Ref = LValue(Base, 1);
}
if (addr.index) {
More information about the llvm-commits
mailing list