Some versions of awk (e.g., HP-UX 11) struggle with long lines, which is
a problem for the script which checks the excessive function parameter
output.
To fix this, let's try using tr, which should hopefully not care too
much about line length, to produce short lines that can be checked.
BEGIN { FS = "@"; runstart = 0; }
END { finish_run(NR); }
BEGIN { FS = "@"; runstart = 0; }
END { finish_run(NR); }
-gsub(/,[^,)]*/, "~") {
- while (match($0, /~+/) > 0) {
- l = substr($0, 1, RSTART-1);
- r = substr($0, RSTART+RLENGTH);
- $0 = l ", [plus " RLENGTH " more parameters]" r;
- }
-}
-
$0 != lastline {
finish_run(NR-1);
lastline = $0;
$0 != lastline {
finish_run(NR-1);
lastline = $0;
AT_CHECK([gunzip -c "$srcdir/tests/data/manydecl.gz" >test.dat || exit 77
cdecl99 -f test.dat >test.out; status=$?;
AT_CHECK([gunzip -c "$srcdir/tests/data/manydecl.gz" >test.dat || exit 77
cdecl99 -f test.dat >test.out; status=$?;
-$AWK -f check.awk test.out
+tr <test.out ',' '
+' | $AWK -f check.awk
exit $status], [0],
[[declare a as int
[repeated 16383 more times]
exit $status], [0],
[[declare a as int
[repeated 16383 more times]
-type function (a, [plus 16383 more parameters]) returning int
-int (a, [plus 16383 more parameters])
+type function (a
+ a
+[repeated 16381 more times]
+ a) returning int
+int (a
+ a
+[repeated 16381 more times]
+ a)