diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-26 07:16:29 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-26 07:16:29 +0000 |
commit | 44def070435a2b5d67f0534f7a3a85a7389d60f2 (patch) | |
tree | ad98260329c0c7d84376df4dfb481471b98935de /lib/Sema/SemaStmt.cpp | |
parent | e60ee1d46aac435154682f4ebba724f24d4b0184 (diff) |
change TargetInfo::ConstraintInfo to be a struct that contains
the enum along with some other data.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70114 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaStmt.cpp')
-rw-r--r-- | lib/Sema/SemaStmt.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index 1ee8188ec2..62623f37e3 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/lib/Sema/SemaStmt.cpp @@ -925,8 +925,8 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, std::string OutputConstraint(Literal->getStrData(), Literal->getByteLength()); - TargetInfo::ConstraintInfo info; - if (!Context.Target.validateOutputConstraint(OutputConstraint.c_str(),info)) + TargetInfo::ConstraintInfo Info; + if (!Context.Target.validateOutputConstraint(OutputConstraint.c_str(),Info)) return StmtError(Diag(Literal->getLocStart(), diag::err_asm_invalid_output_constraint) << OutputConstraint); @@ -938,7 +938,7 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, << OutputExpr->getSubExpr()->getSourceRange()); } - OutputConstraintInfos.push_back(info); + OutputConstraintInfos.push_back(Info); } for (unsigned i = NumOutputs, e = NumOutputs + NumInputs; i != e; i++) { @@ -950,12 +950,12 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, std::string InputConstraint(Literal->getStrData(), Literal->getByteLength()); - TargetInfo::ConstraintInfo info; + TargetInfo::ConstraintInfo Info; if (!Context.Target.validateInputConstraint(InputConstraint.c_str(), &Names[0], &Names[0] + NumOutputs, &OutputConstraintInfos[0], - info)) { + Info)) { return StmtError(Diag(Literal->getLocStart(), diag::err_asm_invalid_input_constraint) << InputConstraint); } @@ -963,15 +963,14 @@ Sema::OwningStmtResult Sema::ActOnAsmStmt(SourceLocation AsmLoc, ParenExpr *InputExpr = cast<ParenExpr>(Exprs[i]); // Only allow void types for memory constraints. - if ((info & TargetInfo::CI_AllowsMemory) - && !(info & TargetInfo::CI_AllowsRegister)) { + if (Info.allowsMemory() && !Info.allowsRegister()) { if (CheckAsmLValue(InputExpr, *this)) return StmtError(Diag(InputExpr->getSubExpr()->getLocStart(), diag::err_asm_invalid_lvalue_in_input) - << InputConstraint << InputExpr->getSubExpr()->getSourceRange()); + << InputConstraint << InputExpr->getSubExpr()->getSourceRange()); } - if (info & TargetInfo::CI_AllowsRegister) { + if (Info.allowsRegister()) { if (InputExpr->getType()->isVoidType()) { return StmtError(Diag(InputExpr->getSubExpr()->getLocStart(), diag::err_asm_invalid_type_in_input) |