Commit Graph

1188 Commits

Author SHA1 Message Date
ISSOtm
0649b360fb Allow specifying multiple dependency targets
This is done to match GCC's behavior.
Also, this unifies the code of -MT and -MQ.
2020-01-26 15:32:45 +01:00
ISSOtm
f1f314270d Add -MQ
Just like GCC's -MQ, this is basically -MT but the file name is escaped.
2020-01-26 15:32:45 +01:00
ISSOtm
1fb9f90f0f Add -MT option
Allows overriding the output file in dependencies, which also allows
outputting those without also outputting the object file.
This, again, mimicks GCC's option.
2020-01-26 15:32:45 +01:00
ISSOtm
bfa8da78a6 Add -MP option
Adds a phony target to every included file, mimicking gcc's
2020-01-26 15:32:45 +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
4fe44447a2 Add license headers where missing 2020-01-19 11:11:36 +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
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
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
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
676800476d Merge pull request #430 from ISSOtm/known_selfbank
Make `BANK(@)` and `BANK("section")` known to RGBASM
2020-01-08 18:56:28 +01:00
Eldred Habert
4dfa3157e5 Merge pull request #454 from ISSOtm/unlocked_windows
Fix mingw build
2020-01-08 13:14:13 +01:00
Eldred Habert
f26cfa2d94 Merge pull request #455 from ISSOtm/man
Overhaul RGBDS man pages and help messages
2020-01-07 22:44:58 +01:00
ISSOtm
1c4cb2cd2d Add warning option to RGBASM man synopsis 2019-12-29 17:38:46 +01:00
ISSOtm
6959b76749 Rework help/usage messages
Trimmed down the option lists as per @bentley's request;
Reinstated the man pages' synopsis
2019-12-29 17:38:08 +01:00
ISSOtm
8a1e920e23 Fix incorrect line counting when running REPT blocks.
Fixes #461
2019-12-12 23:46:16 +01:00
ISSOtm
606519c515 Touch up ds documentation as per rednex#350 2019-12-12 23:22:51 +01:00
ISSOtm
34618e0294 Overhaul RGBDS man pages and help messages 2019-12-12 23:22:51 +01:00
ISSOtm
b30dfb166b Fix a line over 80 chars 2019-12-08 00:08:44 +01:00
ISSOtm
36db3257f3 Align fatalerror return code with every other one 2019-12-08 00:07:48 +01:00
ISSOtm
b49e025703 Allow BANK() in constexpr expressions 2019-12-07 23:43:02 +01:00
ISSOtm
02fe73d1f3 Make BANK("Section") known at assembling time when possible
If the target section is in the current file and its bank is known,
this means this value is known prior to linking.
2019-12-07 22:15:07 +01:00
ISSOtm
74f43d4e09 Add a way to seek a SECTION by name without creating one 2019-12-07 22:15:07 +01:00
ISSOtm
54ed050ecf Make BANK(@) known at assembling time when possible
If the current section's bank is fixed, this means this value is
known prior to linking.
2019-12-07 22:12:57 +01:00
ISSOtm
b62832e94d Move empty entries warning to -Wextra
Since the behavior actually kinda makes sense, it's better as extra.
2019-12-07 02:48:06 +01:00
ISSOtm
e5820312d4 Document actual behavior of empty entries in db and co 2019-12-07 02:46:59 +01:00
ISSOtm
f710f21ad8 Reorder warnings alphabetically 2019-12-06 12:06:21 +01:00
ISSOtm
90fefb468b Remove user warnings from -Wall
It does not make sense to include it there, as it's enabled by default.
2019-12-06 12:06:21 +01:00
ISSOtm
21f4cafef5 Make -Werror= with a meta warning an error
The previous behavior was to just enable the meta warning's warnings.
This is an error now because it doesn't make sense to do that, does it?
2019-12-06 12:06:21 +01:00
ISSOtm
b1d4be66e4 Remove deprecated "section charmap" feature 2019-12-04 01:56:06 +01:00
ISSOtm
ef43ae0eea Add a verbose print each time a file is included 2019-12-04 01:55:01 +01:00
ISSOtm
5718354500 Get rid of joinexpr()
This macro hid away the arguments to the underlying call, and served
no purpose beyond saving the programmer some typing. This is 2019,
people have IDEs (even Vim!) with autocompletion.
2019-12-04 00:21:57 +01:00
ISSOtm
2d7d9eef9f Fix some make checkcodebase errors
- Reorder checkpatch ignore flags alphabetically
- Fix checkpatch WARNINGs and CHECKs when they make sense
- Add more checkpatch ignores
2019-12-04 00:16:28 +01:00
ISSOtm
d93ad2e650 Rename all functions imported from musl
This is to avoid conflicting with libraries, which occurred in the mingw builds
2019-11-23 23:08:44 +01:00
ISSOtm
ea003487aa Use trap_ instead of abort() for consistency 2019-11-23 21:59:36 +01:00
ISSOtm
191ee4ba1f Add support for toggleable warnings 2019-11-18 20:45:21 +01:00
Eldred Habert
197f1e9b7b Merge pull request #444 from ISSOtm/fix_develop
Fix errors in `make develop`
2019-11-06 08:34:37 +01:00
Eldred Habert
7063f66b2d Merge pull request #450 from ISSOtm/labels_in_sections
Prevent creating labels outside of sections
2019-11-06 08:33:25 +01:00
ISSOtm
0649e6d65f Add long options 2019-11-06 00:48:41 +01:00
ISSOtm
122f5fe12e Prevent creating labels outside of sections
This doesn't make sense, and causes RGBLINK to misbehave
2019-11-04 08:35:00 +01:00
Eldred Habert
ff8e38fcc6 Merge pull request #441 from ISSOtm/linker_error_stack
Make linker output error stacks instead of their top level
2019-11-03 16:41:09 +01:00