Rangi
14e6a79adc
Deprecate the old macro syntax ( #1025 )
...
Fixes #1011
2022-08-28 15:22:21 -04:00
Rangi
7a2ee26792
rgbasm -r sets the maximum recursion depth (#1026 )
...
Previously it set the minimum failure depth (off by one)
Fixes #978
2022-08-28 15:21:29 -04:00
Rangi
425339ccf6
Implement FMOD function for fixed-point modulo
...
Fixes #1021
2022-08-28 21:21:10 +02:00
Rangi
8207dc57b7
Add a -Wunmapped-char warning for characters not in the charmap ( #1023 )
...
Fixes #1022
2022-08-28 15:12:43 -04:00
ISSOtm
9ec8186ac6
Switch linkdefs from scattered arrays to an array of structs
...
The info is better organized this way
2022-07-19 19:11:02 +02:00
ISSOtm
ab9945c1ee
Avoid using fscanf to detect RGBDS object files
...
This function is made for text, e.g. accepts spaces, leading zeros, etc. before `%u`.
This way checks that the correct amount of bytes are read instead.
2022-07-19 19:10:58 +02:00
ISSOtm
43ba7d0efb
Explain to static analyzer that initial symbol creation cannot fail
2022-06-12 16:49:06 +02:00
ISSOtm
f5ac268989
Fix unchecked realloc in makeUnknown
2022-06-12 16:36:35 +02:00
ISSOtm
d51ab35203
Trim macro arg whitespace after line continuations
2022-06-09 00:07:27 +02:00
ISSOtm
97c326942f
Warn about automatic instruction alterations
...
Step 1 of #986
2022-05-21 21:49:07 +02:00
ISSOtm
b037d54f64
Remove deprecated symbols
...
Fixes #896
2022-05-21 21:45:06 +02:00
ISSOtm
7e94ecbfe6
Move all man pages to a separate directory
...
Simplifies processing all around, and makes more sense
2022-05-15 13:34:35 +02:00
ISSOtm
af70d555fc
Remove signed check on unsigned variable
2022-03-09 08:40:49 +01:00
Eldred Habert
e07bd92314
Have the eqn preprocessor run on rgbasm(5)
...
This is required for the built-in functions (L315-337), otherwise the math syntax doesn't get processed.
This magic line is detected by most `man` impls:
https://www.gnu.org/software/groff/manual/html_node/Preprocessors-in-man-pages.html
2022-03-08 22:11:49 +01:00
ISSOtm
7dd8ba37f1
Allow changing recursion depth limit at runtime
2022-02-05 20:32:56 +01:00
Eldred Habert
6842c831fd
Allow binary AND to be sometimes constant ( #976 )
2022-02-05 14:17:57 -05:00
Eldred Habert
6b903059fe
Document endianness of dw and dl ( #972 )
2022-02-05 14:12:35 -05:00
ISSOtm
eb5af70d79
Add unsigned right shift operator
2022-02-05 20:12:15 +01:00
ISSOtm
ac59ecf3c0
Enable -Wsign-compare and fix the warnings
2022-02-05 20:11:25 +01:00
ISSOtm
bbae9966e9
Fix string constness issues in RGBASM
2022-02-05 20:11:25 +01:00
Rangi
4ed5ba7508
Finish using time_utc before initializing time_local
...
gmtime and localtime may share the same static internal struct tm,
so they cannot both be initialized and then used.
2022-01-27 22:32:34 -05:00
Rangi
20a26599a3
Simplify allocating multiple ds args
...
Dealing with indexes is only necessary for `strfmt`
2021-12-01 20:24:31 -05:00
Rangi
7bdfc9da23
Really don't use new as a variable name
2021-11-30 17:06:36 -05:00
Rangi
d073cffa74
Don't use new as a variable name
...
It conflicts with the C++ keyword
2021-11-24 22:48:28 -05:00
Rangi
8435a29c4e
Turn the readChars macro into a readInternal function
...
This macro was only used twice, and the second usage did
some unnecessary work.
2021-11-25 00:26:23 +01:00
Rangi
c2ca46c27d
Remove TRACE_PARSER support
...
Attempting to build with this gave an "undefined reference to `yydebug'"
error (maybe a version issue with bison?), and I don't think it's been
used for recent parser debugging either.
2021-11-22 23:49:59 +01:00
Rangi
aac839f389
Remove dbgPrint and TRACE_LEXER support
...
I have not found `TRACE_LEXER` to be useful in debugging
actual lexer issues.
2021-11-22 23:49:59 +01:00
Rangi
9d9febe1d3
Consistent title case for rgbasm.5 headings
2021-11-22 17:12:16 -05:00
Rangi
b9fd85470e
Reword docs now that SET is deprecated ( #946 )
...
- '=' constants are "variables" (not "mutable constants")
- EQU constants are "numeric constants" (not "immutable constants")
- EQUS constants are "string constants" (not "string equates")
- DS declarations are "static allocations" (not "variables")
2021-11-22 17:08:29 -05:00
Rangi
ec6d63bce3
Allow underscores in gfx literals ( #951 )
...
Fixes #950
2021-11-21 16:18:23 -05:00
Rangi
bdcef6f252
Refactor error reporting to simplify BSD-style err ( #949 )
2021-11-21 16:16:54 -05:00
ISSOtm
b04e71ed34
Use correct length type for Abs*Group
2021-11-21 18:28:42 +01:00
Rangi
f82603f196
Lowercase "error:" in -Werror output
2021-11-20 11:21:46 +01:00
Rangi
cedfd2582a
Move more statements into for loop clauses
2021-11-19 22:55:20 -05:00
Rangi
c7322258fc
Refactor readGfxConstant for consistency, and edit warning message
2021-11-19 21:36:56 -05:00
Rangi
8e2a164a32
Implement compound assignment operators for mutable constants
...
Fixes #943
2021-11-19 08:50:00 +01:00
Rangi
b76819792d
Deprecate SET in favor of =
...
`SET` is redundant with `=`, and is already the name of an instruction.
2021-11-19 00:05:49 +01:00
Rangi
3e945679ad
Standardize on "east const" (type const * not const type *)
...
Avoid "WARNING: Move const after static - use 'static const char'"
2021-11-18 09:12:00 +01:00
Rangi
efccf6c931
A few stylistic tweaks
...
- `goto free_romx` -> the more typical `goto cleanup`
- `goto fail` -> the more typical `goto finish`
- Remove a redundant `todo` variable
2021-11-17 23:51:40 -05:00
Rangi
e5552e27f2
strrstr can take and return char const *
2021-11-17 22:47:05 -05:00
Rangi
438963fb24
Remove unused #include "extern/utf8decoder.h" ( #940 )
...
Fixes #937
2021-11-12 23:37:19 +01:00
Rangi
0bb815edc0
Implement -Wnumeric-string[=0|1|2] ( #935 )
...
Fixes #934
2021-11-12 23:09:35 +01:00
Rangi
55a02981b5
Small updates to documentation wording ( #939 )
...
Fixes #936
2021-11-12 23:06:02 +01:00
ISSOtm
b06e3b239d
Clean up -MT/-MQ code
...
Remove unreachable argument presence check (handled by `getopt`)
Merge allocation paths into a single `realloc` call
Avoid searching for string lengths multiple times
Tiny (compatible) change: no space between last dependent and colon if
`-MT` or `-MQ` is specified
2021-11-06 13:21:39 +01:00
Rangi
47442941b6
Support ! operator for condition codes ( #720 )
...
Fixes #719
2021-11-02 00:16:52 +01:00
Rangi
11a6a81169
Implement -Wtruncation=level ( #931 )
...
* Implement -Wtruncation=level
-Wtruncation=0 is the same as the current -Wno-truncation.
-Wtruncation=2 is the same as the current -Wtruncation.
-Wtruncation=1 is the new default; it's less strict, allowing
N-bit values to be between -2**N and 2**N (exclusive).
* Implement generic "parametrized warning" system
* Test more `Wtruncation` variants
Co-authored-by: ISSOtm <eldredhabert0@gmail.com >
2021-10-31 17:47:31 -04:00
Eldred Habert
a378d1e8cb
Reword label definition docs ( #887 )
...
* Reword label definition docs
A bunch of short sentences isn't very readable, this should be better
* Use correct wording for "computing difference"
Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com >
* Explain how to define a label before mentioning local ones
* Move double-colon paragraph to make the explanation flow better
* Clarify what a label's value is
Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com >
2021-10-31 20:20:57 +01:00
ISSOtm
1a07391a97
Introduce ARRAY_SIZE macro
...
Checked by `checkpatch`, and you know what? Not a bad thing
See https://github.com/gbdev/rgbds/pull/931#discussion_r738856724
2021-10-31 07:53:33 +01:00
Rangi
b002d95459
Fix precison of fixed-point formatting
...
Fixes #908
2021-10-28 23:29:16 +02:00
Eldred Habert
00a67c3fb2
Clarify xref to fmt spec
...
Co-authored-by: Rangi <35663410+Rangi42@users.noreply.github.com >
2021-09-09 15:08:52 +02:00