]> granicus.if.org Git - clang/commitdiff
Sema: Relax parsing of '#' in constraints
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 14 Jan 2015 05:11:09 +0000 (05:11 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 14 Jan 2015 05:11:09 +0000 (05:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225942 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/TargetInfo.cpp
test/Sema/asm.c

index 84cdaab5176fbd964fe6932cbd45f97bb5d2989a..6987cd71f3d72b166f731099e0938574059fbcb9 100644 (file)
@@ -489,8 +489,6 @@ bool TargetInfo::validateOutputConstraint(ConstraintInfo &Info) const {
     case '#': // Ignore as constraint.
       while (Name[1] && Name[1] != ',')
         Name++;
-      if (Name[1] != ',')
-        return false;
       break;
     case '?': // Disparage slightly code.
     case '!': // Disparage severely.
@@ -637,8 +635,6 @@ bool TargetInfo::validateInputConstraint(ConstraintInfo *OutputConstraints,
     case '#': // Ignore as constraint.
       while (Name[1] && Name[1] != ',')
         Name++;
-      if (Name[1] != ',')
-        return false;
       break;
     case '?': // Disparage slightly code.
     case '!': // Disparage severely.
index 41a8265600d6964472f3773fa0b4e28abcef3c63..6c6f3f398e33087f2b852623abd0a673514e3de7 100644 (file)
@@ -188,7 +188,7 @@ void fn4() {
   int l;
  __asm__(""
           : "=r"(l)
-          : "#m"(l)); // expected-error {{invalid input constraint '#m' in asm}}
+          : "m#"(l));
 }
 
 void fn5() {