avoid a crash when we encounter a implicit cast of the paren expr due to
promotions.  This should be fixed by not modeling asm operands (which 
require the ()'s according to the grammar) as not being paren exprs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70668 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp
index ac5cef1..02f6840 100644
--- a/lib/Sema/SemaStmt.cpp
+++ b/lib/Sema/SemaStmt.cpp
@@ -1040,7 +1040,7 @@
     
     unsigned TiedTo = Info.getTiedOperand();
     Expr *OutputExpr     = Exprs[TiedTo];
-    ParenExpr *InputExpr = cast<ParenExpr>(Exprs[i+NumOutputs]);
+    Expr *InputExpr = Exprs[i+NumOutputs];
     QualType InTy = InputExpr->getType();
     QualType OutTy = OutputExpr->getType();
     if (Context.hasSameType(InTy, OutTy))
@@ -1057,7 +1057,7 @@
         continue;
     }
     
-    Diag(InputExpr->getSubExpr()->getLocStart(),
+    Diag(InputExpr->getLocStart(),
          diag::err_asm_tying_incompatible_types)
       << InTy << OutTy << OutputExpr->getSourceRange()
       << InputExpr->getSourceRange();