[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bison 3.0.3 (stable)
From: |
Akim Demaille |
Subject: |
Re: Bison 3.0.3 (stable) |
Date: |
Mon, 19 Jan 2015 18:04:30 +0100 |
[Resent with a compressed log to keep the message size reasonable]
> Le 19 janv. 2015 à 09:37, Thomas Jahns <address@hidden> a écrit :
>
> Hello,
Hi Thomas,
> I've encountered some bugs when running the bison 3.0.3 tests/testsuite on
> AIX 6.1 with xlc/xlC 11.1.0.17 and building for the 64bit API.
>
> Please see the archive of log and failed directories at
>
> <https://cloud.dkrz.de/v1/dkrz_52d098b8-a94b-444e-a318-f7b072f8e0d4/bug-reports/20150116bison-3.0.3-testsuite.tar.xz?temp_url_sig=c448096487a5e4bc96631d616b0716850a86fdd8&temp_url_expires=1422021482>
>
> The link is valid till Friday. But I can provide a renewed one easily.
For sake of the mailing list archive, I attach below your
testsuite.log.
> So far I've looked into some of the bugs, and most seem unrelated to bison
> itself, but rather specific problems in the testsuite:
>
> 095: triggers some internal error in xlC, unfortunately our service contract
> expired last year. I assume the specific problem could be tested for and the
> test skipped then.
95. output.at:264: testing Output file name: address@hidden&*()-=_+{}[]|\:;<>,
.' ...
/sw/src/bison/bison-3.0.3/tests/output.at:264: touch
"address@hidden&*()-=_+{}[]|\\:;<>, .'.tmp" || exit 77
/sw/src/bison/bison-3.0.3/tests/output.at:264: bison -fno-caret -o
"address@hidden&*()-=_+{}[]|\\:;<>, .'.c"
--defines="address@hidden&*()-=_+{}[]|\\:;<>, .'.h" glr.y
/sw/src/bison/bison-3.0.3/tests/output.at:264: ls
"address@hidden&*()-=_+{}[]|\\:;<>, .'.c" "address@hidden&*()-=_+{}[]|\\:;<>,
.'.h"
stdout:
address@hidden&*()-=_+{}[]|\:;<>, .'.c
address@hidden&*()-=_+{}[]|\:;<>, .'.h
/sw/src/bison/bison-3.0.3/tests/output.at:264: $BISON_C_WORKS
stderr:
stdout:
/sw/src/bison/bison-3.0.3/tests/output.at:264: $CC $CFLAGS $CPPFLAGS -c -o
glr.o -c "address@hidden&*()-=_+{}[]|\\:;<>, .'.c"
stderr:
stdout:
/sw/src/bison/bison-3.0.3/tests/output.at:264: bison -fno-caret -o
"address@hidden&*()-=_+{}[]|\\:;<>, .'.cc"
--defines="address@hidden&*()-=_+{}[]|\\:;<>, .'.hh" cxx.y
/sw/src/bison/bison-3.0.3/tests/output.at:264: ls
"address@hidden&*()-=_+{}[]|\\:;<>, .'.cc" "address@hidden&*()-=_+{}[]|\\:;<>,
.'.hh"
stdout:
address@hidden&*()-=_+{}[]|\:;<>, .'.cc
address@hidden&*()-=_+{}[]|\:;<>, .'.hh
/sw/src/bison/bison-3.0.3/tests/output.at:264: $BISON_CXX_WORKS
stderr:
stdout:
/sw/src/bison/bison-3.0.3/tests/output.at:264: $CXX $CXXFLAGS $CPPFLAGS -c -o
cxx.o -c "address@hidden&*()-=_+{}[]|\\:;<>, .'.cc"
stderr:
1500-004: (U) INTERNAL COMPILER ERROR while compiling yy::parser::~parser().
Compilation ended. Contact your Service Representative and provide the
following information: Internal abort. For more information visit:
http://www.ibm.com/support/docview.wss?uid=swg21110810
stdout:
/sw/src/bison/bison-3.0.3/tests/output.at:264: exit code was 1, expected 0
95. output.at:264: 95. Output file name: address@hidden&*()-=_+{}[]|\:;<>, .'
(output.at:264): FAILED (output.at:264)
That's weird. I have no idea what we might be doing here
that troubles it.
> 189: the error output from xlC should probably be normalized in
> AT_SYNCLINES_COMPILE
189. synclines.at:191: testing %union name syncline ...
/sw/src/bison/bison-3.0.3/tests/synclines.at:207: bison -fno-caret -o input.c
input.y
/sw/src/bison/bison-3.0.3/tests/synclines.at:208: $CC $CFLAGS $CPPFLAGS -c
input.c
stderr:
"input.y", line 1.7: 1506-275 (S) Unexpected text 'break' encountered.
"input.y", line 1.1: 1506-885 (S) An anonymous union or struct declared at file
scope must be static.
"input.y", line 1.15: 1506-275 (S) Unexpected text 'break' encountered.
"input.y", line 7.8: 1506-166 (S) Definition of function YYSTYPE requires
parentheses.
"input.y", line 7.16: 1506-276 (S) Syntax error: possible missing '{'?
"input.c", line 310.3: 1506-045 (S) Undeclared identifier yytype_int16.
"input.c", line 311.3: 1506-045 (S) Undeclared identifier YYSTYPE.
"input.c", line 387.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 387.27: 1506-276 (S) Syntax error: possible missing '{'?
"input.c", line 415.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 455.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 458.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 463.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 466.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 469.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 472.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 475.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 483.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 488.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 495.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
/sw/src/bison/bison-3.0.3/tests/synclines.at:208: $PERL -p -0777 - stderr <<\EOF
# 1. Remove useless lines.
# distcc clutter.
s/^distcc\[\d+\] .*\n//gm;
# c vs. c++.
s/^clang: warning: treating 'c' input as 'c\+\+'.*\n//gm;
# Function context.
s/^[^:]*: In function '[^']+':\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
stdout:
"input.y", line 1.7: 1506-275 (S) Unexpected text 'break' encountered.
"input.y", line 1.1: 1506-885 (S) An anonymous union or struct declared at file
scope must be static.
"input.y", line 1.15: 1506-275 (S) Unexpected text 'break' encountered.
"input.y", line 7.8: 1506-166 (S) Definition of function YYSTYPE requires
parentheses.
"input.y", line 7.16: 1506-276 (S) Syntax error: possible missing '{'?
"input.c", line 310.3: 1506-045 (S) Undeclared identifier yytype_int16.
"input.c", line 311.3: 1506-045 (S) Undeclared identifier YYSTYPE.
"input.c", line 387.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 387.27: 1506-276 (S) Syntax error: possible missing '{'?
"input.c", line 415.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 455.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 458.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 463.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 466.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 469.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 472.1: 1506-277 (S) Syntax error: possible missing ';' or ','?
"input.c", line 475.14: 1506-166 (S) Definition of function yytype_int8
requires parentheses.
"input.c", line 483.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 488.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
"input.c", line 495.14: 1506-166 (S) Definition of function yytype_uint8
requires parentheses.
/sw/src/bison/bison-3.0.3/tests/synclines.at:209: grep '^input.y:1' stdout
stdout:
/sw/src/bison/bison-3.0.3/tests/synclines.at:209: exit code was 1, expected 0
The point of this test is to check that the location of an
invalid identifier is properly reported. The input file is:
%union break
{
char dummy;
}
%{
void yyerror (const char *msg);
int yylex (void);
%}
%%
exp: '0';
%%
So it's on purpose that we have this 'break' there. However, it seems
that your compiler's error recovery is not sufficient, hence (I guess)
all the other messages.
I'll try to find a means to avoid that.
> 241, 440-443, 463, 464 these can possibly be cured by choosing another
> language level with compiler option -qlanglvl=, but there's so many to choose
> from. Is the version of C++ bison would like documented somewhere?
I don't know :) There weren't that many C++s before. It aims at C++98/C++03.
> 426 427 428 429 430 431 432: looks like repetitions of basically the
> same bug.
Well, this is surprising:
426. c++.at:371: testing Variants lalr1.cc ...
/sw/src/bison/bison-3.0.3/tests/c++.at:371: bison -fno-caret -o list.cc list.y
/sw/src/bison/bison-3.0.3/tests/c++.at:371: $BISON_CXX_WORKS
stderr:
stdout:
/sw/src/bison/bison-3.0.3/tests/c++.at:371: $CXX $CXXFLAGS $CPPFLAGS $LDFLAGS
-o list list.cc $LIBS
stderr:
stdout:
/sw/src/bison/bison-3.0.3/tests/c++.at:371: $PREPARSER ./list
stderr:
Destroy: ""
Destroy: "0"
Destroy: (0)
Destroy: (0)
Destroy: 1
Destroy: "1"
Destroy: ()
Destroy: ""
Destroy: "2"
Destroy: ()
Destroy: ""
Destroy: 3
Destroy: ()
Destroy: ""
Destroy: "4"
Destroy: ()
Destroy: ()
Destroy: 5
Destroy: ()
Destroy: ""
Destroy: "6"
Destroy: ()
Destroy: (0, 1, 2, 4, 6)
/sw/src/bison/bison-3.0.3/tests/c++.at:371: sed >&2 -e '/^profiling:.*:Merge
mismatch for summaries/d' stderr
--- - 2015-01-15 12:17:22.000000000 +0100
+++
/sw/src/bison/bison-3.0.3-build-64bit/tests/testsuite.dir/at-groups/426/stderr
2015-01-15 12:17:22.000000000 +0100
@@ -1,6 +1,7 @@
Destroy: ""
Destroy: "0"
Destroy: (0)
+Destroy: (0)
Destroy: 1
Destroy: "1"
Destroy: ()
426. c++.at:371: 426. Variants lalr1.cc (c++.at:371): FAILED (c++.at:371)
For some reason, we have one more call to the destructor than expected. Which
certainly means that one value was duplicated at some point, unexpectedly.
Maybe your compiler does not perform some common optimizations, such as
RVO and NRVO, possibly precisely because the destructor is nontrivial?
Could you try to see where this destructor call is coming from?
Also, running these test with valgrind, if applicable, might help us knowing
whether this call to the destructor is ok or not (i.e., if there is indeed
more copies than usual, or a double free somewhere).
Try make maintainer-check-valgrind.
Thanks!
testsuite.txt.bz2
Description: BZip2 compressed data
- Re: Bison 3.0.3 (stable), (continued)
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/19
- Re: Bison 3.0.3 (stable), Thomas Jahns, 2015/01/20
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/20
- Message not available
- Message not available
- Message not available
- Message not available
- Re: Bison 3.0.3 (stable), Thomas Jahns, 2015/01/21
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/21
- Re: Bison 3.0.3 (stable), Thomas Jahns, 2015/01/22
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/22
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/19
- Re: Bison 3.0.3 (stable), Thomas Jahns, 2015/01/20
- Re: Bison 3.0.3 (stable), Akim Demaille, 2015/01/20
Re: Bison 3.0.3 (stable),
Akim Demaille <=