Commit Graph

1133 Commits

Author SHA1 Message Date
ISSOtm
cf2001de5f Allow compiling parser in debug mode with -DYYDEBUG=1 2020-02-19 00:01:51 +01:00
ISSOtm
6d00877231 Prevent infinite loop with line continuations without newlines 2020-02-18 20:58:20 +01:00
ISSOtm
6755a0912b Improve naming of CI build artifacts 2020-02-18 20:23:37 +01:00
ISSOtm
b6ac23be3d Remove Travis CI files
Obsoleted by GitHub Actions since #486
2020-02-18 20:12:18 +01:00
ISSOtm
e941cafedb Make locals in main scope a non-fatal error 2020-02-18 20:07:44 +01:00
ISSOtm
03fe077b41 Make locals without parent a non-fatal error 2020-02-18 20:07:44 +01:00
Eldred Habert
12ef879860 Merge pull request #486 from ISSOtm/actions
Switch CI to GitHub Actions
2020-02-18 20:04:26 +01:00
ISSOtm
179e047474 Add Windows testing 2020-02-18 02:55:38 +01:00
ISSOtm
d497190aa1 Do not zip artifacts ourselves
GitHub does it, this creates zips of zips...
2020-02-17 15:04:14 +01:00
ISSOtm
e078c1e793 Use develop in CI when possible 2020-02-17 15:04:14 +01:00
ISSOtm
7471f46a07 Add checkpatch testing 2020-02-17 15:04:14 +01:00
ISSOtm
8cee3c3c3e Upload binaries after compilation 2020-02-17 15:04:14 +01:00
ISSOtm
97bcbf5d84 Add GitHub Actions for regression testing 2020-02-17 15:04:14 +01:00
ISSOtm
3fce9ed9a4 Have Wine shim explicitly require bash
I didn't know the substitution was Bash-only..!
2020-02-17 15:03:46 +01:00
ISSOtm
21ffcc74db Don't use echo -e for creating the Wine shim
Apparently that's not as portable as I expected.
2020-02-17 14:32:35 +01:00
ISSOtm
9e99db9a8e Allow \r in strings
Fixes #484
2020-02-17 13:52:38 +01:00
ISSOtm
5fd38c5f67 Do not try to link libpng statically 2020-02-14 03:07:24 +01:00
ISSOtm
03ed914714 Give reason to why writing the object file fails 2020-02-14 00:29:24 +01:00
ISSOtm
42faffe6f3 Make the Wine shims a separate target 2020-02-13 23:06:05 +01:00
ISSOtm
bc80e910ed Fix two code style errors 2020-02-13 20:43:47 +01:00
ISSOtm
30a95d735a Improve testing PC 2020-02-13 20:20:35 +01:00
ISSOtm
f01a227470 Fix non-const labels with callbacks having incorrect values when diffed
Basically, this broke PC, which is currently the only label-typed symbol
with a callback.
2020-02-13 20:16:59 +01:00
ISSOtm
91b65c9380 Add include guards and license header to section.h 2020-02-13 15:57:27 +01:00
ISSOtm
18c47843f1 Check if sections referenced in linker script exist 2020-02-12 15:27:07 +01:00
Eldred Habert
d5fe377c11 Merge pull request #482 from ISSOtm/conflict
Fix one shift/reduce and one reduce/reduce conflict
2020-02-12 01:39:18 +01:00
ISSOtm
ed4a613473 Rename productions to "reloc" when not really constant 2020-02-11 19:04:35 +01:00
ISSOtm
112098514d Fix 1 s/r and 1 r/r conflict
Implements the fix suggested [here](https://github.com/rednex/rgbds/issues/44#issuecomment-69360499), which performed better than expected!
I'm not \*too\* fond of this but this seems like the right way
2020-02-11 18:59:55 +01:00
ISSOtm
31aa1ea474 Improve arg-shift test
New test case courtesy of @aaaaaa123456789
2020-02-11 11:38:57 +01:00
ISSOtm
96b6e4a76e Add forgotten semicolon in grammar 2020-02-11 11:36:50 +01:00
ISSOtm
001b95d12a Add SHIFT with numeric argument
Fixes #442.
2020-02-11 11:25:38 +01:00
ISSOtm
3b2c862320 Make more RGBASM errors print their line number
Fixes #379.
2020-02-11 09:35:19 +01:00
ISSOtm
230f849229 Fix error output slightly broken on Windows
Apparently, `perror` on Windows forces a newline before itself, which is
not the behavior intended. Instead, print the error message inline.
2020-02-11 09:06:38 +01:00
Eldred Habert
c37253fe5a Merge pull request #480 from ISSOtm/section
Improve section management
2020-02-11 08:51:00 +01:00
Eldred Habert
0ed8d3859d Merge pull request #481 from rednex/revert-451-atomic_output
Revert "Make RGBASM overwrite output files atomically"
2020-02-11 08:32:27 +01:00
ISSOtm
6963d77f8a Add documentation for LOAD blocks 2020-02-10 09:30:33 +01:00
ISSOtm
02ea52f453 Add test for LOAD 2020-02-10 03:39:09 +01:00
ISSOtm
cdabc057a0 Allow unseekable files with INCBIN
Go figure the use case, but the feature is there now
2020-02-10 03:39:09 +01:00
ISSOtm
eb0d75711a Implement LOAD/ENDL blocks
Basically implements and closes rednex#274.
2020-02-10 03:39:09 +01:00
ISSOtm
f121119283 Use section's offset instead of general one
That's more future-proof and makes more sense
2020-02-10 03:37:44 +01:00
ISSOtm
d9c1b66931 Deduplicate value output function code 2020-02-10 03:37:43 +01:00
ISSOtm
2f60e0a59e Use meaningful types for byte output functions 2020-02-10 03:36:51 +01:00
ISSOtm
ffe9e92b48 Skip double-checking overflow in byte output 2020-02-10 03:36:51 +01:00
ISSOtm
aa90a53f34 Move 1-byte overflow check to out_AbsByte
This check is already performed in bulk by all functions calling it except
`out_AbsByte`, adding extra overhead to those.
2020-02-10 03:36:51 +01:00
ISSOtm
598c923506 Use callback for PC's value
This causes it to auto-update whenever the current section's attributes are
updated, simplifying the code and eliminating redundancy.
This should also overall reduce overhead (one extra function call on each
PC evaluation, but less bookkeeping for each byte output)
2020-02-10 03:36:51 +01:00
ISSOtm
8c4b473d6f Add more checks to section creation in RGBASM
Fixes rednex#471, but also backports a couple more checks from RGBLINK
2020-02-10 03:35:55 +01:00
ISSOtm
a4fe274c25 Unify all section declarations 2020-02-10 03:35:55 +01:00
ISSOtm
34597ce6a0 Mark some section functions as const 2020-02-10 03:34:58 +01:00
ISSOtm
4a2af807b2 Remove legacy forward declaration 2020-02-10 03:34:58 +01:00
ISSOtm
d0ec35628f Split section management into its own file 2020-02-10 03:34:58 +01:00
ISSOtm
bfdbd00092 Do some misc cleanup of output.c 2020-02-10 03:25:03 +01:00