Commit Graph

755 Commits

Author SHA1 Message Date
callframe
cb7d7a5b7d Allow using absolute path's in foreign import's (#6999)
Document that `-collection` can be used for foreign imports.
Fix absolute path detection on Windows.
2026-07-10 20:45:59 +02:00
A1029384756
39464455bc [cli] remove default help option for stack protector 2026-07-09 00:45:35 -04:00
Jeroen van Rijn
94be05ead1 Merge pull request #6918 from Kelimion/deprecate-llvm-14
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
MauriceElliott
56cee0c2cf fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag. 2026-07-01 21:18:28 +01:00
Jeroen van Rijn
2d2979a5f2 Remove old pass manager 2026-06-30 22:44:28 +02:00
Jeroen van Rijn
40b28a2ded LLVM 14 removal cleanup 2026-06-30 21:12:42 +02:00
gingerBill
5c48d91f8e And missing command line flag information 2026-06-24 13:44:49 +01:00
gingerBill
40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill
07fee34419 Allow for both odin command path -flags and odin command -flags path
To do this, if the first argument after the command and last argument is NOT a flag, then put that last parameter first.
2026-06-23 17:27:17 +01:00
Jeroen van Rijn
6bae6eb3f1 Clarify "it" 2026-06-22 15:46:02 +02:00
Jeroen van Rijn
8148b04a6c Add missing word. 2026-06-22 15:44:11 +02:00
Jeroen van Rijn
778d3b97b6 Add comment to odin root about why there's no newline
Add comment to `odin root` about why there's no newline, and why we closed #6834 and #6871.

Future such pull requests will be closed without comment.
2026-06-22 15:40:21 +02:00
Franz
5dd0041eb2 Raise child process error signal if odin run child gets terminated.
Previously one would get a nice `$ pid segmentation fault (core dumped) odin run .` message,
but this behaviour was (probably unintentionally) removed in #6848.
2026-06-22 12:32:39 +02:00
gingerBill
1c5c490bdd Merge pull request #6848 from A1029384756/subprocess
[subprocess] move away from `system` for `odin run`
2026-06-21 10:09:37 +01:00
gingerBill
85db8c68a9 Remove -stack-protector:default as none is now the default 2026-06-19 09:14:11 +01:00
gingerBill
69daa4d184 Merge pull request #6830 from A1029384756/stack-canaries
Stack canaries
2026-06-19 09:11:40 +01:00
A1029384756
32db7d8d56 [subprocess] remove p as PATH is not needed to find executable 2026-06-17 00:12:36 -04:00
A1029384756
1b4e277f58 [subprocess] removed unused variable 2026-06-15 22:59:58 -04:00
A1029384756
3bf48e29d2 [subprocess] move away from system for odin run 2026-06-15 15:43:03 -04:00
Krzysztof Furman
15deb7a118 Commented the workaround with links to issues, and put it behind a build flag. 2026-06-13 09:53:43 +01:00
A1029384756
2373fabe47 [stack-canaries] added protection modes 2026-06-12 22:57:39 -04:00
jakubtomsu
dca7710471 fix error pos style env var overwriting arg 2026-05-27 20:02:34 +02:00
gingerBill
8ffcdf172a Odin_Calling_Convention defined in compiler; Allow for main :: proc "contextless" () {} with -bedrock; intrinsics.type_proc_calling_convention 2026-05-05 15:07:42 +01:00
gingerBill
781b71e6ea -disable-init-fini 2026-05-04 11:31:56 +01:00
gingerBill
cdc0efce43 -disallow-non-constant-globals 2026-05-04 11:28:57 +01:00
gingerBill
ea00291519 Begin work on -bedrock mode
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00
Franz
fa3a9b6f04 Prevent coredump when child process gets killed by signal.
Generating a coredump here is not useful, but is relatively
slow and generates a useless ~20M file every time.
The child process still creates a coredump.
2026-04-17 12:49:29 +02:00
jakubtomsu
e97f73e4aa lightweight simplification and optimization passes in -o:minimal 2026-04-11 11:14:28 +02:00
jakubtomsu
10c7b134e1 de-duplicate and canonicalize target_features_set entries 2026-04-10 13:27:42 +02:00
gingerBill
4dd884bba2 Merge pull request #6511 from lucypero/opt-default-docs
Add -debug default behavior usage docs
2026-04-04 14:03:02 +01:00
Lucy
7313e6708d add -o docs to usage 2026-04-02 12:17:38 -03:00
mtarik34b
2640a18296 Undo rename of cmp_entities_for_printing 2026-03-28 02:26:56 +01:00
mtarik34b
ac17852f36 Add option to show docs in source order within each file 2026-03-28 02:26:39 +01:00
gingerBill
44bf8ba464 Support odin doc core:os style paths 2026-03-27 17:43:06 +00:00
gingerBill
25c10c18cc Remove tilde backend 2026-03-26 11:49:39 +00:00
gingerBill
04cb889aed Begin interning ScopeMap strings 2026-03-17 11:04:32 +00:00
gingerBill
a8c6ea7c8a Implement a new StringInterner 2026-03-17 09:18:39 +00:00
gingerBill
1744f57d01 Use permanent_alloc_item directly rather than through the gb_alloc_item generic interface 2026-03-16 16:03:27 +00:00
gingerBill
5fa274cb6a -internal-rvo 2026-03-15 22:10:03 +00:00
gingerBill
b3b31cdba7 -internal-llvm-mem2reg 2026-03-15 22:04:27 +00:00
Jeroen van Rijn
6386b395de Add -did-you-mean-limit:N
```
-did-you-mean-limit:<integer>
        Sets the maximum number of suggestions the compiler provides.
        Must be an integer >0.
        If not set, the default limit is 10.
```
e.g. with a limit of 5

```
W:/Scratch/main.odin(44:7) Error: Undeclared name 'B1' for type 'E'
	e = .B1
	     ^^
	Suggestion: Did you mean?
		A23
		A02
		A19
		A20
		A21
		... and 25 more ...
```
2026-02-13 15:15:03 +01:00
Jeroen van Rijn
bd3cf2a1e6 Remove -show-import-graph header
This allows you to pipe the output to a file and have a working graph without any editing.
(Provided you don't also use additional -flags like `-show-timings`.)
2026-02-11 16:33:52 +01:00
Jeroen van Rijn
2e58c62a80 Clarify -lto help text 2026-02-11 15:13:24 +01:00
gingerBill
ae91b9b369 Add -show-import-graph 2026-02-10 22:16:15 +00:00
gingerBill
b942f72cb0 Add docs for -lto:<string>; remove -lld and -radlink flags docs; with -lto default to -use-separate-modules and -linker:lld 2026-02-04 12:45:26 +00:00
Jesse Meyer
1a7f78b665 Add ThinLTO support via -lto:thin and -lto:thin-files flags
- Add -lto:thin and -lto:thin-files CLI flags with validation
- Emit LLVM bitcode (.bc) instead of object files when LTO is enabled
- Pass -flto=thin and -flto-jobs to clang/lld linkers
- Guard linkage corrections to skip declarations without definitions
  (required for LTO where declarations appear across modules)
- Allow module-per-file with LTO even at higher optimization levels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 09:04:53 -05:00
gingerBill
7125782bd2 Support -linker:mold on FreeBSD and NetBSD; Remove -use-lld and -use-radlink 2026-01-30 10:46:35 +00:00
gingerBill
5072d5c776 Add warning in code generation stage which might cause a possible code gen issue, when non-constant initialization is large 2026-01-22 13:54:53 +00:00
gingerBill
557e854864 -disable-unwind 2026-01-15 18:12:39 +00:00
bogdanov
559b75cc81 Show -target flag usage examples in the help 2026-01-08 18:56:59 +03:00