ISSOtm
d2285953d7
Fix test missed by last PR
...
We need to fix CI
2020-09-03 14:28:28 +02:00
ISSOtm
9d62b4b9bb
Fix bugs with LOAD section size
...
LOAD blocks did not properly update their parent's size until after closed
Additionally, section size wasn't correctly sanitized inside LOAD blocks
2020-09-03 12:07:12 +02:00
ISSOtm
38a80f2816
Fix test failing on OS-dependent trailing newline
2020-07-27 18:30:12 +02:00
ISSOtm
6563133426
Avoid using echo -e in tests
2020-07-27 18:26:05 +02:00
ISSOtm
762474d3ac
Let RGBASM write JR offsets in floating sections
...
This requires some special-casing for `jr @` because the `jr` opcode has
already been emitted, but not the operand, so PC points to the middle.
Moved the RGBLINK test to RGBASM's folder, and created a new RGBLINK test.
2020-07-27 18:17:29 +02:00
ISSOtm
5481af5093
Release 0.4.1
2020-07-21 23:11:06 +02:00
ISSOtm
1f2f797cb9
Add section fragments
...
Fixes #517 , and hopefully enables RGBDS as a SDCC back-end
2020-07-21 19:56:46 +02:00
aaaaaa123456789
fd52a6f046
Add a test for >256 macro arguments
2020-05-12 07:22:42 -03:00
James Larrowe
5c24de3dc4
Use inttypes for stdint types
...
This should help make RGBDS portable to systems with 16-bit integers,
like DOS.
For kicks, use the macros for 16-bit and 8-bit integers.
Fix other miscellaneous things, like #include ordering and other
printf-format related things.
Reduce repitition in math.c while I'm there.
2020-05-07 11:10:20 -04:00
Eldred Habert
645473e336
Merge pull request #518 from JL2210/warn-parameterless-dx
...
Add empty data directive warning
2020-05-06 16:25:03 +02:00
James Larrowe
bdf397bba7
Add empty data directive warning
...
Fixes #516
2020-05-06 09:50:28 -04:00
ISSOtm
781a65ee49
Fix hashmap collisions sometimes hanging deletion
2020-05-03 19:13:12 +02:00
ISSOtm
c135e2c6a0
Fix local sym names not being expanded by PURGE
...
And an additional bug that broke the attached test
2020-05-03 19:06:48 +02:00
ISSOtm
828edb7403
Remove spurious error from div by zero test
2020-04-12 01:05:06 +02:00
ISSOtm
f9f27d6f5a
Clean up symbol system
...
Get rid of Hungarian notation
Improve encapsulation (the rest of the world should not touch PC directly)
2020-04-09 10:42:37 +02:00
ISSOtm
665412c073
Implement mid-section alignment directive
...
Fixes #254 .
2020-04-08 12:29:00 +02:00
ISSOtm
e098bf47ba
Allow references to be overridden by constant symbols
...
RGBLINK is capable of handling it now.
Though it'd be ideal for RGBASM to directly catch it.
Fixes #496 .
2020-04-07 20:57:20 +02:00
ISSOtm
9f82fa4cf7
Fix BANK(@) outside sections causing crashes
2020-04-07 15:51:17 +02:00
ISSOtm
927c65e863
Fix incorrect PC in LOAD blocks at link time
2020-04-07 14:44:51 +02:00
ISSOtm
4e96cf9875
Release 0.4.0
2020-04-03 12:11:50 +02:00
ISSOtm
bdad1499fe
Merge branch 'release'
2020-04-03 11:58:53 +02:00
ISSOtm
bcfeb49d6b
Allow labels to be passed to DEF
2020-04-02 16:54:41 +02:00
ISSOtm
c0aff678e9
Improve arg-shift test
2020-03-29 12:34:13 +02:00
ISSOtm
a3d8836671
Prevent assertions outside sections from crashing
2020-03-29 12:18:24 +02:00
ISSOtm
84cd9f2db9
Fix segfaults when using PC outside a section
2020-03-27 12:30:09 +01:00
ISSOtm
666b9f8f7b
Add tests for purging symbols
2020-03-24 10:52:45 +01:00
ISSOtm
4877bb783c
Add more tests for unionized sections + fix bugs
...
Implementing those tests found a few bugs... oops
2020-03-22 11:14:04 +01:00
ISSOtm
cb52ae0f26
Implement unionized sections in RGBASM
...
This touched a lot more code than initially expected, for two reasons.
First, this broke a big RGBASM assumption: that sections are always being
written to at their end. This plus other problems required touching
basically the entirety of `section.c`.
Second, I tried different solutions to solve the above problem, and along
the way I cleaned up many things around. (I believe that keeping this to
"cleanup" commits yields subpar results, and since it's boring they get
postponed anyways.)
RGBLINK support still needs to be added, but this will come next.
2020-03-22 11:06:17 +01:00
ISSOtm
46a402f7d7
Prevent passing assertions that RGBASM passed to RGBLINK
2020-03-22 10:46:37 +01:00
ISSOtm
e233c5d256
Don't drop RGBLINK output in RGBASM tests
2020-03-22 10:43:06 +01:00
Eldred Habert
fe824e0068
Merge pull request #490 from ISSOtm/const
...
Implement `ISCONST`, reporting compile-time constness
2020-03-21 23:20:01 +01:00
ISSOtm
fb58166e5d
Add assertions
...
Closes #292
2020-03-21 23:00:38 +01:00
ISSOtm
0759c98d91
Increase version number to 0.3.10
2020-03-21 21:18:14 +01:00
ISSOtm
402ffbf0c5
Add test for version constants
2020-03-21 21:01:25 +01:00
ISSOtm
03967bd623
Prevent purging referenced symbols
...
This is an immediate fix for #492 , although #342 is needed to implement the
desired functionality.
2020-03-21 15:42:52 +01:00
ISSOtm
29623c4146
Test generating direct bytes in LOAD blocks
2020-03-20 18:29:15 +01:00
ISSOtm
ebda8255ff
Improve LOAD test to also test patches inside LOAD section
2020-03-20 18:20:20 +01:00
ISSOtm
2f16e82cf7
Improve PC offset management
...
Basically make it always point to the instruction's first byte.
This was the behavior all whom I asked to intuitively expected.
2020-03-15 00:18:10 +01:00
ISSOtm
2f466c2939
Revamp macro arg system
...
This should significantly improve performance: on pokecrystal builds, perf
reported as much CPU time spent on `yyparse` as on `sym_UseNewMacroArgs`
Measurements show ~6 seconds of improvement on that codebase.
This also fixes #321 , as a bonus, due to saner management!
2020-03-14 16:13:40 +01:00
ISSOtm
8fcdcb1731
Implement ISCONST, reporting compile-time constness
2020-03-11 02:15:31 +01:00
ISSOtm
23effcc3f0
Fix error messages in sym_GetConstantValue
2020-03-11 00:16:35 +01:00
ISSOtm
59546c8980
Un-trivialize expression in long RPN expr test
2020-03-05 04:33:43 +01:00
ISSOtm
eee0e6adc8
Simplify long-rpn-expression.asm test
2020-02-29 16:39:13 +01:00
ISSOtm
fa10ee4356
Deprecate colon-less non-local labels
2020-02-29 16:30:47 +01:00
Eldred Habert
361d6cf517
Merge pull request #437 from rednex/locals
...
Prevent local symbols that are not labels
2020-02-26 02:56:35 +01:00
ISSOtm
4cc24f4369
Add ds cnt, byte syntax
...
As suggested by https://github.com/rednex/rgbds/issues/350#issuecomment-498030458
The order `count` then `byte` was decided after some discussion:
- First argument consistent with single-arg syntax
- Intuitive at least to some people other than myself
- Consistent with other assemblers, at least ca65
2020-02-23 22:43:50 +01:00
ISSOtm
76efd26da0
Prevent local symbols that are not labels
...
Fixes errors brought up in #423
2020-02-19 00:20:58 +01:00
ISSOtm
e941cafedb
Make locals in main scope a non-fatal error
2020-02-18 20:07:44 +01:00
ISSOtm
03fe077b41
Make locals without parent a non-fatal error
2020-02-18 20:07:44 +01:00
ISSOtm
30a95d735a
Improve testing PC
2020-02-13 20:20:35 +01:00