Eldred Habert
ac6232bc87
Merge pull request #473 from ISSOtm/shift_ub
...
Remove undefined behavior from shifts
2020-02-03 03:49:38 +01:00
ISSOtm
b16ec83a33
Add gbdiff.bash script
...
This script allows diffing two Game Boy ROMs using `xxd` and `diff` and
attempts to augment the diff using information pulled from SYM files.
It's not part of RGBDS proper, but can be useful to debug tests (when ROMs fail
to match).
2020-01-30 02:43:31 +01:00
ISSOtm
ed72baca2a
Make more symbol functions const
...
Can't hurt to specify those as they are now. Perhaps it'll enable slightly more
compiler optimizations, too?
2020-01-30 02:38:33 +01:00
ISSOtm
edb562d2e5
Mark a few symbol functions as static
2020-01-30 02:19:36 +01:00
ISSOtm
6d4b128611
Avoid unnecessary copies in symbol init
2020-01-30 02:15:43 +01:00
ISSOtm
e2e01e84fa
Fall back from failure in time a bit better
2020-01-30 02:07:55 +01:00
ISSOtm
93ee417567
Fix timestamp symbols on Windows (partially)
...
Windows does not honor `%F` nor `%T` in `strftime`. These are worked around
by writing the full format they serve as a short for.
However, Windows also treats `%z` and `%Z` identically, where SUS instead
requires `%z` to output a ±XXXX offset.
Since the current information is broken (no information), this isn't *breaking*
anything, but at least provides something a human will probably understand.
`__ISO_8601_UTC__` is unaffected because it hardcodes the timezone character,
only `__ISO_8601_LOCAL__` suffers from this.
2020-01-30 01:47:50 +01:00
ISSOtm
44cdcd12c3
Use tput for formatting escape sequences
2020-01-28 21:04:41 +01:00
ISSOtm
ed06981f57
Add test for db X, @
...
It should behave identically to both of these on separate lines
2020-01-28 21:04:41 +01:00
Eldred Habert
ec6c42e9d6
Merge pull request #467 from ISSOtm/report
...
Report failing file names in comparisons
2020-01-28 18:59:11 +01:00
ISSOtm
b11d121c48
Remove undefined behavior from shifts
...
`asl` and `asr` in `src/link/patch.c` courtesy of @pinobatch, and rearranged in RGBASM
evaluators.
2020-01-28 12:37:38 +01:00
ISSOtm
cdf6000618
Report failing file names in comparisons
...
The files being diffed (especially for variants) are temp files, so their
names are pretty nondescript. This improve error output, using ANSI escape
sequences to make those lines stand out.
2020-01-28 11:44:50 +01:00
ISSOtm
1bd41bf79a
Don't use diff to compare bin files in tests
2020-01-26 21:10:31 +01:00
ISSOtm
08ab34cf57
Fix a few checkpatch warnings in symbol.h
2020-01-26 18:26:57 +01:00
Eldred Habert
fb81733b2b
Merge pull request #472 from ISSOtm/romx-tiny
...
Allow ROMX and WRAMX sections in restricted modes
2020-01-26 14:48:32 +01:00
Eldred Habert
e7eac583da
Merge pull request #477 from ISSOtm/sym_overhaul
...
Overhaul the symbol system
2020-01-26 14:30:47 +01:00
ISSOtm
cd107855e7
Test new working label subtractions
2020-01-24 03:03:18 +01:00
ISSOtm
ab9307ac61
Clean up symbol management
...
Stop using that bitfield for everything, including what can be determined otherwise
It also makes it easier to have a sane state, since some bits were (supposedly)
mutually exclusive
2020-01-24 02:51:48 +01:00
ISSOtm
e3ef194b4f
Remove local label error checking
...
This is actually not necessary, because RGBLINK would warn about missing labels.
Besides, through semi-esoteric ways, it is possible to define more labels in this scope,
and there's no reason to prevent that.
2020-01-24 02:51:48 +01:00
ISSOtm
ab4ca9ad8c
Make symbol ref in patch symbols constant
2020-01-24 02:51:48 +01:00
ISSOtm
3fb5648880
Actually rely on createsymbol never returning NULL
...
This reduces complexity, basically
2020-01-24 02:51:48 +01:00
ISSOtm
a7c0616cd8
Rename export type enum to that
...
This prevents a conflict in the next commit
2020-01-24 02:51:48 +01:00
ISSOtm
51d5ff0567
Test subtracting labels
2020-01-24 02:50:24 +01:00
ISSOtm
0665146dcd
Report line info on empty RPN stack
2020-01-21 03:12:43 +01:00
ISSOtm
1f8422575e
Test that all-instructions does not error out
2020-01-21 03:05:22 +01:00
ISSOtm
61c381a62c
Systemize RGBLINK testing
2020-01-21 03:01:58 +01:00
ISSOtm
56d5f1588a
Do not run .pipe tests if the normal variant fails
...
They'll most likely fail as well, just adding redundant error output
2020-01-21 00:27:28 +01:00
ISSOtm
c05334dfc1
Upgrade testing to latest disasm commits
2020-01-20 14:51:25 +01:00
Eldred Habert
09d6c7a54f
Merge pull request #475 from ISSOtm/licensing
...
Add license headers where missing
2020-01-19 15:45:46 +01:00
ISSOtm
4fe44447a2
Add license headers where missing
2020-01-19 11:11:36 +01:00
ISSOtm
23c600eef5
Remove unnecessary gitignore file
...
This became unnecessary when the linker script parser was rewritten ad-hoc
2020-01-19 11:02:47 +01:00
ISSOtm
50f091ab7c
Fix RGBLINK failing to read args on certain machines
...
`char` has implementation-defined signedness, and if it's chosen to be unsigned,
then -1 gets converted to 255, which is then promoted back to `int` as... 255,
always failing the loop condition in src/link/main.c:118
`int8_t` has the correct signedness, but considering `musl_getopt_long_only`
returns `int`, better use that so as not to lose any bits
2020-01-18 22:12:25 +01:00
ISSOtm
7437f7eb85
Clarify redefinition error message
2020-01-17 03:53:27 +01:00
ISSOtm
d6a99981d6
Fix checkcodebase warnings
2020-01-16 22:31:24 +01:00
ISSOtm
71fe652556
Allow ROMX and WRAMX sections in restricted modes
...
Closes #462 , although with this implementation `BANK("some ROMX section")` would
return 0 instead of 1, which I think is benign anyways
2020-01-16 22:24:05 +01:00
ISSOtm
89917ef688
Put semicolons before labels in test suite
2020-01-16 22:09:31 +01:00
Eldred Habert
097e4c9799
Merge pull request #468 from ISSOtm/include_stem
...
Enforce trailing slash in include paths
2020-01-16 19:18:00 +01:00
ISSOtm
2c37a1e971
Fix default warning states
...
They were in the wrong order for some reason, this especially caused user
warnings to be off by default
2020-01-16 19:16:54 +01:00
ISSOtm
2c52364978
Add test for fixed section addresses
2020-01-16 18:12:42 +01:00
ISSOtm
10140f74dc
Allow RGBLINK to report multiple sanity check errors
2020-01-16 18:10:35 +01:00
ISSOtm
558e8f46ff
Sanity check fixed address of sections in RGBLINK
...
This could otherwise cause segfaults while reporting errors (!) during placement
2020-01-16 12:41:23 +01:00
ISSOtm
9ccb71205a
Remove stale clean line
...
Those files don't exist in RGBLINK's source anymore
2020-01-14 11:42:07 +01:00
ISSOtm
e50bcaa272
Enforce trailing slash in include paths
...
Fixes rednex#456
2020-01-13 22:48:59 +01:00
ISSOtm
86a28e8201
Provide string arguments to errors in constexpr_BankSection
...
How the f did it work before
2020-01-13 15:13:19 +01:00
ISSOtm
95cd0c6e53
Add test for BANK() in constant context
2020-01-12 13:09:27 +01:00
ISSOtm
23ab245cec
Return a consistent number for const BANK() when erroring out
2020-01-12 13:07:48 +01:00
ISSOtm
eb82476591
Make bank of "bank 0" sections known to RGBASM
...
This allows `BANK("Some ROM0 section")` to be used in a constant expression
2020-01-10 14:57:39 +01:00
ISSOtm
f1f70d250a
Add test for DEF(@)
2020-01-09 06:10:28 +01:00
ISSOtm
98a221d6b6
Add test for DEF(@)
2020-01-09 02:10:48 +01:00
Eldred Habert
fb22d12b0f
Merge pull request #463 from ISSOtm/windows_test_suite
...
Run tests on MinGW versions
2020-01-09 01:15:47 +01:00