As I was told that only "current" VC compilers are considered for being patched I've tried to compile Bison 3.1 with VC 2015. Two places needed a patch to allow all sources to be compiled. You find a patch file attached.
Notes
a) any use of verify() defined in verify.h raises the warning
> warning C4116: unnamed type definition in parentheses
b) the examples cannot be compiled with the resulting bison binary:
make[3]: Entering directory `/dev/bison-3.1'
\
/bin/sh ./build-aux/ylwrap `test -f 'examples/variant.yy' ||
echo './'`examples/variant.yy y.tab.c examples/variant.cc y.tab.h `echo
examples/variant.cc | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e
s/c++$/h++/ -e s/c$/h/` y.output examples/variant.output --
./tests/bison -o y.tab.c -d -v -Werror -Wall -Wno-yacc --report=all
C:/dev/bison-3.1/examples/variant.yy:21.9-29: error: %define variable
'api.token.constructor' redefined
%define api.token.constructor
^^^^^^^^^^^^^^^^^^^^^
Assertion failed: *value == '[', file src/muscle-tab.c, line 352
I'll leave a possible fix to others.
I'd still consider the patch worthy to be integrated as long as the
configure script doesn't explicit forbid the use of VC...
Simon
bison_31_vc2015.patch
Description: Binary data
