X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f3ead217b8636f623399e66bd937b1c51774d4af..85d57e27d26ff11a99ee6d82d3b9d34c16f6efce:/tests/named-refs.at?ds=inline diff --git a/tests/named-refs.at b/tests/named-refs.at index 75e73030..1b76c800 100644 --- a/tests/named-refs.at +++ b/tests/named-refs.at @@ -1,6 +1,6 @@ # Named references test. -*- Autotest -*- -# Copyright (C) 2009-2012 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 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 @@ -181,15 +181,16 @@ AT_DATA([input.txt], (2^2)^3 = 64 ]]) -AT_BISON_CHECK([-o test.c test.y]) -AT_COMPILE([[test]]) +AT_FULL_COMPILE([[test]]) AT_PARSER_CHECK([./test input.txt], 0, [], [stderr]) AT_BISON_OPTION_POPDEFS AT_CLEANUP -####################################################################### +## ------------------------------------ ## +## Undefined and ambiguous references. ## +## ------------------------------------ ## AT_SETUP([Undefined and ambiguous references]) @@ -250,23 +251,48 @@ exp: %% ]]) -AT_BISON_CHECK([-o test.c test.y], 1, [], -[[test.y:50.51-60: error: invalid reference: '$lo9' -test.y:50.3-68: symbol not found in production: lo9 -test.y:51.51-60: warning: misleading reference: '$exp' [-Wother] -test.y:42.1-3: refers to: $exp at $$ -test.y:51.7: possibly meant: $x, hiding $exp at $1 -test.y:51.41: possibly meant: $r, hiding $exp at $4 -test.y:52.51-52: error: $l of 'exp' has no declared type -test.y:55.40-43: error: invalid reference: '$r12' -test.y:55.3-47: symbol not found in production: r12 -test.y:56.29-33: error: invalid reference: '$expo' -test.y:56.3-46: symbol not found in production: expo +AT_BISON_CHECK([-fcaret -o test.c test.y], 1, [], +[[test.y:52.51-60: error: invalid reference: '$lo9' + | exp[x] '+' { $$ = $x; } [l] exp[r] { $$ = $lo9 + $r; } + ^^^^^^^^^^ +test.y:52.3-68: symbol not found in production: lo9 + | exp[x] '+' { $$ = $x; } [l] exp[r] { $$ = $lo9 + $r; } + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +test.y:53.51-60: warning: misleading reference: '$exp' [-Wother] + | exp[x] '-' { $$ = $x; } [l] exp[r] { $$ = $exp - $r; } + ^^^^^^^^^^ +test.y:44.1-3: refers to: $exp at $$ + exp: + ^^^ +test.y:53.7: possibly meant: $x, hiding $exp at $1 + | exp[x] '-' { $$ = $x; } [l] exp[r] { $$ = $exp - $r; } + ^ +test.y:53.41: possibly meant: $r, hiding $exp at $4 + | exp[x] '-' { $$ = $x; } [l] exp[r] { $$ = $exp - $r; } + ^ +test.y:54.51-52: error: $l of 'exp' has no declared type + | exp[x] '*' { $$ = $x; } [l] exp[r] { $$ = $l * $r; } + ^^ +test.y:57.40-43: error: invalid reference: '$r12' + | exp[l] '^' exp[r] { $$ = power ($l, $r12); } + ^^^^ +test.y:57.3-47: symbol not found in production: r12 + | exp[l] '^' exp[r] { $$ = power ($l, $r12); } + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +test.y:58.29-33: error: invalid reference: '$expo' + | '(' exp ')' { $$ = $expo; } + ^^^^^ +test.y:58.3-46: symbol not found in production: expo + | '(' exp ')' { $$ = $expo; } + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ]]) AT_BISON_OPTION_POPDEFS AT_CLEANUP -####################################################################### + +## ----------------------- ## +## Misleading references. ## +## ----------------------- ## AT_SETUP([Misleading references]) AT_DATA_GRAMMAR([test.y],