Use the ASYContext::getTypeSizeInChars API to cleanup some ugliness, per John

and Jordan's suggestion.  No functional change intendend.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178507 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chad Rosier 2013-04-01 22:02:05 +00:00
Родитель 725fe0ede4
Коммит d94a3a06b7
1 изменённых файлов: 3 добавлений и 5 удалений

Просмотреть файл

@ -519,15 +519,13 @@ NamedDecl *Sema::LookupInlineAsmIdentifier(StringRef Name, SourceLocation Loc,
if (isa<FunctionDecl>(FoundDecl))
return FoundDecl;
if (VarDecl *Var = dyn_cast<VarDecl>(FoundDecl)) {
Type = Context.getTypeInfo(Var->getType()).first;
QualType Ty = Var->getType();
Type = Size = Context.getTypeSizeInChars(Ty).getQuantity();
if (Ty->isArrayType()) {
const ArrayType *ATy = Context.getAsArrayType(Ty);
Length = Type / Context.getTypeInfo(ATy->getElementType()).first;
Type /= Length; // Type is in terms of a single element.
Type = Context.getTypeSizeInChars(ATy->getElementType()).getQuantity();
Length = Size / Type;
}
Type /= 8; // Type is in terms of bits, but we want bytes.
Size = Length * Type;
IsVarDecl = true;
return FoundDecl;
}