[cfe-commits] r65260 - in /cfe/trunk: lib/AST/ExprConstant.cpp test/Sema/align-x86.c test/Sema/attr-aligned.c
Eli Friedman
eli.friedman at gmail.com
Sat Feb 21 19:31:23 PST 2009
Author: efriedma
Date: Sat Feb 21 21:31:23 2009
New Revision: 65260
URL: http://llvm.org/viewvc/llvm-project?rev=65260&view=rev
Log:
Fix for PR3433: map __alignof__ to preferred alignment. (This was
partially done in r65258.)
Added:
cfe/trunk/test/Sema/align-x86.c
Modified:
cfe/trunk/lib/AST/ExprConstant.cpp
cfe/trunk/test/Sema/attr-aligned.c
Modified: cfe/trunk/lib/AST/ExprConstant.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=65260&r1=65259&r2=65260&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ExprConstant.cpp (original)
+++ cfe/trunk/lib/AST/ExprConstant.cpp Sat Feb 21 21:31:23 2009
@@ -960,7 +960,7 @@
// Get information about the alignment.
unsigned CharSize = Info.Ctx.Target.getCharWidth();
- return Info.Ctx.getTypeAlign(Ty) / CharSize;
+ return Info.Ctx.getPreferredTypeAlign(Ty) / CharSize;
}
unsigned IntExprEvaluator::GetAlignOfExpr(const Expr *E) {
Added: cfe/trunk/test/Sema/align-x86.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/align-x86.c?rev=65260&view=auto
==============================================================================
--- cfe/trunk/test/Sema/align-x86.c (added)
+++ cfe/trunk/test/Sema/align-x86.c Sat Feb 21 21:31:23 2009
@@ -0,0 +1,6 @@
+// RUN: clang -triple i386-apple-darwin9 -fsyntax-only -verify %s
+
+// PR3433
+double g1;
+short chk1[__alignof__(g1) == 8 ? 1 : -1];
+short chk2[__alignof__(double) == 8 ? 1 : -1];
Modified: cfe/trunk/test/Sema/attr-aligned.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/attr-aligned.c?rev=65260&r1=65259&r2=65260&view=diff
==============================================================================
--- cfe/trunk/test/Sema/attr-aligned.c (original)
+++ cfe/trunk/test/Sema/attr-aligned.c Sat Feb 21 21:31:23 2009
@@ -5,8 +5,3 @@
// PR3254
short g0[3] __attribute__((aligned));
short g0_chk[__alignof__(g0) == 16 ? 1 : -1];
-
-// PR3433
-double g1;
-short chk1[__alignof__(g1) == 8 ? 1 : -1];
-
More information about the cfe-commits
mailing list