Section "3.1.1 The prologue" of the Bison manual has grown a new paragraph since I last looked:
When in doubt, it is usually safer to put prologue code before all Bison declarations, rather than after. For example, any definitions of feature test macros like `_GNU_SOURCE' or `_POSIX_C_SOURCE' should appear before all Bison declarations, as feature test macros can affect the behavior of Bison-generated `#include' directives. It invalidates the discussion of %code and %requires in the rest of that section. This suggests we should have kept %before-header or some equivalent.
