ISSOtm
eb445271df
Remove carryover from RGBASM in RGBLINK tests
2020-03-20 21:50:38 +01:00
ISSOtm
af22cf182b
Simplify out_PCRelByte by using PC
2020-03-20 20:22:19 +01:00
ISSOtm
5a0fcda4c8
Prevent POPS within LOAD blocks
2020-03-20 18:57:37 +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
deb91f679d
Reset symbol scope on every section change
2020-03-20 17:59:47 +01:00
ISSOtm
fb5e768142
Prevent using LOAD blocks outide code sections
2020-03-20 16:37:10 +01:00
ISSOtm
ecf44c784c
Reject including directories
2020-03-20 01:24:53 +01:00
ISSOtm
5bca1172ff
Fix section continuation when only one bank exists
2020-03-19 23:07:07 +01:00
ISSOtm
136446fccb
Improve checking of RST and LDH values at assembly time
2020-03-15 15:23:39 +01:00
ISSOtm
49bca8d588
Fix misnamed hashmap function
2020-03-15 15:23:39 +01:00
ISSOtm
7ddbe44b21
Use hashmap system for charmap
2020-03-15 15:23:32 +01:00
ISSOtm
af60e7f74a
Allow charmap creation even if its base doesn't exist
2020-03-15 00:40:45 +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
7b54312d97
Deprecate OPT z in favor of OPT p
...
Fixes #298
2020-03-14 17:09:15 +01:00
ISSOtm
5b98beec8b
Use left recursion instead of right
...
> Any kind of sequence can be defined using either left recursion or right
> recursion, but you should always use left recursion, because it can
> parse a sequence of any number of elements with bounded stack space.
https://www.gnu.org/software/bison/manual/html_node/Recursion.html
2020-03-14 16:22:33 +01:00
ISSOtm
6662c86d5e
Define 3-bit value when invalid
2020-03-14 16:17:30 +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
61897d8b52
Fix warning.h not including a required header
2020-03-14 11:33:51 +01:00
ISSOtm
a259f53b52
Rename macro functions with proper prefix
2020-03-13 23:20:27 +01:00
ISSOtm
ffdb1fbfe5
Split macro arg management into its own file
...
It has no relation to symbols, and helps a tiny bit deflate `symbol.c`
2020-03-11 02:39:36 +01:00
ISSOtm
4b33b4b387
Remove forward decl of nonexistent function
...
I can only assume it was for debugging? (No, I'm not looking it
up the history)
2020-03-11 02:21:30 +01:00
ISSOtm
8fcdcb1731
Implement ISCONST, reporting compile-time constness
2020-03-11 02:15:31 +01:00
ISSOtm
55b911654c
Get rid of obsoleted function
2020-03-11 01:46:26 +01:00
ISSOtm
7c8eba9fd2
Remove error message causing segfault
...
This was utterly stupid. The check right above ensured that `sym` was NULL,
ergo that the argument to `yyerror` *would* segfault.
The only two call sites cannot pass a non-NULL pointer anyways, which I'm
betting is why this went unnoticed.
I did what an optimizing compiler would do anyways: remove the dead code.
2020-03-11 00:39:57 +01:00
ISSOtm
23effcc3f0
Fix error messages in sym_GetConstantValue
2020-03-11 00:16:35 +01:00
ISSOtm
ea0c5581a5
Prevent deletion of built-in symbols
2020-03-10 23:25:33 +01:00
ISSOtm
2ea329c920
Make symbol creation funcs return ptr to symbol
2020-03-10 16:36:02 +01:00
ISSOtm
3948795d49
Remove deprecated section types
2020-03-10 16:08:09 +01:00
ISSOtm
13e4920122
Get rid of comma token
2020-03-10 16:08:09 +01:00
ISSOtm
88b1121037
Uniformize style in asmy.y
2020-03-10 16:08:02 +01:00
ISSOtm
d2a97e934b
Remove obsolete instruction forms
2020-03-10 15:50:11 +01:00
ISSOtm
cb3997d8c9
Fix org location being undefined when incorrect
2020-03-10 15:37:33 +01:00
ISSOtm
c7320a49a9
Deprecate GLOBAL and XDEF
...
They're basically synonyms for `EXPORT`, and the latter isn't
even documented!
2020-03-10 13:49:55 +01:00
ISSOtm
8d9a896166
Remove deprecated IMPORT symbol
...
It had a warning that it had no effect for a long while now; removing it so
the name can be re-used
2020-03-10 13:43:15 +01:00
ISSOtm
81a057416f
Remove typing for operators that don't need it
2020-03-08 16:26:09 +01:00
ISSOtm
361326e06c
Allow inlining of two simple RPN functions
2020-03-07 18:18:57 +01:00
ISSOtm
0d31afaff8
Correct four code style issues
2020-03-07 18:09:00 +01:00
ISSOtm
48ad3973a9
Tell the user about "label"s instead of "relocatable"s
...
That's the common term, and even the manual uses it.
2020-03-07 18:04:13 +01:00
ISSOtm
f6f25296a0
Fix passing constant label to BANK() causing an error
2020-03-07 18:02:06 +01:00
ISSOtm
cb62076f8c
Use $(MAKE) instead of make in develop
2020-03-06 18:15:32 +01:00
ISSOtm
8034e567f1
Un-silence make checkpatch in CI
2020-03-06 02:32:46 +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
ISSOtm
5bc8d51a9e
Ignore unused arguments in a more standard way
2020-02-29 16:25:54 +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
6800609fa7
Make RGBLINK check divisions by zero
2020-02-24 17:54:55 +01:00
ISSOtm
dac13ba4bb
Add string format checking to err.h functions
...
And fix all problems this detected... oops
2020-02-24 16:58:55 +01:00
ISSOtm
702075eba6
Add forgotten file name argument to err
2020-02-24 16:58:55 +01:00