Commit Graph

553 Commits

Author SHA1 Message Date
gingerBill
ece78d22d2 Add -no-type-assert and ODIN_NO_TYPE_ASSERT 2024-04-18 11:22:31 +01:00
Laytan Laats
9f97056c14 add 'odin root' command 2024-04-13 20:08:57 +02:00
gingerBill
b6d2ac11b8 Add -vet-unused-variables and `-vet-unused-imports (-vet-unused is both) 2024-04-11 15:24:36 +01:00
gingerBill
0e5a482c42 Default to "smart" linker behaviour; Add -min-link-libs to use minimize link libs if wanted 2024-04-04 16:11:26 +01:00
gingerBill
a9bfb3ac2e Clarity warning and error printing 2024-04-02 23:39:14 +01:00
Laytan Laats
b26a685b76 darwin: be less annoying about "incompatible" library versions
After #3316 we set a default minimum version, now this will warn if you
link with a library that is targeting later versions.

This might be a bit annoying, especially when the user hasn't actually
given Odin a minimum target.

So this PR makes these warnings only show when you explicitly give a
target version (afaik that is the only thing that -mmacosx-min-version
actually does for us because we don't use it to compile anything, just
to link).
2024-03-25 22:11:20 +01:00
Laytan Laats
15c1e8274d darwin: fix ld warnings and set minimum os version 2024-03-23 22:12:05 +01:00
gingerBill
433109ff52 Replace gb_exit(1) with exit_with_errors() where appropriate 2024-03-19 16:29:45 +00:00
gingerBill
ba428fecdb Add -json-errors 2024-03-19 16:25:09 +00:00
gingerBill
9a2fc6cf4c Serialize errors to make them sortable, deterministic, and generally more control 2024-03-19 15:34:29 +00:00
gingerBill
a08250ac5b Improve error handling for missing library collection provided by the compiler 2024-02-07 17:15:59 +00:00
flysand7
8ea8fbeccb Make run args take the first '--' as the start of the args, instead of the last '--' 2024-02-04 14:25:53 +11:00
gingerBill
9fb090d1b8 Merge pull request #3141 from laytan/add-all-packages-flag-for-tests
Add `odin test -all-packages` to be able to test an entire project
2024-01-31 11:59:54 +00:00
gingerBill
395e0fb225 -default-to-panic-allocator 2024-01-28 22:09:20 +00:00
gingerBill
09fa1c29cd Move core:runtime to base:runtime; keep alias around 2024-01-28 21:05:53 +00:00
Laytan Laats
31914e9cb9 Add odin test -all-packages to be able to test an entire project 2024-01-26 18:27:05 +01:00
Jeroen van Rijn
fc047a8043 Expand -subsystem option on Windows
W:\Odin>odin run sketch.odin -file -subsystem:foo
Invalid -subsystem string, got oo. Expected one of:
        BOOT_APPLICATION, CONSOLE (default), EFI_APPLICATION, EFI_BOOT_SERVICE_DRIVER, EFI_ROM, EFI_RUNTIME_DRIVER, NATIVE, POSIX, WINDOWS (or WINDOW), WINDOWSCE

We now also set the constant ODIN_WINDOWS_SUBSYSTEM, which is "" for non-Windows targets.
2024-01-18 19:12:39 +01:00
gingerBill
d7d23e65ea Clean up error block usage 2024-01-05 13:47:00 +00:00
gingerBill
ca2b2c498e Add -obfuscate-source-code-locations 2023-12-13 16:47:34 +00:00
Jeroen van Rijn
c5c46c5073 Silence writable string warnings when compiling Odin on Linux. 2023-12-03 18:08:18 +01:00
Tarık B
bfff322eb9 Fix oversights, apply minor improvements 2023-11-25 10:24:22 +01:00
Tarık B
dd60802db4 Apply consistent usage of third-person singular 2023-11-25 10:24:22 +01:00
Tarık B
6db42cfaec Standardize to consistent 3-space indentation for inline comments
Inline comments in a cohesive block of multiple lines are aligned with 3-space
indentation to the length of the longest line.
2023-11-25 10:24:22 +01:00
Tarık B
21f5b41150 Remove redundant example 2023-11-25 10:24:22 +01:00
Tarık B
1f007a46ee Fix newly introduced capitalization and punctuation error 2023-11-25 10:24:22 +01:00
Tarık B
4fa4feb669 Increase indentation for -vet extra check listing 2023-11-25 10:24:22 +01:00
Tarık B
5fd3fc4c7c Unify showing of available options 2023-11-25 10:24:22 +01:00
Tarık B
ee2d3e00fd Capitalize first word of sentences 2023-11-25 10:24:22 +01:00
Tarık B
6f65ed6cc8 Add period at the end of sentences. 2023-11-25 10:24:22 +01:00
Tarık B
70525a12ca Fix typo 2023-11-25 10:24:22 +01:00
Tarık B
914950592c Fix indentation 2023-11-25 10:24:22 +01:00
Jeroen van Rijn
0ca39c70a5 Add -microarch:? to help text. 2023-11-11 13:07:12 +01:00
Jeroen van Rijn
f6f4734fee Re-add break. 2023-11-10 20:22:20 +01:00
Jeroen van Rijn
f903951016 Facored out get_default_microarchitecture
Moved `generic` -> `x86-64-v2` selection into its own procedure so that `llvm_backend.cpp` and `main.cpp` can share the same logic.
2023-11-10 20:14:00 +01:00
Jeroen van Rijn
e19460cbd7 Add -microarch:? 2023-11-10 19:37:08 +01:00
jcmdln
bd86cb22e0 Support LLVM >=17.0.1 on Darwin and Linux 2023-10-11 21:06:42 -04:00
gingerBill
1f643b5816 Remove -vet-extra 2023-09-30 18:29:18 +01:00
gingerBill
bc401fa392 Fix wrong import due to grep-replace 2023-09-21 10:41:42 +01:00
gingerBill
96fbafe359 Update ABI breaking changes for f16 types (due to LLVM 15+) 2023-09-21 10:38:44 +01:00
gingerBill
e82b0ea4cd Add -o:aggressive for LLVM 17 2023-09-21 09:48:53 +01:00
gingerBill
2160484b62 Support -sanitize:<string> for address, memory, thread for LLVM 17 2023-09-21 09:40:33 +01:00
gingerBill
e748d2f2af Update to LLVM-17 2023-09-19 16:15:26 +01:00
gingerBill
939bf4bb5d Add experimental -subtarget:ios 2023-08-08 11:35:51 +01:00
gingerBill
8060da2132 Toggle tilde backend in the build script 2023-08-03 13:16:23 +01:00
gingerBill
b495a302b0 Merge branch 'master' into tilde 2023-08-03 13:14:09 +01:00
Hasan Yasin Ozturk
fb30bda7d7 Add -show-system-calls flag info to cli usage help 2023-08-01 15:51:22 +03:00
gingerBill
2f094134a3 Remove -strict-style-init-only 2023-08-01 11:14:52 +01:00
gingerBill
69e1f42aed Replace a lot of warnings with errors; remove deprecated stuff 2023-08-01 11:11:15 +01:00
gingerBill
c35c58b023 Add -vet-style and -vet-semicolon 2023-08-01 11:03:15 +01:00
gingerBill
60e509b1e0 Add separate -vet flags; -vet-using-* flags; //+vet file flags 2023-07-31 11:09:19 +01:00