From: Chad Rosier Date: Mon, 1 Apr 2013 17:58:03 +0000 (+0000) Subject: Cleanup. No functional change intended. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e3faa6ec8005f34b705cef363b071b933e111e1c;p=clang Cleanup. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178481 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaStmtAsm.cpp b/lib/Sema/SemaStmtAsm.cpp index 4ca8d69bf6..6b13f71c3a 100644 --- a/lib/Sema/SemaStmtAsm.cpp +++ b/lib/Sema/SemaStmtAsm.cpp @@ -515,21 +515,21 @@ NamedDecl *Sema::LookupInlineAsmIdentifier(StringRef Name, SourceLocation Loc, return 0; } - NamedDecl *ND = Result.getFoundDecl(); - if (isa(ND) || isa(ND)) { - if (VarDecl *Var = dyn_cast(ND)) { - Type = Context.getTypeInfo(Var->getType()).first; - QualType Ty = Var->getType(); - 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 /= 8; // Type is in terms of bits, but we want bytes. - Size = Length * Type; - IsVarDecl = true; + NamedDecl *FoundDecl = Result.getFoundDecl(); + if (isa(FoundDecl)) + return FoundDecl; + if (VarDecl *Var = dyn_cast(FoundDecl)) { + Type = Context.getTypeInfo(Var->getType()).first; + QualType Ty = Var->getType(); + 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. } - return ND; + Type /= 8; // Type is in terms of bits, but we want bytes. + Size = Length * Type; + IsVarDecl = true; + return FoundDecl; } // FIXME: Handle other kinds of results? (FieldDecl, etc.) @@ -549,13 +549,12 @@ bool Sema::LookupInlineAsmField(StringRef Base, StringRef Member, if (!BaseResult.isSingleResult()) return true; - NamedDecl *FoundDecl = BaseResult.getFoundDecl(); const RecordType *RT = 0; - if (VarDecl *VD = dyn_cast(FoundDecl)) { + NamedDecl *FoundDecl = BaseResult.getFoundDecl(); + if (VarDecl *VD = dyn_cast(FoundDecl)) RT = VD->getType()->getAs(); - } else if (TypedefDecl *TD = dyn_cast(FoundDecl)) { + else if (TypedefDecl *TD = dyn_cast(FoundDecl)) RT = TD->getUnderlyingType()->getAs(); - } if (!RT) return true;