Subject: Re: kdevelop-current
To: Simon Burge <simonb@NetBSD.ORG>
From: Nick Hudson <nick@nthcliff.demon.co.uk>
List: tech-pkg
Date: 03/15/2000 09:39:07
Hi,

I filed PR8258 about this several months ago. It looks as though lukem broke
C++ support when delinting the C output.

Nick

----- Original Message -----
From: "Simon Burge" <simonb@NetBSD.ORG>
To: "Berndt Josef Wulf" <wulf@ping.net.au>
Cc: <tech-pkg@NetBSD.ORG>
Sent: Wednesday, March 15, 2000 5:02 AM
Subject: Re: kdevelop-current


> Berndt Josef Wulf wrote:
>
> > Simon Burge wrote
> > > >
> > > > That would be nice... who is the right person to talk about this
> > > > problem. I've avoided to raise a PR on this as I am not familiar
with
> > > > the circumstances why we are still using flex-2.5.4 and not
> > > > flex-2.5.4a, there surely must be a reason for it.
> > >
> > > The _only_ difference between 2.5.4 and 2.5.4a is the addition of the
> > > words "with or without modification" added to some copyright notices.
> > > However, the NetBSD version has been modified, and it would appear
that
> > > somehow we have broken it in the process.  I've just done a quick diff
> > > between 2.5.4a and what's in our tree and can't see anything obviously
> > > wrong.  What exactly is the problem that you're seeing that doesn't
> > > occur with a stock flex 2.5.4a?
> >
> > The main difference between the resulting file generated by NetBSD's
> > flex and the pkgsrc flex utility are the missing declarations around
> > line 207 as shown below:
>
> Ok, it seems that the declaration of those routines moved to part of
> flex.skl where flex ignores them if used in "C++" mode.  Can you try
> the following patch to see if it fixes the problem?
>
> Also, are you (or anyone else listening) in a position to do a "make
> build" to see if this breaks anything during a complete NetBSD build?
>
> Simon.
> --
> Index: flex.skl
> ===================================================================
> RCS file: /cvsroot/basesrc/usr.bin/lex/flex.skl,v
> retrieving revision 1.12
> diff -p -u -r1.12 flex.skl
> --- flex.skl 1999/01/18 22:18:17 1.12
> +++ flex.skl 2000/03/15 04:57:07
> @@ -254,6 +254,12 @@ YY_BUFFER_STATE yy_scan_string YY_PROTO(
>  YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, yy_size_t
len ));
>  %*
>
> +static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
> +#ifndef YY_USES_REJECT
> +static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
> +#endif
> +static void yy_flex_free YY_PROTO(( void * ));
> +
>  #define yy_new_buffer yy_create_buffer
>
>  #define yy_set_interactive(is_interactive) \
> @@ -275,11 +281,6 @@ YY_BUFFER_STATE yy_scan_bytes YY_PROTO((
>  %% yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here
>
>  %- Standard (non-C++) definition
> -static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
> -#ifndef YY_USES_REJECT
> -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
> -#endif
> -static void yy_flex_free YY_PROTO(( void * ));
>  static yy_state_type yy_get_previous_state YY_PROTO(( void ));
>  static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type
current_state ));
>  static int yy_get_next_buffer YY_PROTO(( void ));