Rangi
7733ccdeb6
Implement __SCOPE__ ( #1845 )
2025-10-04 16:41:21 -04:00
Rangi
268b586c9d
Release v1.0.0-rc2
2025-09-30 18:56:00 -04:00
Rangi
85d3b5df58
Add more RGBFIX tests
2025-09-30 18:20:53 -04:00
Rangi
eea277ae9c
Add more tests for RGBFIX
2025-09-29 22:43:16 -04:00
Rangi42
0297da4d4c
Add more tests for RGBASM coverage
2025-09-25 13:30:30 -04:00
Rangi42
96b953fe51
Add a test case for overlapping IF/ENDC and REPT/ENDR
...
This trips an asserton in the Rust rewrite because of its different
conditional stack design
2025-09-25 11:57:56 -04:00
Rangi42
0670c03bc2
Add CLI tests for RGBASM
2025-09-25 11:57:56 -04:00
Rangi42
09ef5b7e06
Refactor error fix suggestions in fstk_RunMacro
2025-09-24 19:35:41 -04:00
Rangi42
b0727e9779
Suggest removing space before colon to define a label instead of invoking a macro
2025-09-24 18:32:45 -04:00
Rangi42
ca4b890273
Consistently do & alignMask, not % alignSize
...
Also add more unrelated tests for coverage
2025-09-23 13:25:51 -04:00
Rangi42
96a75500d3
Test gb-starter-kit from codeberg.org, not github.com
2025-09-23 13:06:12 -04:00
Rangi
634fd853d1
Factor out a single parseNumber utility function ( #1839 )
2025-09-22 15:15:24 -04:00
Rangi42
e7f5ab3f55
Warn about rgbgfx -O without -o or any of -A -T -P -Q
2025-09-20 20:23:29 -04:00
Rangi42
595c87b2f8
Update test dependencies
2025-09-20 15:23:02 -04:00
Rangi
c49a7d1e2f
Make CLI and OPT options -p and -Q more consistent ( #1834 )
2025-09-20 13:54:28 -04:00
Rangi
e31bcabbaa
Implement === and !== string comparison operators ( #1832 )
2025-09-19 14:06:36 -04:00
Rangi
67741ab428
Trim left space from macro args, even past block comments ( #1831 )
2025-09-19 13:44:18 -04:00
Rangi
e0a6199f83
Allow charmap to map 'characters' as well as "strings" ( #1830 )
2025-09-16 12:51:07 +02:00
Rangi42
1fdeb34e50
Fix too-short .out.bin expected test results
...
RGBASM tests now use `rgblink -x` instead of `dd` to get trimmed
test output. RGBLINK tests cannot do so because some of them
(e.g. bank-numbers.asm and sizeof-startof.asm) rely on ROMX
sections above 1, and `-x` implies `-t` which breaks that.
2025-09-15 09:25:33 -04:00
Rangi
223b3d1921
More accurate 8-bit <=> 5-bit RGB color conversion ( #1827 )
2025-09-08 15:13:25 -04:00
Rangi42
d404621e0d
Don't silence strings-as-numbers with OPT Wno-obsolete in tests
2025-09-07 12:17:39 -04:00
Rangi42
c8a088f281
Avoid nonessential EQUS expansion in tests
2025-09-06 13:45:12 -04:00
Rangi42
94ed28acf8
Avoid nonessential strings-as-numbers in tests
2025-09-06 12:45:01 -04:00
Rangi42
dcc10cebc3
Add test for duplicate section after use of fragment literal
...
Verifies that #1822 was fixed (by c6997fe73c )
2025-09-05 20:14:01 -04:00
Rangi42
e569e0c200
Don't comment "; Next fragment/union" in .map files for empty section pieces
...
Fixes #1821
2025-09-05 15:31:46 -04:00
Rangi42
891e6f98df
Fix formatting of very long fixed-point numbers
2025-09-04 12:54:14 -04:00
Rangi42
5b67dc94b6
Add more test coverage
2025-09-04 01:29:50 -04:00
Rangi42
c5d437ab3c
Tell people to use character literals or CHARVAL instead of strings as numbers
2025-09-03 22:46:19 -04:00
Rangi
ee1db0a582
Fix RPN patches for all commands ( #1819 )
2025-09-02 16:44:25 -04:00
Rangi
534a4efee4
Add 0/1/2 warning levels to rgblink -Wtruncation ( #1816 )
2025-09-01 15:35:53 -04:00
Rangi42
0ccdbf509a
Simplify format specs to not use a per-character state machine
2025-08-30 12:23:01 -04:00
Rangi
531278961f
Require underscores to actually be digit separators ( #1812 )
...
Multiple, trailing, or next to decimal point are errors
2025-08-30 10:44:20 -04:00
Rangi
85176ef10a
Fix q format spec ( #1811 )
2025-08-29 14:23:49 -04:00
Rangi42
c578a7b761
More specific error message when an expression is not constant because a symbol is undefined
2025-08-24 22:02:41 -04:00
Rangi42
8564df51e5
-Wexport-undefined warning for exporting undefined symbols
2025-08-24 17:36:47 -04:00
Rangi42
62d3b44768
Add test for UNION without NEXTU
2025-08-24 13:08:27 -04:00
Rangi42
0d509aa65c
Suggest DEF when undefined macros look like definitions
2025-08-23 21:40:51 -04:00
Rangi
3d155d5695
Some refactoring and cleanup ( #1806 )
...
* Use clang-tidy `misc-include-cleaner` for IWYU `#include` cleanup
* Use `std::optional<size_t>` instead of `ssize_t`
* Rename some functions in linkdefs.hpp
* Fix header order
2025-08-20 16:09:04 -04:00
Rangi42
92ed6ece53
Support 32-bit addresses ("XL4") as of SDCC 4.4.0
2025-08-20 09:17:45 -04:00
Rangi
0c4c25b2d2
Add a little more test coverage ( #1805 )
...
Format main.cpp files more consistently
Add `make format` to run clang-format on everything
2025-08-19 15:26:23 -04:00
Rangi
b7e0783ae7
Implement ? suffix to "quiet" a context and exclude it from backtraces ( #1800 )
2025-08-18 21:34:58 -04:00
Rangi42
9f373d49ac
Add more tests for edge-case macro and interpolation expansion behavior
...
Fixes #1803
2025-08-17 13:52:58 -04:00
Rangi
272019beb0
Fix line numbers from nested expansions ( #1802 )
2025-08-14 11:13:50 -04:00
Rangi
db6793f444
Don't count single quote ' as garbage ( #1801 )
...
Also copy the "blank space" (space or tab) vs "whitespace" (space,
tab, or newline) convention from `<ctype.h>`
2025-08-14 10:10:59 -04:00
Rangi42
2bdf61da70
Increase RGBASM test coverage
2025-08-13 12:26:01 -04:00
Rangi
50d0b101c3
Format linker script error backtraces the same way as others ( #1792 )
2025-08-12 16:58:17 -04:00
Rangi
7b405513d9
Make quote marks consistent in error/warning messages ( #1791 )
...
- "Double quotes" for strings (filenames, section names, CLI option arguments, etc)
- 'Single quotes' for characters and CLI option flags
- `Backticks` for keywords and identifiers (symbol names, charmap names, etc)
CLI option flags also have their leading dashes
2025-08-12 15:24:21 -04:00
Rangi
7df9c12a6c
Fix division and modulo for very large negative numbers ( #1790 )
2025-08-11 20:46:47 -04:00
Rangi42
30a8503dcd
Format RGBFIX and RGBGFX warnings/errors the same way as RGBASM and RGBLINK
2025-08-11 15:16:00 -04:00
Rangi42
02310489c6
Suggest ld and call when failing to link ldh and rst
2025-08-11 15:02:18 -04:00