Commit 13ae585a0184a4c0113fd4f3a19a0cedf1cfe5c2

Mike Frysinger 2022-02-20T14:28:11

tests: fix yacc C++ tests with some C++ compilers Fixes automake bug https://bugs.gnu.org/20031. The C++ standard does not require symbols be placed into the global namespace, just in the std namespace. The GNU implementation will place symbols in both. For our specific code, we don't care either. Unfortunately, it looks like generated flex code assumes that some stdlib.h symbols (free, malloc, exit) are in the global namespace, even when compiling for C++. So when we include <cstdlib> but not <stdlib.h>, we might not get the symbols in the global namespace. We can workaround this by including stdlib.h in these tests without invalidating the point of the tests in general. * t/yacc-cxx.sh: Include stdlib.h. * t/yacc-d-cxx.sh: Likewise. * t/yacc-mix-c-cxx.sh: Likewise.