X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/cc8962bdde81b04aa728aef21e53b4a08a0debfe..ee028dceff390a23da391900b5b7fe651cfe320c:/tests/conflicts.at diff --git a/tests/conflicts.at b/tests/conflicts.at index 2d67a358..819b992d 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -1,6 +1,6 @@ # Exercising Bison on conflicts. -*- Autotest -*- -# Copyright (C) 2002-2005, 2007-2013 Free Software Foundation, Inc. +# Copyright (C) 2002-2005, 2007-2015 Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -180,7 +180,8 @@ AT_CLEANUP AT_SETUP([Useless associativity warning]) AT_DATA([[input.y]], -[[%nonassoc "=" +[[%token EQ "=" PL "+" ST "*" LP "(" +%nonassoc "=" %left "+" %left "*" %precedence "(" @@ -199,9 +200,9 @@ exp: ]]) AT_BISON_CHECK([-Wprecedence input.y], 0, [], -[[input.y:1.11-13: warning: useless precedence and associativity for "=" [-Wprecedence] -input.y:3.7-9: warning: useless associativity for "*", use %precedence [-Wprecedence] -input.y:4.13-15: warning: useless precedence for "(" [-Wprecedence] +[[input.y:2.1-9: warning: useless precedence and associativity for "=" [-Wprecedence] +input.y:4.1-5: warning: useless associativity for "*", use %precedence [-Wprecedence] +input.y:5.1-11: warning: useless precedence for "(" [-Wprecedence] ]]) AT_CLEANUP @@ -214,7 +215,7 @@ AT_CLEANUP AT_SETUP([Useless precedence warning]) AT_DATA([[input.y]], -[[%token A B +[[%token A B U V W X Y Z %precedence Z %left X %precedence Y @@ -242,18 +243,18 @@ f: B ]]) AT_BISON_CHECK([-Wprecedence -fcaret -o input.c input.y], 0, [], -[[input.y:2.13: warning: useless precedence for Z [-Wprecedence] - %precedence Z - ^ -input.y:5.7: warning: useless precedence and associativity for W [-Wprecedence] - %left W - ^ -input.y:6.8: warning: useless precedence and associativity for V [-Wprecedence] - %right V - ^ -input.y:7.11: warning: useless precedence and associativity for U [-Wprecedence] +[[input.y:7.1-9: warning: useless precedence and associativity for U [-Wprecedence] %nonassoc U - ^ + ^^^^^^^^^ +input.y:6.1-6: warning: useless precedence and associativity for V [-Wprecedence] + %right V + ^^^^^^ +input.y:5.1-5: warning: useless precedence and associativity for W [-Wprecedence] + %left W + ^^^^^ +input.y:2.1-11: warning: useless precedence for Z [-Wprecedence] + %precedence Z + ^^^^^^^^^^^ ]]) AT_CLEANUP @@ -1265,8 +1266,8 @@ e: e '+' e AT_BISON_CHECK([-Wall -o input.c input.y], 0, [], [[input.y: warning: 4 shift/reduce conflicts [-Wconflicts-sr] -input.y:1.7-9: warning: useless precedence and associativity for '+' [-Wprecedence] -input.y:2.7-9: warning: useless precedence and associativity for '*' [-Wprecedence] +input.y:1.1-5: warning: useless precedence and associativity for '+' [-Wprecedence] +input.y:2.1-5: warning: useless precedence and associativity for '*' [-Wprecedence] ]]) AT_CLEANUP @@ -1446,7 +1447,7 @@ State 0 0 $accept: . start $end 1 start: . resolved_conflict 'a' reported_conflicts 'a' 2 resolved_conflict: . 'a' unreachable1 - 3 | . ['a'] + 3 | . %empty ['a'] $default reduce using rule 3 (resolved_conflict) @@ -1482,7 +1483,7 @@ State 4 1 start: resolved_conflict 'a' . reported_conflicts 'a' 8 reported_conflicts: . 'a' 9 | . 'a' - 10 | . ['a'] + 10 | . %empty ['a'] 'a' shift, and go to state 5 @@ -1575,11 +1576,11 @@ AT_CHECK([[cat input.output | sed -n '/^State 0$/,/^State 1$/p']], 0, 6 | . empty_c1 'c' 7 | . empty_c2 'c' 8 | . empty_c3 'c' - 9 empty_a: . ['a'] - 10 empty_b: . [] - 11 empty_c1: . [] - 12 empty_c2: . [] - 13 empty_c3: . ['c'] + 9 empty_a: . %empty ['a'] + 10 empty_b: . %empty [] + 11 empty_c1: . %empty [] + 12 empty_c2: . %empty [] + 13 empty_c3: . %empty ['c'] 'b' shift, and go to state 1 @@ -1651,11 +1652,11 @@ AT_CHECK([[cat input.output | sed -n '/^State 0$/,/^State 1$/p']], 0, 6 | . empty_c1 'c' 7 | . empty_c2 'c' 8 | . empty_c3 'c' - 9 empty_a: . [] - 10 empty_b: . [] - 11 empty_c1: . [] - 12 empty_c2: . ['c'] - 13 empty_c3: . ['c'] + 9 empty_a: . %empty [] + 10 empty_b: . %empty [] + 11 empty_c1: . %empty [] + 12 empty_c2: . %empty ['c'] + 13 empty_c3: . %empty ['c'] 'a' error (nonassociative) 'b' error (nonassociative)