aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make static map calls the default; add `-dynamic-map-calls`gingerBill2023-02-031-4/+9
|
* Use C++ `for` rather than `for_array` macrogingerBill2023-01-291-72/+47
|
* Fix minor possible race conditiongingerBill2023-01-161-1/+1
|
* Add `/NOIMPLIB /NOEXP` on MSVC linker by default when building an executablegingerBill2023-01-141-0/+6
|
* Update `debugf` usagegingerBill2023-01-141-0/+4
|
* Comment out allocator guards for the time beinggingerBill2023-01-121-1/+1
|
* Make the `heap_allocator` just be the `permanent_allocator`gingerBill2023-01-121-2/+11
| | | | This improves the speed of the compiler with very little memory increase (which surprised me, Ginger Bill)
* Make `-threaded-checker` the default not (opt out with `-no-threaded-checker`)gingerBill2023-01-111-15/+1
|
* Multithread LLVM procedure generationgingerBill2023-01-051-11/+11
|
* General improves to `alloc_ast_node` and other unnecessary checksgingerBill2023-01-031-2/+2
|
* Make all maps use heap allocator implicitlygingerBill2023-01-031-1/+1
|
* Use heap_allocator for all hash set typesgingerBill2023-01-031-4/+4
|
* Remove unneeded mutexgingerBill2023-01-021-2/+1
|
* Correct a race condition when checking the procedure bodygingerBill2023-01-021-0/+5
|
* Remove `global_` prefix from `global_thread_pool_*` proceduresgingerBill2023-01-021-2/+2
|
* Remove the synchronization primitive init/destroy callsgingerBill2023-01-011-5/+0
|
* Merge branch 'master' into compiler-improvements-2022-12gingerBill2022-12-211-2/+2
|\
| * Enable -out:<filepath> for build and runs with the attribute @(test)Thomas Stibor2022-12-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the odin help command $ odin help test ... -out:<filepath> Set the file name of the outputted executable Example: -out:foo.exe building and running tests the executable output filepath shall be specified. However, the -out parameter is disabled, resulting in error message: Unknown flag for 'odin test': 'out' 'out' is supported with the following commands: run, build Omitting the -out parameter results in default filepath '01.bin' (on Linux). However, it is desirable for user specifying the output filepath, e.g. by using this Makefile snippet: TARGET=main FLAGS=-warnings-as-errors -verbose-errors all: run run: @odin run . $(FLAGS) -out:$(TARGET) test: @odin test . $(FLAGS) -out:$(TARGET) clean: @rm -f $(TARGET) In addition a typo is fixed.
* | Remove dead code in the compilergingerBill2022-12-181-68/+9
| |
* | `gb_internal` a lotgingerBill2022-12-181-21/+21
|/
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-0/+6
| | | | add `runtime.map_get`
* Add -minimum-os-version flagJeroen van Rijn2022-11-011-10/+16
| | | | | Allow for Darwin targets to specify the minimum OS version: e.g. -minimum-os-version:12.0.0
* Add missing newline.Jeroen van Rijn2022-11-011-1/+1
|
* Clarify -define help.Jeroen van Rijn2022-11-011-2/+2
|
* Remove formerly deprecated `-opt` flag.Jeroen van Rijn2022-10-281-36/+16
|
* Add LLVM > 14 check to main.cpp for Darwin.Jeroen van Rijn2022-10-271-0/+3
|
* Simplify win32 resource file linkinggingerBill2022-09-071-33/+20
|
* Add `help` verb, e.g. `odin help build`.Jeroen van Rijn2022-09-051-9/+17
|
* Improve error message when you use -file as the verb.Jeroen van Rijn2022-09-051-1/+6
|
* Do not remove .rc extension from resource path to prevent expansion to full ↵Joakim Hentula2022-08-101-1/+1
| | | | path assuming it's a directory if a folder with the same name exists in the same folder as the resource file
* find windows sdk bin path for rc.exeIan Lilley2022-08-071-1/+5
|
* fix -build-mode:shared on MacOSWes Hardee2022-06-301-2/+9
|
* Improvements to `-strict-style` and trailing commasgingerBill2022-06-131-1/+1
|
* `@(require_target_feature=<string>)` `@(enable_target_feature=<string>)`gingerBill2022-05-301-2/+2
| | | | | require_target_feature - required by the target micro-architecture enable_target_feature - will be enabled for the specified procedure only
* Increase minimum macOS version to 10.12.0gingerBill2022-05-181-2/+2
|
* Remove unneeded `#if defined`gingerBill2022-05-041-4/+0
|
* Minor move around for path setsgingerBill2022-05-041-4/+8
|
* Remove stray linegingerBill2022-05-041-1/+0
|
* Make the link order of foreign imports deterministicgingerBill2022-05-041-278/+294
|
* Small fix to deprecation warning.Jeroen van Rijn2022-05-041-1/+1
|
* Add deprecation warnings for -opt and flag=value insted of flag:value.Jeroen van Rijn2022-05-031-6/+17
|
* Make `big_int_from_string` return an error if not an integer.Jeroen van Rijn2022-05-031-13/+4
|
* Fix -opt: parsing.Jeroen van Rijn2022-05-031-1/+20
|
* 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
|
* Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-80/+72
| | | | | | | | | | | | - 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.
* 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-051-88/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
|