OSDN Git Service

Add test for flex bug as part of make, and point them to README.flex.
authorBruce Momjian <bruce@momjian.us>
Wed, 14 May 1997 03:32:40 +0000 (03:32 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 14 May 1997 03:32:40 +0000 (03:32 +0000)
src/GNUmakefile.in
src/lextest/Makefile [new file with mode: 0644]
src/lextest/lextest.c [new file with mode: 0644]
src/lextest/scan.l [new file with mode: 0644]

index 5a25488..d34beb9 100644 (file)
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.12 1997/04/15 18:17:43 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/Attic/GNUmakefile.in,v 1.13 1997/05/14 03:32:16 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -30,6 +30,7 @@ all:
          false ;\
         else true;\
        fi
+       $(MAKE) -C lextest all
        $(MAKE) -C utils all
        $(MAKE) -C backend all
        $(MAKE) -C libpq all
diff --git a/src/lextest/Makefile b/src/lextest/Makefile
new file mode 100644 (file)
index 0000000..efbc20d
--- /dev/null
@@ -0,0 +1,13 @@
+#
+# Makefile - tests for 2.5.3 flex bug
+#
+#
+lextest : lextest.c scan.l
+       $(LEX) scan.l
+       $(CC) -c lex.yy.c
+       $(CC) -c lextest.c
+       $(CC) -o lextest lex.yy.o lextest.o
+       @echo "If this fails, flex is broken" | lextest || echo "You have a buggy version of flex.  Read doc/README.flex for a fix."
+
+clean:
+       rm -f lextest lex.yy.c lex.yy.o lextest.o
diff --git a/src/lextest/lextest.c b/src/lextest/lextest.c
new file mode 100644 (file)
index 0000000..e8089f2
--- /dev/null
@@ -0,0 +1,10 @@
+main()
+{
+       yylex();
+       return;
+}
+
+yywrap()
+{
+       return 1;
+};
diff --git a/src/lextest/scan.l b/src/lextest/scan.l
new file mode 100644 (file)
index 0000000..6f80137
--- /dev/null
@@ -0,0 +1,10 @@
+/*
+       This should work, but non-patched flex 2.5.3 fails because input()
+       doesn't return EOF
+       Bruce Momjian <root@candle.pha.pa.us>
+*/
+%%
+.              {
+                               while (input() != EOF)
+                               ;
+               }