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
This commit is contained in:
Chandler Carruth 2012-07-02 20:43:21 +00:00
parent 20d8c1645c
commit 1f7ebddd5f

View 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):