Laytan Laats
a8c4f46747
fix ci
2024-02-07 19:53:52 +01:00
gingerBill
a08250ac5b
Improve error handling for missing library collection provided by the compiler
2024-02-07 17:15:59 +00: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
6a07effdd2
Freestanding - default to nil allocator; wasm - default to panic allocator
2024-01-28 22:15:28 +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
Jeroen van Rijn
ae52e245ea
Add WINDOWS_SUBSYSTEM constant bool
...
true when -subsystem:windows for Windows targets, false otherwise.
2024-01-18 17:42:03 +01:00
codename-irvin
0fcd2f1d88
Use default calling convention for arm target for now - not 100% sure this is correct
2024-01-16 10:47:25 -05:00
codename-irvin
76f52dd6c9
Add freestanding aarch64 target
2024-01-15 19:49:34 -05:00
Yawning Angel
cd65a15d81
src: enable_target_feature should add features, not overwrite
...
`llvm_features` being empty is the default state, and implies the
presence of certain features.
Previously if any target features were explicitly enabled by the
`enable_target_feature` attribute, they were added comma separated
to `llvm_features`.
For example: `lzcnt,popcnt,...,sse4.2,sse`
This was causing LLVM to try to target a CPU that *ONLY* has the
explicitly enabled features. This now will prefix explicitly enabled
features with a `+`, and preserve the existing `llvm_features` string
by appending to it if it is set.
2024-01-07 20:04:40 +09: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
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
gingerBill
1d9f6346d4
Force dynamic map calls on non-windows targets
2023-10-29 17:23:24 +00:00
gingerBill
c8a5bafc6b
Fix static map calls and default to them!
2023-10-27 14:53:48 +01:00
gingerBill
1f643b5816
Remove -vet-extra
2023-09-30 18:29:18 +01:00
gingerBill
70aff9fbb2
Update src/build_settings.cpp
...
Co-authored-by: Laytan Laats <laytanlaats@hotmail.com >
2023-09-27 14:01:45 +01:00
gingerBill
4aa9d34b3d
Add attributes for sanitize_memory and sanitize_thread
2023-09-21 11:20:13 +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
939bf4bb5d
Add experimental -subtarget:ios
2023-08-08 11:35:51 +01:00
gingerBill
b495a302b0
Merge branch 'master' into tilde
2023-08-03 13:14:09 +01:00
gingerBill
2f094134a3
Remove -strict-style-init-only
2023-08-01 11:14:52 +01:00
gingerBill
c35c58b023
Add -vet-style and -vet-semicolon
2023-08-01 11:03:15 +01:00
gingerBill
0de7df9eab
Improve //+vet; remove using in many places; add //+vet !using-stmt where necessary
2023-07-31 11:37:14 +01:00
gingerBill
60e509b1e0
Add separate -vet flags; -vet-using-* flags; //+vet file flags
2023-07-31 11:09:19 +01:00
gingerBill
7ab531bd21
Add -tilde for working on the new compiler
2023-07-08 12:07:11 +01:00
gingerBill
296674e18b
Rename ODIN_DISALLOW_RTTI to ODIN_NO_RTTI; Remove dead command line flags
2023-06-12 14:53:05 +01:00
gingerBill
7a1ab62987
Fix endianness for wasm64p32
2023-06-07 01:19:40 +01:00
gingerBill
4a75a1e839
Merge branch 'master' into separate-int-word-sizes
2023-06-06 22:42:04 +01:00
Jeroen van Rijn
1f4baba06e
Merge pull request #2479 from Naught00/master
...
Change default executable extension for non-Windows platforms
2023-05-19 20:09:39 +02:00
Mark Naughton
fa1ce7d5d1
Fix accidental check in
2023-05-19 18:56:35 +01:00
Mark Naughton
018904f0ec
Add write permissions check on output folder
2023-05-19 18:37:55 +01:00
Mark Naughton
413077a5d9
Fix single-file package case
2023-05-18 13:23:17 +01:00
gingerBill
e82146bf17
Merge branch 'master' into separate-int-word-sizes
2023-05-03 17:06:37 +01:00
gingerBill
fda1e4409c
When using -debug, default to -o:none unless explicitly specified
2023-05-02 14:44:56 +01:00
Mark Naughton
4b4481ea27
Simplify extension addition logic
2023-04-26 16:39:47 +01:00
Mark Naughton
e84802468b
Use buildpath instead of init_filename
2023-04-26 15:48:59 +01:00
Mark Naughton
1a5ed4eb7f
Fix .bin not being applied for relative directory
2023-04-26 14:10:22 +01:00
Mark Naughton
780375d865
Add .bin extension in extra case
2023-04-24 12:57:59 +01:00
Mark Naughton
06e8d03fba
Use last element for directory collision check
2023-04-23 21:15:08 +01:00
Mark Naughton
a6b9341593
Add .bin extension the case of a collision
...
The directory name is used to determine the executable name. In the case
that the directory and output executable are in conflict, a .bin
extension is added.
2023-04-23 18:53:00 +01:00
Mark Naughton
47610725ea
Change default executable extension
...
Putting a program into your path on a UNIX system with a
file extension means that you have to type the extension out for every
invocation of the program. A better default is to have no extension at
all since most people will end up removing it anyway.
This change does not affect Windows since the .exe extension is set
after the default extension if compiling on Windows.
2023-04-23 17:02:56 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
f5d9ca64f9
Begin work on new pseudo-architecture: wasm64p32
2023-04-20 12:02:32 +01:00
gingerBill
84f966cb8f
Begin work on separating int and word sizes (i.e. size_of(int) might not equal size_of(uintptr))
2023-04-20 11:46:41 +01:00
gingerBill
70ce878dfb
Add -max-error-count:<integer>
2023-04-04 12:11:12 +01:00