After my recent spate of commits, Bison HEAD passes all its tests on Solaris 10 when compiled with Oracle Solaris Studio 12.3 (also known as Sun C 5.12), except for this test:

113: Output file name: `~!@#$%^&*()-=_+{}[]|\:;<>, .' FAILED (output.at:293)

tests/testsuite.dir/113/testsuite.log is attached, and indicates that it's an internal error in the C++ compiler (though not the C compiler). I don't see this error in Oracle Developer Studio 12.6 (the current release), so I doubt whether this issue is work fixing per se. That being said, a C or C++ compiler is within its rights to reject file names that are not portable POSIX file names, so perhaps the test should be altered to detect compilers that are pickier about file names.

#                             -*- compilation -*-
113. output.at:293: testing Output file name: `~!@#$%^&*()-=_+{}[]|\:;<>, .' ...
./output.at:293: touch "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.tmp" || exit 77
./output.at:293: COLUMNS=1000; export COLUMNS;  bison --color=no -fno-caret -o "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.c" --defines="\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.h" glr.y
./output.at:293: ls "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.c" "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.h"
stdout:
`~!@#$%^&*()-=_+{}[]|\:;<>, .'.c
`~!@#$%^&*()-=_+{}[]|\:;<>, .'.h
./output.at:293: $CC $CFLAGS $CPPFLAGS  -c -o glr.o -c "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.c" 
stderr:
stdout:
./output.at:293: COLUMNS=1000; export COLUMNS;  bison --color=no -fno-caret -o "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.cc" --defines="\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.hh" cxx.y
./output.at:293: ls "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.cc" "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.hh"
stdout:
`~!@#$%^&*()-=_+{}[]|\:;<>, .'.cc
`~!@#$%^&*()-=_+{}[]|\:;<>, .'.hh
./output.at:293: $CXX $CXXFLAGS $CPPFLAGS  -c -o cxx.o -c "\`~!@#\$%^&*()-=_+{}[]|\\:;<>, .'.cc" 
stderr:
"command line", line 2: Warning (Anachronism): Undefined character escape sequence "\:".
 >> Assertion:   (../lnk/utfutils.cc, line 79)
    while processing /r/share1/src/solarisstudio12.3/prod/include/CC/Cstd/algorithm.cc at line 0.
stdout:
./output.at:293: exit code was 2, expected 0
113. output.at:293: 113. Output file name: `~!@#$%^&*()-=_+{}[]|\:;<>, .' (output.at:293): FAILED (output.at:293)

Reply via email to