Return an empty IntegerSet if the '(' is not parsed.

PiperOrigin-RevId: 229198934
This commit is contained in:
River Riddle
2019-01-14 09:45:09 -08:00
committed by jpienaar
parent 791049fb34
commit a674ae8bbd
2 changed files with 7 additions and 2 deletions

View File

@@ -3157,9 +3157,10 @@ AffineExpr AffineParser::parseAffineConstraint(bool *isEq) {
///
IntegerSet AffineParser::parseIntegerSetConstraints(unsigned numDims,
unsigned numSymbols) {
if (parseToken(Token::l_paren,
"expected '(' at start of integer set constraint list"))
return IntegerSet();
parseToken(Token::l_paren,
"expected '(' at start of integer set constraint list");
SmallVector<AffineExpr, 4> constraints;
SmallVector<bool, 4> isEqs;
auto parseElt = [&]() -> ParseResult {

View File

@@ -637,6 +637,10 @@ func @invalid_bound_map(%N : i32) {
return
}
// -----
#set0 = (i)[N, M] : )i >= 0) // expected-error {{expected '(' at start of integer set constraint list}}
// -----
#set0 = (i)[N] : (i >= 0, N - i >= 0)