зеркало из https://github.com/microsoft/clang-1.git
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:
Родитель
725fe0ede4
Коммит
d94a3a06b7
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче