#define YYMAXDEPTH 0 causes a later warning when compiling the code (<= comparison with 0 is always true), which breaks the build. Still investigating solutions.
6:46pm] toby: YYINITDEPTH is what the bison author suggested when i emailed [6:46pm] toby: i.e. #define YYMAXDEPTH YYINITDEPTH I also asked bdash to try removing the line and seeing if it still compiled under bison 1.3. He said it did. I'm not yet sure what #define YYMAXDEPTH 0 was supposed to accomplish.
My best understanding is that #define YYMAXDEPTH 0 was actually just asking bison to use it's default value (under some previous version of bison). I think we inherited this line all the way from from initial import from khtml. http://www.mico.org/pipermail/mico-devel/2003-June/007336.html aids my suspicion that this is actually just setting the default value. Attached a fix.
bdash confirmed this further for me: /* YYMAXDEPTH is the maximum size the stacks can grow to (effective only if the built-in stack extension method is used). */ #if YYMAXDEPTH == 0 #undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif used to be generated by bison 1.3 now the #if YYMAXDEPTH == 0 #undef YYMAXDEPTH #endif is missing from 2.0's generation. Comparing the generated output you see exactly this: -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif
Created attachment 2844 [details] A trivial fix for 2.0 compatibility.
Comment on attachment 2844 [details] A trivial fix for 2.0 compatibility. r=me but just to be on the safe side make sure the layout tests pass.