diff options
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaStmt.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp index 718a7e6b538..5df1a50655c 100644 --- a/clang/lib/Sema/SemaStmt.cpp +++ b/clang/lib/Sema/SemaStmt.cpp @@ -2748,7 +2748,7 @@ StmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, bool IsSimple, } StmtResult Sema::ActOnMSAsmStmt(SourceLocation AsmLoc, - SmallVectorImpl<Token> &AsmToks, + ArrayRef<Token> AsmToks, std::string &AsmString, SourceLocation EndLoc) { // MS-style inline assembly is not fully supported, so emit a warning. diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 71af2636427..76cd51f3e8c 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -1185,7 +1185,7 @@ public: /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. StmtResult RebuildMSAsmStmt(SourceLocation AsmLoc, - SmallVectorImpl<Token> &AsmToks, + ArrayRef<Token> AsmToks, std::string &AsmString, SourceLocation EndLoc) { return getSema().ActOnMSAsmStmt(AsmLoc, AsmToks, AsmString, EndLoc); @@ -5610,9 +5610,11 @@ TreeTransform<Derived>::TransformAsmStmt(AsmStmt *S) { template<typename Derived> StmtResult TreeTransform<Derived>::TransformMSAsmStmt(MSAsmStmt *S) { + ArrayRef<Token> AsmToks = + llvm::makeArrayRef(S->getAsmToks(), S->getNumAsmToks()); // No need to transform the asm string literal. return getDerived().RebuildMSAsmStmt(S->getAsmLoc(), - S->getAsmToks(), + AsmToks, *S->getAsmString(), S->getEndLoc()); } |