aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Allow -error-pos-style:default as an alias for odinJeroen van Rijn2022-04-281-2/+2
|
* Make -error-pos-style case-insensitive.Jeroen van Rijn2022-04-281-2/+7
|
* Fix -error-pos-style:unixJeroen van Rijn2022-04-281-0/+11
|
* Add `intrinsics.type_is_multi_pointer`gingerBill2022-04-272-0/+4
|
* Add `intrinsics.type_field_type`gingerBill2022-04-272-0/+33
|
* Address edge cases.Jeroen van Rijn2022-04-263-45/+99
|
* Remove redundant bit for non-Windows.Jeroen van Rijn2022-04-241-14/+0
|
* Compiler: Allow -out: to not have an extension on *nix for executables (only).Jeroen van Rijn2022-04-241-1/+3
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-249-383/+652
| | | | | | | | | | | | - 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.
* Fix #1713gingerBill2022-04-142-3/+5
|
* Add -help to CI tests.Jeroen van Rijn2022-04-051-2/+10
|
* Give build/run/check/test/doc a `-file` flag.Jeroen van Rijn2022-04-052-89/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A package has canonically always been a directory, but odin allowing you to build a single-file package confused newcomers who didn't understand why they could then not access variables and procedures from another file in the same directory. This change disallows building single-file packages by default, requiring the `-file` flag to acknowledge you understand the nuance. `-help` for these commands also clarifies the difference. ``` W:\Odin>odin build -help odin is a tool for managing Odin source code Usage: odin build [arguments] build Compile directory of .odin files as an executable. One must contain the program's entry point, all must be in the same package. Use `-file` to build a single file instead. Examples: odin build . # Build package in current directory odin build <dir> # Build package in <dir> odin build filename.odin -file # Build single-file package, must contain entry point. Flags -file Tells `odin build` to treat the given file as a self-contained package. This means that `<dir>/a.odin` won't have access to `<dir>/b.odin`'s contents. ``` ``` W:\Odin>odin run examples\demo\demo.odin ERROR: `odin run` takes a package as its first argument. Did you mean `odin run examples\demo\demo.odin -file`? The `-file` flag tells it to treat a file as a self-contained package. ```
* Add extra help line for define/config.Jeroen van Rijn2022-04-031-0/+1
|
* Merge pull request #1686 from Kelimion/compile-time-assertgingerBill2022-04-021-5/+27
|\ | | | | Allow optional message for `#assert`.
| * Allow optional message for `#assert`.Jeroen van Rijn2022-04-021-5/+27
| |
* | Add extra checks to atomic intrinsicsgingerBill2022-04-021-0/+45
| |
* | `intrinsics.atomic_type_is_lock_free`gingerBill2022-04-025-4/+47
|/
* Change `intrinsics.Atomic_Memory_Order` fields to use `Ada_Case` rather than ↵gingerBill2022-03-312-12/+12
| | | | `snake_case`
* Add checks for memory ordering on fencesgingerBill2022-03-311-6/+20
|
* Correct weak handlinggingerBill2022-03-311-1/+2
|
* Enforce success failure pairings of `compare_exchange_*_explicit` at compile ↵gingerBill2022-03-312-9/+96
| | | | time
* Replace the atomic intrinsicsgingerBill2022-03-316-324/+272
| | | | Matching C11 in style
* Add `intrinsics.wasm_memory_grow` `intrinsics.wasm_memory_size`gingerBill2022-03-304-2/+114
|
* Merge branch 'master' of https://github.com/odin-lang/OdingingerBill2022-03-301-0/+4
|\
| * Merge pull request #1671 from colrdavidson/add_nocrtgingerBill2022-03-301-0/+4
| |\ | | | | | | Make no crt work on Linux
| | * Make no crt work on LinuxColin Davidson2022-03-301-0/+4
| | |
* | | Correct `atomic_cxchg_*` `atomic_cxchgweak_*` intrinsics behaviour to ↵gingerBill2022-03-301-8/+16
|/ / | | | | | | monotonic on failure for acq, rel, and acqrel
* | Use `WIFEXITED()` and `WEXITSTATUS()` on Unix `system()` exit codegitlost2022-03-241-0/+3
| | | | | | | | | | (ensures Odin run returns correct exit code of built executable) Adds test "tests/core/os/test_core_os_exit.odin" (Unix only)
* | Make constant string backing structures use PrivateLinkage compared to ↵gingerBill2022-03-241-3/+3
| | | | | | | | InternalLinkage
* | `union #shared_nil`gingerBill2022-03-249-32/+103
| | | | | | | | This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
* | Fix issue #829 "Compiler crashes when declaring maps with procedure"gitlost2022-03-231-0/+1
| | | | | | | | | | | | Inits `o->value` in `check_expr_base_internal()` so doesn't accidentally use last (the proc lit was being set to that of previous string) Adds test to "tests/issues" and changes CI to use new "run" shells
* | Merge pull request #1632 from gitlost/const_in_if_#1592gingerBill2022-03-213-6/+18
|\ \ | | | | | | Fix issue #1592 "LLVM code gen error when using a constant in an if"
| * | Fix issue #1592 "LLVM code gen error when using a constant in an if"gitlost2022-03-183-6/+18
| | | | | | | | | | | | | | | | | | | | | Changes lb_build_if_stmt() to return null lbValue if condition is cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt() to avoid short circuiting if that's the case Adds test to "tests/issues" and adds step in CI to check this dir
* | | Improve procedure group selection based on the minimum number of argumentsgingerBill2022-03-185-31/+82
|/ /
* | Fix #1610gingerBill2022-03-141-29/+21
| |
* | Fix `#1609`gingerBill2022-03-141-0/+6
|/
* Merge pull request #1505 from jasonKercher/fix_odin_testgingerBill2022-03-141-3/+7
|\ | | | | fix `odin test`
| * Merge remote-tracking branch 'upstream/master' into fix_odin_testJason Kercher2022-03-0924-204/+640
| |\
| * | improve entry point check logicCiD-2022-02-171-3/+2
| | |
| * | fix odin testCiD-2022-02-161-0/+5
| | |
* | | Merge branch 'master' into freestanding_amd64gingerBill2022-03-1416-88/+301
|\ \ \
| * | | #Fix 1615 Replace `llvm.readcyclecounter` with `cntvct_el0` on arm64gingerBill2022-03-122-7/+16
| | |/ | |/|
| * | Fix #1607gingerBill2022-03-091-0/+15
| | |
| * | Fix typogingerBill2022-03-091-1/+1
| | |
| * | Fix typogingerBill2022-03-091-1/+1
| | |
| * | Replace `#if` with `if` where possiblegingerBill2022-03-081-16/+16
| | |
| * | Refactor link flag creation for nix systemsgingerBill2022-03-081-26/+31
| | |
| * | Linux: allow 'foreign import' of object fileskstrb2022-03-051-2/+2
| | |
| * | Merge pull request #1575 from jockus/fix_relative_slice_lengingerBill2022-03-043-4/+4
| |\ \ | | | | | | | | Add relative slice to type checks for built in len
| | * | Add relative slice to type checks for built in lenJoakim Hentula2022-03-023-4/+4
| | | |