Compiler: Add early error for output path being a directory.

- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.

TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
This commit is contained in:
Jeroen van Rijn
2022-04-24 13:37:26 +02:00
parent 5422a3b17e
commit 3cab2592c3
15 changed files with 676 additions and 406 deletions
+2 -2
View File
@@ -8,10 +8,10 @@ COMMON="-collection:tests=tests -out:tests/issues/build/test_issue"
set -x
./odin build tests/issues/test_issue_829.odin $COMMON -file
tests/issues/build/test_issue
tests/issues/build/test_issue.bin
./odin build tests/issues/test_issue_1592.odin $COMMON -file
tests/issues/build/test_issue
tests/issues/build/test_issue.bin
set +x