mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
tests: more possible error compiler messages for "#error"
* tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust for Clang. Verified with GCC 4.0, 4.2 to 4.8, and Clang 2.9, 3.2: none skip.
This commit is contained in:
@@ -47,7 +47,8 @@ m4_define([AT_SYNCLINES_COMPILE],
|
||||
# =>
|
||||
# input.y:4: #error "8"
|
||||
#
|
||||
# The message may include a caret-error:
|
||||
# The message may include a caret-error (indented by GCC 4.8,
|
||||
# not by clang 3.2):
|
||||
#
|
||||
# input.y:1:2: error: #error "1"
|
||||
# #error "1"
|
||||
@@ -63,13 +64,31 @@ m4_define([AT_SYNCLINES_COMPILE],
|
||||
#
|
||||
# distcc[35882] (dcc_connect_by_name) ERROR: failed to look up host "chrisimac": Unknown host
|
||||
# distcc[35882] Warning: failed to distribute input.c to chrisimac/4, running locally instead
|
||||
|
||||
#
|
||||
# The compiler might end by the number of messages issued (Clang 3.2):
|
||||
#
|
||||
# syncline.c:1:2: error: "1"
|
||||
# #error "1"
|
||||
# ^
|
||||
# 1 error generated.
|
||||
AT_CHECK([[$PERL -p -0777 - stderr <<\EOF
|
||||
# 1. Remove useless lines.
|
||||
|
||||
# distcc clutter.
|
||||
s/^distcc\[\d+\] .*\n//gm;
|
||||
s/^([^:]+:\d+)[.:][^:]+:(.+)$/$][1:$][2/gm;
|
||||
s/^([^:]+:\d+):[^#]*( #error)/$][1:$][2/gm;
|
||||
# Function context.
|
||||
s/^[^:]*: In function '[^']+':\n//gm;
|
||||
s/^\ +#error.*\n\ *\^\n//gm;
|
||||
# Caret error.
|
||||
s/^ *#error.*\n *\^\n//gm;
|
||||
# Number of errors.
|
||||
s/^1 error generated\.\n//gm;
|
||||
|
||||
# 2. Normalize the lines we kept.
|
||||
|
||||
# Remove column.
|
||||
s/^([^:]+:\d+)[.:][^:]+:(.+)$/$][1:$][2/gm;
|
||||
# Map all combinations of "error: " and "#error: " to "#error ".
|
||||
s/^([^:]+:\d+):( |#error|error|:)+/$][1: #error /gm;
|
||||
EOF
|
||||
]],
|
||||
0, [stdout])
|
||||
|
||||
Reference in New Issue
Block a user