From 1f7ebddd5f6f6787023a0b7b2cd3dd4e80e10447 Mon Sep 17 00:00:00 2001
From: Chandler Carruth <chandlerc@gmail.com>
Date: Mon, 2 Jul 2012 20:43:21 +0000
Subject: [PATCH] Revert r159528 which taught lit's builtin shell test runner
 about the '|&' 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 | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/utils/lit/lit/ShUtil.py b/utils/lit/lit/ShUtil.py
index 0c5bdac408a..dda622a48a8 100644
--- a/utils/lit/lit/ShUtil.py
+++ b/utils/lit/lit/ShUtil.py
@@ -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):