]> granicus.if.org Git - flex/log
flex
7 years agoDon't install libfl.pc if --disable-libfl.
Explorer09 [Sat, 26 Aug 2017 14:23:50 +0000 (22:23 +0800)]
Don't install libfl.pc if --disable-libfl.

7 years agolibfl.pc: Rewrite descriptions, remove unneeded Cflags.
Explorer09 [Sat, 26 Aug 2017 14:16:53 +0000 (22:16 +0800)]
libfl.pc: Rewrite descriptions, remove unneeded Cflags.

There's no need to include any header when linking with `-lfl`.

7 years agoMove libfl.pc.in to src subdirectory.
Explorer09 [Sat, 26 Aug 2017 16:17:57 +0000 (00:17 +0800)]
Move libfl.pc.in to src subdirectory.

7 years agodoc: NEWS updates
Will Estes [Thu, 24 Aug 2017 13:26:02 +0000 (09:26 -0400)]
doc: NEWS updates

7 years agoHardcode flex name in --help text
Explorer09 [Thu, 20 Jul 2017 04:05:25 +0000 (12:05 +0800)]
Hardcode flex name in --help text

Don't use program_name in the description of -T/--trace or -V/--version
option. It's ugly when user invokes flex with a long path like
"/home/username/tools/bin/my-custom-built-flex".

This solution is not long term. If possible, the help text should be
modified so that the "flex" name is no longer needed below the first
"Usage:" line. All translations of help text will need to be updated
as well.

7 years agoRemove an unneeded gettext() in --version output
Explorer09 [Tue, 18 Jul 2017 14:39:00 +0000 (22:39 +0800)]
Remove an unneeded gettext() in --version output

"%s %s\n" is not translatable

7 years agoscanner: remove BASENAME(); don't strip path from program_name
Explorer09 [Tue, 18 Jul 2017 14:37:19 +0000 (22:37 +0800)]
scanner: remove BASENAME(); don't strip path from program_name

There's no technical need of stripping path from program_name. I think
the users should be fine if they see the path they use to invoke flex
is diagnostic messages and help texts.

Yes, users will see "Usage: ../flex [OPTIONS]..." now if they invoke
flex with the path "../flex".

The --version output has been changed so that the name field will be
always "flex" or "flex++". If the flex program has been renamed to
"lex" (for compatibility or other reason) this will allow identifying
the implementation name ("flex"). (And it's a recommended practice in
GNU Coding Standards)

7 years agobuild: sort .gitignore
Will Estes [Thu, 24 Aug 2017 12:18:11 +0000 (08:18 -0400)]
build: sort .gitignore

