move matching of named operands into AsmStmt class.  At the same
time handle + operands in operand counting, fixing asm.c:t7 to
expand into $2 instead of $1.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66531 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/asm.c b/test/CodeGen/asm.c
index e8088d4..4e6ff4d 100644
--- a/test/CodeGen/asm.c
+++ b/test/CodeGen/asm.c
@@ -1,21 +1,17 @@
-// RUN: clang -emit-llvm %s -o %t -arch=i386 
-void t1(int len)
-{
+// RUN: clang -emit-llvm %s -o %t -arch=i386 &&
+void t1(int len) {
   __asm__ volatile("" : "=&r"(len), "+&r"(len));
 }
 
-void t2(unsigned long long t) 
-{
+void t2(unsigned long long t)  {
   __asm__ volatile("" : "+m"(t));
 }
 
-void t3(unsigned char *src, unsigned long long temp)
-{
+void t3(unsigned char *src, unsigned long long temp) {
   __asm__ volatile("" : "+m"(temp), "+r"(src));
 }
 
-void t4()
-{
+void t4() {
   unsigned long long a;
   struct reg { unsigned long long a, b; } b;
 
@@ -23,13 +19,16 @@
 }
 
 // PR3417
-void t5(int i)
-{
+void t5(int i) {
   asm("nop" : "=r"(i) : "0"(t5));
 }
 
 // PR3641
-void t6(void)
-{
+void t6(void) {
   __asm__ volatile("" : : "i" (t6));
 }
+
+// RUN: grep "T7 NAMED: \$2" %t
+void t7(int a) {
+  __asm__ volatile("T7 NAMED: %[input]" : "+r"(a): [input] "i" (4));
+}
\ No newline at end of file