]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
libcpu: Include config.h before standard headers in lexer source
authorMichael Pratt <mcpratt@pm.me>
Thu, 10 Oct 2024 10:27:02 +0000 (10:27 +0000)
committerMark Wielaard <mark@klomp.org>
Mon, 14 Oct 2024 20:38:52 +0000 (22:38 +0200)
As part of the processing of flex, definitions and headers
are added to output source before any literal text or generated code.

This causes standard headers to come before config.h
unless config.h is included in a %top block instead
as specified in the flex manual, section 5.1 "Format of the Definitions".

The %top block is non-POSIX, so using it reinforces
the requirement of "flex" over a standardized "lex" even more.

      * libcpu/i386_lex.l (%top): add flex %top block
      and move config.h header inclusion to it.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
libcpu/i386_lex.l

index 9b33ed95907bad72180617cd421b764522274768..9c1e14db4374f6814caca183503e1a7d86751197 100644 (file)
@@ -1,3 +1,9 @@
+%top{
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+}
+
 %{
 /* Copyright (C) 2004, 2005, 2007, 2008 Red Hat, Inc.
    Written by Ulrich Drepper <drepper@redhat.com>, 2004.
    the GNU Lesser General Public License along with this program.  If
    not, see <http://www.gnu.org/licenses/>.  */
 
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
 #include <ctype.h>
 
 #include <libeu.h>