Revert r159528 which taught lit's builtin shell test runner about the
authorChandler Carruth <chandlerc@gmail.com>
Mon, 2 Jul 2012 20:43:21 +0000 (20:43 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Mon, 2 Jul 2012 20:43:21 +0000 (20:43 +0000)
'|&' bash syntax. We have lots of users with a bash on their system
which doesn't support this syntax, and as bash is still significantly
faster, we should support them.

The test suite has already been updated to cope with this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159580 91177308-0d34-0410-b5e6-96231b3b80d8

utils/lit/lit/ShUtil.py

index 0c5bdac408a7d689310a449d05f1c6022802c746..dda622a48a8487cbede5ad84d926210865eb0f66 100644 (file)
@@ -134,8 +134,6 @@ class ShLexer:
         if c == '|':
             if self.maybe_eat('|'):
                 return ('||',)
-            if self.maybe_eat('&'):
-                return ('|&',)
             return (c,)
         if c == '&':
             if self.maybe_eat('&'):
@@ -207,7 +205,7 @@ class ShParser:
 
             # Otherwise see if it is a terminator.
             assert isinstance(tok, tuple)
-            if tok[0] in ('|','|&',';','&','||','&&'):
+            if tok[0] in ('|',';','&','||','&&'):
                 break
             
             # Otherwise it must be a redirection.
@@ -226,18 +224,9 @@ class ShParser:
             negate = True
 
         commands = [self.parse_command()]
-        while 1:
-            tok = self.look()
-            if tok == ('|',):
-              self.lex()
-              commands.append(self.parse_command())
-              continue
-            if tok == ('|&',):
-              self.lex()
-              commands[-1].redirects.insert(0, (('>&',2),'1'))
-              commands.append(self.parse_command())
-              continue
-            break
+        while self.look() == ('|',):
+            self.lex()
+            commands.append(self.parse_command())
         return Pipeline(commands, negate)
             
     def parse(self):