summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmtAsm.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2014-05-06 03:13:27 +0000
committerNico Weber <nicolasweber@gmx.de>2014-05-06 03:13:27 +0000
commit9ef9ca470fbfbef88aadd2213e3d39574cdbba72 (patch)
treece030c90044f33bb7c2afc24e7fa4d8a57a6c32e /clang/lib/Sema/SemaStmtAsm.cpp
parentbdc4f12f1996a3070da0a24b469da9bf93f544dd (diff)
downloadbcm5719-llvm-9ef9ca470fbfbef88aadd2213e3d39574cdbba72.tar.gz
bcm5719-llvm-9ef9ca470fbfbef88aadd2213e3d39574cdbba72.zip
Support field references to struct names and c++11 aliases from inline asm.
This is in addition to the existing support for typedefs. llvm-svn: 208053
Diffstat (limited to 'clang/lib/Sema/SemaStmtAsm.cpp')
-rw-r--r--clang/lib/Sema/SemaStmtAsm.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaStmtAsm.cpp b/clang/lib/Sema/SemaStmtAsm.cpp
index 1cbc901da67..e733fd0c334 100644
--- a/clang/lib/Sema/SemaStmtAsm.cpp
+++ b/clang/lib/Sema/SemaStmtAsm.cpp
@@ -441,8 +441,10 @@ bool Sema::LookupInlineAsmField(StringRef Base, StringRef Member,
NamedDecl *FoundDecl = BaseResult.getFoundDecl();
if (VarDecl *VD = dyn_cast<VarDecl>(FoundDecl))
RT = VD->getType()->getAs<RecordType>();
- else if (TypedefDecl *TD = dyn_cast<TypedefDecl>(FoundDecl))
+ else if (TypedefNameDecl *TD = dyn_cast<TypedefNameDecl>(FoundDecl))
RT = TD->getUnderlyingType()->getAs<RecordType>();
+ else if (TypeDecl *TD = dyn_cast<TypeDecl>(FoundDecl))
+ RT = TD->getTypeForDecl()->getAs<RecordType>();
if (!RT)
return true;
OpenPOWER on IntegriCloud