Commit graph

195 commits

Author SHA1 Message Date
Christoph Oelckers
351e0d7ed9 - removed obsolete CMake version requirements.
Most were still at 3.1 which prompts noisy warnings from up-to-date CMake versions.
Version requirements have been removed entirely from dependent subprojects, all others were upped to 3.16.
2023-09-03 09:04:17 +02:00
James Le Cuirot
b95dbaf914 Ensure local headers are used over system headers to avoid breakage
types.h was being picked up from webp rather than locally due to the
`include_directories` call for GTK (and therefore its -I arguments)
coming before the same call for the local sources. webp can be pulled in
via GTK -> gdk-pixbuf -> tiff -> webp.

This can be avoided by specifying `SYSTEM` or `BEFORE` as appropriate
when calling `include_directories`. I have done both for good measure.
2023-08-02 00:22:50 -04:00
alexey.lysiuk
1b3c67ee1f - fixed cross-compilation support
Lemon's post build command aborts configuration step after CMake version bump to 3.1.0 in ba618d308c
When CMake version was 2.8.7 the same command produced a warning

CMake Error at tools/lemon/CMakeLists.txt:11 (add_custom_command):
  TARGET 'lemon' is IMPORTED and does not build here.
2021-03-14 15:01:51 +02:00
Christoph Oelckers
ba618d308c - bumped CMake version to 3.1.0 in all projects to reduce warning spam in recent versions.
3.1.0 is the highest minimum set in the existing subprojects so this will not exclude anything that hadn't been already.
2021-03-08 13:58:29 +01:00
alexey.lysiuk
ecf0701481 - fixed zipdir inability to update empty zip file
https://forum.zdoom.org/viewtopic.php?t=70468
2020-11-01 10:24:22 +02:00
Braden Obrzut
62e9e0cbbb - Change updaterevision to a CMake script
The benefit to this is fairly small, but it does mean a little less work needs
to be done in the build scripts for cross compiling. The C version wasn't
especially concise so it was not obviously better in any way.
2020-02-02 11:43:36 +01:00
Christoph Oelckers
86ab366958 - some reformatting on exit code, mainly to make searching for the content easier. 2019-10-01 19:06:28 +02:00
alexey.lysiuk
574e079f17 - use own implementation of iswalpha() function
Character classification is no longer affected by quirks of standard library implementation
Lookup table for own function was generated with Python thanks to Unicode Database module from its standard library
Explicitly set locale for POSIX targets was reverted to C

https://forum.zdoom.org/viewtopic.php?t=65641&start=18#p1115930
2019-08-24 20:52:24 +02:00
Christoph Oelckers
f50e402e92 - sorted sound backend code into subdirectories. 2019-07-14 16:07:18 +02:00
Christoph Oelckers
46ec16032e - removed fixrtext tool.
This is no longer needed, because it was used to create self-modifiable code from assembly source, which no longer exists.
2019-07-14 15:10:37 +02:00
Christoph Oelckers
ce88830a59 - fixed a warning caused by the LZMA-SDK update. 2018-01-21 10:58:12 +01:00
alexey.lysiuk
28e6477a03 Made Lemon's dynamic stack size compatible with C++ 2017-07-23 11:54:16 +03:00
Rachael Alexanderson
fa36b1195f - added modification tagging to updaterevision to allow tagging an executable when a source tree is compiled before committing. 2017-05-13 12:52:28 -04:00
Braden Obrzut
789315bb4a - Fixed build with MinGW-w64 (TDM-GCC 5.1). Note that the resulting binary will crash under -O3 until the alignment violation is taken care of in FRemapTable::Alloc.
- It appears that CMake added native support for building rc files with MinGW at some point so removed manual rc compiling code.
2016-11-22 22:41:32 -05:00
Marisa Heit
f23e5d2677 Fixed: XLAT would not parse
- Disable the changes from commit 96afce241d
  because it appears to not recognize default rules that reduce as
  reducing.
- When tracing a parser, flush after every line output in case an
  assert is hit so you can actually see what it did up to that point.
