[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