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]

Reply via email to