7 years agohave libobjs depend on libobjdir (#244)
Michael Haubenwallner [Wed, 19 Jul 2017 09:36:31 +0000 (11:36 +0200)]
have libobjs depend on libobjdir (#244)

7 years agobuild: git ignore libfl.pc
Will Estes [Thu, 24 Aug 2017 12:02:19 +0000 (08:02 -0400)]
build: git ignore libfl.pc

7 years agoCreate libfl.pc target for pkgconfig
Tyler Slabinski [Thu, 24 Aug 2017 01:33:51 +0000 (21:33 -0400)]
Create libfl.pc target for pkgconfig

7 years agoscanner: #define BASENAME, remove #include libgen.h
Jannick [Mon, 17 Jul 2017 22:47:27 +0000 (00:47 +0200)]
scanner: #define BASENAME, remove #include libgen.h

7 years agomkskel.sh: fix EOL issue for CRLF systems
Jannick [Tue, 18 Jul 2017 00:03:30 +0000 (02:03 +0200)]
mkskel.sh: fix EOL issue for CRLF systems

7 years agoscanner: Ignore comment lines in skeleton files.
jannick0 [Sun, 9 Jul 2017 20:36:14 +0000 (22:36 +0200)]
scanner: Ignore comment lines in skeleton files.

In skeleton files comments are indicated by leading `%#` and when
directly read in using `flex -S <skeleton.skl>` they should be
ignored. Example: `flex.skl`.

Amending commit 2f21edac99b5efc432417233e6e53326d630e08f which removed
this conditional branch.

7 years agofilter: faster is_blank_line implementation
Explorer09 [Sat, 8 Jul 2017 12:21:37 +0000 (20:21 +0800)]
filter: faster is_blank_line implementation

Using regex_t regex_blank_line is *slow*.

7 years agofilter: new internal function is_blank_line()
Explorer09 [Sat, 8 Jul 2017 10:54:30 +0000 (18:54 +0800)]
filter: new internal function is_blank_line()

It's simply to return (regexec(&regex_blank_line, str, 0, NULL, 0) == 0);
The reason for encapsulation is to allow replacing this with a
non-regex method if necessary.

7 years agobuild: require automake, gettext versions as per maintainer dev setup
Will Estes [Thu, 13 Jul 2017 19:14:58 +0000 (15:14 -0400)]
build: require automake, gettext versions as per maintainer dev setup

7 years agodoc: NEWS memory leak fix
Will Estes [Mon, 3 Jul 2017 15:49:36 +0000 (11:49 -0400)]
doc: NEWS memory leak fix

7 years agoscanner: memory leak free scanner generator.
viktor.shepel [Tue, 20 Jun 2017 15:22:53 +0000 (18:22 +0300)]
scanner: memory leak free scanner generator.

**Issue:**
Scanner generation leaks memory for transition tables when invoked
without `--tables-file` option.

**Root cause:**
`gentabs` function has different memory acquire/release conditions.

**Solution:**
Reclaim memory at the same scope where it was alloacated.

7 years agofilter: memory leak free scanner postprocessing.
viktor.shepel [Tue, 20 Jun 2017 14:03:42 +0000 (17:03 +0300)]
filter: memory leak free scanner postprocessing.

**Issue:**
Scanner postprocessing leaks memory during correction of `#line`
directives values and generation of C header file.

**Root cause:**
`filter_fix_linedirs` and `filter_tee_header` functions do not
dispose allocated memory.

**Solution:**
Automatically reclaim affected memory by allocating it on stack
insted of heap. Stack allocation should not be a problem as its
only 512 bytes and there is no recursive calls.

7 years agodoc: NEWS c{i,j}
Will Estes [Mon, 3 Jul 2017 15:21:50 +0000 (11:21 -0400)]
doc: NEWS c{i,j}

7 years agoscanner: c{i,j} should preserve case.
NieDzejkob [Thu, 29 Jun 2017 10:38:25 +0000 (12:38 +0200)]
scanner: c{i,j} should preserve case.

Fixes #193

7 years agodoc: document --backup-file in NEWS
Will Estes [Mon, 3 Jul 2017 13:46:48 +0000 (09:46 -0400)]
doc: document --backup-file in NEWS

7 years agoscanner: add optionn to specify backup filename.
EricSharkey [Sun, 21 May 2017 20:09:42 +0000 (16:09 -0400)]
scanner: add optionn to specify backup filename.

In a directory containing multiple scanners, we want to allow
specifying the name of the backup file else the backup files will be
overwritten.

7 years agodoc: new uk translation
Will Estes [Sun, 18 Jun 2017 17:56:06 +0000 (13:56 -0400)]
doc: new uk translation

7 years agodoc: new uk translation from the Translation Project
Translation Project [Sun, 18 Jun 2017 17:55:11 +0000 (13:55 -0400)]
doc: new uk translation from the Translation Project

7 years agodoc: formatting fixes in README
Explorer09 [Sun, 4 Jun 2017 04:42:48 +0000 (12:42 +0800)]
doc: formatting fixes in README

7 years agotest: echo 'set -v' before setting so in shell.
Explorer09 [Sun, 4 Jun 2017 04:06:20 +0000 (12:06 +0800)]
test: echo 'set -v' before setting so in shell.

7 years agodoc: tableopts rule portability mentioned in NEWS
Will Estes [Fri, 26 May 2017 15:23:12 +0000 (11:23 -0400)]
doc: tableopts rule portability mentioned in NEWS

7 years agotest: remove duplicate shell options line
Will Estes [Fri, 26 May 2017 15:21:16 +0000 (11:21 -0400)]
test: remove duplicate shell options line

7 years agotest: use portable pattern substitution in tableopts.sh
Explorer09 [Wed, 24 May 2017 07:33:09 +0000 (15:33 +0800)]
test: use portable pattern substitution in tableopts.sh

Fixes: #222
7 years agodoc: document NetBSD build crash fix
Will Estes [Fri, 19 May 2017 12:05:51 +0000 (08:05 -0400)]
doc: document NetBSD build crash fix

7 years agobuild: remove automake check-news
Will Estes [Fri, 19 May 2017 12:03:48 +0000 (08:03 -0400)]
build: remove automake check-news

7 years agoscanner: Use reallocarr() when available.
Thomas Klausner [Fri, 19 May 2017 08:22:44 +0000 (10:22 +0200)]
scanner: Use reallocarr() when available.

NetBSD had a crash during build. Since the provided substitute for
reallocarray() wasn't working, use NetBSD's reallocarr(). Let
configure choose that function whenever it is available. Use
reallocarray if available. Still fallback if neither is available.

Fixes #219

7 years agodoc: list line number directives in NEWS
Will Estes [Sun, 14 May 2017 11:15:36 +0000 (07:15 -0400)]
doc: list line number directives in NEWS

7 years agofilter: Output correct #line value for current file.
Jeff Smith [Sat, 1 Apr 2017 06:18:12 +0000 (01:18 -0500)]
filter: Output correct #line value for current file.

A #line pre-processor directive specifies the line number and source
file of the following lines. If the source file _is_ the current file,
the line number should be that of the line following the directive. So
the specified line number should be the current line number plus 1.

7 years agoscanner: corrected typo
Will Estes [Sat, 13 May 2017 21:24:55 +0000 (17:24 -0400)]
scanner: corrected typo

7 years agodoc: noyyget/set_column options documented
Will Estes [Sat, 13 May 2017 21:23:18 +0000 (17:23 -0400)]
doc: noyyget/set_column options documented

7 years agoscanner: finish support for noyy{get,set}_column.
Will Estes [Sat, 13 May 2017 19:15:45 +0000 (15:15 -0400)]
scanner: finish support for noyy{get,set}_column.

Unattributed patch carried over from sourceforge bug tracker.

7 years agobuild: .mailmap for cleaning up shortlog
Will Estes [Sat, 13 May 2017 18:24:17 +0000 (14:24 -0400)]
build: .mailmap for cleaning up shortlog

7 years agotest: rename some files for non-case-sensitive filesystems.
Hans-Bernhard Broeker [Sat, 6 May 2017 22:17:33 +0000 (00:17 +0200)]
test: rename some files for non-case-sensitive filesystems.

-C*f and -C*F option-specific test files collide on case-insensitive
file systems, and cause tests to either not be run at all, or to
overwrite each other's files at build time.  So rename -C*F ones to
-C*_F.

7 years agobuild: 2.6.4 is previous version
Will Estes [Sun, 7 May 2017 00:26:28 +0000 (20:26 -0400)]
build: 2.6.4 is previous version

7 years agobuild: ignore .sig files.
Will Estes [Sat, 6 May 2017 20:54:54 +0000 (16:54 -0400)]
build: ignore .sig files.

We generate gpg signatures in place for releases. Since these should
not be tracked in the flex repo itself, we tell git to ignore them.

7 years agobuild: no longer ignore *.tar.bz2
Will Estes [Sat, 6 May 2017 20:53:14 +0000 (16:53 -0400)]
build: no longer ignore *.tar.bz2

Since we no longer generate *.tar.bz2 archives, we do not need to tell
git to ignore them.

7 years agogettext: pulled latest translations; recompiled against current sources v2.6.4
Will Estes [Sat, 6 May 2017 19:10:08 +0000 (15:10 -0400)]
gettext: pulled latest translations; recompiled against current sources

7 years agoversion 2.6.4
Will Estes [Sat, 6 May 2017 17:06:59 +0000 (13:06 -0400)]
version 2.6.4

* NEWS: Record release date.

7 years agonote previous version
Will Estes [Sat, 6 May 2017 16:58:44 +0000 (12:58 -0400)]
note previous version

7 years agodoc: update NEWS for upcoming release
Will Estes [Sat, 6 May 2017 16:57:58 +0000 (12:57 -0400)]
doc: update NEWS for upcoming release

7 years agodoc: Correct typo in C code sample in manual
viktor.shepel [Thu, 4 May 2017 11:55:27 +0000 (14:55 +0300)]
doc: Correct typo in C code sample in manual

7 years agoscanner: Mention %# comments are removed when building skel.c
Explorer09 [Thu, 4 May 2017 02:52:37 +0000 (10:52 +0800)]
scanner: Mention %# comments are removed when building skel.c

7 years agoHonor user definitions of yy_* macros
Demi Obenour [Wed, 3 May 2017 00:05:14 +0000 (20:05 -0400)]
Honor user definitions of yy_* macros

The user may have defined the yy_* macros themselves.  In that case,
don't clobber them.

7 years agoDon't leak macro definitions into header files
Demi Obenour [Tue, 2 May 2017 23:18:14 +0000 (19:18 -0400)]
Don't leak macro definitions into header files

This allowed unnamespaced definitions to leak into header files,
breaking client code.

Fixes #142

7 years agoscanner: Check for 0 bracecount when EOL ends quoted literal.
Demi Obenour [Wed, 3 May 2017 17:45:11 +0000 (13:45 -0400)]
scanner: Check for 0 bracecount when EOL ends quoted literal.

This can happen in the case of // comments (which Flex doesn't handle
specially).

7 years agoscanner: when bracelevel is negative, treat as zero.
Demi Obenour [Wed, 3 May 2017 13:34:34 +0000 (09:34 -0400)]
scanner: when bracelevel is negative, treat as zero.

This really should never happen, but this at least fixes the
breakage on Verilator.

7 years agotest: enable more silent building of tests.
Jeff Smith [Sun, 2 Apr 2017 22:44:29 +0000 (17:44 -0500)]
test: enable more silent building of tests.

When running 'make V=0 check', some compile and link steps are made
less verbose and some are not.  This cleans up most steps that are
not.

These have no effect if V=0 is not specified.

7 years agobuild: Delete comments from skeleton file.
Demi Obenour [Wed, 3 May 2017 14:29:01 +0000 (10:29 -0400)]
build: Delete comments from skeleton file.

Since the comments in flex.skl are, by hypothesis, not needed in
skel.c, we remove them. THis reduces the size of the resulting
executable somewhat.

7 years agobuild: do not generate lib/Makefile.in.
Explorer09 [Wed, 3 May 2017 03:48:06 +0000 (11:48 +0800)]
build: do not generate lib/Makefile.in.

Files in lib/ are picked up and built using makefile directives in
src/Makefile.am. Remove the need to generate lib/Makefile.in and the
stub lib/Makefile.am.

7 years agogettext: revert listing generated .c files
Will Estes [Wed, 3 May 2017 00:39:15 +0000 (20:39 -0400)]
gettext: revert listing generated .c files

7 years agoFLEX_EXIT() is the preferred way to exit flex
Jeff Smith [Mon, 10 Apr 2017 15:01:36 +0000 (10:01 -0500)]
FLEX_EXIT() is the preferred way to exit flex

7 years agoFix myesc() 'sptr' conditionals
Explorer09 [Mon, 10 Apr 2017 18:16:22 +0000 (02:16 +0800)]
Fix myesc() 'sptr' conditionals

* Don't call isascii() here. It's deprecated in POSIX and not needed
  for myesc's case.
* The check of the character class and range here should match what's
  defined as {ESCSEQ} in scan.l, so for [[:xdigit:]] we use isxdigit();
  for [0-7] we check '0' <= c <= '7' (not isdigit(c) because isdigit is
  locale-dependant in standard's sense)
* Add missing length limit for "\x<hex>" (<hex> is at most 2 digits)

7 years agoObsolete htoui() and otoui(); use strtoul().
Explorer09 [Mon, 10 Apr 2017 18:10:29 +0000 (02:10 +0800)]
Obsolete htoui() and otoui(); use strtoul().

No sense to keep these two function when libc's strtoul() can do the
same job, but better.

7 years agoscanner: update yy_buf_size after yyrealloc()
Todd C. Miller [Wed, 12 Apr 2017 15:38:29 +0000 (09:38 -0600)]
scanner: update yy_buf_size after yyrealloc()

7 years agobuild: use lowest versions for gettext, automake.
Simon Sobisch [Tue, 2 May 2017 15:38:16 +0000 (17:38 +0200)]
build: use lowest versions for gettext, automake.

7 years agogettext: more recent makevars; new script to update po files.
Simon Sobisch [Tue, 2 May 2017 15:26:07 +0000 (17:26 +0200)]
gettext: more recent makevars; new script to update po files.

Previously, "make dist" and similar commands would cause the po files
to be updated, which is incorrect. The more recent version now used
should not do this.

Replaced Rules-getpo by extra script to manually update and rebuild all po files.

7 years agogettext: list generated files instead of flex, bison sources in POTFILES.in.
Simon Sobisch [Tue, 2 May 2017 15:15:45 +0000 (17:15 +0200)]
gettext: list generated files instead of flex, bison sources in POTFILES.in.

Listing the flex and bison sources -- as the gettext manual suggests
-- causes warnings. Listing the generated C files for the lexer and
parser removes the warnings. Since both files contain line directives,
any translator who needs to refer back to those files should be able
to find the context in which strings are needed.

7 years agobuild: only touch ChangeLog if it does not exist
Simon Sobisch [Tue, 2 May 2017 16:07:27 +0000 (18:07 +0200)]
build: only touch ChangeLog if it does not exist

7 years agobuild: list earliest useable versions for automake
Simon Sobisch [Tue, 2 May 2017 10:30:28 +0000 (12:30 +0200)]
build: list earliest useable versions for automake

7 years agobuild: check for how to call libtoolize.
Simon Sobisch [Tue, 2 May 2017 10:04:00 +0000 (12:04 +0200)]
build: check for how to call libtoolize.

Previously, we would call libtoolize and if that failed, we would call
glibtoolize since some platforms have the libtoolize program under
that name.

Instead, we check to see if the environment variable LIBTOOLIZE is set
and use that if so. Otherwise, we try to find a program "libtoolize"
on the path and failing that glibtoolize. We alert the user if no
suitable program can be found.

7 years agobuild: support cross compiling.
Alastair Hughes [Fri, 6 Jan 2017 06:06:03 +0000 (19:06 +1300)]
build: support cross compiling.

Check for cross compiling. If cross compiling, build stage1flex using a
custom link command.
We also override LDADD since that adds the replacement implementations
that are cross compiled, and instead always use the replacement library
implementations.

We don't use BUILD_OBJEXT and BUILD_EXEEXT since it seems that automake
does not support these.

Fixes #78.

7 years agobuild: Include <strings.h>; add strcasecmp() check to configure.
Explorer09 [Fri, 17 Feb 2017 15:19:10 +0000 (23:19 +0800)]
build: Include <strings.h>; add strcasecmp() check to configure.

strings.h (not string.h) is the standard-defined include header for
strcasecmp(). Include <strings.h> for portability (even though glibc
exposes strcasecmp() declaration also in <string.h> by default).

7 years agobuild: Let configure error if missing required functions, headers..
Explorer09 [Fri, 17 Feb 2017 15:17:23 +0000 (23:17 +0800)]
build: Let configure error if missing required functions, headers..

`configure` will now error if a required header or function is not
found on the system.

Also add comments on optional functions checks.

Add sys/stats.h and sys/wait.h to list of required headers in
configure.

This fixes issue #180.

7 years agoscanner: compute powers of two faster.
Explorer09 [Sun, 12 Feb 2017 11:59:52 +0000 (19:59 +0800)]
scanner: compute powers of two faster.

Replace the naive "for" loop in determining power of two with a clever
bitwise solution. This code is around the Internet already and is in
Public Domain.

7 years agotest: skip pthread test when needed files missing.
Explorer09 [Tue, 7 Feb 2017 13:14:04 +0000 (21:14 +0800)]
test: skip pthread test when needed files missing.

"Unlisting" the pthread test when libpthread is not available is never
a good idea. Should let it compile into a stub program that returns
the "skip" status.

configure.ac and tests/Makefile.am are edited so that pthread test can
be built anyway, but only works (not as the stub) when both pthread.h
and libpthread are detected on the system.

Also fix a small typo in tests/pthread.l comments.

7 years agobuild: mv scan.c when building dist.
Will Estes [Thu, 16 Feb 2017 14:27:22 +0000 (09:27 -0500)]
build: mv scan.c when building dist.

Revert change to copy scan.c when building the distribution
archive. Move it instead. This satisfies automake's notions of what
should be clean and ensures that the distribution archive contains a
just-built copy of scan.c.

Fixes #186

7 years agobuild: don't assume distdir/scan.c is writeable
Will Estes [Mon, 6 Feb 2017 17:04:03 +0000 (12:04 -0500)]
build: don't assume distdir/scan.c is writeable

7 years agobuild: Add dist-hook to force remake scan.c.
Explorer09 [Mon, 2 Jan 2017 12:10:58 +0000 (20:10 +0800)]
build: Add dist-hook to force remake scan.c.

This will ensure the flex scanner included in release tarball being
generated by exactly the flex version to be released.

Here's one catch after this change: You may not run "make dist" or
"make distdir" if you configure the flex source to be cross-compiled.

7 years agobuild: respect '--localedir' from configure.
Explorer09 [Mon, 2 Jan 2017 10:10:37 +0000 (18:10 +0800)]
build: respect '--localedir' from configure.

Makefile shouldn't overwrite the 'localedir' variable, because that's
what '--localedir' option in 'configure' is for.

7 years agobuild: Remove "-I$(top_srcdir)/intl" from CPPFLAGS.
Explorer09 [Mon, 2 Jan 2017 08:13:42 +0000 (16:13 +0800)]
build: Remove "-I$(top_srcdir)/intl" from CPPFLAGS.

Revert commit e02c3d27eeb6b53ec82532ab080c23ce26813fd4

("include the intl/ subdirectory when searching for include files")

Flex doesn't come with libintl source code, so inclusion of
$(top_srcdir)/intl subdirectory during compiling is unnecessary.

This flag seems to be left after "remove intl from dist"
(commit 8f45da06adbd7dbcdfdbdd5c20ff4c47fc504f35) without someone
cleaning this up.

Users who need to build with gettext functionality from libintl would
use the '--with-libintl-prefix' configure option.

7 years agoscanner: fix regcomp's error reporting, double malloc.
Explorer09 [Fri, 3 Feb 2017 12:53:24 +0000 (20:53 +0800)]
scanner: fix regcomp's error reporting, double malloc.

Fix unneeded double malloc - let regerror(). Write its message after
our "regcomp for (regex) failed: " string.

Also, errbuf cannot be free()'d because of flexfatal containing a
longjmp.

7 years agotest: Skip bison tests if bison is not available
Explorer09 [Tue, 3 Jan 2017 12:44:59 +0000 (20:44 +0800)]
test: Skip bison tests if bison is not available

7 years agobuild: remove repeated bison detection from configure.
Explorer09 [Tue, 3 Jan 2017 12:44:17 +0000 (20:44 +0800)]
build: remove repeated bison detection from configure.

AC_PROG_YACC already detects the bison program. We can just use it,
and make notice if [ $YACC != 'bison -y' ]

Remove unused AC_SUBST([BISON], ...).

Add AM_CONDITIONAL([HAVE_BISON], ...) so that we can skip bison tests
in testsuite when bison is absent.

We don't make any attempt to detect other yacc implementations since
flex is developed with bison. While it would be possible, the need
isn't there right now. It would be possible to add a --with-parser
option that defaulted to bison if such a need cropped up.

7 years agobuild: fix Makefile parse.h dependency clauses.
Explorer09 [Sun, 1 Jan 2017 07:41:29 +0000 (15:41 +0800)]
build: fix Makefile parse.h dependency clauses.

The current clauses stating "main.c: parse.h" and "yylex.c: parse.h" do
not work as expected. Make did not try to build parse.h upon building
flex-main.o as it would think main.c exist already and ignore the
clause. Fix this by explicitly stating that the .o files depend on
parse.h instead.

This dependency bug only happens if user builds flex from a
checked-out repository.

7 years agotest: Remake *_scanner.c if *_scanner.h is missing.
Explorer09 [Tue, 3 Jan 2017 12:42:49 +0000 (20:42 +0800)]
test: Remake *_scanner.c if *_scanner.h is missing.

If a ${foo}_scanner.c exists but the respective ${foo}_scanner.h is
missing, then 'make' can halt. Fix this by deleting the
${foo}_scanner.c file and then remake it. This rule is the same as the
automake-generated rule for .c files that require LEX or YACC (except
automake will use ylwrap).

7 years agotest: remove BUILT_SOURCES; add missing dependencies.
Explorer09 [Sat, 31 Dec 2016 07:12:29 +0000 (15:12 +0800)]
test: remove BUILT_SOURCES; add missing dependencies.

Without BUILT_SOURCES in Makefile, no test sources in tests/ will be
built when using the default "make all" target. This is desireable for
people who are just building flex but who do not want to run, and
therefore, build any part of the test suite.

Also fix missing sources dependencies:

    bison_nr_scanner.$(OBJEXT): bison_nr_parser.h
    bison_yylloc_scanner.$(OBJEXT): bison_yylloc_parser.h
    bison_yylval_scanner.$(OBJEXT): bison_yylval_parser.h

7 years agobuild: detect overflow for [re]allocate_array.
Explorer09 [Thu, 19 Jan 2017 08:04:13 +0000 (16:04 +0800)]
build: detect overflow for [re]allocate_array.

Use reallocarray() when we have it (i.e. in OpenBSD system). When we
don't, use equivalent overflow detection for our allocate_array and
reallocate_array functions.

Remove lib/reallocarray.c from our LIBOBJS as we no longer need it.

Provide a fallback SIZE_MAX macro definition in flexint.h (not
preprocessor friendly, but enough for our reallocate_array use case).

7 years agodoc: v2.6.4
Will Estes [Mon, 23 Jan 2017 19:25:11 +0000 (14:25 -0500)]
doc: v2.6.4

7 years agobuild: more BSD make and vpath build fixes.
Thomas Klausner [Mon, 23 Jan 2017 07:46:48 +0000 (08:46 +0100)]
build: more BSD make and vpath build fixes.

BSD make doesn't like $< with more than one source
specified. Additionally, make sure to specify srcdir when referring to
source files since vpath builds depend on this.

7 years agobuild: Fix skel.c generation with BSD make
Thomas Klausner [Sun, 22 Jan 2017 17:41:52 +0000 (18:41 +0100)]
build: Fix skel.c generation with BSD make

7 years agoAdd more defines in the non-reentrant part.
Christos Zoulas [Sun, 22 Jan 2017 17:34:30 +0000 (18:34 +0100)]
Add more defines in the non-reentrant part.

Fix the reentrant part; don't "#define yyfoo yyfoo" because it breaks
code that does #ifndef yywrap ..

7 years agoscanner: Add yyparse prototype
Christos Zoulas [Sun, 22 Jan 2017 17:33:58 +0000 (18:33 +0100)]
scanner: Add yyparse prototype

7 years agoscanner: move comment for consistency
Thomas Klausner [Sun, 22 Jan 2017 17:32:46 +0000 (18:32 +0100)]
scanner: move comment for consistency

7 years agoscanner: Use array instead of pointer
Christos Zoulas [Sun, 22 Jan 2017 17:30:51 +0000 (18:30 +0100)]
scanner: Use array instead of pointer

7 years agoscanner: manage path to m4 better.
Christos Zoulas [Sun, 22 Jan 2017 17:28:46 +0000 (18:28 +0100)]
scanner: manage path to m4 better.

Avoid alloca() for SSP; it is better anyway; since we don't need to
strdup the path.

7 years agoscanner: Avoid creating unused label
Christos Zoulas [Sun, 22 Jan 2017 17:28:08 +0000 (18:28 +0100)]
scanner: Avoid creating unused label

7 years agoCast argument to avoid arithmetic on void *.
Christos Zoulas [Sun, 22 Jan 2017 17:25:07 +0000 (18:25 +0100)]
Cast argument to avoid arithmetic on void *.

7 years agoscanner: Use strncpy
Christos Zoulas [Sun, 22 Jan 2017 17:22:26 +0000 (18:22 +0100)]
scanner: Use strncpy

7 years agoscanner: Use prefix when defining yywrap to avoid redefinition.
Christos Zoulas [Sun, 22 Jan 2017 17:20:44 +0000 (18:20 +0100)]
scanner: Use prefix when defining yywrap to avoid redefinition.

Fixes regression introduced in v2.6.3.

7 years agoscanner: Include stdarg.h for va_list
Christos Zoulas [Sun, 22 Jan 2017 17:23:40 +0000 (18:23 +0100)]
scanner: Include stdarg.h for va_list

7 years agoscanner: Rename warn to lwarn.
Christos Zoulas [Sun, 22 Jan 2017 17:18:47 +0000 (18:18 +0100)]
scanner: Rename warn to lwarn.

This avoids a naming conflict in NetBSD's  libc.

7 years agotest: document automake convention for skipped exit status.
Explorer09 [Sun, 1 Jan 2017 13:49:07 +0000 (21:49 +0800)]
test: document automake convention for skipped exit status.