Commit Graph

  • 024b33b63a make format should apply to all .cpp and .hpp files Rangi42 2025-09-05 21:05:58 -04:00
  • dcc10cebc3 Add test for duplicate section after use of fragment literal Rangi42 2025-09-05 20:14:01 -04:00
  • 1fc9ba86c4 Some RGBLINK refactoring Rangi42 2025-09-05 16:34:51 -04:00
  • e569e0c200 Don't comment "; Next fragment/union" in .map files for empty section pieces Rangi42 2025-09-05 15:17:21 -04:00
  • f7fb3af615 Run make tidy with Checks: '-*,misc-include-cleaner' in .clang-tidy (IWYU) Rangi42 2025-09-04 13:39:23 -04:00
  • 1dfc1d3231 Factor out isBinDigit and parseHexDigit utility functions Rangi42 2025-09-04 13:14:27 -04:00
  • 891e6f98df Fix formatting of very long fixed-point numbers Rangi42 2025-09-04 12:42:54 -04:00
  • bdc885bd69 Avoid UB when checking truncation range Rangi42 2025-09-04 12:04:10 -04:00
  • 5b67dc94b6 Add more test coverage Rangi42 2025-09-04 01:29:50 -04:00
  • 4f702a4be8 Try to optimize RPN expressions with .emplace_back instead of .push_back Rangi42 2025-09-03 23:00:06 -04:00
  • c5d437ab3c Tell people to use character literals or CHARVAL instead of strings as numbers Rangi42 2025-09-03 22:46:19 -04:00
  • c5c2800f17 Move RPN buffer encoding logic into rpn.cpp Rangi42 2025-09-03 22:36:00 -04:00
  • c798500563 Don't call rpn.clear() when we can safely assume it's already empty() Rangi42 2025-09-03 21:02:57 -04:00
  • 590d113e94 Use a vector of RPN values (#1820) Rangi 2025-09-03 14:42:37 -04:00
  • ee1db0a582 Fix RPN patches for all commands (#1819) Rangi 2025-09-02 16:44:25 -04:00
  • 5701d747d4 Document the stricter rules for lexing underscores in integer constants Rangi42 2025-09-02 14:39:28 -04:00
  • 2110aaca20 Fix RGBLINK and RGBGFX warning/error message colors Rangi42 2025-09-01 20:51:33 -04:00
  • 8df88f92ba Release v1.0.0-rc1 v1.0.0-rc1 Rangi42 2025-09-01 18:09:42 -04:00
  • 534a4efee4 Add 0/1/2 warning levels to rgblink -Wtruncation (#1816) Rangi 2025-09-01 15:35:53 -04:00
  • cc96b4d517 Two small improvements Rangi42 2025-09-01 11:36:19 -04:00
  • 0ccdbf509a Simplify format specs to not use a per-character state machine Rangi42 2025-08-30 12:23:01 -04:00
  • 531278961f Require underscores to actually be digit separators (#1812) Rangi 2025-08-30 10:44:20 -04:00
  • 85176ef10a Fix q format spec (#1811) Rangi 2025-08-29 14:23:49 -04:00
  • 02b880e1b0 Separate RGBFIX header fixing from CLI option parsing (#1808) Rangi 2025-08-28 12:28:08 -04:00
  • c6997fe73c Factor out InsertionOrderedMap to group an indexed list with a string-keyed map Rangi42 2025-08-26 15:38:21 -04:00
  • c578a7b761 More specific error message when an expression is not constant because a symbol is undefined Rangi42 2025-08-24 22:02:41 -04:00
  • 8564df51e5 -Wexport-undefined warning for exporting undefined symbols Rangi42 2025-08-24 16:52:20 -04:00
  • 62d3b44768 Add test for UNION without NEXTU Rangi42 2025-08-24 13:08:27 -04:00
  • ead5337fe0 Use scoped blocks for case-specific variables Rangi42 2025-08-23 21:52:22 -04:00
  • 0d509aa65c Suggest DEF when undefined macros look like definitions Rangi42 2025-08-23 21:40:51 -04:00
  • fcfc931867 Shorten lexing of simple tokens Rangi42 2025-08-20 22:37:03 -04:00
  • 3d155d5695 Some refactoring and cleanup (#1806) Rangi 2025-08-20 16:09:04 -04:00
  • 92ed6ece53 Support 32-bit addresses ("XL4") as of SDCC 4.4.0 Rangi42 2025-08-20 09:15:26 -04:00
  • e0e9ef190a Clarify DAA documentation Rangi42 2025-08-20 08:57:32 -04:00
  • 386fb5f398 Add more character utility functions Rangi42 2025-08-19 19:12:58 -04:00
  • 94e9ef5213 Factor shared code out of lexer_CaptureRept and lexer_CaptureMacro Rangi42 2025-08-19 18:11:50 -04:00
  • 0c4c25b2d2 Add a little more test coverage (#1805) Rangi 2025-08-19 15:26:23 -04:00
  • f7167d8115 More consistent documentation for NP-complete heuristics Rangi42 2025-08-18 21:45:26 -04:00
  • b7e0783ae7 Implement ? suffix to "quiet" a context and exclude it from backtraces (#1800) Rangi 2025-08-18 21:34:58 -04:00
  • 77a105e189 Mention the "first-fit bin packing" algorithm of RGBLINK Rangi42 2025-08-18 11:51:01 -04:00
  • a16dcc0ea5 Downgrade FreeBSD release used for testing from 15 to 14.3 Rangi42 2025-08-17 14:09:39 -04:00
  • 9f373d49ac Add more tests for edge-case macro and interpolation expansion behavior Rangi42 2025-08-17 13:52:58 -04:00
  • 272019beb0 Fix line numbers from nested expansions (#1802) Rangi 2025-08-14 11:13:50 -04:00
  • db6793f444 Don't count single quote ' as garbage (#1801) Rangi 2025-08-14 10:10:59 -04:00
  • ea1358bbe6 Predef std::pair to two-element std::tuple Rangi42 2025-08-13 20:48:54 -04:00
  • 2bdf61da70 Increase RGBASM test coverage Rangi42 2025-08-13 10:56:32 -04:00
  • 92826a726a Move some static variables into the only functions that use them Rangi42 2025-08-13 09:34:49 -04:00
  • 9c3ce69180 Factor out shared backtrace code (#1793) Rangi 2025-08-12 17:56:54 -04:00
  • 50d0b101c3 Format linker script error backtraces the same way as others (#1792) Rangi 2025-08-12 16:58:17 -04:00
  • 1bf1219e07 Factor out shared --color-parsing code Rangi42 2025-08-12 15:53:57 -04:00
  • 7b405513d9 Make quote marks consistent in error/warning messages (#1791) Rangi 2025-08-12 15:24:21 -04:00
  • 7df9c12a6c Fix division and modulo for very large negative numbers (#1790) Rangi 2025-08-11 20:46:47 -04:00
  • 30a8503dcd Format RGBFIX and RGBGFX warnings/errors the same way as RGBASM and RGBLINK Rangi42 2025-08-11 15:16:00 -04:00
  • 02310489c6 Suggest ld and call when failing to link ldh and rst Rangi42 2025-08-11 15:02:18 -04:00
  • 5f8b7474b4 Add -B/--backtrace option to RGBASM and RGBLINK (#1787) Rangi 2025-08-11 14:30:14 -04:00
  • 92a9c73ee7 Deprecate __DATE__ and __TIME__ (#1786) Rangi 2025-08-11 09:48:18 -04:00
  • 7ade3e74b3 Avoid the need to repeat -Weverything in test .flags Rangi42 2025-08-11 08:11:32 -04:00
  • 978e832914 Allow :: to join instructions *and* data declarations (#1785) Rangi 2025-08-11 08:04:42 -04:00
  • 2130a5ba1f Error messages refer to "undefined" symbols and sections Rangi42 2025-08-08 19:22:13 -04:00
  • 9fc83efe06 Make rgbasm -Wlarge-constant enabled by default Rangi42 2025-08-08 19:00:13 -04:00
  • e41ce49698 Only print one warning for too-large integer constants, not one per digit (#1781) Rangi 2025-08-08 18:58:38 -04:00
  • 1574b5b1f7 Test the behavior of ds N, @ Rangi42 2025-08-07 09:41:33 -04:00
  • 3f6db080b4 Ensure that alignment is at most 16 and we do not cause UB Rangi42 2025-08-06 15:18:35 -04:00
  • f9a55bd5cd Allow OPT to accept optional dashes before flags Rangi42 2025-08-06 10:19:01 -04:00
  • a4a830776b Deprecate treating strings as numbers (#1780) Rangi 2025-08-06 10:13:22 -04:00
  • 34d99b273c Add zsh completions for --color flag Rangi42 2025-08-06 09:26:22 -04:00
  • feb8365812 Document the deprecated rgbfix -O and string functions Rangi42 2025-08-06 09:07:35 -04:00
  • bf66e346f0 Add -Wobsolete to RGBFIX and RGBGFX, and deprecate rgbfix -O Rangi42 2025-08-05 17:12:29 -04:00
  • 3a0a4b7f90 Deprecate 1-indexed string functions Rangi42 2025-08-05 16:46:09 -04:00
  • 39f0f9edc0 Remove previously deprecated features (#1777) Rangi 2025-08-05 16:24:10 -04:00
  • a3983b7b0f Support rgbgfx -c dmg to imply -c dmg=e4 Rangi42 2025-08-05 14:18:25 -04:00
  • 504a45a4ed Reuse isWhitespace and isNewline, also refactoring readAtFile Rangi42 2025-08-05 13:46:53 -04:00
  • 98c5c7f776 Support rgbgfx -c auto for automatic palette generation Rangi42 2025-08-05 13:05:21 -04:00
  • 7020cf7188 Make struct Uppercase have constexpr methods Rangi42 2025-08-05 12:11:23 -04:00
  • 70d129fcd7 Color "warning:" yellow in warnx Rangi42 2025-08-05 11:26:21 -04:00
  • 2d5f4d8910 More consistent missing-input error messages Rangi42 2025-08-05 11:22:58 -04:00
  • 26c6911c8f More consistent man pages Rangi42 2025-08-05 11:16:00 -04:00
  • f1fd3abcff Don't bother searching the keywordDict for local labels Rangi42 2025-08-05 10:49:09 -04:00
  • 2cae47a5a2 Color verbose output as magenta Rangi42 2025-08-05 00:00:57 -04:00
  • ac75a085fa Refactor lexer_CaptureRept and lexer_CaptureMacro Rangi42 2025-08-04 23:21:11 -04:00
  • 0c1b422c36 Refactor some redundant lexer code Rangi42 2025-08-04 19:06:57 -04:00
  • 23ce888d65 Use colored/styled text output for diagnostics and usage info (#1775) Rangi 2025-08-04 17:02:24 -04:00
  • d992b21141 Fix man page syntax for Flags Rangi42 2025-08-03 13:22:22 -04:00
  • 903492cce2 Fully support rgbasm -MC in Bash completion script Rangi42 2025-08-03 13:08:36 -04:00
  • fc9b614225 Allow the index of CHARVAL to be optional Rangi42 2025-08-03 08:44:06 -04:00
  • 543b7fa6c2 Use std::nothrow for the only new expression Rangi42 2025-08-02 22:52:20 -04:00
  • 5a7ffd19b0 Move or remove some redundant information from the README Rangi42 2025-08-02 22:07:18 -04:00
  • 7be7483571 Move more RGBASM parser action code out of the Bison file Rangi42 2025-08-02 20:52:09 -04:00
  • 2eeb333be0 Factor out more shared math operations between RGBASM and RGBLINK Rangi42 2025-08-02 19:35:26 -04:00
  • fe8baaec50 Show contributors' avatars with contrib.rocks Rangi42 2025-08-02 17:12:29 -04:00
  • 752b273aec Extend RGBASM and RGBLINK verbosity flags to have multiple levels like RGBGFX (#1772) Rangi 2025-08-02 17:10:10 -04:00
  • b51056f743 Fix "while expanding symbol" error message Rangi42 2025-08-01 16:25:44 -04:00
  • ee1aed51d8 Use std::numbers::pi instead of nonstandard M_PI Rangi42 2025-08-01 13:07:02 -04:00
  • db2cda790c Factor out a single consumeChar function Rangi42 2025-08-01 12:12:22 -04:00
  • 86b43ea14f Fix interpolation after empty string literal Rangi42 2025-07-31 15:17:11 -04:00
  • d1829ed923 Release v0.9.4 v0.9.4 Rangi42 2025-07-31 07:41:49 -04:00
  • 6d53bc4121 Simplify toggling of enabling/disabling expansions Rangi42 2025-07-31 06:36:22 -04:00
  • 32b5ef5095 Expand the test for {interpolation} after two double quotes Rangi42 2025-07-31 07:07:49 -04:00
  • a36f2b3b7d Add test for {interpolation} after two double quotes Rangi42 2025-07-31 03:31:13 -04:00
  • cd4be6aa07 Update test dependencies Rangi42 2025-07-30 14:49:11 -04:00