gingerBill
863ee0b8d1
Merge pull request #3297 from laytan/linker-improvements
...
linker improvements
2024-03-20 10:09:45 +00:00
Laytan Laats
d0b3b18e26
update macOS releases for core:sys/info and odin report
2024-03-20 00:14:01 +01:00
gingerBill
18fb665bf6
Correct matrix builtins for #row_major
2024-03-19 21:15:47 +00:00
gingerBill
a750fc0ba6
Add #row_major matrix[R, C]T
...
As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`.
This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors.
2024-03-19 21:05:23 +00:00
Laytan Laats
a555862522
linker improvements
...
`path_to_fullpath` did different things on Windows&Unix, an attempt to
bring them closer together was made here.
This was prompted by the compiler completely ignoring
`foreign import "foo.dylib"` when `foo.dylib` does not exist (because
`path_to_fullpath` returns an empty string).
Causing just unresolved symbol errors, when on Windows it would pass
along the path to the linker and actually say it doesn't exist, which
is now also the case for Unix.
This also fixes some checker errors that relied on the Windows
behaviour, for example: `Error: File name, , cannot be as a library name
as it is not a valid identifier`.
Made `-no-crt` require either `-default-to-nil-allocator` or
`-default-to-panic-allocator` on Unix, the current default allocators
rely on libc and this was not obvious and would immediately bring up
unresolved symbol errors for the linked memory management functions, or
just link with libc anyways because it was foreign imported.
Added a suggestion to install `nasm` with the user's package manager
when assembling using `nasm` fails on Unix, I saw some confusion about
it in the Discord.
Ignore explicit foreign imports of libc. It is already linked in later
on in the linking process and would otherwise (at least on macOS) cause
linker warnings for duplicate libraries. This also makes it so when
using `-no-crt` and importing something that requires libc, linker
errors are given (like I would expect), instead of silently still
linking with libc because it was foreign imported.
2024-03-19 19:57:35 +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
17cc7a2c5e
General clean-up for error.cpp
2024-03-19 15:42:59 +00:00
gingerBill
9a2fc6cf4c
Serialize errors to make them sortable, deterministic, and generally more control
2024-03-19 15:34:29 +00:00
gingerBill
8ff788f4ff
Add better suggestion for [?]T mistake
2024-03-19 13:38:13 +00:00
gingerBill
80ecf5b68a
On x: [?]T = {...}, minimize errors by using the [?]T expression as a kind of hint
2024-03-19 13:32:37 +00:00
gingerBill
5159f30c9c
Fix error block handling
2024-03-19 13:10:35 +00:00
gingerBill
d5daa9fda5
Minimize error propagation of bad array syntax by treating this like a type
2024-03-19 13:05:28 +00:00
gingerBill
89315986d4
Add suggestion when mistyping an array backwards e.g. T[]
2024-03-19 12:37:11 +00:00
gingerBill
ec9ac59323
Unify "Did you mean" strings
2024-03-18 21:37:40 +00:00
gingerBill
97be7feb99
Add list of C identifier suggestions (types and keywords)
2024-03-18 17:32:26 +00:00
gingerBill
00344e1323
Add check to people trying to foreign import C files.
2024-03-18 16:56:01 +00:00
gingerBill
009b6f44e3
Add loads of checks for common mistakes for C programmer
2024-03-18 15:18:10 +00:00
gingerBill
ebd3065aa2
Add error message for C programmers which do Foo{.x = 123} rather than Foo{x = 123}
2024-03-18 14:17:13 +00:00
gingerBill
6cb74b63ec
Fix #3286
2024-03-18 12:39:34 +00:00
gingerBill
effc71ca43
Fix case: bug with by-ref unions
2024-03-18 12:20:53 +00:00
gingerBill
43d695a990
Fix for x in y where y is an "optional ok" value, but ignores #optional_allocator_error values
2024-03-18 11:21:06 +00:00
gingerBill
19eb2a8890
Fix #3282
2024-03-16 22:24:34 +00:00
gingerBill
3875fb08e8
Fix #3284
2024-03-16 22:12:17 +00:00
Chris
5cc936245c
Improve bit_set error message
2024-03-13 19:50:41 +00:00
gingerBill
d62c92f5a9
Merge pull request #3267 from harold-b/copy-dirent-path
...
Retain copies of `dirent->name` for .odin files when using `read_directory`
2024-03-13 12:23:28 +00:00
rick-masters
7bc962b852
Fix variable used to index polymorphic parameter.
2024-03-12 23:58:20 +00:00
rick-masters
f7ec628cb2
Fix check for too many arguments to a polymorphic record type.
2024-03-12 23:57:13 +00:00
gingerBill
c7c6852057
Support swizzle selector syntax .xyzw for #simd vectors
2024-03-12 12:11:48 +00:00
Harold Brenes
b543be0d15
Copy file names fromdirent into FileInfo during read_directory
2024-03-11 18:09:41 -04:00
gingerBill
53ce945034
Merge pull request #3230 from avanspector/haiku
...
Add Haiku OS support
2024-03-08 11:15:13 +00:00
gingerBill
4bb7cd5e4b
Add bit_field option to core_type in the compiler
2024-03-07 11:31:00 +00:00
gingerBill
14f7619cdc
Merge pull request #3069 from pcleavelin/master
...
Respect `-lld` CLI arg on non-windows machines
2024-03-06 15:25:16 +00:00
gingerBill
b1903b915b
Change to IEEE 754-2008 conformance for min/max runtime operations.
2024-03-06 15:16:11 +00:00
gingerBill
a7bab89c93
Unify min/max semantics for simd_(min|max)
2024-03-06 15:07:21 +00:00
gingerBill
a1ee9e7035
Change min/max runtime behaviour to match IEEE 754-2019
2024-03-06 15:04:46 +00:00
gingerBill
7ae22b7ce5
Update are_types_identical for bit_field
2024-03-04 20:22:49 +00:00
gingerBill
3e295734cb
Correct is_type_comparable for bit_field
2024-03-04 20:10:34 +00:00
gingerBill
ff24cfe314
Fix debug issue with maps
2024-03-01 14:00:14 +00:00
avanspector
1861ecff86
Merge branch 'haiku' of https://github.com/avanspector/Odin into haiku
2024-03-01 00:42:08 +01:00
avanspector
d4d9f55556
Update threading.cpp
2024-03-01 00:41:28 +01:00
avanspector
5d6b4eda1e
Merge branch 'odin-lang:master' into haiku
2024-02-29 03:16:04 +01:00
gingerBill
84a7e03178
Merge pull request #3220 from laytan/promote-types-in-c-varargs
...
Promote types in `#c_varargs` according to C rules
2024-02-28 10:49:28 +00:00
gingerBill
5107bdc06b
Make lb_type_info use a procedure to load the global value
2024-02-27 15:45:53 +00:00
gingerBill
5137d12d36
Fix lb_type_info for the new layout
2024-02-27 15:40:45 +00:00
gingerBill
c6ee025063
Add type info generation for bit_field
2024-02-27 15:27:51 +00:00
gingerBill
826cf1508b
Remove __$startup_type_info procedure
2024-02-27 15:09:33 +00:00
gingerBill
51edf01162
Change type info table to be initializable constantly
...
[]Type_Info -> []^Type_Info
2024-02-27 15:07:55 +00:00
avanspector
fca691a066
fix core:thread and a memory leak
...
in the future probably native non-pthread implementation for haiku will be required
2024-02-27 02:38:06 +01:00
avanspector
0fa6ba726f
add haiku build token
2024-02-25 03:03:12 +01:00