2016-10-14 22:02:55 -05:00
Marisa Heit
97107b6b6d Update lempar.c to 2016-10-04 version
- Every update rolled into one, because I'm pretty sure I missed some while
updating lemon.c (not counting today's commits), since it wasn't always
updated at the same time as lemon.c.
- In particular, I think this check-in from 2016-06-06 was very important to
  us after commit 3d5867d29e (For the
  Lemon-generated parser, add a new action type SHIFTREDUCE and use it to
  further compress the parser tables and improve parser performance.):
  * Fix lempar.c so that the shift-reduce optimization works for error
    processing.
2016-10-13 22:30:12 -05:00
Marisa Heit
696beca40f Lemon update 2016-08-16 16:46:40 on branch trunk
— Fix a bug in destructorprocessing of Lemon. That has no impact on the SQLite grammar. The bug was introduced by prior work to optimize the Lemon-generated parser used by SQLite. (user: drh)
2016-10-13 22:23:28 -05:00
Marisa Heit
3b1a048885 Lemon update 2016-05-24 18:55:08 on branch trunk
— Enhance Lemon and the parser template so that it can once again build parsers that have no unreachable branches. (user: drh)
2016-10-13 22:22:04 -05:00
Marisa Heit
96afce241d Lemon update 2016-05-24 18:55:08 on branch trunk
— Enhance Lemon and the parser template so that it can once again build
parsers that have no unreachable branches. (user: drh)
2016-10-13 22:18:20 -05:00
Marisa Heit
64bd551d20 Lemon update 2016-05-23 14:24:31 on branch trunk
— Fix comment typos and improve clarity of presention in Lemon. The output
should be identical. (user: drh)
2016-10-13 22:09:13 -05:00
Marisa Heit
0d67d107ab Lemon update 2016-05-23 14:24:31 on branch trunk
— Fix comment typos and improve clarity of presention in Lemon. The output
should be identical. (user: drh)
2016-10-13 22:07:01 -05:00
Marisa Heit
45d441f103 Lemon update 2016-04-29 11:28:35 on branch trunk
— Lemon bug fix: Do not merge action routines unless their destructors are
also identical. Problem and suggested fix reported on the mailing list by
Kelvin Sherlock. (user: drh)
2016-10-13 21:48:29 -05:00
Marisa Heit
de56be6c01 Lemon update 2016-04-29 11:28:35 on branch trunk
— Lemon bug fix: Do not merge action routines unless their destructors are
also identical. Problem and suggested fix reported on the mailing list by
Kelvin Sherlock. (user: drh)
2016-10-13 21:41:54 -05:00
Randy Heit
bab0ed451a No more warnings when building re2c with VC++ 2016-04-22 22:56:47 -05:00
Christoph Oelckers
77bfffaee0 - removed a few __cdecl's from the source. 2016-04-11 12:46:48 +02:00
Randy Heit
7f3e1777a7 Add -C option to Lemon, to specify an output directory 2016-03-20 14:26:02 -05:00
Randy Heit
3897f109ed VS2015 warning fixes for Lemon 2016-03-20 13:35:46 -05:00
Randy Heit
4641549e0e Lemon update 2016-03-16 19:45:54 on branch trunk
- Enhance Lemon so that it reorders the reduce rules such that rules without actions occur at the end and so that the first rule is number 0. This reduces the size of the jump table on the reduce switch, and helps the parser to run faster. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
ec5108b2e5 Lemon update 2016-02-19 13:19:22 on branch trunk
- Omit the unused yyzerominor constant. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
4a24f7adcf Lemon update 2016-02-17 12:34:03 on branch parser-performance
- More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
25972d79a7 Lemon update 2016-02-17 04:33:10 on branch parser-performance
- Enhance Lemon so that if reduce code contains a comment of the form "/*A-overwrites-X*/" then a LHS label A is allowed to overwrite the RHS label X. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
ab4c3a0c5e Lemon update 2016-02-17 01:46:19 on branch parser-performance
- Further improvements to the Lemon-generated code for yy_reduce(). (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
8a18e5c7eb Lemon update 2016-02-17 01:18:33 on branch parser-performance
- In Lemon, add the ability for the left-most RHS label to be the same as the LHS label, causing the LHS values to be written directly into the stack. (user: drh)
2016-03-20 13:06:54 -05:00
Randy Heit
75f6d3a438 Lemon update 2016-02-16 21:19:49 on branch parser-performance
- Experimental changes to Lemon for improved parser performance. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
7306279a87 Lemon update 2016-02-16 01:01:43 on branch trunk
- Improve the Lemon parser template (lempar.c) so that it avoids unnecessary work when the grammer defines YYNOERRORRECOVERY (as SQLite does). Slightly smaller and faster code results. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
be870502fd Lemon update 2015-11-10 14:51:22 on branch trunk
- Improved output formatting for "PRAGMA parser_trace=ON;". (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
e9501e8688 Lemon update 2015-11-09 19:33:42 on branch parser-enhancements
- Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
59b14415ff Lemon update 2015-11-09 15:06:26 on branch trunk
- Avoid recursion in the yy_find_shift_action() routine of the Lemon-generated parser, so that routine can be inlined, for a size reduction and performance increase. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
bcdef59c3c Lemon update 2015-11-09 14:11:37 on branch trunk
- Size reduction and performance improvement in the stack-popping logic of the Lemon-generated parser. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
5286a7fef3 Lemon update 2015-10-29 13:48:15 on branch trunk
- Fix uses of ctype functions (ex: isspace()) on signed characters in test programs and in some obscure extensions. No changes to the core. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
daa68a0c88 Lemon update 2015-09-07 23:40:42 on branch trunk
- Minor tweaks to Lemon. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
123db1926c Lemon update 2015-09-07 20:02:39 on branch lemon-update
- Fix an unreachable branch in the new parse automaton. (user: drh)
2016-03-20 13:06:53 -05:00
Randy Heit
fd3507c4c3 Lemon update 2015-09-07 19:52:55 on branch lemon-update
- Change the parser engine so that it (once again) waits for a lookahead token before reducing, even in a SHIFTREDUCE action. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
3d5867d29e Lemon update 2015-09-07 18:23:37 on branch lemon-update
- For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
2b5cef0c17 Lemon update 2015-09-07 14:22:24 on branch trunk
- In the "parse.out" output file from Lemon, show addition the complete text of rules on reduce actions. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
00de97aca2 Lemon update 2015-09-07 02:23:02 on branch trunk
- Improved "Parser Statistics" output (the -s option) for the Lemon parser generator. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
23f69b6fbc Lemon update 2015-09-04 18:03:45 on branch trunk
- Fix over-length source code lines in Lemon. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
9413ea15b6 Lemon update 2015-01-01 19:11:22 on branch trunk
- Enhance the "lemon" executable so that it ignores -f, -W, -O, and -I command-line options. This permits most of the same options that are passed to the compiler to also be harmlessly passed to lemon, and thus simplifies makefiles. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
06455b49c0 Lemon update 2014-06-09 13:11:40 on branch trunk
- Modify the %nonassoc directive in lemon so that it generates a run-time error rather than a parsing conflict. This changes is due to a bug report on the mailing list. SQLite does not use the %nonassoc directive in its grammar so this change does not affect SQLite. (user: drh)
2016-03-20 13:06:52 -05:00
Randy Heit
dd0d0e036c Lemon update 2014-01-11 12:52:25 on branch trunk
- In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. (user: drh)
2016-03-20 13:06:52 -05:00