[cfe-commits] r61305 - /cfe/trunk/lib/CodeGen/CGExprScalar.cpp
Anders Carlsson
andersca at mac.com
Sat Dec 20 19:48:06 PST 2008
Author: andersca
Date: Sat Dec 20 21:48:05 2008
New Revision: 61305
URL: http://llvm.org/viewvc/llvm-project?rev=61305&view=rev
Log:
Implement alignof for vla types.
Modified:
cfe/trunk/lib/CodeGen/CGExprScalar.cpp
Modified: cfe/trunk/lib/CodeGen/CGExprScalar.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExprScalar.cpp?rev=61305&r1=61304&r2=61305&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExprScalar.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExprScalar.cpp Sat Dec 20 21:48:05 2008
@@ -670,8 +670,13 @@
}
return CGF.GetVLASize(VAT);
}
- // FIXME: This should be an UNSUPPORTED error.
- assert(0 && "alignof VLAs not implemented yet");
+
+ // alignof
+ QualType BaseType = CGF.getContext().getBaseElementType(VAT);
+ uint64_t Align = CGF.getContext().getTypeAlign(BaseType);
+
+ Align /= 8; // Return alignment in bytes, not bits.
+ return llvm::ConstantInt::get(llvm::APInt(ResultWidth, Align));
}
std::pair<uint64_t, unsigned> Info = CGF.getContext().getTypeInfo(TypeToSize);
More information about the cfe-commits
mailing list