Rangi42
8cd0e66297
Revert "Implement INCLUDE_ONCE directive ( #1481 )"
...
This reverts commit 5f07095f6d .
2024-09-08 11:30:31 -04:00
sukus
5f07095f6d
Implement INCLUDE_ONCE directive ( #1481 )
...
Identify files by (device, inode), not by path, so that symlinks,
relative paths, case-insensitive paths, or other edge cases
do not result in double includes.
2024-09-08 00:02:02 -04:00
Sylvie
323028d9f2
RGBLINK lists local symbols when encountering an unknown symbol reference ( #1496 )
2024-09-06 21:31:13 -04:00
Rangi42
068ad93427
Allow syntax cpl a
2024-09-06 21:35:17 +02:00
ISSOtm
610f04beeb
Fix condition for assuming at EOF
...
Part of that condition's purpose is to ensure that we read the correct
lexer state; but it's possible now for the fstack to be non-empty
*before* the lexer state is registered, i.e. if there is an error
in the function that registers it.
This causes a NULL pointer deref.
2024-09-05 17:48:52 +02:00
ISSOtm
e289387b09
Avoid attempting to link if assembling fails
2024-09-05 17:19:05 +02:00
Eldred Habert
80d37f9988
Implement --input-tileset ( #1464 )
...
As discussed in https://github.com/gbdev/rgbds/issues/575#issuecomment-1991456862
2024-09-04 15:20:01 -04:00
Sylvie
1283b0b6a6
Allow dollar signs in identifiers ( #1493 )
2024-09-03 23:09:06 +02:00
Sylvie
6b8d33529e
Improve string/interpolation formatting ( #1491 )
...
- The '#' component for type 's' now escapes the string characters
- The '#' component for type 'f' now prints a precision suffix
- The new 'q' component specifies a precision value
2024-09-01 12:54:26 -04:00
Sylvie
7330c2c606
Replace unmangle with cygpath ( #1490 )
...
Use `-m` not `-w` so paths use forward slashes
2024-08-31 00:10:44 -04:00
Rangi42
c07371c9fc
Revert "Show test issues as annotations in the GitHub Actions job summary"
...
This reverts commit 3a5ff35928 .
Annotations were not actually appearing.
<https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions >
2024-08-27 14:07:35 -04:00
Rangi42
3a5ff35928
Show test issues as annotations in the GitHub Actions job summary
2024-08-27 01:02:53 -04:00
ISSOtm
4ce6c9f4a5
Avoid bogus comparisons when linking fails
...
This avoids drowning RGBLINK's errors in a meaningless `diff` output
2024-08-26 22:58:38 -04:00
Sylvie
44332ff4be
Charmaps cannot map an empty string ( #1486 )
2024-08-22 13:21:16 -04:00
Sylvie
81ab133566
Enable more testing of RGBGFX output ( #1473 )
2024-08-22 19:19:39 +02:00
Sylvie
0e8a17ce82
Report any section overflows at the end of assembly ( #1482 )
...
* Report any section overflows at the end of assembly
* Immediately handle overflow of the 32-bit size counter
2024-08-22 18:51:52 +02:00
Sylvie
b438c83bda
Implement a '#' prefix for raw identifiers that may alias keywords ( #1480 )
...
* Implement a '#' prefix for raw identifiers that may alias keywords
* Review comments
* Disallow hashless raw identifiers in interpolations
* Run clang-format
2024-08-21 19:31:44 +02:00
Sylvie
82e81ab1da
Test RGBLINK on SDCC object files ( #1479 )
2024-08-20 17:51:01 -04:00
Sylvie
7d98b9a900
Add RGBFIX tests for MBC names ( #1477 )
...
RGBFIX tests are now based on .flags files
The .bin and .err files are optional
2024-08-20 21:15:37 +02:00
Sylvie
8c96293b11
Test the RGBASM state file output ( #1472 )
2024-08-19 20:13:27 +02:00
Rangi42
731715ff36
Refactor test.sh scripts for consistency
2024-08-18 21:38:45 -04:00
Rangi42
7cf4156003
Add some more tests, and fix some existing ones
2024-08-18 21:38:45 -04:00
Rangi42
ee3a93a442
Test macro args \0 and \<0>
2024-08-18 21:38:45 -04:00
ISSOtm
96a0481cba
Pass RGBDS= to make clean as well in downstream tests
...
Avoids some spurious "command not found" errors when cleaning SameBoy
Fixes #1471
2024-08-18 20:11:01 +02:00
ISSOtm
28733fe312
Implement floating bank in linker script
...
Turns out that we can solve being unable to choose a bank to change
the PC of, by simply refusing to choose!
2024-08-18 19:44:04 +02:00
ISSOtm
68a6abd00e
Fix ProtoPalette::compare
...
The function only stopped at the end of the *arrays*,
not of *their used portions*!
This could cause false negatives one way or the other.
This appears not to affect the palette packing, since the packing algorithm
deals with them efficiently; but it should speed up processing slightly,
and as the test changes show, it also improves the UX of palette packing
error messages!
2024-08-14 17:36:15 +02:00
Sylvie
2d530dbcd6
Fix constant expression detection functions ( #1462 )
2024-08-09 09:40:53 +02:00
Eldred Habert
fb6f861a08
Use macOS 14 in CI ( #1335 )
2024-08-08 22:16:32 +02:00
ISSOtm
b20b2dd28c
Pass CXX env var through when compiling RGBGFX test binaries
2024-08-08 20:45:36 +02:00
ISSOtm
2a85009b6b
Be verbose about building the RGBGFX test binaries
...
People may not expect that to happen!
And CI would be easier to debug that way, too.
2024-08-08 20:45:36 +02:00
ISSOtm
809b364958
Be stricter in test scripts
...
Omitting parameters is not a good idea, but even worse if it fails
mysteriously without any error messages
2024-08-08 20:34:09 +02:00
Sylvie
0cd79c33ef
Fix RGBGFX reversal ( #1425 )
...
* Print all OoB tilemap IDs before aborting
* Rename `nbTileInstances` to `mapSize`
* Check that reversing doesn't overflow the tile array
---------
Co-authored-by: ISSOtm <me@eldred.fr >
2024-08-08 19:40:41 +02:00
ISSOtm
747427e801
Make test/gfx/at-file-ref consistent
...
The generated `result.pal` can change between platforms, it turns out
(due to "unstable sort" differences), and creates additional churn if
changing anything related to palette generation.
tl;dr this makes the test less flaky in the long run.
2024-08-08 12:23:12 +02:00
ISSOtm
0f1137c6ec
Fix ineffective sorting of palettes pre-packing
...
We were sorting the *IDs*, not the proto-palettes...
2024-08-08 11:31:46 +02:00
Sylvie
e93190d491
Implement BITWIDTH and TZCOUNT functions ( #1450 )
2024-08-07 10:39:30 -04:00
Sylvie
7435630d6a
Error messages note when a symbol has been purged ( #1453 )
2024-08-06 15:35:06 -04:00
Sylvie
bb480b761c
Rephrase numeric-string warning to not be identical to another one ( #1449 )
2024-08-06 13:56:09 +02:00
Sylvie
2706f94788
Multiple fixes and enhancements to RPN behavior: ( #1448 )
...
- FIX: `Label & const` was not actually doing the `& const` masking
(fixes #1446 )
- ADD: `LOW(Label)` can be constant if `Label` is aligned to 8 or more bits
(resolves #1444 )
- ADD: `!expr` can be constant 0 if `expr` has any non-zero bits
(resolves #1447 )
- `LOW()` and `HIGH()` have their own RPN operator values
(resolves #1445 )
The change to RPN values means that the object file version was incremented.
This also refactors unary operators and functions, combining their
evaluation similarly to binary ones.
2024-08-06 13:54:55 +02:00
Sylvie
2f8f99bd94
Implement -Wpurge= ( #1443 )
2024-08-05 12:50:48 -04:00
Sylvie
c5e6a815fa
Deprecate treating multi-unit strings as numbers ( #1438 )
2024-08-05 16:05:50 +02:00
Rangi42
e4ffcf7153
Update the 'ucity' commit used for testing
...
This removes our need to patch it for compatibility
2024-08-04 21:52:57 -04:00
Sylvie
1d194b68ca
Update test deps ( #1440 )
2024-08-04 21:49:22 -04:00
Sylvie
9a5b3f0902
Implement multi-value charmaps ( #1429 )
2024-08-04 23:32:08 +02:00
ISSOtm
3d1f5386c2
Fix parsing of GPL files
...
Can you tell this was *not* tested whatsoever?
2024-08-02 22:36:33 -04:00
ISSOtm
1f8f28cac8
Fix parsing of textual colours
...
`n`'s input value was not honored, and its updating logic incorrect
2024-08-02 22:36:33 -04:00
ISSOtm
8e60d1f0b8
Fix textual palettes not accepting to be filled
...
A weird case of off-by-one error
2024-08-02 22:36:33 -04:00
ISSOtm
d8aceaea4a
Ignore empty lines in HEX files
...
They are free-form enough that empty lines should probably be supported.
2024-08-02 22:36:33 -04:00
ISSOtm
a23b4732e3
Distinguish EOF and empty lines when parsing text pal files
2024-08-02 22:36:33 -04:00
Sylvie
92abe24894
Implement EXPORT DEF to define and export symbols ( #1422 )
2024-07-25 17:40:58 -04:00
Sylvie
13a8895fca
Improve the error messages for interpolating undefined or invalid symbols ( #1423 )
2024-07-25 17:36:02 -04:00