aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/TreeTransform.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/TreeTransform.h')
-rw-r--r--lib/Sema/TreeTransform.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h
index 4e29c3ad85..90b5365f04 100644
--- a/lib/Sema/TreeTransform.h
+++ b/lib/Sema/TreeTransform.h
@@ -3352,6 +3352,8 @@ TreeTransform<Derived>::TransformAsmStmt(AsmStmt *S) {
ASTOwningVector<&ActionBase::DeleteExpr> Constraints(getSema());
ASTOwningVector<&ActionBase::DeleteExpr> Exprs(getSema());
+ llvm::SmallVector<std::string, 4> Names;
+
OwningExprResult AsmString(SemaRef);
ASTOwningVector<&ActionBase::DeleteExpr> Clobbers(getSema());
@@ -3359,6 +3361,8 @@ TreeTransform<Derived>::TransformAsmStmt(AsmStmt *S) {
// Go through the outputs.
for (unsigned I = 0, E = S->getNumOutputs(); I != E; ++I) {
+ Names.push_back(S->getOutputName(I));
+
// No need to transform the constraint literal.
Constraints.push_back(S->getOutputConstraintLiteral(I)->Retain());
@@ -3375,6 +3379,8 @@ TreeTransform<Derived>::TransformAsmStmt(AsmStmt *S) {
// Go through the inputs.
for (unsigned I = 0, E = S->getNumInputs(); I != E; ++I) {
+ Names.push_back(S->getInputName(I));
+
// No need to transform the constraint literal.
Constraints.push_back(S->getInputConstraintLiteral(I)->Retain());
@@ -3404,7 +3410,7 @@ TreeTransform<Derived>::TransformAsmStmt(AsmStmt *S) {
S->isVolatile(),
S->getNumOutputs(),
S->getNumInputs(),
- S->begin_output_names(),
+ Names.data(),
move_arg(Constraints),
move_arg(Exprs),
move(AsmString),