Eek! getDeclAlign sometimes returned alignment in bits.
 - Renamed to getDeclAlignInBytes since most other query functions
   work in bits.

 - Fun to track down as isIntegerConstantExpr was getting it right,
   but Evaluate() was getting it wrong. Maybe we should assert they
   compute the same thing when they succeed?


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64828 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index c87b086..4a3f00f 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -263,7 +263,7 @@
 /// getDeclAlign - Return a conservative estimate of the alignment of the
 /// specified decl.  Note that bitfields do not have a valid alignment, so
 /// this method will assert on them.
-unsigned ASTContext::getDeclAlign(const Decl *D) {
+unsigned ASTContext::getDeclAlignInBytes(const Decl *D) {
   // FIXME: If attribute(align) is specified on the decl, round up to it.
   
   if (const ValueDecl *VD = dyn_cast<ValueDecl>(D)) {
@@ -275,7 +275,7 @@
     while (isa<VariableArrayType>(T) || isa<IncompleteArrayType>(T))
       T = cast<ArrayType>(T)->getElementType();
     
-    return getTypeAlign(T);
+    return getTypeAlign(T) / Target.getCharWidth();
   }
   
   return 1;