Commit Graph

5007 Commits

Author SHA1 Message Date
gingerBill
e3cfdf6982 Remove build tag 2021-11-04 14:11:04 +00:00
gingerBill
017fe10762 core:math/linalg/glsl - GLSL-like mathematics types and operations 2021-11-04 14:09:12 +00:00
gingerBill
7bb7a741c6 Make math procedure contextless; Add asinh, acosh, atanh 2021-11-04 14:07:05 +00:00
gingerBill
14351c5bf2 Simplify logic for procs.odin 2021-11-04 13:56:38 +00:00
gingerBill
7ef3c87dbb Change RUNTIME_LINKAGE requirements 2021-11-04 13:52:53 +00:00
gingerBill
b2a2aa15c2 Add ODIN_BUILD_MODE 2021-11-04 12:49:39 +00:00
gingerBill
1ec2f8d537 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-11-04 12:40:55 +00:00
gingerBill
6ded538546 @(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass 2021-11-04 12:40:50 +00:00
Jeroen van Rijn
0d1bc05419 Update issue templates 2021-11-04 12:37:24 +01:00
Jeroen van Rijn
db2d7a4fdb Update issue templates 2021-11-04 12:36:48 +01:00
gingerBill
3fa7dabaa8 Correctly support -default-to-nil-allocator for all platforms 2021-11-04 11:03:21 +00:00
gingerBill
1980f32bd6 Correct demo.odin 2021-11-04 00:50:48 +00:00
gingerBill
9ab71ca0da Add ODIN_NO_CRT global constant 2021-11-04 00:50:28 +00:00
gingerBill
3d06dddb72 Allow casting from floats to quaternions 2021-11-03 12:45:19 +00:00
gingerBill
9896205a06 Make runtime builtin matrix procedures contextless 2021-11-03 12:44:34 +00:00
gingerBill
8a626ef564 Minor comments about matrix printing 2021-11-03 11:34:47 +00:00
gingerBill
8429943569 Represent matrices in fmt as expected 2021-11-03 11:27:21 +00:00
gingerBill
edd12d505d Correct fmt for matrices 2021-11-03 11:20:04 +00:00
gingerBill
69f978f22b Correct lb_emit_matrix_flatten 2021-11-03 11:07:35 +00:00
gingerBill
229c98309e Correct assertion usage 2021-11-03 11:02:47 +00:00
Jeroen van Rijn
c2665462e5 Merge pull request #1270 from Kelimion/fix_1268
Fix #1268.
2021-11-03 11:41:32 +01:00
Jeroen van Rijn
73648bb2d8 Fix #1268.
Error message for enumerated arrays going out of bounds was not yet updated for the Enum change.
2021-11-03 11:36:24 +01:00
Jeroen van Rijn
ba0daaa706 Merge pull request #1269 from Kelimion/enum_array_bug
Fix error message.
2021-11-03 11:06:04 +01:00
Jeroen van Rijn
dcc5697a48 Fix error message. 2021-11-03 11:01:18 +01:00
gingerBill
c20230509f Correct index to offset calculation for matrix compound literals dev-2021-11 2021-11-02 23:56:19 +00:00
gingerBill
f03e0bee73 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-11-02 12:54:29 +00:00
gingerBill
c5cd97dd89 Improve wasm-import semantics to allow procedures from different import paths 2021-11-02 12:54:23 +00:00
Jeroen van Rijn
c09d3e7bf4 Merge pull request #1265 from Kelimion/bug_report
`odin report` add Windows 10 Education Edition.
2021-11-02 02:21:01 +01:00
Jeroen van Rijn
46a394815c odin report add Windows 10 Education Edition. 2021-11-02 02:20:43 +01:00
gingerBill
a4b68b93f2 Modify ABI for the wasm32 2021-11-01 23:18:39 +00:00
gingerBill
e2e9b5d3b0 Remove comments 2021-11-01 23:04:00 +00:00
gingerBill
b01e0fbbc2 Correct typo in soa data type debug information generation 2021-11-01 23:00:42 +00:00
Jeroen van Rijn
4f0a3eec24 Merge pull request #1263 from Kelimion/ci_build_debug
Don't run demo's `soa_struct` when under -debug.
2021-11-01 17:59:24 +01:00
Jeroen van Rijn
2a0311797c Don't run demo's soa_struct when under -debug. 2021-11-01 17:57:35 +01:00
Jeroen van Rijn
46e2b4e936 Merge pull request #1262 from Kelimion/ci_build_debug
CI: Run demo with debug info.
2021-11-01 17:45:02 +01:00
Jeroen van Rijn
96ba8f35d4 CI: Run demo with debug info. 2021-11-01 17:44:05 +01:00
gingerBill
9a5ddc5218 Merge branch 'master' of https://github.com/odin-lang/Odin 2021-11-01 16:39:07 +00:00
gingerBill
0b4cbcf409 Correct debug info for matrix type 2021-11-01 16:39:02 +00:00
Jeroen van Rijn
d0cd3a7415 Merge pull request #1261 from Kelimion/bug_report
Add Windows 10 Home Core detection.
2021-11-01 14:47:18 +01:00
Jeroen van Rijn
3a167e3a75 Add Windows 10 Home Core detection. 2021-11-01 14:46:59 +01:00
Jeroen van Rijn
c9e21907ea Merge pull request #1259 from Kelimion/load_or
Fix (#1258): #load and #load_or segfault when given no params.
2021-11-01 10:47:59 +01:00
Jeroen van Rijn
a422d0455e Fix (#1258): #load and #load_or segfault when given no params.
Fixes #1258.
2021-11-01 10:42:57 +01:00
gingerBill
0bc3652fc7 Merge pull request #1256 from Yawning/feature/volatile-memset
Add a way to securely scrub memory
2021-10-31 23:32:46 +00:00
Yawning Angel
672fc9fc4d core/mem: Add zero_explicit
This call is intended to provide the ability to securely scrub memory
without compiler interference, in a similar manner to explicit_bzero,
memset_s, SecureZeroMemory.

The approach taken is a volatile memset followed by a seqentially
consistent memory fence, to prevent the call from being optimized away
by DSE, and from being reordered.  An identical approach is currently
being used by the zeroize Rust crate, and is effective in practice.

LLVM IR output:
```
; Function Attrs: nounwind
define internal i8* @mem.zero_explicit(i8* %0, i64 %1) #0 {
decls:
  call void @llvm.memset.p0i8.i64(i8* %0, i8 0, i64 %1, i1 true)
  fence seq_cst
  ret i8* %0
}
```
2021-10-31 22:57:13 +00:00
Yawning Angel
796a0c3968 core/intrinsics: Add mem_zero_volatile 2021-10-31 21:37:22 +00:00
Yawning Angel
ff36bd3d85 build: Support the Fedora LLVM 11 package
Fedora is on LLVM 12, and the backward compatibility package has a
non-standard name for llvm-config.
2021-10-31 20:23:03 +00:00
gingerBill
141299eb02 Change the behaviour change is for when a bit_set of range/enum and the underlying type has been specified
* If the lower bound is greater than zero, it will become zero (thus removing the compatification)
* If the lower bound is negative, it is an error

This means that an integer value N, maps directly to the N-th bit.

Example
```
foo :: enum u8 {
    a = 2,
    b = 3,
    c = 4,
}

set0: bit_set[foo]
set0 += {.a, .b}
// internally set0 == 1<<(2-2) | 1<<(3-2)

set1: bit_set[foo; u32]
set1 += {.a, .b}
// internally set1 == 1<<(2-0) | 1<<(3-0)
```
2021-10-31 19:39:01 +00:00
gingerBill
efe05b3e13 Merge pull request #1252 from Kelimion/bug-report
Add new `odin report` command.
2021-10-31 19:19:56 +00:00
gingerBill
b1de429d2c Merge pull request #1255 from odin-lang/wasi-wasm
`wasi_wasm32` support
2021-10-31 19:19:48 +00:00
gingerBill
5f51337a01 Add procs for wasm32 2021-10-31 19:00:01 +00:00