Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is a combination of MSVC avoiding, I guess, not conforming to C89 or C99 by not pretending to conform to them, and Bison assuming a certain level of compliance from the C compiler.

We're developing a workaround; see issue 16924. Gerald Combs also has a workaround for the separate problem of the warning about %pure-parser (it involves generating different .y files depending on whether the parser generator supports %define api.pure); see merge request 632, which should remove that warning without breaking builds with older versions of Bison or with Berkeley YACC, but won't fix the compiler warning that's turning into an error.

This is a combination of MSVC avoiding, I guess, not conforming to C89 or C99 by not pretending claiming to conform to them, and Bison assuming a certain level of compliance from the C compiler.

We're developing a workaround; see issue 16924. Gerald Combs also has a workaround for the separate problem of the warning about %pure-parser (it involves generating different .y files depending on whether the parser generator supports %define api.pure); see merge request 632, which should remove that warning without breaking builds with older versions of Bison or with Berkeley YACC, but won't fix the compiler warning that's turning into an error.

This is a combination of MSVC avoiding, I guess, not conforming to C89 or C99 by not claiming to conform to them, and Bison assuming a certain level of compliance from the C compiler.compiler will claim C99 conformance if it defines ptrdiff_, causing the compiler to arrange that the generated parser use long instead of ptrdiff_t for the difference between two pointers - that's not valid in 64-bit Windows.

We're developing a workaround; see issue 16924. Gerald Combs also has a workaround for the separate problem of the warning about %pure-parser (it involves generating different .y files depending on whether the parser generator supports %define api.pure); see merge request 632, which should remove that warning without breaking builds with older versions of Bison or with Berkeley YACC, but won't fix the compiler warning that's turning into an error.

This is a combination of MSVC avoiding, I guess, not conforming to C89 or C99 by not claiming to conform to them, and Bison assuming the C compiler will claim C99 conformance if it defines ptrdiff_, causing the compiler to arrange that the generated parser use long instead of ptrdiff_t for the difference between two pointers - that's not valid in 64-bit Windows.

We're developing We've developed and committed a workaround; see issue 16924. Gerald Combs also has a workaround for the separate problem of the warning about %pure-parser (it involves generating different .y files depending on whether the parser generator supports %define api.pure); see merge request 632, which should remove that warning without breaking builds with older versions of Bison or with Berkeley YACC, but won't fix the compiler warning that's turning into an error.