OpenPKG CVS Repository
http://www.openpkg.org/cvsweb/cvsweb.cgi
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-web, openpkg-src Date: 17-Jul-2002 14:19:32
Branch: HEAD Handle: 2002071713193101
Added files:
openpkg-src/flex flex.patch
Modified files:
openpkg-src/flex flex.spec
openpkg-web news.txt
Log:
include my yyget/yyset patch
Summary:
Revision Changes Path
1.1 +75 -0 openpkg-src/flex/flex.patch
1.29 +4 -1 openpkg-src/flex/flex.spec
1.971 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
Index: openpkg-src/flex/flex.patch
============================================================
$ cvs update -p -r1.1 flex.patch
From [EMAIL PROTECTED] Wed Jul 3 10:25:57 2002
Date: Wed, 3 Jul 2002 10:25:57 +0200
From: "Ralf S. Engelschall" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: [PATCH] YYLTYPE, yy[gs]et_lloc, -P
Message-ID: <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
References: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <[EMAIL PROTECTED]>
User-Agent: Mutt/1.4i
Organization: Engelschall, Germany.
X-Web-Homepage: http://www.engelschall.com/
X-PGP-Public-Key: http://www.engelschall.com/ho/rse/pgprse.asc
X-PGP-Fingerprint: 00 C9 21 8E D1 AB 70 37 DD 67 A2 3A 0A 6F 8D A5
Status: RO
Content-Length: 2064
Lines: 52
[the following was already reported in November 2001 for Flex
2.5.6-developer-2001-11-01, but the bug is still present in Flex 2.5.8]
Just a little thing I've recognized while hacking on a scanner which is
generated by flex-2.5.8: Although I used "flex ... -Pl2_spec_ ..." the
generated object file still has two "yy"-prefixed symbols:
| :> nm -g l2_spec_scan.o | grep yy
| 00000c04 T yyget_lloc
| 00000c10 T yyset_lloc
This is because at the top of the generated l2_spec_scan.c there is:
| #ifdef YYLTYPE
| #define yyget_lloc l2_spec_get_lloc
| #define yyset_lloc l2_spec_set_lloc
| #endif
Unfortunately the YYLTYPE will _never_ be defined at this point, because
it is defined by the parser and the parsers' include file can be included
only in %{ ..%} sections, which in turn are inserted in the generated
code always _after_ the above sequence.
It certainly is not correct to change the position of inserting
the %{...%} sections, of course. But we can just leave out the
#ifdef..#endif, because even if YYLTYPE is not used (no location
tracking is used) or not defined, the extra namespace-preserving
definitions of yy[gs]et_lloc will not hurt.
So, I recommend to apply the following patch to Flex 2.5.8 and hope it
is finally considered for inclusion into forthcoming versions:
=================================================================
--- main.c.orig Wed Jun 19 15:26:44 2002
+++ main.c Wed Jul 3 10:12:43 2002
@@ -384,10 +384,8 @@
outn( "#ifdef YY_REENTRANT_BISON_PURE" );
GEN_PREFIX( "get_lval" );
GEN_PREFIX( "set_lval" );
- outn( "#ifdef YYLTYPE" );
GEN_PREFIX( "get_lloc" );
GEN_PREFIX( "set_lloc" );
- outn( "#endif" );
outn( "#endif" );
if ( do_yylineno && reentrant)
=================================================================
Yours,
Ralf S. Engelschall
[EMAIL PROTECTED]
www.engelschall.com
Index: openpkg-src/flex/flex.spec
============================================================
$ cvs diff -u -r1.28 -r1.29 flex.spec
--- openpkg-src/flex/flex.spec 1 Jul 2002 16:31:04 -0000 1.28
+++ openpkg-src/flex/flex.spec 17 Jul 2002 12:19:32 -0000 1.29
@@ -43,11 +43,12 @@
Group: Language
License: BSD
Version: %{V_release}
-Release: 20020701
+Release: 20020717
# list of sources
Source0: ftp://ftp.gnu.org/non-gnu/flex/flex-%{V_release}.tar.gz
Source1: ftp://ftp.uncg.edu/people/wlestes/flex-%{V_beta}.tar.gz
+Patch1: flex.patch
# build information
Prefix: %{l_prefix}
@@ -73,6 +74,8 @@
%setup0 -q -c -n flex-%{version}
%if "%{with_beta}" == "yes"
%setup1 -q -T -D -a 1
+ cd flex-%{V_beta}
+ %patch1 -p0
%endif
%build
Index: openpkg-web/news.txt
============================================================
$ cvs diff -u -r1.970 -r1.971 news.txt
--- openpkg-web/news.txt 17 Jul 2002 11:45:45 -0000 1.970
+++ openpkg-web/news.txt 17 Jul 2002 12:19:31 -0000 1.971
@@ -1,3 +1,4 @@
+17-Jul-2002: Upgraded package: P<flex-2.5.4a-20020717>
17-Jul-2002: New package: P<cocor-1.06-20020717>
17-Jul-2002: New package: P<njmc-0.5-20020717>
17-Jul-2002: New package: P<noweb-2.10b-20020717>
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]