aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaStmt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-26 07:16:29 +0000
committerChris Lattner <sabre@nondot.org>2009-04-26 07:16:29 +0000
commit44def070435a2b5d67f0534f7a3a85a7389d60f2 (patch)
treead98260329c0c7d84376df4dfb481471b98935de /lib/Sema/SemaStmt.cpp
parente60ee1d46aac435154682f4ebba724f24d4b0184 (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.cpp17
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)