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
diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp
index 1ee8188..62623f3 100644
--- a/lib/Sema/SemaStmt.cpp
+++ b/lib/Sema/SemaStmt.cpp
@@ -925,8 +925,8 @@
     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 @@
         << 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 @@
     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 @@
     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)