Rangi42
94e9ef5213
Factor shared code out of lexer_CaptureRept and lexer_CaptureMacro
2025-08-19 18:11:50 -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
Rangi42
f7167d8115
More consistent documentation for NP-complete heuristics
2025-08-18 21:45:26 -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
77a105e189
Mention the "first-fit bin packing" algorithm of RGBLINK
2025-08-18 11:51:01 -04:00
Rangi42
a16dcc0ea5
Downgrade FreeBSD release used for testing from 15 to 14.3
...
See https://github.com/vmactions/freebsd-vm/issues/108
We get the error:
ld-elf.so.1: Shared object "libutil.so.10" not found, required by "pkg"
2025-08-17 14:09:39 -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
ea1358bbe6
Predef std::pair to two-element std::tuple
2025-08-13 20:48:54 -04:00
Rangi42
2bdf61da70
Increase RGBASM test coverage
2025-08-13 12:26:01 -04:00
Rangi42
92826a726a
Move some static variables into the only functions that use them
2025-08-13 09:34:49 -04:00
Rangi
9c3ce69180
Factor out shared backtrace code ( #1793 )
2025-08-12 17:56:54 -04:00
Rangi
50d0b101c3
Format linker script error backtraces the same way as others ( #1792 )
2025-08-12 16:58:17 -04:00
Rangi42
1bf1219e07
Factor out shared --color-parsing code
2025-08-12 15:53:57 -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
Rangi
5f8b7474b4
Add -B/--backtrace option to RGBASM and RGBLINK ( #1787 )
2025-08-11 14:30:14 -04:00
Rangi
92a9c73ee7
Deprecate __DATE__ and __TIME__ ( #1786 )
2025-08-11 09:48:18 -04:00
Rangi42
7ade3e74b3
Avoid the need to repeat -Weverything in test .flags
2025-08-11 08:11:32 -04:00
Rangi
978e832914
Allow :: to join instructions *and* data declarations ( #1785 )
2025-08-11 08:04:42 -04:00
Rangi42
2130a5ba1f
Error messages refer to "undefined" symbols and sections
2025-08-08 19:47:42 -04:00
Rangi42
9fc83efe06
Make rgbasm -Wlarge-constant enabled by default
2025-08-08 19:00:13 -04:00
Rangi
e41ce49698
Only print one warning for too-large integer constants, not one per digit ( #1781 )
...
This also makes all too-large integer constants evaluate to 0.
2025-08-08 18:58:38 -04:00
Rangi42
1574b5b1f7
Test the behavior of ds N, @
2025-08-07 09:41:33 -04:00
Rangi42
3f6db080b4
Ensure that alignment is at most 16 and we do not cause UB
2025-08-06 15:31:30 -04:00
Rangi42
f9a55bd5cd
Allow OPT to accept optional dashes before flags
2025-08-06 10:19:01 -04:00
Rangi
a4a830776b
Deprecate treating strings as numbers ( #1780 )
2025-08-06 10:13:22 -04:00
Rangi42
34d99b273c
Add zsh completions for --color flag
2025-08-06 09:26:22 -04:00
Rangi42
feb8365812
Document the deprecated rgbfix -O and string functions
2025-08-06 09:07:35 -04:00
Rangi42
bf66e346f0
Add -Wobsolete to RGBFIX and RGBGFX, and deprecate rgbfix -O
2025-08-05 17:18:54 -04:00
Rangi42
3a0a4b7f90
Deprecate 1-indexed string functions
2025-08-05 16:58:06 -04:00
Rangi
39f0f9edc0
Remove previously deprecated features ( #1777 )
...
- Treating multi-unit strings as numbers
- `rgbasm -Wnumeric-string`
- `ldio [c], a` and `ldio a, [c]` (use `ldh`)
- `ld [c], a` and `ld a, [c]` (use `ldh`)
- `ldh [$xx], a` and `ldh a, [$xx]` (use `$FFxx`)
2025-08-05 16:24:10 -04:00
Rangi42
a3983b7b0f
Support rgbgfx -c dmg to imply -c dmg=e4
...
Fixes #1776
2025-08-05 14:18:25 -04:00
Rangi42
504a45a4ed
Reuse isWhitespace and isNewline, also refactoring readAtFile
2025-08-05 13:46:53 -04:00
Rangi42
98c5c7f776
Support rgbgfx -c auto for automatic palette generation
2025-08-05 13:05:21 -04:00
Rangi42
7020cf7188
Make struct Uppercase have constexpr methods
2025-08-05 12:11:23 -04:00
Rangi42
70d129fcd7
Color "warning:" yellow in warnx
2025-08-05 11:26:21 -04:00
Rangi42
2d5f4d8910
More consistent missing-input error messages
2025-08-05 11:22:58 -04:00
Rangi42
26c6911c8f
More consistent man pages
2025-08-05 11:16:00 -04:00
Rangi42
f1fd3abcff
Don't bother searching the keywordDict for local labels
2025-08-05 10:49:09 -04:00
Rangi42
2cae47a5a2
Color verbose output as magenta
...
Output RGBASM's lexed tokens at level 5 (TRACE)
2025-08-05 00:00:57 -04:00
Rangi42
ac75a085fa
Refactor lexer_CaptureRept and lexer_CaptureMacro
2025-08-04 23:26:29 -04:00
Rangi42
0c1b422c36
Refactor some redundant lexer code
2025-08-04 22:43:34 -04:00
Rangi
23ce888d65
Use colored/styled text output for diagnostics and usage info ( #1775 )
2025-08-04 17:02:24 -04:00
Rangi42
d992b21141
Fix man page syntax for Flags
2025-08-03 13:22:22 -04:00
Rangi42
903492cce2
Fully support rgbasm -MC in Bash completion script
2025-08-03 13:08:36 -04:00
Rangi42
fc9b614225
Allow the index of CHARVAL to be optional
...
Fixes #1773
2025-08-03 08:44:06 -04:00