gingerBill
73beed0477
Merge pull request #1921 from Hyp-X/master
...
Update user32.odin
2022-08-02 12:15:44 +01:00
gingerBill
e0ecdd4b24
Simplify logic of append of zero sized elements
2022-08-02 11:13:53 +01:00
gingerBill
5168cf03a9
Remove dead #maybe code
2022-08-01 15:38:50 +01:00
gingerBill
b886ae6515
Simplify parser logic for field prefixes
2022-08-01 15:32:17 +01:00
gingerBill
277a973b98
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-08-01 15:24:23 +01:00
gingerBill
0ec4d97bfd
Correct parser logic for is_token_field_prefix
2022-08-01 15:24:17 +01:00
Hyp-X
e6236e5c3e
Update user32.odin
...
Added UnregisterClassW procedure to windows\user32.odin
2022-08-01 15:59:00 +02:00
gingerBill
e201280844
Merge pull request #1920 from Hyp-X/master
...
Update dxgi.odin
2022-08-01 14:40:39 +01:00
gingerBill
8e50a6c61b
Merge pull request #1876 from mohd-akram/build-config-opts
...
Allow passing config options to build script
2022-08-01 14:33:35 +01:00
Hyp-X
7e6f5f89d0
Merge branch 'odin-lang:master' into master
2022-08-01 14:44:57 +02:00
gingerBill
97acc57649
Simplify field prefix handling
2022-08-01 13:17:10 +01:00
gingerBill
83c8c48ed7
Simplify ast parsing for prefixes
2022-08-01 13:07:49 +01:00
Hyp-X
0815b4d59f
Update dxgi.odin
...
Fixed CreateDXGIFactory* last parameter to be ^rawptr instead of rawptr
2022-08-01 14:04:12 +02:00
gingerBill
a0135080b3
Merge pull request #1917 from lerno/added_virtuals_macos
...
Added virtual memory headers for Darwin.
2022-07-30 19:38:37 +01:00
Christoffer Lerno
f45e8e5d47
Added virtual memory headers for Darwin.
2022-07-29 20:01:26 +02:00
Jeroen van Rijn
98ba4beede
Merge pull request #1916 from wjlroe/glfw-3-3-8-darwin-universal-static-libs
...
GLFW 3.3.8 Darwin universal and Windows static libs
2022-07-28 16:55:42 +02:00
William Roe
a9304f2fef
Update Windows GLFW libraries to 3.3.8
...
This matches the latest libraries committed for macOS/Darwin
2022-07-28 15:38:14 +01:00
William Roe
a0697ab057
Fix build on Apple Silicon when linking to GLFW
...
This also updates the library to GLFW 3.3.8
This includes the lib-universal static library, rather than just the
Intel one (lib-x86_64), so software building with GLFW on Apple Silicon
will work again.
2022-07-28 15:29:30 +01:00
Jeroen van Rijn
2e895c72d3
Merge pull request #1447 from phillvancejr/master
...
Added vendor glfw support for Mac OS
2022-07-28 16:05:59 +02:00
Jeroen van Rijn
674ebe395f
Merge branch 'master' into master
2022-07-28 16:01:18 +02:00
Jeroen van Rijn
96eecaab54
Merge pull request #1915 from JorriFransen/fix-simd_abs
...
Changed param count from 2 to 1 for simd_abs.
2022-07-28 15:36:16 +02:00
Jorri Fransen
b1ae5bc9fe
Changed param count from 2 to 1 for simd_abs.
2022-07-28 15:28:26 +02:00
Jeroen van Rijn
7258588ed5
Merge pull request #1914 from wjlroe/fix-json-unmarshal-without-assertions-bug
...
Fix bug unmarshalling JSON with assertions disabled
2022-07-28 15:03:47 +02:00
William Roe
d913155972
Fix bug unmarshalling JSON with assertions disabled
...
When asserts are disabled, code within the assert isn't run. Having
expect_token within an assert means that the state of the Parser is
mutated when asserts are run, but not when they aren't.
There's already a wrapper procedure for this pattern, which I have
reused here.
2022-07-28 13:56:14 +01:00
pvance
9746e25784
Update stb_image_resize.odin
2022-07-28 04:27:42 -04:00
pvance
d26cfd2141
Update bindings.odin
2022-07-28 04:26:22 -04:00
pvance
21f2c06f4b
Update stb_image_resize.odin
2022-07-28 04:25:18 -04:00
pvance
727a25f41f
Replace ODIN_OS strings with enum values
2022-07-28 04:23:24 -04:00
pvance
3f27cb2309
replace ODIN_OS string with enums
2022-07-28 04:22:00 -04:00
pvance
f213622982
replace ODIN_OS string with enums
2022-07-28 04:20:37 -04:00
pvance
4aad835a66
replaced ODIN_OS string values with enums
2022-07-28 04:19:28 -04:00
Jeroen van Rijn
4af8a64580
Merge pull request #1907 from thePHTest/minor-fix
...
remove leftover print statement
2022-07-26 01:00:38 +02:00
Phil
c9c3611b1d
remove leftover print statement
2022-07-25 15:46:47 -07:00
gingerBill
220dfd7440
Minor clean up of wasi_api.odin
2022-07-25 17:00:32 +01:00
gingerBill
bce8819ed5
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-25 12:12:32 +01:00
gingerBill
5f2b220a85
Fix minor issue with a lack of a trailing comma
2022-07-25 12:12:25 +01:00
gingerBill
f174c805a9
Merge pull request #1905 from DanielGavin/glob-fix
...
Change open to be read only when opening directory
2022-07-25 10:43:28 +01:00
Daniel Gavin
25869b7504
Change open to be read only when opening directory
2022-07-25 11:34:03 +02:00
Mikkel Hjortshøj
ecd81e8a53
Update stale.yml
2022-07-25 00:14:07 +02:00
gingerBill
d7f9f7f170
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 23:07:41 +01:00
gingerBill
08f5259d77
Replace insert_at with inject_at and assign_at
2022-07-24 23:07:35 +01:00
Mikkel Hjortshøj
a9f744cb64
Update stale.yml
2022-07-25 00:07:29 +02:00
Mikkel Hjortshøj
b02e42c6dc
Update stale.yml
2022-07-25 00:05:36 +02:00
Mikkel Hjortshøj
cb0273b5d7
Update stale.yml
2022-07-24 23:58:43 +02:00
Mikkel Hjortshøj
8dbf45a65a
Update stale.yml
2022-07-24 23:54:39 +02:00
gingerBill
9f64de9568
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 22:51:39 +01:00
gingerBill
0ebe9ba487
Fix #1901
2022-07-24 22:51:34 +01:00
Mikkel Hjortshøj
efe00e1aa6
Create stale.yml
2022-07-24 23:48:34 +02:00
gingerBill
2bdbce55f9
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-24 22:46:07 +01:00
gingerBill
9614ca92f0
Fix #1834
2022-07-24 22:46:00 +01:00
gingerBill
d30e59f539
Merge pull request #1844 from Ronaldr1985/fix-odin-on-openbsd
...
Added missing #includes on OpenBSD
2022-07-24 22:28:25 +01:00
Mikkel Hjortshøj
a3afe617c2
Update ci.yml
2022-07-24 23:27:07 +02:00
gingerBill
69daac583e
Merge pull request #1898 from DaseinPhaos/patch-1
...
fix `linalg.angle_from_quaternion`
2022-07-24 22:18:36 +01:00
gingerBill
b28d4b753b
Temp fix for lb_emit_store
2022-07-24 20:58:50 +01:00
gingerBill
e6ab4f4856
Force memset instead of store zeroinitializer when the value is large
2022-07-24 20:22:50 +01:00
gingerBill
c8ab1b7ee1
Add #by_ptr procedure attribute to enforce a parameter to be passed by pointer internally
2022-07-24 13:11:48 +01:00
gingerBill
9f10487678
Fix #1493
2022-07-24 12:59:34 +01:00
gingerBill
2542983d70
Fix #1793
2022-07-24 12:54:05 +01:00
gingerBill
d492fb3501
Fix and improve x->y() behaviour to minimize duplicate evaluation
2022-07-24 12:39:59 +01:00
Ronald1985
1829aa1638
Undo changes to common.cpp and move the include of sys/wait.h to gb.h
2022-07-22 23:08:46 +01:00
Ronald1985
4cb4173ced
Updated shabang in build_odin.sh so it runs on OpenBSD
...
This change doesn't break compatibility on Linux or Darwin
2022-07-22 23:01:38 +01:00
Luxko
00e704b216
fix linalg.angle_from_quaternion
...
fixes #1894 .2:
```odin
package laa
import "core:fmt"
import la "core:math/linalg"
main:: proc() {
angle := f32(0.5)
quat := la.quaternion_angle_axis_f32(angle,la.Vector3f32{0,0,1})
fmt.printf("retreived: %0.8f\n", la.angle_from_quaternion(quat)) // should be 0.5, but wasn't
}
```
2022-07-23 00:59:45 +08:00
gingerBill
227ee0f705
Merge pull request #1895 from yeongjukang/patch-1
...
fix parameter for atan2 in procedure math.asin
2022-07-22 11:23:46 +01:00
gingerBill
17f47a7ab0
Merge pull request #1892 from esnunes/vendor-raylib-4.0-macos-arm64
...
Update `vendor:raylib` to support macos-arm64 (apple silicon)
2022-07-22 11:06:16 +01:00
Yeongju Kang
4e8bc0786d
fix parameter for atan2 in procedure asin
2022-07-22 15:48:06 +09:00
gingerBill
3d3ccf061f
Merge pull request #1893 from Tetralux/slash-join-slice
...
[path/slashpath] Change join() to take a slice instead of varargs
2022-07-21 18:59:04 +01:00
Tetralux
3a8adc6721
[path/slashpath] Change join() to take a slice instead of varargs
...
Achieves parity with filepath.join(), which was similarly changed a while back.
2022-07-21 17:49:31 +00:00
gingerBill
e1748a5dd1
Add MAKE_WORD
2022-07-21 17:08:11 +01:00
Eduardo Nunes
59b4c889d3
Update vendor:raylib to support macos-arm64 (apple silicon)
2022-07-20 18:23:09 -03:00
gingerBill
b6408d1b3f
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-19 16:17:45 +01:00
gingerBill
3db3047f47
Minor improvements
2022-07-19 16:17:23 +01:00
gingerBill
7420fbd95b
Add custom event handling to wasm
2022-07-19 16:16:51 +01:00
gingerBill
7c990b3833
Merge pull request #1877 from fabiansperber/improve-debug-info
...
Improve debug info
2022-07-19 00:49:22 +01:00
Fabian Sperber
9c059f1a12
Fix debug info for type switch variable to be only visible in correct switch case
...
- use correct scopes for type switch
2022-07-19 00:46:28 +02:00
Fabian Sperber
fb167d1d0a
Fix loop var (init) becoming hidden while stepping on the for-line
...
- set debug location of jumps between block (similar to clang to the location of 'for')
- extend scope range to include all parts of the for-stmt
2022-07-19 00:46:27 +02:00
Fabian Sperber
0992239d86
Embed natvis in windows debug build for easier viewing of strings and Arrays
2022-07-19 00:46:27 +02:00
gingerBill
9eb3da0474
Remove import cycle on FreeBSD
2022-07-18 15:20:28 +01:00
gingerBill
e91f8feedf
Keep -vet happy
2022-07-18 15:12:54 +01:00
gingerBill
22a0c3fce1
Disallow proc() do stmt and only allow proc() { stmt }
2022-07-18 15:09:04 +01:00
gingerBill
6c7e5748a8
Integrate numerous debug fixes from #1877
2022-07-18 12:49:29 +01:00
gingerBill
0b0c6da8b0
Merge pull request #1873 from weshardee/master
...
fix -build-mode:shared on MacOS
2022-07-18 12:42:53 +01:00
gingerBill
78826071c0
Fix #1836
2022-07-16 23:14:09 +01:00
gingerBill
e61b73d7ad
Fix #1869
2022-07-16 22:30:57 +01:00
gingerBill
f886632bf1
Fix #1880
2022-07-16 22:18:07 +01:00
gingerBill
eafa5098aa
Fix #1883
2022-07-16 18:03:43 +01:00
gingerBill
0571b80d37
Fix printing of bit_set types
2022-07-16 17:56:38 +01:00
gingerBill
80c10644dd
Remove assert
2022-07-16 17:39:13 +01:00
gingerBill
041625381c
Fix #1888
2022-07-16 17:36:03 +01:00
gingerBill
48f56d728b
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-16 16:12:24 +01:00
gingerBill
872d391cfb
Mock up for the ability to enforce our own runtime.memset if necessary
2022-07-16 16:12:16 +01:00
Jeroen van Rijn
3e6ec65dd9
Fix murmur64a's tail handling.
...
Also, split up the murmur64 proc into murmur64a and murmur64b as they're distinct hashes with their own output.
2022-07-15 13:02:07 +02:00
gingerBill
157c87b2a2
Fix typo
2022-07-15 00:34:26 +01:00
gingerBill
d3081bd889
Add buffer_read_ptr and buffer_write_ptr
2022-07-14 15:26:50 +01:00
gingerBill
2ae5bf4395
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-14 11:56:13 +01:00
gingerBill
f28547cae1
Fix libc.putchar
2022-07-14 11:56:05 +01:00
Jeroen van Rijn
5332705e31
[hash] Give crc-64 a 64-bit seed.
2022-07-14 11:07:52 +02:00
gingerBill
bfb082cda4
Merge pull request #1881 from odin-lang/strings-builder-cleanup
...
Rename strings.Builder procedures to be consistent with the rest of the core library
2022-07-13 16:09:19 +01:00
gingerBill
37d04198ab
Add improved error message when doing ^x instead of &x for addressable variables
2022-07-11 12:31:01 +01:00
gingerBill
ae9d540c1c
Correct naming in tests
2022-07-11 11:55:49 +01:00
gingerBill
c90b7c38f1
Rename strings.Builder procedures to be consistent with the rest of the core library
2022-07-11 11:50:08 +01:00
gingerBill
9e376fbda7
Update README.md
2022-07-10 00:52:59 +01:00
Wes Hardee
00739bf06d
Merge branch 'odin-lang:master' into master
2022-07-09 18:09:21 -05:00
gingerBill
e8148055ad
Fix compilation on non-windows platforms
2022-07-09 23:55:02 +01:00
gingerBill
dd0a20ab45
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-07-09 23:53:24 +01:00
gingerBill
babbc304b8
Fix wasm compilation in windows
2022-07-09 23:53:18 +01:00
Mohamed Akram
a8b44f33bd
Allow passing config options to build script
2022-07-08 16:14:54 +04:00
gingerBill
bd48561688
Merge pull request #1865 from thePHTest/ogl_bindless
...
Add OpenGL bindless textures ARB api to vendor
2022-07-05 20:03:15 +01:00
Wes Hardee
23842a8950
fix -build-mode:shared on MacOS
2022-06-30 12:40:32 -05:00
gingerBill
1676c643df
Change MAX_STORE_SIZE
2022-06-30 15:47:19 +01:00
gingerBill
e2bfb024de
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-06-30 15:42:11 +01:00
gingerBill
4d06a54c0c
Use memmove if possible when emitting store over a certain size
2022-06-30 15:42:02 +01:00
Phil
0a8e6169d7
remove unneeded semicolons
2022-06-28 11:36:50 -07:00
Jeroen van Rijn
04ae87eaef
Merge pull request #1868 from Skytrias/skytrias-ease-flux-fixes
...
math ease fixed flux map key deletion and generic in `flux_to`
2022-06-28 18:35:18 +02:00
Michael Kutowski
b313d09c2c
flux fixed key deletion and generic in flux_to
2022-06-28 18:27:52 +02:00
gingerBill
c0d2359a91
Merge pull request #1826 from englerj/windows-bindings
...
Added additional Windows bindings.
2022-06-28 13:14:35 +01:00
gingerBill
51a2f09032
Merge pull request #1863 from OrigamiDev-Pete/master
...
Correct error reporting for Win32 file operations
2022-06-28 13:12:41 +01:00
gingerBill
f60e8031f2
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-06-28 11:27:57 +01:00
gingerBill
ea42613fec
Improve error message with suggestion for #1866
2022-06-28 11:27:50 +01:00
Phil
b89bb87759
Add OpenGL bindless textures ARB api to vendor
2022-06-27 14:50:24 -07:00
gingerBill
2cbb3d5a24
Merge pull request #1864 from JimmyLefevre/master
...
Change LPCSTR to LPCWSTR in windows _W procedures
2022-06-27 22:20:20 +01:00
Jimmy "Keeba" Lefevre
9e288b7ce8
Change LPCSTR to LPCWSTR in windows _W procedures
2022-06-27 21:48:02 +02:00
gingerBill
776b48c10d
Fix GetEventState
2022-06-27 11:02:40 +01:00
gingerBill
199dae6cd5
Make SDL.*Event procedures return booleans instead of an integer where appropriate
2022-06-27 11:02:20 +01:00
Peter DV
e58f45bef7
Correct error reporting
2022-06-27 11:26:34 +10:00
gingerBill
abe122ecb7
Implement #1859
2022-06-26 13:13:07 +01:00
gingerBill
f8744d87b0
Add shorthand flag to determine_type_from_polymorphic
2022-06-24 15:12:15 +01:00
Jeroen van Rijn
3e7f6b8751
Merge pull request #1857 from Pablo96/fix-core-lib-odin-parser-file-docs
...
Fix issue 1856
2022-06-23 23:22:36 +02:00
Pablo Narvaja
6ffe814ca7
assign package docs to file docs
2022-06-23 18:13:34 -03:00
Jeroen van Rijn
eec9be71f6
Merge pull request #1854 from Kelimion/dll-entry-point
...
Add runtime.dll_forward_reason for Windows DLLs.
2022-06-21 18:02:47 +02:00
Jeroen van Rijn
888913c739
Add runtime.dll_forward_reason for Windows DLLs.
2022-06-21 17:29:55 +02:00
gingerBill
33d96fd28a
Correct debug information of #simd vectors
2022-06-20 16:00:17 +01:00
gingerBill
f1e8738af2
Merge pull request #1851 from DaseinPhaos/patch-1
...
Add missing field for `TEXTURE_COPY_LOCATION`
2022-06-19 16:21:21 +01:00
gingerBill
9c52a11b1b
Merge pull request #1850 from ftphikari/master
...
sys/windows: add RegSetKeyValueW
2022-06-19 16:21:00 +01:00
Luxko
d89c4606bd
Add missing field for TEXTURE_COPY_LOCATION
...
Add missing anonymous union field for [D3D12_TEXTURE_COPY_LOCATION ](https://docs.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_texture_copy_location ):
```C
union {
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
UINT SubresourceIndex;
};
```
2022-06-19 19:06:31 +08:00
hikari
c6903fbcd5
sys/windows: add constants and macro
2022-06-17 15:14:21 +03:00
ftphikari
13c8149046
Merge branch 'odin-lang:master' into master
2022-06-16 22:55:24 +03:00
hikari
665db0f778
sys/windows: add RegSetKeyValueW
2022-06-16 22:54:59 +03:00
gingerBill
173286de65
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-06-16 15:49:13 +01:00
gingerBill
f2ecda8fec
Rename to SJSON for the Simplified JSON notation variant
2022-06-16 15:49:08 +01:00
Jeroen van Rijn
6f1222e9bf
Update strings.prefix_length to handle partial UTF-8 runes.
2022-06-16 16:12:15 +02:00
gingerBill
84a424f21e
Add numerous procedure groups decode_rune, decode_last_rune, rune_count, full_rune
2022-06-16 15:07:07 +01:00
Jeroen van Rijn
9b7710488b
Merge pull request #1849 from Kelimion/prefix_length
...
Add `strings.prefix_length` & `slice.prefix_length`
2022-06-16 12:42:35 +02:00
Jeroen van Rijn
9f413862e9
Add strings.prefix_length & slice.prefix_length
2022-06-16 12:34:13 +02:00
gingerBill
b8802d7df7
Merge pull request #1848 from Astavie/require-fix
...
fix require flag on higher optimization modes
2022-06-16 10:59:49 +01:00
Astavie
b13dad02a4
fix require flag on higher optimization modes
2022-06-15 21:30:29 +02:00
Jeroen van Rijn
f045f8d805
Merge pull request #1845 from hfr4/patch-1
...
wrong variable names in functions
2022-06-14 18:32:25 +02:00
hfr4
30b7c8ad66
wrong variable names in functions
2022-06-14 18:20:38 +02:00
Ronald1985
89222a0ab2
Added missing #includes on OpenBSD
2022-06-14 09:55:06 +01:00
gingerBill
21e637d2b3
Allow %q with enums
2022-06-13 23:30:10 +01:00
gingerBill
6c196931d2
Increase record_level on displaying map values
2022-06-13 14:46:03 +01:00
gingerBill
d7195b0798
Add missing commas
2022-06-13 11:12:31 +01:00
gingerBill
b40998de9e
Improve -strict-style for foreign import
2022-06-13 11:11:51 +01:00
gingerBill
8c0c327df9
Improvements to -strict-style and trailing commas
2022-06-13 11:00:13 +01:00
Josh Engler
50cbb8a1fc
Fix tab spacing.
2022-06-12 15:55:38 -04:00
gingerBill
ff9d058392
Minor changes to core:slice/heap; add to examples/all
2022-06-12 17:25:42 +01:00
gingerBill
1acc8f438b
Merge pull request #1830 from graphitemaster/dale/max_heap
...
add max heap implementation to slice package
2022-06-12 17:21:04 +01:00
gingerBill
c53426fcb4
Merge pull request #1818 from IanLilleyT/reserve_exceed
...
Dynamic array append reserves more space when it exceeds capacity
2022-06-12 17:19:08 +01:00
gingerBill
5187db525f
Minor style change
2022-06-12 17:17:59 +01:00
gingerBill
a8bd340267
Merge pull request #1395 from hdooley/master
...
factor out alloca generation into a helper
2022-06-12 17:17:12 +01:00
gingerBill
ca1f419dc2
Merge pull request #1819 from IanLilleyT/no_query_info
...
Allocator: tidying up Query_Info return values when not part of Query_Features
2022-06-12 17:15:08 +01:00
gingerBill
fae60a6b88
Merge pull request #1829 from totoki-kei/dev/totoki-kei/patch-testing
...
[testing] Fixed `@(test)` always fails unless `testing.set_fail_timeout` is called
2022-06-12 17:15:02 +01:00
gingerBill
108558ddfc
Merge pull request #1841 from hasenj/hack-objc-window-init
...
HACK work around for creating a cocoa window
2022-06-12 17:08:10 +01:00
gingerBill
65b8cfae82
Minor code clean up
2022-06-12 16:49:15 +01:00
gingerBill
4055c31cf0
Update utf-32 printing
2022-06-12 16:48:06 +01:00
gingerBill
e88af4e458
Support UTF-16 printing with []u16 and [^]u16 related types
2022-06-12 16:36:55 +01:00
gingerBill
79eb7b52d9
Merge pull request #1828 from JungerBoyo/patch-2
...
front() and back()
2022-06-12 16:17:39 +01:00
gingerBill
83b2bf44c4
Merge pull request #1842 from ftphikari/master
...
sys/windows: add a couple of constants
2022-06-12 16:12:43 +01:00
gingerBill
670f18ad1b
Minor change to shrink
2022-06-12 16:12:24 +01:00
gingerBill
9a81716936
Merge pull request #1820 from Tetralux/shrink
...
[runtime] Add builtin `shrink` for dynamic arrays and maps
2022-06-12 16:11:18 +01:00
gingerBill
f013499eea
Merge pull request #1827 from JungerBoyo/patch-1
...
unset function
2022-06-12 16:09:09 +01:00
gingerBill
d04f732e68
Add fmt:"s,0" to allow arrays and multi-pointers to be printed with NUL termination
2022-06-12 13:07:43 +01:00
gingerBill
35fd8e7f68
Move trailing comma requirement in field lists to -strict-style
2022-06-12 12:20:00 +01:00
gingerBill
38ff2a3ed9
Minor fix
2022-06-11 15:57:56 +01:00
gingerBill
bd502d16bc
Correct distinction between indirection and record level
2022-06-11 15:24:35 +01:00
gingerBill
a11e17fbc3
Disable again
2022-06-11 15:18:51 +01:00
gingerBill
8b3b659433
Re-enable string quoting within records
2022-06-11 15:16:17 +01:00
gingerBill
f33228fd6e
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-06-11 15:13:13 +01:00
gingerBill
df5b693de8
Refactor fmt_value
2022-06-11 15:13:07 +01:00
Jeroen van Rijn
ab98108441
[image/png] Construct test paths differently.
2022-06-11 16:07:56 +02:00
Josh Engler
6f80174f84
Merge branch 'master' into windows-bindings
2022-06-11 09:48:28 -04:00
hikari
0ebe81fce2
sys/windows: add GetTextExtentPoint32W
2022-06-11 12:27:18 +03:00
gingerBill
c75dd14308
Fix typo
2022-06-11 02:03:54 +01:00
gingerBill
c166b6a21d
Support optional length parameter on struct tags for multi-pointers
2022-06-11 01:40:58 +01:00
gingerBill
6ed5cbee12
Refactor to fmt_array
2022-06-11 01:38:14 +01:00
gingerBill
5b200ccdf8
Correct #soa printing
2022-06-11 01:32:52 +01:00
gingerBill
cf0f0c4b31
Clean up trailing comma
2022-06-11 01:23:41 +01:00
gingerBill
1399ecb41c
Refactor with fmt_struct
2022-06-11 01:22:18 +01:00
gingerBill
339d6cfd41
Check for in_bad
2022-06-11 01:17:33 +01:00
gingerBill
7bded4f189
Default to q for strings within structs
2022-06-11 01:09:42 +01:00
gingerBill
c7269b9ef0
Allow for fmt:"s" and fmt:"s,field_length"
2022-06-11 01:06:47 +01:00
gingerBill
85688015aa
Add fmt:"-" to ignore fields in a struct
2022-06-11 00:55:10 +01:00
hikari
3c6cc575c6
sys/windows: add a couple of constants
2022-06-10 21:17:27 +03:00
gingerBill
0564cb6483
Merge pull request #1824 from ftphikari/master
...
sys/windows: add registry functions and create winerror.odin
2022-06-10 14:31:48 +01:00
Hasen Judy
4be92c7eb8
HACK work around for creating a cocoa window
...
See #1825 for more details.
This does not fix the underlying issue; it's merely a work around for
this specific manifestation of the bug.
2022-06-10 17:10:00 +09:00
hikari
88e9eb7d0c
sys/windows: add functions and constants
2022-06-09 17:44:51 +03:00
hikari
d19fc54c3d
sys/windows: add macro
2022-06-08 21:18:11 +03:00
ftphikari
5d4291d9fa
Merge branch 'odin-lang:master' into master
2022-06-08 19:55:42 +03:00
hikari
b70cd03e9e
sys/windows: add interfaces from shobjidl_core.h
2022-06-08 19:38:12 +03:00
hikari
e91e5e1fe9
sys/windows: fix formatting
2022-06-07 20:16:32 +03:00
hikari
ae57a49915
sys/windows: fix file picker dialog
2022-06-07 17:59:15 +03:00
gingerBill
bfcb527b42
Merge pull request #1831 from Despacito696969/master
...
Fixed `slice.is_sorted_cmp`
2022-06-07 13:23:01 +01:00
Despacito696969
a343fb171d
Fixed slice.is_sorted_cmp
2022-06-07 14:07:19 +02:00
Tetralux
fa2296a124
[runtime] Add builtin shrink for dynamic arrays and maps
...
Asks the allocator to shrink the backing allocation to the current __length__, or a capacity
of the user's choosing.
Returns `(did_shrink: bool, err: mem.Allocator_Error)`.
```
shrink(&array) // shrinks to len(array)
shrink(&array, N) // shrink to N capacity
shrink(&map) // shrinks down to len(map)
shrink(&map, N) // shrink to N capacity
```
2022-06-04 23:29:47 +00:00
Dale Weiler
a996cfc536
fix
2022-06-04 04:47:52 -04:00
Dale Weiler
c1d55b9296
add max heap implementation to slice package
2022-06-04 04:31:55 -04:00
Totoki Kei
5c18cca1ca
[core:testing] add global_fail_timeout_thread nil check
...
Fixed an issue where test would always fail unless set_fail_timeout was called.
2022-06-04 12:21:20 +09:00
JungerBoyo
78e6cd0c60
front() and back()
...
based on pop_front(), pop_back()
2022-06-04 00:12:34 +02:00
hikari
176954a6d8
sys/windows: add several functions and constants
2022-06-03 22:12:43 +03:00
JungerBoyo
ad6b3bd95f
unset function
...
unset function, clear single bits
2022-06-03 15:53:14 +02:00
Josh Engler
762895bc45
- Added EnumDisplaySettingsW and friends.
...
- Added additional file access/security/sharing attributes
2022-06-03 07:40:45 -04:00
hikari
592e9afa5f
sys/windows: add RegSetValueExW
2022-06-03 07:57:21 +03:00
hikari
a2e0373934
sys/windows: add registry functions and create winerror.odin
2022-06-03 06:44:42 +03:00
gingerBill
fb49841b1d
Remove strings dependency from core:sys/windows
2022-06-02 13:02:16 +01:00
gingerBill
01ea0d6f1e
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-06-02 12:11:29 +01:00
gingerBill
bb7f291f5f
Remove simd_rem; Disallow simd_div for integers
2022-06-02 12:10:43 +01:00
gingerBill
174fa9b490
Merge pull request #1817 from IanLilleyT/arena_allocation
...
Improved arena allocation with alignment
2022-06-02 10:53:23 +01:00
Ian Lilley
dda2ed290a
tidying up Query_Info return value when not in query features
2022-06-01 22:40:39 -04:00
Ian Lilley
ee9908b09e
Reserve more space when exceeding, not meeting, capacity
2022-06-01 22:01:00 -04:00
Ian Lilley
66de1856e3
tighter allocation for arena allocator
2022-06-01 21:37:05 -04:00
gingerBill
ba5f7c4e2a
Deprecate a..b based ranges in favour of ..=
2022-06-01 11:08:19 +01:00
gingerBill
487bd3d942
Keep compiler happy
2022-06-01 11:07:58 +01:00
gingerBill
4fac7a8f27
Update wasm/README.md
2022-06-01 10:40:59 +01:00
gingerBill
25dae06b6a
Remove loader.mjs
2022-06-01 10:32:24 +01:00
gingerBill
a1f15c2c69
Merge pull request #1807 from odin-lang/simd-dev
...
Generic #simd type and intrinsics
2022-05-31 11:52:24 +01:00
gingerBill
516f6647b4
Fix intrinsics.non_temporal_{load, store}
2022-05-31 11:00:41 +01:00
gingerBill
a7840d50e2
Correct documentation
2022-05-31 00:01:23 +01:00
gingerBill
cb10af08cb
Correct intrinsics.odin for documentation
2022-05-30 16:42:32 +01:00
gingerBill
4e49d24df9
Add enable_target_feature to ABM
2022-05-30 16:08:06 +01:00
gingerBill
68222cb8ab
Add SSE4.2
2022-05-30 16:06:31 +01:00
gingerBill
912d29af83
Add @(require_results) to all appropriate procedures
2022-05-30 15:59:48 +01:00
gingerBill
f3868ac932
Improve missing handled results for built in procedures
2022-05-30 15:57:26 +01:00
gingerBill
5b42dd7707
Correct @(require_results) on parapoly procedures
2022-05-30 15:27:09 +01:00
gingerBill
51707032d1
Add SSE4.1
2022-05-30 15:17:02 +01:00
gingerBill
a0babefe55
Fix lb_build_builtin_simd_proc
2022-05-30 15:13:45 +01:00
gingerBill
f3aefbc443
@(require_target_feature=<string>) @(enable_target_feature=<string>)
...
require_target_feature - required by the target micro-architecture
enable_target_feature - will be enabled for the specified procedure only
2022-05-30 14:53:12 +01:00
Jeroen van Rijn
a6c779b50e
Merge pull request #1815 from hasenj/patch-1
...
Missing lib imports for raylib on macOS
2022-05-30 15:32:46 +02:00
hasen
9fa41a97b9
Missing lib imports for raylib on macOS
...
The following frameworks are required for linking to work (due to dependency on glfw):
Cocoa, OpenGL, IOKit
2022-05-30 22:27:13 +09:00
gingerBill
cef022539e
Rename to lanes_rotate_left, lanes_rotate_right, lanes_reverse
2022-05-29 15:13:14 +01:00
gingerBill
f6dfa33697
Use single line attributes
2022-05-29 15:11:15 +01:00
gingerBill
bc3bf939e0
Add sha.odin
2022-05-29 14:56:25 +01:00
gingerBill
f5e5eac3b9
Add cmpxchg16b
2022-05-29 14:46:05 +01:00
Jeroen van Rijn
d50786bd30
Merge pull request #1814 from Kelimion/sdk_detect_fix
...
Fix SDK detection if no SDK installed.
2022-05-29 14:55:10 +02:00
gingerBill
0ccbea17aa
Add pclmulqdq.odin
2022-05-29 13:50:54 +01:00
Jeroen van Rijn
136d50a745
Fix SDK detection if no SDK installed.
2022-05-29 14:48:44 +02:00
gingerBill
babfba5e8f
Add rdtsc.odin
2022-05-29 13:48:20 +01:00
gingerBill
846f8377b2
Add fxsr.odin
2022-05-29 13:44:00 +01:00
gingerBill
77d4409549
Add adx.odin
2022-05-29 13:40:16 +01:00
gingerBill
7f3540b7f5
Add abm.odin
2022-05-29 13:36:55 +01:00
gingerBill
3ad2cde833
Add amd64 specific instructions
2022-05-29 13:34:59 +01:00
gingerBill
910799cc5f
Add cpu_features for core:simd/x86
2022-05-28 15:54:41 +01:00
Jeroen van Rijn
6c0192083e
Merge pull request #1812 from wjlroe/os-exists-for-darwin
...
[os] Darwin: Add os.exists()
2022-05-28 16:45:48 +02:00
gingerBill
c60d7842cd
Remove old code
2022-05-28 15:41:27 +01:00
gingerBill
d7eaf0f87b
Add intrinsics.x86_cpuid and intrinsics.x86_xgetbv
2022-05-28 15:41:11 +01:00
William Roe
bb4329711c
[os] Darwin: Add os.exists()
2022-05-28 15:21:07 +01:00
gingerBill
618d3bf62f
Improve vector comparison == != for horizontal reduction
2022-05-28 13:42:58 +01:00
Jeroen van Rijn
cf8a4b9812
Don't crash if SDK not found during ENV fallback.
2022-05-28 13:52:56 +02:00
gingerBill
4db533ff71
Add ssse3 support
2022-05-27 23:07:33 +01:00
Jeroen van Rijn
f28e3276e7
One more change.
2022-05-28 00:02:49 +02:00
gingerBill
026540040d
Add SSE3 support
2022-05-27 23:00:52 +01:00
gingerBill
8518d3b232
Rename to non_temporaral_*
2022-05-27 22:57:16 +01:00
gingerBill
1c1f5e2231
Complete SSE2
2022-05-27 22:56:11 +01:00
Jeroen van Rijn
bdedfb1071
Merge pull request #1805 from WalterPlinge/find-vs-winsdk-env
...
Find MSVC compiler and Windows SDK using environment variables
2022-05-27 23:54:53 +02:00
Jeroen van Rijn
92ed9e0b94
Refactor Walter's PR.
2022-05-27 23:48:31 +02:00
gingerBill
5c10b35df7
Fix sqrt for simd
2022-05-27 22:26:04 +01:00
Jeroen van Rijn
0668811397
Merge branch 'master' into find-vs-winsdk-env
2022-05-27 21:37:36 +02:00
Jeroen van Rijn
6bb6344208
Merge pull request #1810 from Kelimion/ms_craziness
...
Additional cleanup of microsoft_craziness.h.
2022-05-27 21:05:10 +02:00
Jeroen van Rijn
2f7bd154a2
Additional cleanup of microsoft_craziness.h.
2022-05-27 20:59:46 +02:00
gingerBill
20c5033b38
Add pack and unpack
2022-05-27 17:07:48 +01:00
gingerBill
20fe6d102a
Add load and stores and sets
2022-05-27 16:58:35 +01:00
gingerBill
4e30a64d9f
Add more sse2 intrinsics
2022-05-27 16:49:52 +01:00
gingerBill
c48ef7d70b
Add shifts
2022-05-27 16:39:54 +01:00
gingerBill
e079a7009d
Begin work on sse2.odin
2022-05-27 16:09:31 +01:00
gingerBill
f383bf3136
Add _mm_stream_ps
2022-05-27 14:59:09 +01:00
gingerBill
609ddf28b7
Add intrinsics nontemporal_store and nontemporal_load
2022-05-27 14:56:36 +01:00
Jeroen van Rijn
34f1bda57c
Merge pull request #1809 from Kelimion/ms_craziness
...
Refactor ms_craziness.h
2022-05-27 15:53:49 +02:00
Jeroen van Rijn
f137b927b6
Refactor ms_craziness.h
2022-05-27 15:47:29 +02:00
gingerBill
2185dada56
Change package name
2022-05-27 14:26:02 +01:00
gingerBill
0b08080119
Add core:simd/x86 SSE
...
Proof of Concept to show intrinsics specific to a certain target platform
2022-05-27 14:23:31 +01:00
gingerBill
432b2b19e9
Add intrinsics.simd_x86__MM_SHUFFLE
2022-05-27 12:54:28 +01:00
gingerBill
952f294bce
Add loads of aliases of vector types
2022-05-27 12:20:48 +01:00
gingerBill
c23274adb0
Remove useless check
2022-05-27 12:11:58 +01:00
gingerBill
833f9dd037
Minor change
2022-05-27 11:55:03 +01:00
gingerBill
1ff8b97dae
Add prefix of lanes_
2022-05-26 20:44:37 +01:00
gingerBill
70451f9335
Support reverse_bits for #simd
2022-05-26 20:40:48 +01:00
gingerBill
1f438d4e6c
Merge intrinsics.simd_sqrt with intrinsics.sqrt
2022-05-26 18:09:59 +01:00
gingerBill
421d45a7a7
Add intrinsics.fused_mul_add
2022-05-26 18:06:26 +01:00
gingerBill
20e7b5c88a
Support count_ones etc with #simd
2022-05-26 17:48:51 +01:00
gingerBill
7092273a8f
Rename simd_eq etc to simd_lanes_eq
2022-05-26 17:36:13 +01:00
gingerBill
d0e8a735ba
Add arithmetic operator support for simd vectors; Add intrinsics.simd_and_not
2022-05-26 17:09:46 +01:00
gingerBill
208226dba2
Improve #simd literal support
2022-05-26 14:55:10 +01:00
gingerBill
f308f37ba1
Remove need for simd.splat
2022-05-26 14:51:50 +01:00
gingerBill
c2610cb75e
Keep -vet happy
2022-05-26 13:56:35 +01:00
gingerBill
59e9df2609
simd.bit_not; simd.copysign
2022-05-26 13:49:27 +01:00
gingerBill
66b5a35ec3
Add simd_to_bits; correct fix typo causing issue with parapoly
2022-05-26 13:45:47 +01:00
gingerBill
f3f6c12a7c
Add simd_clamp
2022-05-26 11:58:55 +01:00
gingerBill
e331b0647e
Add simd_rotate_left simd_rotate_right`
2022-05-26 11:48:04 +01:00
gingerBill
35502816c7
Add simd_add_sat simd_sub_sat
2022-05-26 11:24:10 +01:00
gingerBill
7ec0236fbf
Add simd_reverse
2022-05-26 11:14:22 +01:00
gingerBill
0fd43c1a0b
Add simd.{sqrt, ceil, floor, trunc, nearest}
2022-05-26 11:02:02 +01:00
gingerBill
06337129d8
Remove intrinsics.odin.simd_vector in favour of #simd[N]T
2022-05-26 10:38:51 +01:00
gingerBill
337780497d
Merge pull request #1806 from jasonKercher/virtual_linux_fix
...
fix mmap call in virtual_linux.odin
2022-05-26 09:33:42 +01:00
jason
10deb2e88b
fix mmap call in virtual_linux.odin
2022-05-25 21:51:36 -04:00
gingerBill
b95ca80f85
Fix simd_shuffle
2022-05-26 00:39:34 +01:00
gingerBill
83d880a94a
Remove unneeded mask
2022-05-26 00:37:48 +01:00
gingerBill
cde6a2f7a5
Make simd_shuffle act closer to swizzle
2022-05-26 00:36:24 +01:00
gingerBill
c2f5cbdeb4
Allow integer vectors in select
2022-05-25 23:49:23 +01:00
gingerBill
8e57511ffa
Minor clean up
2022-05-25 23:42:25 +01:00
gingerBill
12d19d21c4
Document simd stuff in intrinsics.odin
2022-05-25 23:40:59 +01:00
gingerBill
7002c94a63
Add intrinsics.simd_select
2022-05-25 23:34:41 +01:00
gingerBill
57e69ea392
Add comments
2022-05-25 23:24:42 +01:00
gingerBill
09f936b04d
Correct casting between integer and boolean #simd
2022-05-25 23:24:32 +01:00
gingerBill
140c00aa0c
intrinsics.simd_shuffle
2022-05-25 23:01:33 +01:00
gingerBill
808ea30b48
Allow booleans for #simd
2022-05-25 22:16:44 +01:00
gingerBill
63d6c08d90
Add raw_simd_data
2022-05-25 22:09:38 +01:00
gingerBill
10e4de3c01
Add intrinsics.simd_reduce_*
2022-05-25 22:04:47 +01:00
gingerBill
8ac12886ed
Add core:simd
2022-05-25 21:30:10 +01:00
gingerBill
63cc8a80a0
Correct parapoly for #simd
2022-05-25 21:29:45 +01:00
gingerBill
1549d01bf7
Restrict swizzle to a power of two for #simd
2022-05-25 21:17:21 +01:00
gingerBill
b168bf9460
Rename simd_insert to simd_replace
2022-05-25 21:00:00 +01:00
gingerBill
0203bb657e
Allow for non-constant simd vector compound types
2022-05-25 20:39:22 +01:00
gingerBill
53f0c6ef1a
Add ranges for simd compounds literals
2022-05-25 20:31:31 +01:00
gingerBill
4c4480104d
Add simd_extract and simd_insert
2022-05-25 20:27:14 +01:00
gingerBill
5c72974167
Simplify transmute for #simd
2022-05-25 19:04:25 +01:00
gingerBill
f21e9ee712
Allow basic casting of simd vectors
2022-05-25 18:59:47 +01:00
gingerBill
81dd727f75
Implement backend for simd intrinsics
2022-05-25 18:49:17 +01:00
gingerBill
3b54015e80
Mock out simd intrinsics
2022-05-25 17:54:05 +01:00
gingerBill
b032d5af87
Make #simd an opaque type
2022-05-25 17:26:18 +01:00
WalterPlinge
209a155608
fix a double free bug
2022-05-25 14:51:37 +01:00
gingerBill
d8e77cd738
Add #optional_ok to dynlib.symbol_address
2022-05-25 11:53:32 +01:00
gingerBill
95d4ce4aa3
Fix lib_unix.odin
2022-05-25 11:46:26 +01:00
gingerBill
39393cca92
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-25 11:44:05 +01:00
gingerBill
acadbe050c
Make core:dynlib use the private interface convention of other packages
2022-05-25 11:43:56 +01:00
WalterPlinge
8fcf2f5dca
a little cleanup
2022-05-25 02:10:34 +01:00
WalterPlinge
831a86599e
Add fallback build paths search using environment variables
2022-05-25 02:00:13 +01:00
Jeroen van Rijn
233b32fd3e
Correct return value.
2022-05-25 00:47:29 +02:00
Jeroen van Rijn
3c5124ce68
Fix odin build examples\demo\ trailing slash handling.
2022-05-24 13:55:39 +02:00
Jeroen van Rijn
a8d78660ee
Merge pull request #1804 from wjlroe/consistent-os-get-env-across-unix
...
[os] Darwin,FreeBSD,OpenBSD: Rename os.getenv to os.get_env
2022-05-23 15:57:39 +02:00
Jeroen van Rijn
cc1df9591f
Merge pull request #1803 from cedric-h/master
...
Clear up Mismatched BE types error message
2022-05-23 15:48:24 +02:00
William Roe
54a326f046
[os] Darwin,FreeBSD,OpenBSD: Rename os.getenv to os.get_env
...
Make os.get_env consistent across Unixes
This matches the function name and API from env_windows.odin and os_linux.odin, which should be the same everywhere. Meaning:
* named get_env and not getenv
* return a string (empty if the environment variable is not found)
* accept a default value parameter for the allocator (defaulting to context.allocator)
* calls lookup_env which returns an extra found boolean value
This is so that you don't have to write platform/OS conditionals when getting environment variable values from the stdlib os.get_env/getenv function.
2022-05-23 13:48:55 +01:00
Cedric Hutchings
3d9d85121d
Clear up Mismatched BE types error message
2022-05-23 08:14:05 -04:00
gingerBill
a31d23a32a
Merge pull request #1802 from odin-lang/remove-maybe-tag
...
Merge functionality of `#maybe` with the standard 'union' functionality
2022-05-23 12:35:06 +01:00
gingerBill
084f431aa5
Correct check_transmute operand logic
2022-05-23 12:19:33 +01:00
gingerBill
7002f0a7d7
Update demo.odin
2022-05-23 12:07:44 +01:00
gingerBill
3ec70c5517
Merge functionality of #maybe with the standard 'union' functionality
2022-05-23 12:04:19 +01:00
gingerBill
d9f293b281
Add better error message for trying to dereference a multi-pointer
2022-05-23 11:50:05 +01:00
gingerBill
8c1499dbc2
Make raw_data return [^]T types
2022-05-23 11:48:05 +01:00
gingerBill
7d2eedee73
Unify raw_data in core:mem with core:runtime
2022-05-23 11:47:12 +01:00
gingerBill
eba35a8f7d
Allow multi pointers in intrinsics
2022-05-23 11:46:44 +01:00
gingerBill
e967f2ca2c
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-23 11:34:00 +01:00
gingerBill
438713af20
Allow transmute on constant expressions
2022-05-23 11:33:52 +01:00
gingerBill
568869077e
Merge pull request #1801 from cedric-h/master
...
Add enums for getting Scancodes from WM_KEYDOWN
2022-05-22 20:39:59 +01:00
Cedric Hutchings
f25a3f2a7d
Add enums for getting Scancodes from WM_KEYDOWN
...
https://docs.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input
2022-05-22 15:34:49 -04:00
gingerBill
5609221831
Merge pull request #1792 from jasonKercher/os2_linux
...
Os2 linux
2022-05-22 17:18:28 +01:00
gingerBill
f3432e6bb5
Rename to CreateProgramFromStrings
2022-05-21 21:31:24 +01:00
gingerBill
43b350c590
Add more procedures for window related positions
2022-05-21 21:31:05 +01:00
gingerBill
c2c66aad60
Add Context_Menu event kind; Fix event_prevent_default()
2022-05-21 17:29:19 +01:00
gingerBill
d7681d5b06
Add utilities for Rects
2022-05-21 17:24:03 +01:00
gingerBill
c902615192
Improve writeToConole logic for the console.log difference between stdout and stderr
2022-05-21 17:03:44 +01:00
gingerBill
2895830ce6
Add wasm/js/general.odin
2022-05-21 16:37:12 +01:00
gingerBill
1eef9552b4
Fix typo
2022-05-21 16:35:27 +01:00
gingerBill
577fa2d29b
Update time procedures for js targets
2022-05-21 16:35:06 +01:00
gingerBill
72fcf16a39
Rename to writeToConsole
2022-05-21 16:15:20 +01:00
gingerBill
b9d523e0b2
Add color when writing to stderr
2022-05-21 16:11:10 +01:00
gingerBill
f3d225ca4f
Improve addConsoleLine
2022-05-21 16:00:36 +01:00
gingerBill
d84d2f85e8
Add WebGL helper (CreateProgramHelper)
2022-05-21 15:34:12 +01:00
gingerBill
10f1d8c604
Fix typo
2022-05-21 13:38:38 +01:00
gingerBill
184d1c57b1
Change atomic.wait32 and atomic.notify selection
2022-05-21 13:37:00 +01:00
gingerBill
dfbe68bcfe
Begin to add support for experimental wasm64
2022-05-21 13:30:43 +01:00
gingerBill
3049e07f72
Add mem.DEFAULT_PAGE_SIZE
2022-05-21 13:30:09 +01:00
gingerBill
da54d0ec8c
Fix typo
2022-05-21 13:18:11 +01:00
gingerBill
b57edb89eb
Unify abi for wasm32 and the future wasm64
2022-05-21 13:18:04 +01:00
gingerBill
e43eccbb91
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-21 13:02:03 +01:00
gingerBill
e48f41165c
Begin work on Atomics for wasm32 (wait and notify intrinsics)
2022-05-21 12:58:48 +01:00
gingerBill
9eb4cbcbd2
Improve ABI design for wasm32 targets
2022-05-21 12:32:50 +01:00
gingerBill
2612f241c9
Minor clean up
2022-05-21 12:14:12 +01:00
gingerBill
0f1153fae2
Add page_alloc and page_allocator
2022-05-21 12:11:22 +01:00
Jeroen van Rijn
b84561f2b8
Merge pull request #1800 from DaseinPhaos/master
...
add constants for DXGI_ERROR and DXGI_STATUS
2022-05-21 13:03:35 +02:00
Jeroen van Rijn
f7e78e2671
Merge pull request #1799 from cedric-h/master
...
Fix typo.
2022-05-21 12:59:48 +02:00
Jeroen van Rijn
d10a2bc5d5
Format DXGI constants
2022-05-21 12:59:16 +02:00
gingerBill
94fda3d48d
Rename to runWasm
2022-05-21 11:41:50 +01:00
gingerBill
5cf4f565d6
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-21 11:39:47 +01:00
gingerBill
c20b5cbd10
Change wasm/js/runtime.mjs to a normal .js file; Add interfaces and functions to a global odin variable
2022-05-21 11:39:35 +01:00
gingerBill
115612620f
Merge pull request #1798 from Tetralux/filepath-patch
...
[path/filepath] Change join() to take a []string instead of varargs
2022-05-21 08:50:27 +01:00
Luxko
a5bf3b0bc5
add dxgi HRESULT constants
2022-05-21 15:53:20 +09:00
Cedric Hutchings
5c647e2f61
Fix typo.
2022-05-21 01:50:59 -04:00
Tetralux
06884da42b
[path/filepath] Change join() to take a []string instead of varargs
...
This makes passing an allocator easier, as you no longer have to resort to
named arguments:
Before:
`join(a, b, c)` became `join(elems={a, b, c}, allocator=ally)`
After:
`join({a, b, c})` becomes `join({a, b, c}, ally)`
2022-05-21 04:48:06 +00:00
Jeroen van Rijn
6e7179d8f3
Merge pull request #1797 from Kelimion/libc_math
...
Fix is* proc in libc.
2022-05-20 20:05:44 +02:00
Jeroen van Rijn
e85f1dd9fb
Fix is* proc in libc.
2022-05-20 20:00:27 +02:00
Jeroen van Rijn
9ac94e621b
Merge pull request #1796 from Kelimion/make_directory
...
Fix Windows os.make_directory.
2022-05-20 19:37:40 +02:00
Jeroen van Rijn
db8d119cad
Fix Windows os.make_directory.
2022-05-20 19:15:13 +02:00
gingerBill
836c325021
Merge pull request #1755 from bkrypt/update_miniaudio
...
Update `vendor/miniaudio` to v0.11.9
2022-05-19 20:53:19 +01:00
gingerBill
3bb31093fa
Add documentation for CreateCurrentContextById and SetCurrentContextById
2022-05-18 13:08:31 +01:00
gingerBill
214b43974d
Add WebGL ContextAttributes
2022-05-18 13:06:29 +01:00
gingerBill
55556aea77
Add WebGL runtime into the js/runtime.mjs; Allow for multiple WebGL contexts
2022-05-18 12:31:25 +01:00
gingerBill
223897d224
Fix typo
2022-05-18 12:30:44 +01:00
gingerBill
542e45de26
Increase minimum macOS version to 10.12.0
2022-05-18 12:30:26 +01:00
gingerBill
1fa9488a4d
Merge pull request #1795 from Tetralux/os-patch
...
[os] Linux: os.unset_env()
2022-05-18 11:44:09 +01:00
gingerBill
b1196bd659
Merge pull request #1794 from mollstam/fix/optnone-procs
...
Emit LLVM IR to never optimize/inline procs when building debug and -o:minimal
2022-05-18 10:27:16 +01:00
Tetralux
57167be2a6
[os] Linux: os.unset_env()
2022-05-18 07:12:30 +00:00
Tobias Mollstam
846930a07f
emit optnone and noinline for all procs when opt set to minimal
2022-05-18 07:07:20 +02:00
gingerBill
0cc67ff5e3
Add a return value to mem.zero_item and mem.zero_slice which is the same as the input
2022-05-17 22:42:37 +01:00
gingerBill
a86574da84
Use RtlWaitOnAddress to allow for a i64 sized duration rather than u32
2022-05-17 22:24:18 +01:00
jason
5a6836ab99
match user.odin and env.odin to master
2022-05-16 15:28:56 -04:00
jason
43432f92ec
fix git dummy move
2022-05-16 15:21:36 -04:00
jason
d1499f3f78
make -vet happy
2022-05-16 13:57:12 -04:00
jason
fff23e2bbb
merge from upstream and convert to ^File types
2022-05-16 13:49:57 -04:00
gingerBill
33895b6d92
Convert all uses of *_from_slice to *_from_bytes where appropriate
2022-05-16 01:43:43 +01:00
gingerBill
e10105a780
Correct logic for tracking allocator proc for freeing a nil pointer
2022-05-15 23:50:51 +01:00
gingerBill
5451c9672d
Fix dynamic_pool_destroy
2022-05-15 23:48:11 +01:00
gingerBill
4eba2bb8d9
Add _system_random for Darwin
2022-05-15 23:46:32 +01:00
gingerBill
2a58bceb56
Add rand.init_as_system to allow for system-level based random number generation
2022-05-15 23:43:20 +01:00
gingerBill
fdcf08410c
Add Gompertz Distribution
2022-05-15 23:03:01 +01:00
gingerBill
5142955f00
Add more distributions
2022-05-15 22:58:39 +01:00
gingerBill
500150b12a
Correct log normal
2022-05-15 22:52:11 +01:00
gingerBill
50ddd8dd26
Fix typo
2022-05-15 22:45:05 +01:00
gingerBill
6c6de2a07d
Move distributions to a separate file
2022-05-15 22:20:25 +01:00
gingerBill
01912b6ba5
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-15 21:53:21 +01:00
gingerBill
be2c7b5c9b
Add numerous different random distribution procedures
2022-05-15 21:53:16 +01:00
gingerBill
ed60ed3bae
Merge pull request #1789 from Tetralux/os-patch
...
[os] Linux: Add os.exists(), os.get_env(), os.lookup_env(), os.set_env()
2022-05-15 20:49:55 +01:00
gingerBill
23cb96de02
Commit import _ changes
2022-05-15 16:37:05 +01:00
gingerBill
a2c771876e
Merge pull request #1788 from odin-lang/image-general-loader
...
Generalized `core:image` loader
2022-05-15 13:04:26 +01:00
Tetralux
b5b329378f
[os] Linux: Add os.exists(), os.get_env(), os.lookup_env(), os.set_env()
...
exists() does the access() syscall.
Renames getenv() to get_env() to match Windows.
2022-05-14 20:14:10 +00:00
gingerBill
f7b18cd86e
Add DjVu
2022-05-14 15:32:28 +01:00
gingerBill
d74e4b427d
Remove bool return on image.destroy
2022-05-14 15:16:56 +01:00
gingerBill
22dc020647
Destroy pixel buffer
2022-05-14 15:16:14 +01:00
gingerBill
e8485ee7e7
Correction to image.destroy
2022-05-14 15:15:04 +01:00
gingerBill
c516fb947f
Add image.destroy
2022-05-14 15:11:23 +01:00
gingerBill
3aa0a733f3
Add destroy with loader
2022-05-14 15:06:55 +01:00
gingerBill
4e080057fb
Rename load_from_buffer to load_from_bytes
2022-05-14 15:01:17 +01:00
gingerBill
9c1f270bd5
Rename load_from_slice to load_from_bytes across core
2022-05-14 14:55:15 +01:00
gingerBill
e46d87b221
Fix type and keep -vet happy
2022-05-14 14:47:58 +01:00
gingerBill
5bc866e420
Allow for import _ "foo" to allow for @(init) procedures; Remove using import code
2022-05-14 14:44:24 +01:00
gingerBill
5af7004f44
Add image packages to examples/all
2022-05-14 14:43:50 +01:00
gingerBill
01e8e682c0
Generalized core:image loader
...
```odin
import "core:image"
import "core:image/png"
...
img, err := image.load_from_file("path.png")
```
2022-05-14 14:38:26 +01:00
gingerBill
2ef6544ca2
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-14 14:26:50 +01:00
gingerBill
9921ac01cc
Add more NetPBM variants
2022-05-14 14:26:11 +01:00
Jeroen van Rijn
7057f5fc11
Add PAM and PFM to format detection.
2022-05-14 15:17:37 +02:00
gingerBill
f17a9dd5e7
Add even more file formats
2022-05-14 13:59:49 +01:00
gingerBill
ec3394b8da
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-14 13:46:15 +01:00
gingerBill
0cca42a1f4
Add image.which file format testing procedures
2022-05-14 13:46:10 +01:00
Jeroen van Rijn
85edcf9cc2
Revert.
2022-05-14 13:34:52 +02:00
gingerBill
3b842ffe29
Remove semicolons
2022-05-14 12:27:21 +01:00
Jeroen van Rijn
6c0e2e2a53
pool_join should look at .Done.
2022-05-14 13:18:38 +02:00
Jeroen van Rijn
42371f7aea
Fix fix.
2022-05-13 15:25:20 +02:00
Jeroen van Rijn
286f782e5e
Merge pull request #1786 from Kelimion/thread_fix
...
Fix thread pool join.
2022-05-13 15:17:08 +02:00
Jeroen van Rijn
58fc305b11
Do a bit less work for pool_join.
2022-05-13 15:11:33 +02:00
Jeroen van Rijn
7e0c359f99
Fix thread pool join.
2022-05-13 15:03:40 +02:00
Jeroen van Rijn
f50399e394
Merge pull request #1785 from Kelimion/csv
...
Allow CSV/TSV reader to read multi-line fields.
2022-05-13 14:33:25 +02:00
Jeroen van Rijn
7bc21c6691
Allow CSV/TSV reader to read multi-line fields.
2022-05-13 14:19:04 +02:00
gingerBill
dd56c85e55
Merge pull request #1784 from yay/os-darwin-fixes
...
os_darwin.odin fixes
2022-05-13 10:10:05 +01:00
Vitaly Kravchenko
9e2a847ebc
Typo fix
2022-05-13 09:32:04 +01:00
Vitaly Kravchenko
daef39a206
os_darwin.odin fixes
2022-05-13 09:27:15 +01:00
gingerBill
5d496cdcda
Merge pull request #1783 from AaronGlazer/master
...
core:sys/windows - Add flag values for FormatMessageW and LocalAlloc/etc.
2022-05-13 09:21:04 +01:00
gingerBill
f27f595549
Add core:encoding/endian
2022-05-12 19:35:07 +01:00
Aaron Glazer
536e0a8c29
Adding flag values for FormatMessageW and LocalAlloc/etc.
2022-05-12 08:22:51 -07:00
gingerBill
bc18310107
Correct xml test
2022-05-12 16:01:15 +01:00
gingerBill
3fdb3dd767
Minor style change in leb128.odin
2022-05-12 15:59:15 +01:00
gingerBill
d224679619
Minor name changes within core:encoding/xml for consistency
2022-05-12 15:57:03 +01:00
gingerBill
2dd181e663
Remove duplication
2022-05-12 15:48:27 +01:00
gingerBill
f002857edc
Clean up core:time to be consistent across all platforms
2022-05-12 15:47:24 +01:00
gingerBill
97739da85a
Remove core:sys/win32
2022-05-12 14:33:03 +01:00
gingerBill
6c14586fff
Add GetAddrInfoExW
2022-05-12 14:27:46 +01:00
gingerBill
0c45a46aab
Remove A calls in favour of W calls
2022-05-12 14:21:25 +01:00
gingerBill
d1fc9d3073
Add more libraries
2022-05-12 13:54:40 +01:00
gingerBill
2fb351bf04
Update sys/windows to be closer to the soon to be deleted sys/win32
2022-05-12 13:45:17 +01:00
gingerBill
dc832ad49f
Minor fix
2022-05-12 13:20:55 +01:00
gingerBill
eef44b11f3
Make the utf16 conversion procedures in core:sys/windows safer by checking for memory leaks
2022-05-12 13:17:58 +01:00
gingerBill
bb4f108487
Update error handling for os2 on windows
2022-05-12 12:54:27 +01:00
gingerBill
ccb38c3dc6
Add _safe versions
2022-05-12 12:54:14 +01:00
gingerBill
cc81057d21
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-12 11:33:08 +01:00
gingerBill
8b4b81fdeb
Fill in most of os2/file_windows.odin
2022-05-12 11:33:01 +01:00
Jeroen van Rijn
4cb46f5631
Merge pull request #1781 from Kelimion/thread_fix
...
Disable thread.terminate on Darwin for now.
2022-05-11 16:23:56 +02:00
Jeroen van Rijn
f4ad4c7aa6
Disable thread.terminate on Darwin for now.
2022-05-11 16:17:35 +02:00
Jeroen van Rijn
37dda30c49
Merge pull request #1780 from Kelimion/thread_fix
...
Implement `pthread_cancel`.
2022-05-11 15:58:42 +02:00
Jeroen van Rijn
8fb718245a
Implement pthread_cancel.
2022-05-11 15:52:04 +02:00
Jeroen van Rijn
a4cb6f96ea
Merge pull request #1779 from Kelimion/thread_fix
...
Fix join on *nix.
2022-05-11 13:52:51 +02:00
Jeroen van Rijn
56e3b7cb7d
Fix join on *nix.
2022-05-11 13:43:29 +02:00
Jeroen van Rijn
ae1f5d2181
Merge pull request #1778 from Thimilius/fix-join_multiple-typo
...
Fix join_multiple typo
2022-05-11 13:28:12 +02:00
gingerBill
b4df272eb5
Improve -vet shadowing to allow x := x if cond else y etc
2022-05-11 12:15:37 +01:00
gingerBill
dca2fbccff
Improve ternary if type inference
2022-05-11 12:15:10 +01:00
Thimilius
d48d3bfa87
Fix join_multiple typo
2022-05-11 13:12:56 +02:00
Jeroen van Rijn
8559790bd8
Fix ; typo.
2022-05-10 20:02:39 +02:00
gingerBill
37c6279031
Add ggpo to examples/all/all_vendor.odin
2022-05-09 23:33:00 +01:00
gingerBill
0d4e710b96
Add vendor:ggpo
2022-05-09 23:32:23 +01:00
gingerBill
205aa10b88
Improve events handling
2022-05-09 22:08:14 +01:00
gingerBill
6f1cc3946b
Begin work on Event System for js_wasm32 target
2022-05-09 16:58:34 +01:00
Jeroen van Rijn
253ecd55a0
Merge pull request #1776 from AaronGlazer/master
...
core:sys/windows: Add some proc bindings, struct definitions, and constant values.
2022-05-08 12:30:01 +02:00
Aaron Glazer
c9e31dc90d
Adding some proc bindings, struct definitions, and constant values.
2022-05-08 02:34:10 -07:00
Jeroen van Rijn
3d06322d4a
Merge pull request #1775 from Kelimion/ctrl_c
...
Ctrl-C handler on Windows.
2022-05-08 10:45:58 +02:00
Jeroen van Rijn
85e6efdf16
Ctrl-C handler on Windows.
2022-05-08 10:39:03 +02:00
Jeroen van Rijn
6b89ff43ea
Merge pull request #1770 from ftphikari/master
...
sys/windows: fix RGB macro
2022-05-06 17:28:21 +02:00
hikari
4cdc55af91
sys/windows: fix RGB macro again
2022-05-06 18:23:52 +03:00
hikari
4b289f904c
sys/win32: fix RGB macro
2022-05-06 13:58:00 +03:00
gingerBill
53c70da0b8
Correct foreign import prefix behaviour for wasm
2022-05-06 11:16:24 +01:00
gingerBill
6f20b5bb59
Add mock for _yield
2022-05-06 10:59:55 +01:00
gingerBill
96ab17ecfc
Begin mocking os2 for windows out more
2022-05-05 18:01:44 +01:00
gingerBill
18bde22b26
Go to a File based approach over Handle based
2022-05-05 16:15:03 +01:00
gingerBill
e61aad925b
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-05-05 15:30:14 +01:00
gingerBill
5d190b15d7
Minor improvements to io and os
2022-05-05 15:30:07 +01:00
Jeroen van Rijn
fe442d7c0c
[mem] Fix Dynamic_Pool.
2022-05-05 10:45:15 +02:00
jason
97d1a67871
make vet happy, thread_local heap
2022-05-04 18:45:39 -04:00
jason
bac96cf2ad
fix mmap_to_region
2022-05-04 18:32:14 -04:00
jason
7e0cc0af25
heap_linux.odin
2022-05-04 17:55:15 -04:00
Jeroen van Rijn
1d29d9be25
Merge pull request #1769 from zhibog/fix_1761
...
Fix issue #1761 . Added the test vector to the core and vendor tests
2022-05-04 22:21:55 +02:00
zhibog
0e91e63043
Fix issue 1761. Added the test vector to the core and vendor tests
2022-05-04 22:13:50 +02:00
gingerBill
0cf37bde8b
Update foreign import for OpenEXRCore for non-windows platforms
2022-05-04 17:51:36 +01:00
gingerBill
173799527a
Merge pull request #1768 from odin-lang/link-order
...
Make the link order of foreign imports deterministic
2022-05-04 17:04:18 +01:00
gingerBill
5931e2383b
Remove unneeded #if defined
2022-05-04 16:58:40 +01:00
gingerBill
e4743b15b1
Add @(priority_index=<int>) for foreign import
2022-05-04 16:40:12 +01:00
gingerBill
9f95d6fa65
Minor move around for path sets
2022-05-04 16:17:24 +01:00
gingerBill
982a1aebb3
Remove stray line
2022-05-04 16:14:42 +01:00
gingerBill
cec049b7d3
Make the link order of foreign imports deterministic
2022-05-04 16:04:26 +01:00
Jeroen van Rijn
dc323cfa1d
Small fix to deprecation warning.
2022-05-04 13:29:52 +02:00
gingerBill
0afa226a93
Merge pull request #1766 from odin-lang/vendor-openexr
...
`vendor:OpenEXRCore`
2022-05-03 15:28:28 +01:00
gingerBill
1146604344
Add LICENSE.md
2022-05-03 14:52:09 +01:00
gingerBill
89c2e1a5fa
Add vendor:OpenEXRCore to examples/all
2022-05-03 14:22:25 +01:00
gingerBill
971d498e79
Change path
2022-05-03 14:21:24 +01:00
gingerBill
6e7a50c02f
Add .lib for vendor:openexr
2022-05-03 14:11:26 +01:00
Jeroen van Rijn
6aaab4988e
Merge pull request #1765 from Kelimion/more_opt_handling
...
Handle negative integer flags, add deprecation warnings.
2022-05-03 14:01:22 +02:00
Jeroen van Rijn
d9b0c05acf
Typo.
2022-05-03 13:47:13 +02:00
Jeroen van Rijn
47f637d23b
Add deprecation warnings for -opt and flag=value insted of flag:value.
2022-05-03 13:37:07 +02:00
Jeroen van Rijn
59f55a2119
Make big_int_from_string return an error if not an integer.
2022-05-03 13:15:49 +02:00
Jeroen van Rijn
8bac82320f
Fix -opt: parsing.
2022-05-03 11:44:55 +02:00
Jeroen van Rijn
14bf20320a
Merge pull request #1764 from Kelimion/xxh3_tests
...
[xxhash] For the streaming tests, randomly select the size to use.
2022-05-02 19:30:40 +02:00
Jeroen van Rijn
b99940f33a
[xxhash] For the streaming tests, randomly select the size to use.
...
Randomize size used with `update`.
It'll print "Using user-selected seed {18109872483301276539,2000259725719371} for update size randomness."
If a streaming test then fails, you can repeat it using:
`odin run . -define:RAND_STATE=18109872483301276539 -define:RAND_INC=2000259725719371`
2022-05-02 19:20:25 +02:00
Jeroen van Rijn
81495068b9
Merge pull request #1763 from Kelimion/xxh3_tests
...
[xxhash] Add tests for large inputs
2022-05-02 17:57:48 +02:00
Jeroen van Rijn
6985181961
[xxhash] Add tests for large inputs
...
Test XXH32, XXH64, XXH3-64 and XXH3-128 for large inputs, with both all-at-once and streaming APIs.
XXH32_create_state and XXH64_create_state now implicitly call their "reset state" variants to simplify the streaming API to 3 steps:
- create state / defer destroy
- update
- digest (finalize)
These are tested with an array of 1, 2, 4, 8 and 16 megabytes worth of zeroes.
All return the same hashes as do both the one-shot version, as well as that of the official xxhsum tool.
3778/3778 tests successful.
2022-05-02 17:51:39 +02:00
gingerBill
97717d65ef
Add vendor:openexr
...
No foreign library yet
2022-05-02 16:09:09 +01:00
gingerBill
8023c8abc7
Fix @(disable=...)
2022-05-02 14:10:02 +01:00
gingerBill
2d3f59d9a7
Merge pull request #1758 from ftphikari/master
...
sys/windows: add a couple procedures and tons of constants
2022-05-02 13:11:25 +01:00
gingerBill
be8de4a1ff
Update arch enum
2022-05-01 23:52:55 +01:00
gingerBill
18ad6c33ef
Implement syscall for arm32
2022-05-01 23:32:31 +01:00
gingerBill
0e27b27b81
Fix building issues with arm32
2022-05-01 23:28:32 +01:00
gingerBill
10a311092b
Add basic arm32 ABI support (linux_arm32)
2022-05-01 23:15:06 +01:00
Jeroen van Rijn
18463d68d4
Merge pull request #1762 from WalterPlinge/netpbm-doc-fix
...
Fixed incorrect values in the docs for the Netpbm package
2022-05-01 22:39:15 +02:00
WalterPlinge
74d3bcec05
Fixed the depth values in the doc file, made some info more clear
2022-05-01 21:29:09 +01:00
Jeroen van Rijn
df233aee94
Merge pull request #1760 from Kelimion/xxh3_fix
...
[xxh3] Fix flaws in streaming implementation
2022-05-01 12:54:20 +02:00
Jeroen van Rijn
335b724209
[xxh3] Fix flaws in streaming implementation
2022-05-01 12:47:05 +02:00
hikari
b2fdb881eb
sys/windows: remove A variant for one SystemParametersInfoW
2022-05-01 13:21:28 +03:00
Jeroen van Rijn
6ade9acc4d
[pbm] Remove stray comment.
2022-04-30 22:54:53 +02:00
Jeroen van Rijn
2081f8fcd6
[tests/core/image] Remove old crappy PPM writer.
2022-04-30 22:04:47 +02:00
Jeroen van Rijn
964ab4814c
Merge pull request #1726 from WalterPlinge/image-netpbm
...
Add Netpbm image format support
2022-04-30 22:01:22 +02:00
Jeroen van Rijn
7a032cf9f9
[pbm] Also test PFM formats.
2022-04-30 21:57:14 +02:00
Jeroen van Rijn
694c13fe86
Merge branch 'master' into pr/1726
2022-04-30 21:01:04 +02:00
Jeroen van Rijn
8bd16c32f3
[pbm] Fixes.
2022-04-30 21:00:32 +02:00
bkrypt
be9b935953
Fix indentation
2022-04-30 20:43:22 +02:00
bkrypt
9e69452327
Remove unnecessary value (count) from enum
2022-04-30 20:42:42 +02:00
Jeroen van Rijn
234d529867
[pbm] WIP unit tests. part deux.
2022-04-30 19:25:16 +02:00
Jeroen van Rijn
dd8b71e353
[pbm] WIP unit tests.
2022-04-30 17:52:23 +02:00
hikari
d24bebdb9e
sys/windows: add a couple procedures and tons of constants
2022-04-30 16:55:37 +03:00
Jeroen van Rijn
41a18f078d
Merge pull request #1757 from Kelimion/xml
...
[xml] Add `parse_from_string` overload.
2022-04-30 14:51:46 +02:00
Jeroen van Rijn
3978e7e1ca
[xml] Add parse_from_string overload.
...
`parse` now takes either a `[]u8` slice or a string.
`load_from_file` takes a path string.
2022-04-30 14:43:58 +02:00
gingerBill
b758c696f2
Merge pull request #1746 from odin-lang/sync-cond-futex
...
`core:sync` Improvements
2022-04-30 13:34:16 +01:00
Jeroen van Rijn
d6a8216ce4
[pbm] Normalize some errors, correct .depth
2022-04-30 14:34:07 +02:00
gingerBill
2720f64c06
Remove unused imports
2022-04-30 13:28:45 +01:00
gingerBill
de2ebdd5cc
Merge pull request #1753 from awwdev/master
...
Fixing some typos in vendor:OpenGL
2022-04-30 13:28:02 +01:00
gingerBill
4e39629a9a
Unify implementation for *nix platforms
2022-04-30 13:09:24 +01:00
gingerBill
78a8da5fea
Add sync.Parker
2022-04-30 12:37:39 +01:00
gingerBill
d5886c1572
Remove the wait group based semaphore implementation
...
It was a misuse of the data structure
2022-04-30 12:37:14 +01:00
Jeroen van Rijn
7cc759a855
Merge pull request #1756 from ftphikari/master
...
sys/windows: add a couple of procedures and types
2022-04-30 12:46:11 +02:00
gingerBill
dd6337224f
Correct explicit atomic orderings
2022-04-30 11:42:28 +01:00
hikari
d2bac0c35e
sys/windows: fix build issues
2022-04-30 13:40:38 +03:00
hikari
8c7f3fd1e6
sys/windows: change macro and add comment
2022-04-30 13:34:11 +03:00
Jeroen van Rijn
ae3deea153
Merge branch 'master' into pr/1726
2022-04-30 12:29:28 +02:00
hikari
40bea95fb0
sys/windows: add GetDCBrushColor
2022-04-30 12:41:04 +03:00
hikari
0ad448f1c7
sys/windows: add a couple of procedures and types
2022-04-30 11:21:37 +03:00
bkrypt
4911df9f99
Remove unneeded semicolons
2022-04-29 21:39:10 +02:00
bkrypt
a223340c44
Update vendor/miniaudio to v0.11.9
2022-04-29 21:13:25 +02:00
Jeroen van Rijn
9c9c2b483c
[i18n] Enable *nix tests again.
2022-04-29 18:41:21 +02:00
Jeroen van Rijn
819345caa6
Disable i18n test for *nix for now.
2022-04-29 18:28:42 +02:00
Jeroen van Rijn
11ceb3973d
Merge pull request #1754 from Kelimion/i18n
...
[i18n] Fix segfault on cleanup on Linux
2022-04-29 18:20:54 +02:00
Jeroen van Rijn
36263399a0
[i18n] Enable i18n test on Linux.
2022-04-29 18:13:46 +02:00
Jeroen van Rijn
ff0f0c447f
[i18n] Fix segfault on destroy on Linux
...
Forgot to intern the section string in QT TS loader.
2022-04-29 18:10:13 +02:00
Jeroen van Rijn
aa681932a9
Merge pull request #1336 from Kelimion/i18n
...
[i18n] Initial i18n support.
2022-04-29 16:27:28 +02:00
Jeroen van Rijn
09e1c0fa27
[i18n] Add tests.
2022-04-29 16:19:13 +02:00
Jeroen van Rijn
957ef8e8fe
[i18n/xml] Move I18N XML files to their own assets directory.
2022-04-29 13:16:30 +02:00
Jeroen van Rijn
2e11a8da5b
[i18n] Move to core:text/i18n.
2022-04-29 13:02:40 +02:00
awwdev
e9cfcf9ecc
fix typo in TexImage3D
2022-04-29 11:26:57 +02:00
awwdev
789ab99c4d
replaced a few [^]u8 with cstring
2022-04-29 11:21:23 +02:00
Jeroen van Rijn
0297db6f2e
Merge pull request #1752 from sduman/patch-1
...
Add missing result parameter names
2022-04-29 01:21:35 +02:00
sduman
9ce64916e6
Add missing result parameter names
...
This adds some missing result parameters names back to pop_front_safe.
Currently it the procedure won't compile since it's referencing missing variable names.
2022-04-28 17:08:48 -06:00
Jeroen van Rijn
1289c96e2c
[i18n] QT Linguist TS reader.
2022-04-29 00:29:55 +02:00
Jeroen van Rijn
ba23bfb7b9
[i18n] Allow multiple sections.
2022-04-28 20:12:32 +02:00
Jeroen van Rijn
2fae6eda23
[i18n] Initial i18n support.
...
- Add initial GetText .MO parser
- Add translation struct and helpers
- Pluralized lookup
TODO:
- Support for more translation catalog file formats.
2022-04-28 18:58:49 +02:00
Jeroen van Rijn
e53ba3b116
Allow -error-pos-style:default as an alias for odin
2022-04-28 18:18:25 +02:00
Jeroen van Rijn
1ed84a064b
Make -error-pos-style case-insensitive.
2022-04-28 18:12:55 +02:00
Jeroen van Rijn
79019c7a09
Merge pull request #1751 from Kelimion/error-pos-style
...
Fix -error-pos-style:unix
2022-04-28 17:52:47 +02:00
Jeroen van Rijn
a1002e6960
Fix -error-pos-style:unix
2022-04-28 17:46:36 +02:00
Jeroen van Rijn
62139cb5a4
Merge pull request #1342 from Kelimion/xml
...
Initial version of `core:encoding/xml`.
2022-04-28 15:54:28 +02:00
Jeroen van Rijn
127b0ba65e
[xml] Enable tests.
2022-04-28 15:46:36 +02:00
Jeroen van Rijn
80878264b6
[xml] Speedup.
2022-04-28 15:29:00 +02:00
gingerBill
9fcba99ca2
Merge pull request #1749 from karl-zylinski/d3d12-binding-fixes
...
D3D12 binding fixes
2022-04-27 22:16:24 +01:00
Karl Zylinski
03c9212600
Added some additional IID versions of Direct3D 12 UUIDs that I missed during my first pass. All are accounted for now.
2022-04-27 22:30:28 +02:00
Karl Zylinski
5650087aa3
Merge remote-tracking branch 'origin/master' into d3d12-binding-fixes
2022-04-27 20:50:54 +02:00
Karl Zylinski
67689ecb21
Typo fix in d3d12.odin
2022-04-27 20:47:05 +02:00
Karl Zylinski
cd13dedb36
D3D12 binding fixes: Added dxgi.IID versions of all the UUIDs in d3d12.odin so that the IIDs can be used to fetch interfaces properly. Also fixed an issue where GetDesc, GetCPUDescriptorHandleForHeapStart and GetGPUDescriptorHandleForHeapStart had the wrong signature due to an old D3D12 header bug, more info: https://stackoverflow.com/questions/34118929/getcpudescriptorhandleforheapstart-stack-corruption
2022-04-27 20:12:44 +02:00
gingerBill
10cd294cf2
Use Acquire semantics for the futex_wait load shortcut
2022-04-27 15:57:47 +01:00
gingerBill
d6cfb60506
Remove prev from Atomic_Cond
2022-04-27 15:29:21 +01:00
gingerBill
df0df73540
Merge branch 'master' into sync-cond-futex
2022-04-27 15:26:21 +01:00
gingerBill
33f1418dec
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-04-27 15:26:02 +01:00
gingerBill
305510bea0
Update intrinsics.odin
2022-04-27 15:25:56 +01:00
gingerBill
beb698f31d
Merge branch 'master' into sync-cond-futex
2022-04-27 15:21:18 +01:00
Jeroen van Rijn
6df21d6a9f
Merge branch 'master' into xml
2022-04-27 16:13:47 +02:00
Jeroen van Rijn
c5982e52d5
Merge pull request #1748 from Kelimion/test-assets
...
Move Odin CI test assets over to its own repository.
2022-04-27 16:04:15 +02:00
gingerBill
bd73b2845b
Unify default Sema and Atomic_Sema behaviour
2022-04-27 15:03:48 +01:00
Jeroen van Rijn
da0f722aad
Move Odin CI test assets over to its own repository.
2022-04-27 15:56:45 +02:00
gingerBill
904f0407f8
Add intrinsics.type_is_multi_pointer
2022-04-27 14:53:26 +01:00
gingerBill
fbbb0d7610
Update intrinsics.odin for documentation
2022-04-27 14:51:04 +01:00
gingerBill
3a9b0a22e7
Add core:container/intrusive/list
2022-04-27 14:27:33 +01:00
Jeroen van Rijn
c4e0d1efa1
Merge branch 'master' into xml
2022-04-27 14:37:15 +02:00
gingerBill
9349dfba8f
Add new builtin container_of
2022-04-27 12:39:45 +01:00
gingerBill
9692496989
Add intrinsics.type_field_type
2022-04-27 12:27:53 +01:00
CiD-
5bc8164274
add mremap + flags
2022-04-26 17:11:30 -04:00
gingerBill
a6cef2e50e
Update LICENSE
2022-04-26 21:47:45 +01:00
Jeroen van Rijn
d262eda91c
Update Makefile
2022-04-26 15:10:31 +02:00
Jeroen van Rijn
40f0f5ad8d
Update CI for math library.
2022-04-26 15:01:09 +02:00
Jeroen van Rijn
1c03e68057
Update CI.
2022-04-26 14:56:28 +02:00
Jeroen van Rijn
f1c1cfb6d2
Merge pull request #1747 from Kelimion/filename-merge
...
Filename generation
2022-04-26 14:52:58 +02:00
Jeroen van Rijn
ba5e33bc35
Update CI workflow.
2022-04-26 14:51:16 +02:00
gingerBill
80df9fbc65
Merge pull request #1745 from eisbehr/patch-1
...
Make allocator in pool_add_task() explicit
2022-04-26 13:49:44 +01:00
Jeroen van Rijn
b68ab0dd6d
Merge branch 'master' into filename-merge
2022-04-26 14:45:00 +02:00
gingerBill
9cf7a31068
Implement _Sema with Atomic_Sema
2022-04-26 13:44:32 +01:00
Jeroen van Rijn
5e11ad2e1e
Update test paths.
2022-04-26 14:23:23 +02:00
gingerBill
07d1a42768
Simplify Atomic_Sema implementation
2022-04-26 13:11:34 +01:00
gingerBill
ec8221cb5d
Simplify Atomic_Cond implementation
2022-04-26 13:04:50 +01:00
Jeroen van Rijn
a5342a0126
Address edge cases.
2022-04-26 13:14:09 +02:00
gingerBill
c81fd2e5dd
Fix #1644
2022-04-26 11:45:46 +01:00
gingerBill
3bd7122959
Fix #1720
2022-04-26 11:42:01 +01:00
gingerBill
530401e5ee
Fix #1729
2022-04-26 11:38:32 +01:00
gingerBill
a412d34574
Fix #1740
2022-04-26 11:35:34 +01:00
Florian Behr
ee67a0b9a1
reorder procedure parameters to make sure the optional argument in pool_add_task() is last, and the argument order is consistent with pool_init()
2022-04-25 14:08:09 +02:00
Florian Behr
ca6a1db757
fix doc comment for pool_init
2022-04-25 13:41:39 +02:00
Florian Behr
1fb76ad768
change usage in demo.odin
2022-04-25 13:41:19 +02:00
Florian Behr
e01662c139
Make allocator in pool_add_task() explicit
2022-04-25 13:23:05 +02:00
Jeroen van Rijn
63331ef731
Revert "Merge pull request #1702 from Kelimion/filename_generation"
...
This reverts commit a40a53b104 , reversing
changes made to 5422a3b17e .
2022-04-24 19:53:36 +02:00
Jeroen van Rijn
a40a53b104
Merge pull request #1702 from Kelimion/filename_generation
...
Compiler: Add early error for output path being a directory.
2022-04-24 15:15:51 +02:00
Jeroen van Rijn
9f8d90f466
Update CI paths for issue tests.
2022-04-24 14:28:00 +02:00
Jeroen van Rijn
3d2856db31
Update tests to use new filename generation code.
2022-04-24 14:19:25 +02:00
Jeroen van Rijn
f4723aea4c
Remove redundant bit for non-Windows.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
76d48b38d3
Compiler: Allow -out: to not have an extension on *nix for executables (only).
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
3cab2592c3
Compiler: Add early error for output path being a directory.
...
- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.
TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
2022-04-24 13:37:26 +02:00
Jeroen van Rijn
5422a3b17e
Merge pull request #1743 from Tetralux/filepath-stems
...
[path/filepath] Add file stem and long-extension procedures
2022-04-23 22:33:31 +02:00
Tetralux
b44b6e7e50
[path/filepath] Add file stem and long-extension procedures
...
Adds stem(), short_stem(), and long_ext(); also adds doc-comments to base() and ext().
The 'stem' is usually 'the name' of the file; the basename without the file extension.
To this end, this adds stem(), which is such that:
stem(path) + ext(path) = base(path)
However, 'file extension' has two different meanings to what constitutes it!
> What is the extension of: 'name.tar.gz' ?
Colloquially, you would likely think of it as 'a tarball' - which you might think is '.tar.gz'.
But, if you're writing code to process a file of this type, you would first treat it
as a Gzip file, and then treat the result as a TAR file - i.e: '.gz' ... _followed by_ '.tar'.
ext() returns '.gz' here, since that is the most-immediate format that you would need to use
to decode it; it would be a Gzip stream.
Sometimes though, you do actually want to consider these longer file extensions.
Perhaps you're extracting a tarball, and what to know what to call the intermediate tar file;
perhaps you want to check to see if this file is a tarball, or just a Gzip file;
or maybe you just want 'the name' of the file, and not this "strange 'name-and-part-of-the-extension' thing".
So, this also adds short_stem() and long_ext(), such that:
short_stem(path) + long_ext(path) = base(path)
Thus, we can use either, but the most immediately-useful one is the easiest to reach for:
stem('name.tar.gz') -> 'name.tar'
ext('name.tar.gz') -> '.gz'
short_stem('name.tar.gz') -> 'name'
long_ext('name.tar.gz') -> '.tar.gz'
These procedures are identical to their counterparts when the path only has a simple extension:
stem('name.txt') -> 'name'
ext('name.txt') -> '.txt'
short_stem('name.txt') -> 'name'
long_ext('name.txt') -> '.txt'
2022-04-23 20:25:59 +00:00
Jeroen van Rijn
849efff070
Merge pull request #1741 from Kelimion/shoco
...
Add Shoco short string compression.
2022-04-22 18:06:31 +02:00
Jeroen van Rijn
b022167df1
Remove unused fmt.
2022-04-22 17:56:34 +02:00
Jeroen van Rijn
ac9a358c65
[shoco] Replace 2D slices in model with 1D slices.
2022-04-22 17:52:38 +02:00
Jeroen van Rijn
e799476f90
[compress/shoco] Add short string compressor.
2022-04-22 16:55:47 +02:00
Jeroen van Rijn
b4f8efcbe6
Merge pull request #1739 from ftphikari/master
...
strings: add levenshtein_distance procedure
2022-04-21 20:31:11 +02:00
hikari
f026753692
strings: levenshtein_distance: remove do
2022-04-21 21:19:43 +03:00
hikari
71b1cce517
strings: levenshtein_distance: 64 is actually faster than 256
2022-04-21 21:19:11 +03:00
hikari
d8f0da164b
strings: levenshtein_distance: improve potential caching
2022-04-21 21:15:11 +03:00
hikari
591732f347
strings: levenshtein_distance: remove costs calculation for default array
2022-04-21 20:58:50 +03:00
hikari
eee97f7f62
strings: add levenshtein_distance procedure
2022-04-21 20:49:32 +03:00
Jeroen van Rijn
3dd9da1b66
Merge pull request #1733 from ftphikari/master
...
sys/windows: add some procedures
2022-04-19 20:41:32 +02:00
Jeroen van Rijn
e8c0be23f2
Merge pull request #1737 from Kelimion/fix_json_unmarshal
...
[json/unmarshal] Fix quoted strings.
2022-04-19 20:40:40 +02:00
Jeroen van Rijn
a30b9b17b3
[json/unmarshal] Fix quoted strings.
2022-04-19 20:32:22 +02:00
Jeroen van Rijn
29b2c04766
Revert "Fix unmarshal for escaped strings."
...
This reverts commit 581255bf23 .
2022-04-19 20:11:02 +02:00
Jeroen van Rijn
d869ba7bcd
Merge pull request #1736 from Kelimion/fix_json_unmarshal
...
Fix unmarshal for escaped strings.
2022-04-19 20:05:04 +02:00
Jeroen van Rijn
581255bf23
Fix unmarshal for escaped strings.
2022-04-19 20:04:38 +02:00
Jeroen van Rijn
b51358a01c
Merge pull request #1734 from hanabi1224/lru-alloc-fix
...
[core:container/lru] Avoid unnecessary allocations
2022-04-19 15:04:49 +02:00
Jeroen van Rijn
323e7a2d02
Add JSON unmarshal test.
2022-04-19 15:03:09 +02:00
Jeroen van Rijn
7654afc2db
Revert "Update mem.nil_allocator to match the same in runtime"
...
The change broke JSON unmarshaling.
This reverts commit 4484a3433d .
2022-04-19 15:01:54 +02:00
hanabi1224
ded8342f3f
Reduce allocations
2022-04-19 20:46:33 +08:00
ftphikari
240fb9b953
Merge branch 'odin-lang:master' into master
2022-04-19 06:00:30 +03:00
hikari
4997a43763
Merge remote-tracking branch 'origin/master'
2022-04-19 05:59:42 +03:00
hikari
aa4eb35671
sys/windows: add some procedures
2022-04-19 05:58:22 +03:00
Jeroen van Rijn
d99ba9c073
Merge pull request #1731 from Kelimion/targa
...
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:36:45 +02:00
Jeroen van Rijn
fdd24f787f
[image/tga] Writer for RGB(A) 8-bit images.
2022-04-18 23:28:34 +02:00
WalterPlinge
b6abd691f4
Image: Fix implicit enum error
2022-04-18 20:42:50 +01:00
WalterPlinge
8d370fabdd
Added initial Netpbm image format support
2022-04-18 20:29:37 +01:00
Jeroen van Rijn
df4a0c62ad
Delete accidentally added test artefact.
2022-04-18 19:10:53 +02:00
Jeroen van Rijn
e3e3309a9b
Merge pull request #1728 from Tetralux/more-slice-helpers
...
Duplicate some basic slice procedures from core:mem into core:slice
2022-04-18 19:05:20 +02:00
Tetralux
7428e52264
Duplicate some basic slice procedures from core:mem into core:slice
2022-04-18 16:56:45 +00:00
Jeroen van Rijn
20b70c3b7b
Merge pull request #1727 from hanabi1224/fix-lru
...
Fix bugs in core:container/lru
2022-04-18 13:39:23 +02:00
hanabi1224
4247ba67ed
Fix bugs in core:container/lru
2022-04-18 15:24:54 +08:00
Jeroen van Rijn
e738e93da0
Merge pull request #1723 from ftphikari/master
...
sys/windows: add timeEndPeriod
2022-04-17 18:27:07 +02:00
hikari
b78f3a8069
sys/windows: add timeEndPeriod
2022-04-17 19:17:38 +03:00
Jeroen van Rijn
939973acd7
[QOI] Add to examples/all.
2022-04-17 12:35:34 +02:00
gingerBill
ed4cb72b19
Merge pull request #1696 from Despacito696969/master
...
Fix for `slice_to_components` compilation error
2022-04-16 21:56:13 +01:00
Jeroen van Rijn
70cbffd58b
Merge pull request #1722 from Kelimion/varint_streamed
...
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:19:38 +02:00
Jeroen van Rijn
6d0ba8d189
[LEB128] Add byte-at-a-time ILEB decoder.
2022-04-16 18:14:01 +02:00
Jeroen van Rijn
b6f3fa6ee1
Merge pull request #1719 from ftphikari/precise_sleep
...
time: add accurate sleep procedure
2022-04-16 16:52:46 +02:00
Jeroen van Rijn
91037766d2
Update time.odin
...
Add caveats.
2022-04-16 16:48:08 +02:00
hikari
8bf73950fa
time: remove unnecessary yield
2022-04-16 14:36:48 +03:00
hikari
4f4793817c
time: fix unix build
2022-04-16 14:35:49 +03:00
hikari
0a0440a6e8
time: yield accurate_sleep instead of relaxing the cpu
2022-04-16 14:08:37 +03:00
hikari
b9dc81d808
runtime: update comment description
2022-04-16 13:46:36 +03:00
Jeroen van Rijn
8e7ddccf00
Merge pull request #1717 from ftphikari/master
...
sys/windows: add procedures and types
2022-04-16 12:38:39 +02:00
Jeroen van Rijn
a5773f1657
Merge pull request #1718 from Kelimion/varint_streamed
...
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:20:07 +02:00
Jeroen van Rijn
44316401c9
Add uleb128 byte-at-a-time decoder.
2022-04-16 02:07:57 +02:00
hikari
b05fbaacda
time: add accurate sleep procedure
2022-04-16 00:32:17 +03:00
hikari
1b4d5b73ab
sys/windows: add some constants
2022-04-15 22:04:34 +03:00
hikari
d3fbf36df7
sys/windows: add winmm bindings file
2022-04-15 19:18:22 +03:00
ftphikari
de819cff94
Merge branch 'odin-lang:master' into master
2022-04-15 19:16:52 +03:00
hikari
cfae39c29d
sys/windows: add procedures and types
2022-04-15 19:16:31 +03:00
gingerBill
989641a616
Update Vulkan generation and package
2022-04-15 12:14:12 +01:00
gingerBill
fc3f62e3ed
Minor rearrangement
2022-04-15 11:50:08 +01:00
gingerBill
6b7c04e046
Improve utilities
2022-04-15 11:33:28 +01:00
gingerBill
cfeb16f917
Add more proc groups
2022-04-15 11:20:42 +01:00
gingerBill
9a2d9002e6
Minor fixes and add use of proc groups where better suited
2022-04-15 11:14:59 +01:00
gingerBill
ea0b02d9b9
Add Buffer contentsAsSlice and contentsAsType
2022-04-14 16:42:24 +01:00
gingerBill
0d621511e5
Correct signature types
2022-04-14 16:16:53 +01:00
gingerBill
e53c858855
Add NS.Block to allow for the creation of block-like lambdas in Odin
2022-04-14 15:47:49 +01:00
gingerBill
8a9f7fc684
Fix #1713
2022-04-14 15:09:03 +01:00
gingerBill
51db46551e
Add MetalKit; Add NSApplication NSMenu NSMenuItem; Improve Metal classes
2022-04-14 15:03:47 +01:00
gingerBill
600b79276a
Merge pull request #1709 from ap29600/quicksort_fix
...
Fix tail recursion in `_quick_sort_general`
2022-04-13 11:20:46 +01:00
Andrea Piseri
a040be957f
Fix tail recursion in _quick_sort_general
...
The `if` statement should have been a `for` loop, in order to allow recursively
sorting the subarrays with quicksort, and not resort to shell sort after
one step.
2022-04-13 10:55:16 +02:00
Jeroen van Rijn
f6fa553572
Merge pull request #1708 from Kelimion/varint_doc
...
[varint] Clear up doc.odin.
2022-04-13 00:03:58 +02:00
Jeroen van Rijn
8310436350
[varint] Clear up doc.odin.
2022-04-13 00:03:36 +02:00
Jeroen van Rijn
f92ffe60e7
Merge pull request #1699 from ftphikari/master
...
mem: replace size procedures with constants
2022-04-12 20:12:05 +02:00
Jeroen van Rijn
de72754d7a
Merge pull request #1707 from Kelimion/qoi
...
[image] Add QOI load/save.
2022-04-12 19:33:11 +02:00
Jeroen van Rijn
bf712e9355
[QOI] Add support for RGB images (previously loader always output RGBA).
...
Also add QOI to CI test suite by roundtripping 8-bit RGB(A) through QOI and checking the hashes match.
2022-04-12 19:23:48 +02:00
Jeroen van Rijn
ab9457346d
[PNG] Remove debug printf.
2022-04-12 18:26:10 +02:00
Jeroen van Rijn
15b440c4f1
[image] Add QOI load/save.
...
Additionally:
- Firm up PNG loader with some additional checks.
- Add helper functions to `core:image` to expand grayscale to RGB(A), and so on.
TODO: Possibly replace PNG's post-processing steps with calls to the new helper functions.
2022-04-12 18:14:09 +02:00
CiD-
1a2c36e482
whoops
2022-04-08 13:52:36 -04:00
CiD-
56737c1431
merge upstream/master
2022-04-08 13:50:06 -04:00
CiD-
9ae566adcc
commit before fetching upstream/master
2022-04-08 13:45:19 -04:00
gingerBill
f2f1330238
Add https://github.com/odin-lang/examples
2022-04-08 10:29:23 +01:00
hikari
c4a7739d13
sys/windows: add a couple macros
2022-04-07 19:28:24 +03:00
Mikkel Hjortshøj
8a8b5c753f
Update README.md
2022-04-07 16:48:34 +02:00
hikari
ad90f416a5
runtime: fix typo
2022-04-07 12:24:53 +03:00
hikari
698fcb7813
mem: replace size procedures with constants
2022-04-06 18:44:43 +03:00
CiD-
aadb4db211
avoid temp_allocator on stupidly long paths
2022-04-06 10:53:46 -04:00
gingerBill
426a6a9528
Update nightly.yml to build the directory
2022-04-05 21:10:24 +01:00
Jeroen van Rijn
50b9c48609
Merge pull request #1697 from Kelimion/build_file
...
Give build/run/check/test/doc a `-file` flag.
2022-04-05 20:52:28 +02:00
Jeroen van Rijn
767ed21bfe
-file for tests\issues.
2022-04-05 20:47:37 +02:00
Jeroen van Rijn
bb9165edd2
Add -help to CI tests.
2022-04-05 20:45:00 +02:00
Jeroen van Rijn
ad0a413b40
Give build/run/check/test/doc a -file flag.
...
A package has canonically always been a directory, but odin allowing you to build a single-file package confused newcomers who didn't understand why they could then not access variables and procedures from another file in the same directory.
This change disallows building single-file packages by default, requiring the `-file` flag to acknowledge you understand the nuance.
`-help` for these commands also clarifies the difference.
```
W:\Odin>odin build -help
odin is a tool for managing Odin source code
Usage:
odin build [arguments]
build Compile directory of .odin files as an executable.
One must contain the program's entry point, all must be in the same package.
Use `-file` to build a single file instead.
Examples:
odin build . # Build package in current directory
odin build <dir> # Build package in <dir>
odin build filename.odin -file # Build single-file package, must contain entry point.
Flags
-file
Tells `odin build` to treat the given file as a self-contained package.
This means that `<dir>/a.odin` won't have access to `<dir>/b.odin`'s contents.
```
```
W:\Odin>odin run examples\demo\demo.odin
ERROR: `odin run` takes a package as its first argument.
Did you mean `odin run examples\demo\demo.odin -file`?
The `-file` flag tells it to treat a file as a self-contained package.
```
2022-04-05 20:26:18 +02:00
Despacito696969
7f6c6945ae
Fix for slice_to_components
...
Using `slice_to_components` wouldn't compile because `s.data` is type of `rawptr` and return type is `^T`
2022-04-05 20:17:47 +02:00
gingerBill
ca549939f3
Update README.md
2022-04-05 13:33:25 +01:00
gingerBill
cdb003bf23
Add Packages and Nightly Builds to README.md
2022-04-05 13:32:06 +01:00
gingerBill
a4d2ff05a9
Merge pull request #1688 from bkrypt/fix_file_windows_open_create_append_order
...
os/file_windows: Fix "create or append" file open behavior
2022-04-05 12:29:20 +01:00
gingerBill
48012ec73c
Merge pull request #1679 from Tetralux/fix-std-handle
...
Have get_std_handle() no longer make the handles uninheritable
2022-04-05 12:15:14 +01:00
Jeroen van Rijn
e7dc00b758
Merge pull request #1695 from ftphikari/master
...
sys/windows: add Dwmapi.lib binding
2022-04-05 13:10:52 +02:00
hikari
ef1fbbbce6
Merge branch 'master' of github.com:ftphikari/Odin
2022-04-05 14:04:03 +03:00
hikari
2a59aebe5b
sys/windows: add Dwmapi.lib binding
2022-04-05 14:03:29 +03:00
gingerBill
59025b75ba
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-04-04 17:04:12 +01:00
gingerBill
2289b7a33d
Remove #caller_location from certain calls in core:container/small_array
2022-04-04 17:04:05 +01:00
Jeroen van Rijn
79ec172797
Merge pull request #1694 from Kelimion/define_help
...
Add extra help line for define/config.
2022-04-03 21:11:19 +02:00
Jeroen van Rijn
2e6ad2a711
Add extra help line for define/config.
2022-04-03 21:06:06 +02:00
Jeroen van Rijn
6be05f315d
Merge pull request #1693 from Skytrias/skytrias-strings-documentation-rest
...
documentation for the rest of the strings library
2022-04-03 19:54:19 +02:00
Michael Kutowski
b5aa50aaa4
documentation for the rest of the strings library
2022-04-03 19:37:54 +02:00
Jeroen van Rijn
ab91fa6ad5
Merge pull request #1692 from Kelimion/easy_font
...
[vendor:easy_font] API improvements.
2022-04-03 19:08:18 +02:00
Jeroen van Rijn
376327c87b
[vendor:easy_font] API improvements.
...
Add `print(x, y, text, color, quad_buffer)` version that takes `[]quad`.
(Same internal memory layout as []u8 API, but more convenient for the caller.)
Add optional `scale := f32(1.0)` param to `print` to embiggen the glyph quads.
```odin
// Example for use with vendor:raylib
quads: [999]easy_font.Quad = ---
color := rl.GREEN
c := transmute(easy_font.Color)color
num_quads := easy_font.print(10, 60, TEXT, c, quads[:])
for q in quads[:num_quads] {
tl := q.tl.v
br := q.br.v
color = transmute(rl.Color)q.tl.c
r := rl.Rectangle{x = tl.x, y = tl.y, width = br.x - tl.x, height = br.y - tl.y}
// Yes, we could just use the `color` from above, but this shows how to get it back from the vertex.
// And in practice this code will likely not live as close to the `easy_font` call.
rl.DrawRectangleRec(r, color)
}
```
2022-04-03 18:53:27 +02:00
Jeroen van Rijn
f8f91e52e0
Merge pull request #1691 from eisbehr/stb_easy_font_fix
...
Fixes for stb_easy_font
2022-04-03 15:30:52 +02:00
Florian Behr
f4daf46ff4
Fixes for stb_easy_font
2022-04-03 15:18:01 +02:00
bkrypt
e80bee6867
Change order of O_CREATE & O_APPEND checks
2022-04-02 21:55:01 +02:00
gingerBill
d10d54710c
Merge pull request #1686 from Kelimion/compile-time-assert
...
Allow optional message for `#assert`.
2022-04-02 15:02:46 +01:00
gingerBill
1ec997461d
Add extra checks to atomic intrinsics
2022-04-02 15:00:28 +01:00
gingerBill
ec5fc10988
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-04-02 14:38:51 +01:00
gingerBill
a232c0888c
intrinsics.atomic_type_is_lock_free
2022-04-02 14:38:42 +01:00
Jeroen van Rijn
cb5a6b531a
Allow optional message for #assert.
2022-04-02 15:31:50 +02:00
Jeroen van Rijn
c930a3b4c8
Merge pull request #1685 from ftphikari/master
...
sys/windows: add a couple of procedures and types
2022-04-02 12:55:51 +02:00
hikari
4c14e92952
sys/windows: add several procedures and macros
2022-04-02 08:23:12 +03:00
hikari
850d4a1e1b
sys/windows: add a couple of procedures and types
2022-04-02 07:38:11 +03:00
CiD-
88de3a1c06
add _chtimes
2022-04-01 22:41:35 -04:00
Jeroen van Rijn
dc012ed6dd
Merge pull request #1682 from ftphikari/master
...
sys/windows: add intrinsics.constant_utf16_cstring
2022-04-02 03:27:58 +02:00
Jeroen van Rijn
c21c993646
[strings] fix.
2022-04-02 01:54:35 +02:00
gingerBill
c3a292a8c7
Remove hms2019 files
2022-04-02 00:36:26 +01:00
Jeroen van Rijn
4044a577cc
Merge pull request #1683 from Kelimion/big_nails
...
[math/big] Tell Python test runner how many nails we use.
2022-04-01 16:33:30 +02:00
Jeroen van Rijn
581d53b96b
[math/big] Tell Python test runner how many nails we use.
...
`_DIGIT_NAILS` is defined as 4, meaning that we use 60 out of every 64 bits.
We can use as few as 1 nail, using 63 bits out of every 64, and all tests will still pass.
However, it needs more testing to see if that's a worthwhile change to make.
For the tests to work properly when changing the nails, Python needs to know about it as well.
In addition, compile the big math code with `-o:speed` going forward.
2022-04-01 16:24:27 +02:00
gingerBill
2bc89260f1
Add explicit memory ordering for the internal Sema implementation
2022-04-01 15:08:58 +01:00
gingerBill
c78b83f142
Fix _Sema
2022-04-01 14:51:51 +01:00
hikari
e28525e28c
sys/windows: fix some procedure definitions and types
2022-04-01 07:28:18 +03:00
hikari
73f9d12d47
sys/windows: add various procedures
2022-04-01 06:22:27 +03:00
hikari
b21cf05d44
sys/windows: move L into util.odin
2022-04-01 02:25:10 +03:00
hikari
107bede9fd
sys/windows: fix building error
2022-04-01 02:23:44 +03:00
hikari
75cbb09744
sys/windows: add intrinsics.constant_utf16_cstring
2022-04-01 02:11:41 +03:00
Jeroen van Rijn
76cf667a29
Merge pull request #1681 from colrdavidson/fix-nightly
...
only install the right version of llvm
2022-03-31 22:47:37 +02:00
Colin Davidson
78ee97ec74
only install the right version of llvm
2022-03-31 13:40:28 -07:00
Tetralux
c686133172
Have get_std_handle() no longer make the handles uninheritable
...
This caused all handles returned by GetStdHandle() to also not be inheritable,
which prevents you from handing them to child processes that you might create.
This fixes that.
2022-03-31 17:03:12 +00:00
gingerBill
bfcd7a35bf
Merge pull request #1621 from colrdavidson/build_freebsd
...
Core out Makefile, add freebsd building
2022-03-31 16:25:37 +01:00
gingerBill
4484a3433d
Update mem.nil_allocator to match the same in runtime
2022-03-31 15:03:56 +01:00
gingerBill
0c4f905d82
Merge pull request #1673 from odin-lang/new-sync
...
Brand New `package sync` and Atomics Intrinsics
2022-03-31 14:06:00 +01:00
gingerBill
77de7ebde5
Remove code deduplication
2022-03-31 13:26:10 +01:00
gingerBill
2ec3fa93b4
Remove pthreads dependency
2022-03-31 13:10:15 +01:00
gingerBill
9f2d710c35
Change intrinsics.Atomic_Memory_Order fields to use Ada_Case rather than snake_case
2022-03-31 12:57:24 +01:00
gingerBill
22b961ea53
Update Thread Pool in core:thread
...
Thanks to the work of eisbehr
2022-03-31 11:55:46 +01:00
Jeroen van Rijn
9ea45d35db
[ease] Fix flux_stop.
2022-03-31 12:53:04 +02:00
gingerBill
06e8476efc
Correct ordering in auto_reset_event_signal
2022-03-31 10:55:18 +01:00
gingerBill
94dbac9a64
Disable thread pool in demo
2022-03-31 01:13:43 +01:00
gingerBill
97a183f412
Clean up thread_windows.odin
2022-03-31 01:13:29 +01:00
gingerBill
b2f5b73532
Rename package name to sync
2022-03-31 01:05:50 +01:00
gingerBill
1eac3482a6
Add checks for memory ordering on fences
2022-03-31 01:01:51 +01:00
gingerBill
6636376a81
Correct weak handling
2022-03-31 00:58:01 +01:00
gingerBill
ed6bf28004
Update the intrinsics for documentation on atomics
2022-03-31 00:53:34 +01:00
gingerBill
6bc0c611ab
Enforce success failure pairings of compare_exchange_*_explicit at compile time
2022-03-31 00:49:53 +01:00
gingerBill
ba1930eb01
Update core to use new atomic intrinsics
2022-03-31 00:22:54 +01:00
gingerBill
203382461b
Replace the atomic intrinsics
...
Matching C11 in style
2022-03-31 00:14:49 +01:00
CiD-
6456618891
finish up stat, lstat and fstat
2022-03-30 16:54:29 -04:00
gingerBill
4eb4ae6305
Replace sync with sync2
2022-03-30 17:42:44 +01:00
gingerBill
72ae061769
Add intrinsics.wasm_memory_grow intrinsics.wasm_memory_size
2022-03-30 17:29:37 +01:00
gingerBill
46161f7e19
threading_example allow on Darwin
2022-03-30 16:28:16 +01:00
gingerBill
0c55596f0f
Merge pull request #1612 from graphitemaster/fix_thread_data_races
...
fix thread data races
2022-03-30 16:26:37 +01:00
gingerBill
5f3bfa66c5
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-03-30 16:15:54 +01:00
gingerBill
561b725b0e
Improve spin lock for atomic_mutex_lock
2022-03-30 16:15:48 +01:00
gingerBill
3a4630e6b4
Correct atomic_cxchg_* atomic_cxchgweak_* intrinsics behaviour to monotonic on failure for acq, rel, and acqrel
2022-03-30 16:15:23 +01:00
gingerBill
abf0fd7efc
Merge pull request #1671 from colrdavidson/add_nocrt
...
Make no crt work on Linux
2022-03-30 12:58:12 +01:00
Colin Davidson
a632db3618
Make no crt work on Linux
2022-03-30 04:45:22 -07:00
Jeroen van Rijn
a3c81374be
Merge pull request #1670 from ftphikari/master
...
sys/windows: add WM_SYSCOMMAND related constants
2022-03-29 22:11:16 +02:00
hikari
6a3ec5eb36
sys/windows: add WM_SYSCOMMAND related constants
2022-03-29 22:59:45 +03:00
Jeroen van Rijn
740ba6ad47
Merge pull request #1669 from Kelimion/fix_glob_leak
...
[windows] Fix leak in `glob`.
2022-03-29 16:27:27 +02:00
Jeroen van Rijn
df32b5b46c
[windows] Fix leak in glob.
2022-03-29 16:13:17 +02:00
Jeroen van Rijn
085fa199ea
Merge pull request #1668 from ftphikari/master
...
sys/windows: add SetTimer() and KillTimer() procedures
2022-03-29 10:09:49 +02:00
hikari
412c9a99d5
sys/windows: add SetTimer() and KillTimer() procedures
2022-03-29 08:56:05 +03:00
Jeroen van Rijn
6e701ef36d
Merge pull request #1666 from Kelimion/improve_string_cut
...
[strings] Improve `cut`, add tests for it.
2022-03-27 22:19:24 +02:00
Jeroen van Rijn
24c48d22bc
[strings] Improve cut, add tests for it.
2022-03-27 22:13:26 +02:00
Jeroen van Rijn
3cb8bb6672
Merge pull request #1665 from Kelimion/flux_fixups
...
[ease] Flux fixups.
2022-03-27 16:55:42 +02:00
Jeroen van Rijn
b1c2c0ea7a
[ease] Flux fixups.
2022-03-27 16:49:22 +02:00
Jeroen van Rijn
2c498c132e
Merge pull request #1663 from Skytrias/skytrias-math-ease
...
add math easing package
2022-03-27 16:39:25 +02:00
Michael Kutowski
880d330cca
update delay to use deltatime, add time left
2022-03-27 16:34:00 +02:00
Jeroen van Rijn
a2a503847a
Merge pull request #1664 from Skytrias/skytrias-strings-documentation
...
add string documentation & examples, fix & cleanup string_multi
2022-03-27 13:59:33 +02:00
Michael Kutowski
58f4d533b7
add string documentation & examples, fix & cleanup string_multi
2022-03-27 11:39:17 +02:00
Michael Kutowski
d2ff6f424d
add math easing package
2022-03-27 11:32:46 +02:00
Jeroen van Rijn
92f985abd5
Merge pull request #1662 from ftphikari/master
...
sys/windows: add GetSystemMetrics
2022-03-27 03:23:12 +02:00
hikari
3ce17607c6
sys/windows: add AdjustWindowRect and GetWindowRect
2022-03-27 04:17:07 +03:00
hikari
76277f83c1
sys/windows: add GetSystemMetrics
2022-03-27 02:23:40 +02:00
Jeroen van Rijn
2b7529977e
Merge pull request #1661 from ftphikari/master
...
sys/windows: add ClientToScreen
2022-03-27 00:54:44 +01:00
hikari
f4125d2d88
sys/windows: add ClientToScreen
2022-03-27 01:42:46 +02:00
Jeroen van Rijn
87e50e5e4d
Merge pull request #1660 from Kelimion/hwnd_fix
...
HWND_TOPMOST, HWND_NOTOPMOST constants
2022-03-26 19:46:28 +01:00
Jeroen van Rijn
86a1c34c3a
HWND_TOPMOST, HWND_NOTOPMOST constants
2022-03-26 19:33:53 +01:00
Jeroen van Rijn
3f3cc342b4
Update strings.odin
...
Fix from Walter.
2022-03-26 18:38:10 +01:00
Jeroen van Rijn
3bf820cf99
Merge pull request #1658 from gitlost/odin_run_unix_exit_code_WEXITSTATUS
...
Use `WIFEXITED()` and `WEXITSTATUS()` on Unix `system()` exit code
2022-03-26 17:41:41 +01:00
Jeroen van Rijn
f2b4087d80
Merge pull request #1656 from ftphikari/master
...
sys/windows: fix gdi32 raw pointer types
2022-03-26 17:40:00 +01:00
Jeroen van Rijn
3b6d72bb94
Merge pull request #1659 from WalterPlinge/field-iterator
...
Add fields_iterator procedure
2022-03-25 21:55:43 +01:00
WalterPlinge
9080fa4a9d
Update fields_iterator comment
...
Added ticks for identifiers
2022-03-25 20:51:04 +00:00
WalterPlinge
5616ff9a40
Add fields_iterator proc
...
Adds a `fields_iterator` proc to `core:strings`
2022-03-25 20:03:39 +00:00
hikari
73b81184fa
sys/windows: add MessageBox procedures
2022-03-25 20:53:17 +02:00
hikari
f8d3f86d8b
sys/windows: fix build
2022-03-25 16:17:53 +02:00
hikari
2f9a410a45
sys/windows: add SetWindowPos()
2022-03-25 16:09:16 +02:00
gitlost
8661457512
Use WIFEXITED() and WEXITSTATUS() on Unix system() exit code
...
(ensures Odin run returns correct exit code of built executable)
Adds test "tests/core/os/test_core_os_exit.odin" (Unix only)
2022-03-24 19:31:46 +00:00
hikari
5d7b92d391
sys/windows: add mouse states masks
2022-03-24 18:40:23 +02:00
hikari
1d8bc3e917
sys/windows: fix gdi32 raw pointer types
2022-03-24 17:32:11 +02:00
gingerBill
a2ad16b609
Merge pull request #1655 from ftphikari/master
...
sys/windows: add basic Gdi32.lib support
2022-03-24 15:28:24 +00:00
hikari
a3b1ac3133
sys/windows: add basic Gdi32.lib support
2022-03-24 17:27:05 +02:00
gingerBill
e7b96cf286
Merge pull request #1654 from ftphikari/master
...
sys/windows: add GetKeyState functions
2022-03-24 14:19:29 +00:00
hikari
01181517dc
sys/windows: add GetKeyState functions
2022-03-24 16:04:27 +02:00
gingerBill
f702c782f1
Make constant string backing structures use PrivateLinkage compared to InternalLinkage
2022-03-24 12:18:17 +00:00
gingerBill
7203560b06
Fix test
2022-03-24 12:15:03 +00:00
gingerBill
1baeb9406f
Utilize union #shared_nil in more places
2022-03-24 12:11:31 +00:00
gingerBill
17e36bd5e1
Utilize union #shared_nil to core:image Error
2022-03-24 12:06:18 +00:00
gingerBill
b6b3377786
Remove unneeded semicolons
2022-03-24 12:02:50 +00:00
gingerBill
13cb894b30
Update core:odin for union #shared_nil
2022-03-24 12:00:27 +00:00
gingerBill
3f935bea25
union #shared_nil
...
This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
2022-03-24 11:55:03 +00:00
gingerBill
3e66eec735
Merge pull request #1653 from ftphikari/master
...
sys/windows: add virtual keycodes and a couple of constants
2022-03-24 11:29:28 +00:00
gingerBill
277e0ac124
Merge pull request #1651 from gitlost/filepath.split_list_trailing_separator_#1537
...
Fix issue #1537 "filepath.split_list requires a trailing separator to work"
2022-03-24 11:29:18 +00:00
hikari
2ccfaa7d4e
sys/windows: add virtual keycodes
2022-03-23 23:39:26 +02:00
hikari
4bd5de34ea
sys/windows: add several of constants
2022-03-23 23:39:09 +02:00
gitlost
374e71e9b0
Fix issue #1537 "filepath.split_list requires a trailing separator"
...
Does `make()` with `count + 1` and appends final component (note a
trailing separator will now result in an empty final component)
Adds test "tests/core/path/filepath/test_core_filepath.odin"
2022-03-23 17:44:35 +00:00
gingerBill
07bb93bb5d
Merge pull request #1650 from ftphikari/master
...
sys/windows: fixed calling conventions, added several bindings
2022-03-23 16:27:50 +00:00
CiD-
e252d3bedf
add os2.name
2022-03-23 11:49:19 -04:00
hikari
b9efd09d17
sys/windows: fixed calling conventions, added several bindings
2022-03-23 17:37:38 +02:00
gingerBill
507b718cb3
Merge pull request #1646 from weshardee/master
...
Add foreign imports for Darwin to vendor:stb
2022-03-23 15:11:13 +00:00
gingerBill
82f9cbecf8
Merge pull request #1649 from gitlost/maps_with_procedure_values_#829
...
Fix issue #829 "Compiler crashes when declaring maps with procedure"
2022-03-23 15:10:58 +00:00
gingerBill
a8ac59a6e7
Merge pull request #1642 from themole/master
...
Add user32.odin with most basic procedures to core:sys/windows
2022-03-23 15:03:29 +00:00
Holger Lindner
3d389ee028
sys/windows: Add icon resource constants
2022-03-23 15:02:01 +01:00
gitlost
10c5825715
Fix issue #829 "Compiler crashes when declaring maps with procedure"
...
Inits `o->value` in `check_expr_base_internal()` so doesn't accidentally
use last (the proc lit was being set to that of previous string)
Adds test to "tests/issues" and changes CI to use new "run" shells
2022-03-23 12:56:37 +00:00
Wes Hardee
f89ebce807
Add foreign imports for Darwin to vendor:stb
2022-03-22 15:55:37 -05:00
Holger Lindner
64601ac439
Merge remote-tracking branch 'origin/master'
2022-03-22 17:24:40 +01:00
Holger Lindner
edce27812f
Nixify line endings
2022-03-22 16:41:07 +01:00
Holger Lindner
193822b45d
Merge remote-tracking branch 'ftphikari/master'
2022-03-22 16:36:50 +01:00
Holger Lindner
43640a8b59
Add SendMessageA/W to sys/windows/user32.odin
2022-03-22 16:23:38 +01:00
gingerBill
0446d9721b
Merge pull request #1626 from gitlost/hxa_fixes
...
Fix some core:encoding/hxa stuff (error handling, header, max -> min)
2022-03-22 15:21:40 +00:00
Holger Lindner
bae13b6387
Fix incorrect type for wndproc callback procedure
2022-03-21 20:06:50 +01:00
hikari
e48c0eee74
sys/windows: added rudimentary User32.lib bindings
2022-03-21 18:44:31 +02:00
Holger Lindner
47e9857eb7
Add user32.odin with most basic procedures to core:sys/windows
2022-03-21 17:20:43 +01:00
gingerBill
559fcfa291
Merge pull request #1632 from gitlost/const_in_if_#1592
...
Fix issue #1592 "LLVM code gen error when using a constant in an if"
2022-03-21 11:16:59 +00:00
gingerBill
84cee5d9d5
Merge pull request #1640 from Lperlind/split-iterator-byte
...
Add split_iterator_byte
2022-03-21 10:49:21 +00:00
Lucas Perlind
6d354524e2
* Add split_by_byte_iterator. It functions exactly like split_iterator but takes in a byte seperator rather than a string seperator.
...
The intention is to provide a faster split parsing if the seperator is known to be byte size.
2022-03-21 21:39:30 +11:00
gingerBill
ae6441182d
Add core:unicode/utf8/utf8string to examples/all
2022-03-18 23:32:37 +00:00
gingerBill
a68f0b2d72
Improve procedure group selection based on the minimum number of arguments
2022-03-18 22:18:12 +00:00
gitlost
fdbbf24271
Fix issue #1592 "LLVM code gen error when using a constant in an if"
...
Changes lb_build_if_stmt() to return null lbValue if condition is
cmpAnd, cmpOr or non-const neg and check in lb_build_if_stmt()
to avoid short circuiting if that's the case
Adds test to "tests/issues" and adds step in CI to check this dir
2022-03-18 13:57:22 +00:00
Jeroen van Rijn
df233f72a9
Merge pull request #1629 from Lperlind/more-window-bindings
...
Add unregister_class_a and unregister_class_w for windows bindings
2022-03-18 13:29:53 +01:00
gingerBill
bff5a67f79
Merge pull request #1631 from Tetralux/fix
...
Remove incorrect #packed from sys/windows.STARTUPINFO
2022-03-18 11:52:05 +00:00
Tetralux
4f9df50dc1
Remove incorrect #packed from sys/windows.STARTUPINFO
2022-03-18 11:42:25 +00:00
Lucas Perlind
34187424b8
Add unregister_class_a and unregister_class_w for windows bindings
2022-03-18 19:35:36 +11:00
Jeroen van Rijn
50503cb405
Merge pull request #1628 from StanislavNikolov/fix-math-cumsum-inplace
...
Fix #1627 : Remove wrong return type in cumsum_inplace
2022-03-17 03:35:17 +01:00
Stanislav Ch. Nikolov
5e04ddd653
Fix #1627 : Remove wrong return type in cumsum_inplace
2022-03-17 04:20:39 +02:00
gitlost
4f5203e661
Fix some core:encoding/hxa stuff (error handling, header, max -> min)
...
Also add missing f16 case to core:reflect as_u64 & as_f64
Add tests for above & add previous tests missing from test/core/build.bat
2022-03-16 19:12:00 +00:00
gingerBill
d9ca4eb4d6
Add nil check on ast.walk
2022-03-16 11:59:28 +00:00
Jeroen van Rijn
5534c031b3
Merge pull request #1624 from Kelimion/insert_at_fix
...
[runtime] fix `insert_at` procedure group.
2022-03-15 19:44:05 +01:00
Jeroen van Rijn
19dc84e300
Reinstate NBC.
2022-03-15 19:37:04 +01:00
Jeroen van Rijn
a932168f50
[runtime] fix insert_at procedure group.
2022-03-15 19:35:00 +01:00
CiD-
36c22393a4
fix memory leak
2022-03-15 11:47:35 -04:00
CiD-
6d6e840bc2
mkdir_all: WHOOPS
2022-03-14 15:56:41 -04:00
CiD-
4b1822ade8
mkdir_all: close last open file
2022-03-14 15:48:47 -04:00
CiD-
b21e7e4518
rewrite mkdir_all
2022-03-14 15:44:34 -04:00
CiD-
1f4e5e919f
merge upstream/master
2022-03-14 13:36:22 -04:00
CiD-
c293e88f2e
commit to merge upstream/master
2022-03-14 13:34:06 -04:00
gingerBill
1d147ba993
Fix typo
2022-03-14 12:44:35 +00:00
gingerBill
6ea9ba16e7
Fix #1610
2022-03-14 12:38:56 +00:00
gingerBill
286549693e
Fix #1609
2022-03-14 12:28:28 +00:00
Colin Davidson
34727f99e3
oops, fix report
2022-03-14 05:27:08 -07:00
gingerBill
ffe6d81ecd
Remove comments
2022-03-14 12:24:10 +00:00
Colin Davidson
8605833781
core out Makefile, add freebsd building
2022-03-14 05:23:48 -07:00
gingerBill
4474144c24
Merge pull request #1505 from jasonKercher/fix_odin_test
...
fix `odin test`
2022-03-14 12:09:39 +00:00
Jeroen van Rijn
ef3f448861
Remove accidentally committed test binary.
2022-03-14 13:06:50 +01:00
gingerBill
a882260db6
Merge pull request #1605 from colrdavidson/linux_build
...
Make llvm-config build more general for linux
2022-03-14 11:39:03 +00:00
gingerBill
633157f4f8
Merge pull request #1613 from semarie/linux_arm64
...
fix Linux arm64 support
2022-03-14 11:37:45 +00:00
gingerBill
9fa69c3d3b
Merge pull request #1599 from gitlost/fract_trunc_classify_#1574
...
Fix for trunc_f16/32/64 (#1574 )
2022-03-14 11:37:11 +00:00
gingerBill
743a461aa9
Merge pull request #1614 from semarie/openbsd-fpos_t
...
use distinct type for fpos_t on OpenBSD
2022-03-14 11:11:29 +00:00
gingerBill
fc0291d745
Merge pull request #1526 from odin-lang/freestanding_amd64
...
Freestanding target for amd64
2022-03-14 11:09:52 +00:00
gingerBill
77eaf8e1e4
Merge pull request #1617 from semarie/freebsd
...
freebsd_amd64 support
2022-03-14 11:04:58 +00:00
gingerBill
a7adb2fb6e
Merge branch 'master' into freestanding_amd64
2022-03-14 11:02:59 +00:00
Sébastien Marie
036900da51
fix mode_t on darwin
...
- fix mkdir() prototype (mode_t is u16)
- remove explicit cast
2022-03-13 12:41:03 +00:00
Sébastien Marie
ed4c9335db
enable freebsd_amd64 inside CI
2022-03-13 11:43:36 +00:00
Sébastien Marie
ca67cf032c
freebsd_amd64 support
2022-03-13 11:42:42 +00:00
gingerBill
f907516cbd
#Fix 1615 Replace llvm.readcyclecounter with cntvct_el0 on arm64
2022-03-12 10:48:31 +00:00
gingerBill
c12c7d5370
Remove tag
2022-03-12 10:47:52 +00:00
Sébastien Marie
f7c8b40ea2
use distinct type for fpos_t on OpenBSD
2022-03-12 09:40:55 +00:00
Sébastien Marie
15f9795ab0
enable linux_arm64 check in CI
2022-03-12 09:21:46 +00:00
Sébastien Marie
8982ae34e3
fix linux_arm64
...
- SYS_fork doesn't exist, uses SYS_clone
- properly cast AT_FDCWD to uintptr
2022-03-12 09:19:52 +00:00
gingerBill
e6d3e893a5
Merge pull request #1602 from hoanga/freebsd-build-support
...
update to build for freebsd
2022-03-12 08:45:53 +00:00
U-JSM\jkercher
e008b5a160
build os2 test on windows
2022-03-11 10:47:59 -05:00
Dale Weiler
3da8fa9b27
can use sync.guard here
2022-03-11 08:41:03 -05:00
Dale Weiler
32ba5e7ad2
formatting
2022-03-11 08:36:04 -05:00
Dale Weiler
52df80dccd
fix for mac & use atomic store on write side to avoid race
2022-03-11 08:35:23 -05:00
Dale Weiler
7f845bb165
fix for spurious wakeups
2022-03-11 08:30:03 -05:00
Dale Weiler
0e6de5673b
fix thread data races
2022-03-11 08:06:23 -05:00
Jeroen van Rijn
7a7b87181d
[examples] Add core:encoding/varint to examples/all.
2022-03-11 11:09:58 +01:00
gingerBill
c6dc517004
Correct: murmur32
2022-03-11 08:52:16 +00:00
Jason Kercher
0b61215f7b
getting tests to run
2022-03-10 11:12:06 -05:00
Jason Kercher
b91c0ec715
Merge remote-tracking branch 'upstream/master' into os2_linux
2022-03-10 09:34:48 -05:00
CiD-
bad295cf69
add test directory...
2022-03-10 09:23:33 -05:00
Jason Kercher
d2bc41a2df
Merge remote-tracking branch 'upstream/master' into fix_odin_test
2022-03-09 17:17:40 -05:00
gitlost
7dbcaf792d
Merge branch 'master' into fract_trunc_classify_#1574
...
Resolve conflicts with [9848e88 ] & sameify Makefile & tests/common/common.odin
2022-03-09 16:09:04 +00:00
Colin Davidson
2652c2d7a5
normalize version parser
2022-03-09 07:42:38 -08:00
Colin Davidson
a2250a5d49
lower minimum llvm version
2022-03-09 07:24:49 -08:00
Colin Davidson
7f8a9587e0
more build tweaks?
2022-03-09 07:22:48 -08:00
Colin Davidson
1306c53fb1
more build tweaks?
2022-03-09 07:21:19 -08:00
Colin Davidson
3bd1ac4c82
test adjusting apt arg order
2022-03-09 07:18:41 -08:00
gingerBill
dc8d28c383
Fix #1607
2022-03-09 15:15:30 +00:00
Colin Davidson
7adaa4dc2b
refix make, adjust build for CI weirdness
2022-03-09 07:15:08 -08:00
gingerBill
6d1a91f5b3
Fix typo
2022-03-09 15:11:38 +00:00
gingerBill
17eebf338c
Fix #1606 (Call runtime._cleanup_runtime_contextless() for os.exit)
2022-03-09 15:05:51 +00:00
Colin Davidson
c543ecd64c
Try to find llvm-config-11 on goofy misconfigured CI box
2022-03-09 06:57:59 -08:00
Colin Davidson
34a9f55f37
Update ci to use build script
2022-03-09 06:52:22 -08:00
Colin Davidson
9aea990184
clean up osx semver handling in build
2022-03-09 06:49:52 -08:00
Colin Davidson
d5b0632e4f
add handling for too many args
2022-03-09 06:27:52 -08:00
Colin Davidson
db169a4334
Cleanup build mode selection
2022-03-09 06:26:25 -08:00
Colin Davidson
f5cc8bd7bf
only build odin for report when necessary
2022-03-09 06:14:30 -08:00
Colin Davidson
005d52cab7
more spacing issues
2022-03-09 06:08:48 -08:00
Colin Davidson
d1477bcfa7
Fix wonky copied space issues
2022-03-09 06:07:19 -08:00
Colin Davidson
3092fb2ff3
Add initial cut of build script
2022-03-09 06:01:40 -08:00
Colin Davidson
5eebdebec8
Make llvm-config build more general for linux
2022-03-09 05:09:39 -08:00
gingerBill
8e4d6b3e5d
Fix typo
2022-03-09 11:24:36 +00:00
gingerBill
ea9c2fed57
Update .gitignore
2022-03-09 10:52:37 +00:00
gingerBill
ba412fd87b
Fix typo
2022-03-09 09:36:21 +00:00
Al Hoang
0278ac85a0
update to build for FreeBSD
2022-03-08 23:48:25 -06:00
gingerBill
ff60b752bd
Replace #if with if where possible
2022-03-08 22:35:10 +00:00
CiD-
832003dd4b
os2 tests
2022-03-08 17:15:45 -05:00
gingerBill
9848e883c7
Merge pull request #1598 from Kelimion/varint
...
Add `core:encoding/varint` with LEB128 encoding, decoding and tests.
2022-03-08 20:46:31 +00:00
Jeroen van Rijn
64705ddd1d
[varint] Add doc.odin
2022-03-08 20:08:56 +01:00
Jeroen van Rijn
2a41814985
[varint] Tighten max input bounds.
2022-03-08 19:56:42 +01:00
Jeroen van Rijn
26ffec845b
[crypto] Remove unused mem import for siphash.
2022-03-08 19:38:36 +01:00
Jeroen van Rijn
52e60526ef
tabs.
2022-03-08 19:32:30 +01:00
Jeroen van Rijn
76b10b5f5d
[varint] Add additional LEB128 tests.
2022-03-08 19:28:55 +01:00
gitlost
b94a7a87fa
Fix issue #1574 "fract in linalg/glm is broken" by fixing
...
trunc_f16/32/64 in "math.odin" (~ typos on expressions)
Fix classify_f16 Inf test (would fail for subnormal 0h0001)
by changing multiplier 0.5 -> 0.25
Add some useful consts to "math.odin" (INF_F16 etc)
Add comment to "demo.odin" mentioning that -0.0 must be used
to specify negative zero
2022-03-08 18:06:25 +00:00
gingerBill
2b43387a9d
Merge pull request #1597 from odin-lang/nix-linker-flags-improvement
...
Refactor link flag creation for nix systems
2022-03-08 17:12:28 +00:00
Jeroen van Rijn
e76a5d8e12
[varint] Add signed LEB128 encoding.
2022-03-08 18:07:16 +01:00
Jeroen van Rijn
6d7217f37a
[varint] Add LEB128 decoding + tests
...
Also make tests in general less spammy: Don't print [PASS] for each successful test, only report failures and progress.
2022-03-08 15:40:00 +01:00
gingerBill
17dab04422
Refactor link flag creation for nix systems
2022-03-08 11:13:59 +00:00
gingerBill
29e660b16f
Add more things to package slice
...
min_max
any_of(_proc)
none_of(_proc)
all_of(_proc)
count(_proc)
2022-03-08 10:02:40 +00:00
gingerBill
31959b0751
Correct cleanpath_from_handle for os.fstat
2022-03-08 10:01:44 +00:00
jasonkercher
1f19610fd6
added _remove_all
2022-03-07 17:16:03 -05:00
gingerBill
8f897de267
Merge pull request #1584 from WalterPlinge/vulkan-proc-loader-functions
...
update vulkan generator and procedure file
2022-03-07 18:54:26 +00:00
Jeroen van Rijn
2855ff6df3
Merge pull request #1591 from Kelimion/unaligned_load
...
[intrinsics] Add existing `unaligned_load` and `unaligned_store`.
2022-03-06 14:59:24 +01:00
Jeroen van Rijn
deed20dea6
[intrinsics] Add unaligned_store.
2022-03-06 14:53:06 +01:00
Jeroen van Rijn
a6c5143993
[intrinsics] Add existing unaligned_load.
2022-03-06 14:46:20 +01:00
Jeroen van Rijn
758d1e2a03
Merge pull request #1589 from Kelimion/fix_bit_array_leak
...
[bit_array] Really fix the leak.
2022-03-06 12:38:08 +01:00
Jeroen van Rijn
ce057ff755
[bit_array] Really fix the leak.
2022-03-06 12:29:17 +01:00
gingerBill
ad719e7c3a
Merge pull request #1588 from ap29600/master
...
Fix leak in `core:container/bit_array`
2022-03-06 09:43:12 +00:00
Andrea Piseri
bff3426d25
Fix leak in core:container/bit_array
...
calling `clear` on a `bit_array` no longer leaks the previous
allocation, instead it sets all bits to `false` preserving the same
backing dynamic array.
2022-03-06 10:21:46 +01:00
gingerBill
4315033220
Merge pull request #1585 from kstrb/foreign-import-object
...
Linux: allow 'foreign import' of object files
2022-03-05 20:29:39 +00:00
kstrb
1cd89b2da3
Linux: allow 'foreign import' of object files
2022-03-05 17:28:34 +01:00
jasonkercher
658a605c75
compiles
2022-03-04 17:11:53 -05:00
WalterPlinge
7e8b9862b9
update vulkan generator
...
change procedure file generation
- group procedure types together
- sort groups by procedure names
- overload function `load_proc_addresses`
- kept original as `custom`
- added `global`, `instance`, and `device` variants for simpler loading
- added `device_vtable` variant to support multiple devices
2022-03-04 16:16:31 +00:00
gingerBill
07062324d7
Merge pull request #1575 from jockus/fix_relative_slice_len
...
Add relative slice to type checks for built in len
2022-03-04 11:48:29 +00:00
gingerBill
2e8f2e6dbc
Merge pull request #1476 from odin-lang/odin-ast-changes
...
Replace `any` with `union` for subtyping in `core:odin/ast`
2022-03-04 10:39:38 +00:00
gingerBill
1abd95094d
Add reflect.deref
2022-03-03 23:25:22 +00:00
gingerBill
913d802e33
Fix ast.clone_node
2022-03-03 23:10:38 +00:00
Jeroen van Rijn
bee475c38a
Merge pull request #1582 from semarie/more-ci
...
CI: add linux i386, Darwin arm64 and Windows 386
2022-03-03 17:07:40 +01:00
Jeroen van Rijn
b4ca99ead9
Merge pull request #1583 from semarie/semi-colons-eof
...
Semi colons and EOF
2022-03-03 17:06:13 +01:00
Sébastien Marie
dfe2c0a600
remove some leftover semi-colons before EOF
2022-03-03 15:57:55 +00:00
Sébastien Marie
fad851d80c
check for semi-colon before EOF too
2022-03-03 15:57:51 +00:00
Sébastien Marie
832961d539
semi-colons are deprecated in core
2022-03-03 15:36:04 +00:00
Sébastien Marie
499c657ffa
rename architecture from 386 to i386
2022-03-03 15:28:18 +00:00
CiD-
e51bb4ef12
os2 linux begin
2022-03-03 10:16:36 -05:00
Sébastien Marie
8c6f39a68d
CI: add linux i386, Darwin arm64 and Windows 386
2022-03-03 15:08:34 +00:00
gingerBill
09f5713cf8
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-03-03 14:31:45 +00:00
Jeroen van Rijn
26c0c6a525
Merge pull request #1581 from Kelimion/32-bit-fixes
...
32 bit fixes
2022-03-03 15:26:42 +01:00
Jeroen van Rijn
6d9f84ba03
[tests] Make test runners exit with errorlevel 1 if a test fails.
2022-03-03 15:16:16 +01:00
Jeroen van Rijn
8af08f2153
[compress] 32-bit cleanness.
2022-03-03 15:10:19 +01:00
gingerBill
2944969ca0
Correct clone_node
2022-03-03 14:01:37 +00:00
gingerBill
bd1b54e0db
Fix #1503
2022-03-03 13:58:22 +00:00
gingerBill
fcab5508be
Merge branch 'master' into odin-ast-changes
2022-03-03 13:56:34 +00:00
gingerBill
0b05650366
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-03-03 13:54:31 +00:00
gingerBill
96e36c7c39
Minor fix to strconv.unquote_string
2022-03-03 13:54:23 +00:00
gingerBill
16c6dbcbe5
Merge pull request #1579 from semarie/vendors
...
Vendors libraries portability and examples/all splitting
2022-03-03 12:09:46 +00:00
gingerBill
92a78c83d9
Merge pull request #1571 from SrMordred/patch-4
...
Fixing bindings
2022-03-03 12:08:17 +00:00
gingerBill
6b2302fa8b
Merge pull request #1572 from Lperlind/better-fmt
...
Improve core:fmt formatting
2022-03-03 12:07:14 +00:00
gingerBill
ee28945e09
Update FUNDING.yml
2022-03-03 11:19:12 +00:00
Sébastien Marie
3dcea60f5b
vendor: ENet: follow strict-style and remove optional semi-colon
2022-03-03 09:27:10 +00:00
Sébastien Marie
f126e05034
stb, miniaudio: use default builtin variables of make for CC and AR
2022-03-03 07:36:47 +00:00
gingerBill
68b74eb7c7
Merge pull request #1577 from zhibog/crypto_rand_windows
...
Added rand_bytes for Windows in core:crypto
2022-03-02 23:10:31 +00:00
zhibog
3b4199a669
Added rand_bytes for Windows in core:crypto
2022-03-02 21:22:56 +01:00
Sébastien Marie
562901aedf
split all_vendor.odin
...
create 3 files:
- all_vendor.odin : no specific OS
- all_vendor_directx.odin : directx vendor, windows-only
- all_vendor_stb.odin : stb vendor, windows and linux only
stb could technically be used on others OS. but it is shipped upstream as set of c-files without unified library name.
2022-03-02 19:21:22 +00:00
Sébastien Marie
793117ed63
vendor: sdl2: simplify foreign import
2022-03-02 18:50:37 +00:00
Sébastien Marie
5b783d6376
vendor: raylib: simplify foreign import
2022-03-02 18:44:29 +00:00
Sébastien Marie
d3f3528d1d
vendor: portmidi: simplify foreign import
2022-03-02 18:43:17 +00:00
Sébastien Marie
3145935d6b
miniaudio
...
- simplify foreign
- enable SUPPORT_SNDIO on OpenBSD
- correct ptr type for SUPPORT_PULSEAUDIO (Linux) and SUPPORT_COREAUDIO (Darwin)
2022-03-02 18:35:13 +00:00
Sébastien Marie
25430333ba
vendor: glfw: simplify foreign import
2022-03-02 18:25:22 +00:00
Sébastien Marie
2ca2b32dd0
vendor: botan: simplify foreign import
2022-03-02 18:21:43 +00:00
Joakim Hentula
a5dde78f08
Add relative slice to type checks for built in len
2022-03-02 16:44:33 +00:00
gingerBill
fd415f0b45
Merge pull request #1573 from semarie/openbsd-vendor
...
Openbsd vendor
2022-03-02 12:56:12 +00:00
Lucas Perlind
507722954c
Improve core:fmt formatting
...
* Strings will respect widths smaller than the string's length
* Strings are right justified by default like integers
* Strings accept '-' flag to be left justified
* Booleans will be formatted like strings
* Enums will be formatted like strings
2022-03-02 16:22:16 +11:00
Patric Dexheimer
524d23d45d
Update raylib.odin
2022-03-01 16:55:34 -03:00
Patric Dexheimer
e9ee6f5291
Fixing bindings
...
https://github.com/raysan5/raylib/blob/master/src/raylib.h#L1179
2022-03-01 16:00:18 -03:00
gingerBill
7e5342f41f
Use contextless where possible
2022-03-01 15:52:14 +00:00
gingerBill
18607e53cb
Correct alloc_from_memory_block
2022-03-01 15:38:04 +00:00
gingerBill
ed933b3f21
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-03-01 14:49:11 +00:00
gingerBill
49fecbdc5e
Improve error message when there is "no field" found for a large anonymous struct
2022-03-01 14:49:05 +00:00
Jeroen van Rijn
f971126183
[mem] Add missing \n to tracking allocator example.
2022-03-01 13:51:41 +01:00
gingerBill
d4ccb69ccc
Check if directory exists with the same target executable name when building a directory
2022-02-28 21:49:19 +00:00
Sébastien Marie
37b4e0de6c
sdl2: add openbsd support
2022-02-28 16:17:15 +00:00
Sébastien Marie
737f440c7f
glfw: add openbsd support
2022-02-28 16:17:14 +00:00
Sébastien Marie
cba3f1e374
ENet: add openbsd support
2022-02-28 16:17:14 +00:00
gingerBill
a70dde34da
Merge pull request #1565 from semarie/openbsd-pie
...
openbsd: defaults to PIE executable
2022-02-28 16:11:59 +00:00
gingerBill
410b85b5c7
Disallow @(thread_local) on wasm targets
2022-02-28 15:40:00 +00:00
gingerBill
0ae012ba08
Correct comment
2022-02-28 15:37:15 +00:00
gingerBill
fc4eb4152c
Correct calling convention for _startup_runtime
2022-02-28 15:35:10 +00:00
gingerBill
4f3b5d8dcb
Clean up generate_minimum_dependency_set code
2022-02-28 15:29:08 +00:00
Sébastien Marie
f76f70c7cf
openbsd: defaults to PIE executable
...
OpenBSD uses PIE code by default to allow the system to load the binary at a random location.
don't pass -no-pie to preserve this behaviour, and build objects with -fPIC (LLVMRelocPIC).
2022-02-28 15:24:22 +00:00
gingerBill
15d783e920
Enforce -no-entry-point on freestanding targets
2022-02-28 15:13:41 +00:00
gingerBill
09e4fff5b1
-target-features:<string>
...
This just passes a string directly to the LLVM features string
2022-02-28 15:08:50 +00:00
gingerBill
2d89faa17c
Add extra checks for -disallow-rtti
2022-02-28 14:35:38 +00:00
gingerBill
dd9843aa21
Merge pull request #1557 from semarie/openbsd-support
...
initial OpenBSD support
2022-02-28 14:23:56 +00:00
gingerBill
882116e358
Only allow -disallow-rtti on freestanding targets
2022-02-28 14:00:44 +00:00
gingerBill
f3adbae1ed
Merge branch 'freestanding_amd64' of https://github.com/odin-lang/Odin into freestanding_amd64
2022-02-28 13:40:06 +00:00
gingerBill
278e239973
Commit rest of code for -disallow-rtti
2022-02-28 13:40:01 +00:00
gingerBill
fda803b46a
Commit rest of code for -disable-rtti
2022-02-28 13:39:27 +00:00
gingerBill
01162e08b5
Add -disallow-rtti
2022-02-28 13:35:29 +00:00
gingerBill
a7ae197a55
Merge branch 'master' into freestanding_amd64
2022-02-28 13:02:31 +00:00
gingerBill
3c72cb67d3
Remove context.user_data
2022-02-28 13:00:32 +00:00
gingerBill
37bba4c0a6
Reorganize error check procedures
2022-02-28 12:45:19 +00:00
gingerBill
ab9d1f99fd
Change #c_vararg checking to only disallow odin calling conventions
2022-02-28 12:36:21 +00:00
gingerBill
45124e4d5c
Merge branch 'master' into freestanding_amd64
2022-02-28 12:32:51 +00:00
gingerBill
7681c43b14
Show error message when something like this is done test: proc() : {}
2022-02-28 12:12:04 +00:00
gingerBill
7e43cd7d97
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-28 12:06:42 +00:00
gingerBill
c223fc1766
Correct debug information for local variables
2022-02-28 12:06:35 +00:00
Sébastien Marie
04297bb680
ci: add check for OpenBSD amd64
2022-02-26 14:18:37 +00:00
Sébastien Marie
553292ffd0
vendor: botan: add OpenBSD support
2022-02-26 08:47:58 +00:00
Sébastien Marie
57862846a2
tests/vendor: pass extra linker flags
...
on OpenBSD, botan library is third-party and live in /usr/local which isn't a path included by default in linker.
2022-02-26 08:21:46 +00:00
Sébastien Marie
8e270d3a99
openbsd: poor man implementation for getting executable path
...
it tries to get executable path from argv[0]. it is unreliable and unsecure, but should be fine enough for the considered use-case. it still doesn't address all possible cases.
2022-02-26 08:19:41 +00:00
Sébastien Marie
ae5cb09041
internal_odin_root_dir: readlink could fail
2022-02-25 17:59:57 +00:00
gingerBill
093b2288c3
Merge pull request #1320 from mohd-akram/custom-llvm-config
...
Allow custom LLVM_CONFIG
2022-02-25 15:57:53 +00:00
Mohamed Akram
ffe17a471d
Allow custom LLVM_CONFIG
2022-02-25 19:40:42 +04:00
gingerBill
e9f901b82d
Keep -vet happy
2022-02-25 15:30:24 +00:00
gingerBill
ed3004f8a0
Correct read_console reading
2022-02-25 15:30:05 +00:00
gingerBill
d97df080f9
Revert change
2022-02-25 15:08:02 +00:00
gingerBill
0e5c7e08fc
Change < to <=
2022-02-25 14:54:35 +00:00
Sébastien Marie
83523badb7
pass -ldl only on Darwin and Linux
2022-02-25 13:02:12 +00:00
Sébastien Marie
0a90994403
provide a simple gb_file_copy() implementation
...
permit to not require sendfile(2) syscall for gb_file_copy()
2022-02-25 12:32:34 +00:00
gingerBill
376906e0ae
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-25 12:02:49 +00:00
gingerBill
47c79a2f25
Correct os.read on windows for os.stdin
2022-02-25 12:02:41 +00:00
gingerBill
32988b0363
Correct internals for os.read on windows (read_console) for os.stdin ( Fix #1556 )
2022-02-25 12:01:53 +00:00
Sébastien Marie
00c138ce9f
add RAM information inside report
2022-02-25 09:28:04 +00:00
Sébastien Marie
5676c9e7eb
initial OpenBSD support
2022-02-25 08:49:25 +00:00
Jeroen van Rijn
3a469dc13e
Merge pull request #1549 from semarie/clone_to_cstring-leak
...
delete allocated memory with clone_to_cstring
2022-02-24 12:42:15 +01:00
Sébastien Marie
d3c70f2206
remove the optional ; in os_freebsd.odin
2022-02-24 11:30:33 +00:00
Sébastien Marie
14f1793b3e
use context.temp_allocator instead of general allocation + delete()
...
where clone_to_cstring is used with foreign code, it is prefered to use `context.temp_allocator` instead of using the general allocator and manually delete the memory after use.
2022-02-24 11:28:42 +00:00
Jeroen van Rijn
8cecb6b9f5
Merge pull request #1548 from colrdavidson/darwin_docs
...
Add make_directory so darwin can build html docs
2022-02-24 11:51:20 +01:00
Jeroen van Rijn
4a66c3c420
Merge pull request #1546 from zacharycarter/patch-2
...
adding `is_16_bit_from_memory` to stbi
2022-02-24 11:49:08 +01:00
gingerBill
c3c88633a5
Merge pull request #1545 from AquaGeneral/master
...
Added options to help, and improved wording
2022-02-24 10:15:13 +00:00
Colin Davidson
aeaf1199ec
Add make_directory so darwin can build html docs
2022-02-24 01:13:51 -08:00
Tail Wag Games
d4f62f52db
adding is_16_bit_from_memory to stbi
2022-02-24 00:20:15 -06:00
Jesse Stiller
384fb76a1b
Added options to help, and improved wording
2022-02-24 12:59:06 +10:00
gingerBill
4a04a32e0a
Change target name to freestanding_amd64_sysv
2022-02-23 11:33:28 +00:00
gingerBill
196bd735d4
Replace local @(no_red_zone) with global -disable-red-zone
2022-02-23 11:29:36 +00:00
gingerBill
493bc653b5
Add @(no_red_zone) for procedures
2022-02-23 11:23:27 +00:00
gingerBill
3d209798c9
Add help docs for -reloc-mode:<string>
2022-02-23 11:19:51 +00:00
Jeroen van Rijn
dd0d61e97c
Merge pull request #1528 from Tetralux/split-docs
...
Add doc comments to strings.split() and strings.split_n()
2022-02-23 12:13:29 +01:00
gingerBill
4b9324ff76
Merge branch 'master' into freestanding_amd64
2022-02-23 11:03:48 +00:00
gingerBill
e81ed9a960
Add "Did you mean" to Objective-C fields
2022-02-22 23:19:49 +00:00
gingerBill
83f7a887b7
Move comment
2022-02-22 23:03:04 +00:00
gingerBill
ad2f1ac24e
Improve union_tag_size
2022-02-22 23:01:28 +00:00
gingerBill
62d232d798
Correct ExactValue_Pointer
2022-02-22 22:59:00 +00:00
gingerBill
8906a0120c
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-22 22:53:19 +00:00
gingerBill
cad753e398
Simplify parse_binary_expr
2022-02-22 22:53:13 +00:00
Jeroen van Rijn
fd627dc13b
Merge pull request #1535 from zhibog/add-siphash
...
Added SipHash + tests and fixed remaining semicolons in vendor/botan
2022-02-22 20:34:50 +01:00
zhibog
70e8d97ee1
Fix procedure
2022-02-22 20:13:49 +01:00
zhibog
cdecb0ccc3
Fix Odin_OS_Type
2022-02-22 20:10:35 +01:00
zhibog
460b5149af
Added missing constants
2022-02-22 20:06:52 +01:00
zhibog
b6dc253d8b
Add generic procedure for default SipHash 2-4
2022-02-22 20:02:34 +01:00
zhibog
e7be9493ba
Added SipHash + tests and fixed remaining semicolons in vendor/botan
2022-02-22 19:56:07 +01:00
Jeroen van Rijn
ea34f321ed
Merge pull request #1533 from odin-lang/bug_report
...
[report] Fix `odin report` crash if `/usr/lib/os-release` doesn't exist.
2022-02-22 17:14:24 +01:00
Jeroen van Rijn
2b5bc1d558
[report] Fix odin report crash if /usr/lib/os-release doesn't exist.
2022-02-22 17:08:57 +01:00
gingerBill
e6a7b85da4
Correct types
2022-02-21 20:49:59 +00:00
gingerBill
6145185478
Add missing return types
2022-02-21 16:04:56 +00:00
gingerBill
6630d703f8
Clean up ok or error handling
2022-02-21 13:42:29 +00:00
gingerBill
9c3cdc4620
Start filling in the file_windows.odin procedures
2022-02-21 13:38:25 +00:00
gingerBill
345032f804
Get env stuff working on Windows
2022-02-21 12:35:52 +00:00
Tetralux
2abba6e057
Don't use leading asterisks
2022-02-21 09:51:03 +00:00
Tetralux
db5a1b0c78
Add doc comments to strings.split() and strings.split_n()
2022-02-21 09:23:45 +00:00
gingerBill
14cb19c2df
Update fmt to record the bytes written in the fmt.Info
2022-02-20 22:31:13 +00:00
gingerBill
46bcd18946
Merge pull request #1519 from colrdavidson/hyperspeed_file_size
...
Maintain a running count printed, so fprintf returns correct sizes for non-files
2022-02-20 22:16:27 +00:00
gingerBill
3e5c60f746
Add -reloc-mode:<string>
2022-02-20 14:48:12 +00:00
gingerBill
0fa487f468
Add -foreign-error-procedures
2022-02-20 14:27:44 +00:00
gingerBill
1bec9e5331
Add freestanding_amd64_gnu
2022-02-20 14:19:52 +00:00
gingerBill
ba61d911da
Remove dead code
2022-02-20 13:26:27 +00:00
Jeroen van Rijn
3b69c6b204
Merge pull request #1521 from SrMordred/patch-3
...
Memory Leak
2022-02-20 11:54:31 +01:00
Patric Dexheimer
d7eabf571c
Memory Leak
...
`dir` will leak memory if u use it with allocators that don´t care in freeing the memory at the end ( like arenas or the temp_allocator ) , because `strings.clone` and `strings.concatenate` are not using the passed allocator.
2022-02-20 02:10:34 -03:00
Colin Davidson
ddf9c4a65b
switch to passing total_size to the io.writers
2022-02-19 16:38:33 -08:00
Colin Davidson
b3d797598e
fprintf tweaked to avoid calling file_size
2022-02-19 15:51:11 -08:00
gingerBill
31c7945444
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-19 15:45:08 +00:00
gingerBill
276e014d18
Update comment in demo.odin
2022-02-19 15:45:01 +00:00
Jeroen van Rijn
27f206784c
Merge pull request #1514 from colrdavidson/fast_file_size
...
Use the _unix_fstat pointer to avoid 144B copies on fileIO
2022-02-19 12:17:03 +01:00
Colin Davidson
54a6637d38
Use the _unix_fstat pointer to avoid 144B copies on fileIO
2022-02-18 20:50:49 -08:00
gingerBill
23be56af59
Remove prefixes from D3D12 constants
2022-02-18 21:45:20 +00:00
gingerBill
71df46456a
Minimize memory usage by having an arena per thread rather than an arena per file
2022-02-18 21:30:25 +00:00
gingerBill
cd89d8a3c4
Add better error message for compiler when OOM happens
2022-02-18 16:24:08 +00:00
gingerBill
4c62a32b04
Keep -vet happy
2022-02-18 16:13:52 +00:00
gingerBill
5f8137025d
Use try_to_add_package_dependency
2022-02-18 16:12:21 +00:00
gingerBill
1843d52217
Fix typo
2022-02-18 16:07:06 +00:00
gingerBill
454c92dc64
Allow objc intrinsics within odin check and odin docs but disallow for odin build
2022-02-18 16:05:26 +00:00
gingerBill
7e33a86d54
Remove unneeded semicolon
2022-02-18 16:01:11 +00:00
gingerBill
197b832992
Add vendor:directx and vendor:darwin packages for documentation generation
2022-02-18 15:56:53 +00:00
gingerBill
8f13724a4b
Merge pull request #1504 from odin-lang/directx-packages
...
DirectX Package Support
2022-02-17 23:15:38 +00:00
gingerBill
746d5fc322
Correct D3D packages
2022-02-17 20:48:50 +00:00
gingerBill
ffc45e8cc2
Add intrinsics.constant_utf16_cstring
2022-02-17 20:48:37 +00:00
CiD-
bea2f36443
improve entry point check logic
2022-02-17 10:48:30 -05:00
gingerBill
f138f71fa6
Add UUID pointer values
2022-02-17 13:14:21 +00:00
Jeroen van Rijn
89b7a3f7ac
Merge pull request #1506 from zacharycarter/patch-1
...
Adding capture procedures to user32
2022-02-17 13:59:52 +01:00
gingerBill
75e15b05b0
Correct alias
2022-02-17 12:46:04 +00:00
Tail Wag Games
78eb388110
Adding capture procedures to user32
...
Adding `GetCapture`, `SetCapture` and `ReleaseCapture` functions - https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setcapture
2022-02-17 00:58:38 -06:00
CiD-
df23cf47c6
fix odin test
2022-02-16 22:08:39 -05:00
gingerBill
002ac6a1b7
Add vendor:directx packages: dxgi, d3d11, and d3d12
...
TODO: enums marked with `bit_set` may need conversions
2022-02-16 21:26:34 +00:00
Jeroen van Rijn
40e4536887
Merge pull request #1502 from colrdavidson/mainline-fast
...
avoid memset on stats
2022-02-16 17:24:29 +01:00
Colin Davidson
536bf61323
avoid memset on stats
2022-02-16 08:14:11 -08:00
gingerBill
c76bdced55
Merge branch 'master' into directx-packages
2022-02-16 16:05:46 +00:00
gingerBill
459ea5f4f6
Fix typo
2022-02-16 16:05:28 +00:00
gingerBill
8e8a075a22
Merge branch 'master' into directx-packages
2022-02-16 16:04:20 +00:00
gingerBill
db6bd9b358
Allow sysv and win64 calling conventions to be used on any platform on amd64
2022-02-16 16:03:49 +00:00
gingerBill
42ad54c28e
Improve metadata for context
2022-02-16 15:18:22 +00:00
gingerBill
1857bc7b02
Improve slice bounds checking runtime error messages
2022-02-16 14:51:54 +00:00
gingerBill
e011d812ca
Improve debug information for direct procedure parmaters
2022-02-16 14:39:08 +00:00
gingerBill
0738822dda
Change how parameter and variables are given debug values
2022-02-16 13:25:31 +00:00
gingerBill
2213722776
Change debug declare to value
2022-02-16 12:37:22 +00:00
gingerBill
65dedbb1ca
Add #subtype struct field prefix, required to have a COM interface hierarchy
2022-02-16 11:54:15 +00:00
gingerBill
0e69993d39
Add init and copy to all Objects
2022-02-16 00:17:07 +00:00
gingerBill
135091ddbe
Correct import paths
2022-02-16 00:14:16 +00:00
gingerBill
d64e3b672c
Add darwin build tags
2022-02-16 00:12:31 +00:00
gingerBill
a3bcacee27
Move Objective-C libraries located in core:sys/darwin/* to vendor:darwin/*
2022-02-16 00:06:25 +00:00
Jeroen van Rijn
855e7beab1
Merge pull request #1488 from colrdavidson/master
...
Add fork and personality
2022-02-15 21:04:09 +01:00
gingerBill
edc13c29df
Merge pull request #1331 from DanielGavin/parser-fault-recovery
...
Recover from closing brace not found in field list
2022-02-15 16:26:16 +00:00
gingerBill
21864d8d51
Improve BAD ENUM VALUE message in fmt #1496
2022-02-15 16:25:28 +00:00
gingerBill
d45ff0694d
Merge pull request #1438 from odin-lang/odin-global-constants-as-enums
...
Odin global constants as enums
2022-02-15 16:18:07 +00:00
gingerBill
d695a8a526
Update os_darwin.odin
2022-02-15 16:02:14 +00:00
gingerBill
0380a288a9
Minor fix for -vet
2022-02-15 15:58:44 +00:00
gingerBill
1d4d0a3e1a
Strip unneeded semicolons
2022-02-15 15:56:11 +00:00
gingerBill
9e98494fff
Merge pull request #1482 from odin-lang/objc-intrinsics
...
Improve support Objective-C code through intrinsics and Metal API
2022-02-15 15:48:56 +00:00
gingerBill
86d334282c
Merge pull request #1445 from Platin21/feature/darwin_systemcalls
...
Feature/darwin svc/syscall wrappers+id's
2022-02-15 15:48:20 +00:00
gingerBill
9cf937fef0
Merge pull request #1430 from DanielGavin/parser-fix
...
Fix return stmt when it's one lined(check for close brace).
2022-02-15 15:47:40 +00:00
gingerBill
f5697dd7f2
Merge branch 'master' into odin-global-constants-as-enums
2022-02-15 15:47:24 +00:00
gingerBill
a23ee1edc1
Merge pull request #1500 from thePHTest/master
...
Add 'odin run -help' info for specifying args
2022-02-15 15:46:27 +00:00
gingerBill
9dcb5c075a
Merge pull request #1474 from Kelimion/tracking-example
...
mem: Add `doc.odin` with `Tracking_Allocator` example.
2022-02-15 15:46:19 +00:00
gingerBill
803648be89
Minor aesthetic clean ups of Foundation
2022-02-15 15:34:07 +00:00
gingerBill
3ab5db8297
Add README.md
2022-02-15 15:17:21 +00:00
gingerBill
3380ece4a1
Add utility calls for creating buffers from slices
2022-02-15 15:16:48 +00:00
gingerBill
0e5928ff39
Correct pseudo selector code generation
2022-02-15 15:16:30 +00:00
Phil H
e6e04fc6c8
Add 'odin run -help' info for specifying args
2022-02-14 22:15:55 -08:00
gingerBill
753cceea82
Minor changes to method names on NS.String
2022-02-14 18:34:55 +00:00
gingerBill
32c7e81745
Use objc_allocateClassPair for intrinsics.objc_register_class
2022-02-14 18:32:10 +00:00
gingerBill
03aec70287
Change objc_class_name to objc_name with objc_is_class_method
2022-02-14 17:31:55 +00:00
gingerBill
e69738c079
Minor style change
2022-02-14 17:23:14 +00:00
gingerBill
1afa7967f2
Fix method names
2022-02-14 17:09:30 +00:00
gingerBill
643e36b87b
Improve Texture method names
2022-02-14 17:07:18 +00:00
gingerBill
3d2405ac2c
Correct more method types
2022-02-14 17:02:05 +00:00
gingerBill
7392a3047a
Add RenderPipeline missing types and methods
2022-02-14 16:58:56 +00:00
gingerBill
60f4d8f1ec
Correct Render Pass types
2022-02-14 16:46:27 +00:00
gingerBill
7b42cbea20
Improve draw method names on RenderCommandEncoder
2022-02-14 16:42:53 +00:00
gingerBill
4cc597f4df
RasterizationRate improvements
2022-02-14 16:32:54 +00:00
gingerBill
934e66ab3b
More improvements
2022-02-14 16:26:42 +00:00
gingerBill
b755609438
Improve Library related stuff
2022-02-14 16:25:20 +00:00
gingerBill
83d63e572a
Improve indirect stuff
2022-02-14 16:21:00 +00:00
gingerBill
5212f62f54
Improve many methods with WithDescriptor suffixes
2022-02-14 16:18:23 +00:00
gingerBill
4d0fd4cf19
Correct device() usage
2022-02-14 15:56:32 +00:00
gingerBill
e47953f7ca
Improve procedure signature and names
2022-02-14 15:45:02 +00:00
gingerBill
47f3773146
Correct Depth classes
2022-02-14 15:18:38 +00:00
gingerBill
31c6ecad34
Correct Counter classes
2022-02-14 15:15:32 +00:00
gingerBill
af6e53c05c
Improve Compute classes
2022-02-14 15:14:41 +00:00
gingerBill
153140eb8f
Improve ComputeCommandEncoder
2022-02-14 14:43:50 +00:00
gingerBill
6fef44c041
Improve CommandEncoder
2022-02-14 14:33:50 +00:00
gingerBill
a88d149903
Improve CommandBuffer
2022-02-14 14:33:02 +00:00
gingerBill
f9fc488399
Correct CaptureScope
2022-02-14 14:26:35 +00:00
gingerBill
bef806bef4
Update Capture Manager classes
2022-02-14 14:24:36 +00:00
gingerBill
95e9bbf99f
Improve Buffer
2022-02-14 12:52:30 +00:00
gingerBill
5936fa8871
Correct Blit Pass
2022-02-14 12:46:46 +00:00
gingerBill
02646b789c
Correct typo
2022-02-14 12:44:57 +00:00
gingerBill
09e9dca869
Improve BlitCommandEncoder
2022-02-14 12:43:01 +00:00
gingerBill
9a43c0672e
Correct BinaryArchive
2022-02-14 12:36:28 +00:00
gingerBill
83a6169463
Update ArgumentEncoder
2022-02-14 12:32:45 +00:00
gingerBill
debe2de5fe
Correct Acceleration Structure Types
2022-02-14 12:12:23 +00:00
gingerBill
ff7d591ebf
Correct AccelerationStructure classes
2022-02-14 11:55:59 +00:00
gingerBill
7386ca9272
Add new objc intrinsics: objc_(register|find)_(selector|class)
2022-02-14 11:21:21 +00:00
gingerBill
fd8b2e0b88
Merge branch 'master' into objc-intrinsics
2022-02-14 11:04:36 +00:00
gingerBill
c34ae884ad
Change to "object"
2022-02-14 11:04:29 +00:00
gingerBill
2e7157ae9c
Correct bytes._split_iterator
2022-02-14 11:01:34 +00:00
gingerBill
441365b388
Set the macOS minimum version to 12 for ARM CPUs
2022-02-14 10:58:01 +00:00
gingerBill
f561147190
Correct _split_iterator
2022-02-14 10:57:29 +00:00
gingerBill
2958c1d6aa
Add new shorthand
2022-02-13 16:56:27 +00:00
gingerBill
9dc83bc1b3
Add more methods
2022-02-13 16:32:31 +00:00
gingerBill
88b1b2c629
Correct types
2022-02-13 15:11:45 +00:00
gingerBill
23bc643a81
Merge branch 'objc-intrinsics' of https://github.com/odin-lang/Odin into objc-intrinsics
2022-02-13 12:01:19 +00:00
gingerBill
41854bacf5
Add utility classes for dealing with Windows
...
Most for GLFW and SDL only
2022-02-13 11:54:40 +00:00
gingerBill
cf528431f5
Merge pull request #1495 from FancyKillerPanda/master
...
Updated vendor/sdl2/ttf LIB and DLL.
2022-02-12 23:46:44 +00:00
FancyKillerPanda
e59064dd59
Updated vendor/sdl2/ttf LIB and DLL.
2022-02-13 10:33:48 +11:00
gingerBill
8966294823
Correct method name
2022-02-12 22:03:15 +00:00
gingerBill
b8479ea79d
Merge branch 'master' into objc-intrinsics
2022-02-12 21:49:48 +00:00
gingerBill
e2aa8f426d
Improve type hierarchy and method names
2022-02-12 21:45:34 +00:00
gingerBill
39a0f8c96a
Use distinct array types
2022-02-12 21:28:56 +00:00
gingerBill
b647b45ba5
Remove temp file
2022-02-12 21:25:20 +00:00
gingerBill
5fe9aa919b
Correct types in methods
2022-02-12 21:24:28 +00:00
gingerBill
ff5d6a994b
Move vendor:Metal to core:sys/darwin/Metal
2022-02-12 17:59:40 +00:00
gingerBill
ae3b95b194
#force_inline procedures and move foreign procedures to a separate file
2022-02-12 17:46:19 +00:00
gingerBill
acaae1357c
Update Metal for the full API
...
Methods need better names
2022-02-12 17:30:32 +00:00
gingerBill
f8afda3b22
Add more objc attributes
2022-02-11 22:54:51 +00:00
Colin Davidson
31f544c258
Merge branch 'odin-lang:master' into master
2022-02-11 08:25:17 -08:00
Mikkel Hjortshøj
1c57d1c019
Update nightly.yml
2022-02-11 17:22:33 +01:00
Mikkel Hjortshøj
251edf7bc7
Update ci.yml
2022-02-11 17:22:14 +01:00
Colin Davidson
f77cd5533d
Add fork and personality
2022-02-11 08:10:48 -08:00
gingerBill
416413bebf
Begin work on Metal
2022-02-10 14:35:10 +00:00
gingerBill
c3809d7b84
Fix typo
2022-02-09 21:46:26 +00:00
gingerBill
42a1c58a80
Update Foundation linking
2022-02-09 21:42:20 +00:00
gingerBill
b6abaf739c
Add missing calls for Object; Add scoped_autoreleasepool
2022-02-09 12:29:52 +00:00
gingerBill
ef98e92e8d
Remove unneeded file
2022-02-09 12:23:41 +00:00
gingerBill
768c2684d0
Add NSBundle, NSError, NSEnumerator
2022-02-09 12:19:59 +00:00
gingerBill
5f2514db63
Add NSNumber and NSURL
2022-02-09 11:50:11 +00:00
gingerBill
b95ade40c0
Begin work on core:sys/darwin/Foundation
2022-02-09 00:19:20 +00:00
gingerBill
340838c878
Add procs_darwin.odin
2022-02-08 23:00:00 +00:00
gingerBill
c5d348515d
Add intrinsics.type_is_subtype_of; intrinsics.objc_selector_name
2022-02-08 22:59:37 +00:00
gingerBill
05dd3d490d
Correct objc_class propagation for parapoly structs
2022-02-08 17:33:55 +00:00
gingerBill
0cc40db565
Begin work on support objc intrinsics
2022-02-08 17:04:55 +00:00
Jeroen van Rijn
546faab0cb
Merge pull request #1481 from jasonKercher/vet_fix
...
fix `-vet` for `filepath/match.odin`
2022-02-08 15:27:51 +01:00
CiD-
83e9a6b417
fix -vet for filepath/match.odin
2022-02-08 09:21:43 -05:00
gingerBill
30bb2382aa
Correct simple boolean intrinsics
2022-02-08 11:48:59 +00:00
gingerBill
61a0b4ec5a
Merge pull request #1480 from NoahR02/opensimplex2_noise
...
Adds OpenSimplex Noise to Odin.
2022-02-08 11:42:17 +00:00
NoahR02
accb35506f
Ports OpenSimplex2 from https://github.com/KdotJPG/OpenSimplex2 to Odin. Adds tests for the noise procedures.
2022-02-08 06:25:07 -05:00
NoahR02
817bc7434d
Ports OpenSimplex2 from https://github.com/KdotJPG/OpenSimplex2 to Odin. Adds tests for the noise procedures.
2022-02-08 06:16:10 -05:00
gingerBill
3c2ed3bb69
Correct //+private file bug
2022-02-07 11:37:13 +00:00
gingerBill
9cbf46e689
Fix constant multi pointer declarations through integers
2022-02-07 11:00:38 +00:00
gingerBill
ad6ea3d6aa
Replace any with union for subtyping in core:odin/ast
2022-02-06 13:31:16 +00:00
gingerBill
cda9fd5271
Add tag to ast.Comp_Lit
2022-02-06 11:59:12 +00:00
gingerBill
0c16f27814
Update parser for #sparse
2022-02-06 11:50:27 +00:00
gingerBill
19aec13a10
Support rank-2 arrays (matrix-like) for transpose
2022-02-06 11:42:59 +00:00
Jeroen van Rijn
e896956275
Merge pull request #1475 from Platin21/feature/fix-odin-fmt
...
Feature/fix odin fmt
2022-02-05 23:22:07 +01:00
Platin21
c59c6e98a5
Merge branch 'odin-lang:master' into feature/fix-odin-fmt
2022-02-05 23:14:44 +01:00
Platin21
8b1100bf2b
os.open does r/d as default which makes a call to open a dir invalid this should fix this problem
2022-02-05 23:12:55 +01:00
Jeroen van Rijn
a3d99765cc
mem: Add doc.odin with Tracking_Allocator example.
2022-02-05 22:18:22 +01:00
Platin21
a724573bb3
Fixes fopendir and readdir_r for arm64 or seemingly doing so
2022-02-05 21:16:58 +01:00
Jeroen van Rijn
25769f139a
Merge pull request #1471 from Platin21/feature/fix-odin-fmt
...
Feature/fix odin fmt
2022-02-05 21:00:52 +01:00
Platin21
3edf638cc6
Fixed Typo
2022-02-05 20:54:27 +01:00
Platin21
de7e612186
Ignores DS_Store files which MacOS uses for Indexing or some crap
2022-02-05 20:45:55 +01:00
Platin21
a571153458
Adds missing calls for os
2022-02-05 20:45:32 +01:00
Jeroen van Rijn
ada58c66fa
Merge pull request #1469 from ap29600/bit_iterator
...
add `iterator` to `core:container/bit_array`
2022-02-05 18:50:33 +01:00
ap29600
697f8c7ee6
replace a branch with max in core:container/bit_array.set
2022-02-05 18:46:25 +01:00
Andrea Piseri
b6ebfe4b2c
rename iterator procedures
2022-02-05 18:11:48 +01:00
Andrea Piseri
bccbdefde9
Update interface to allow more modes of iteration
...
It's now possible to iterate over:
- all keys in the range min_value ..= max_value, with `iterate_all`
- all set keys in the bit array, with `iterate_set`
- all unset keys in the range min_value ..= max_value, with `iterate_unset`
`Bit_Array` now stores the `max_value` provided during construction, and
updates it when a key that was previously out of range is set.
2022-02-05 18:00:59 +01:00
gingerBill
445ca70521
Correct implicit union cast
2022-02-05 16:11:48 +00:00
gingerBill
c6ab8f82c8
Code refactor to aid development
2022-02-05 15:17:47 +00:00
gingerBill
67ce0ec29f
Improve printing for unhandled cases by adding a new line before the cases
2022-02-05 14:58:13 +00:00
gingerBill
23c3573c30
Minor correction to error message suggestion
2022-02-05 14:56:06 +00:00
gingerBill
a4308e7246
Improve union variant assignment determination
2022-02-05 14:45:59 +00:00
gingerBill
3439139b1c
Minor clean up
2022-02-05 14:34:29 +00:00
gingerBill
cf246f65ff
Add check for variables which are both shadowing and unused by default
2022-02-05 14:31:22 +00:00
gingerBill
dd84b61cc8
Correct add_to_seen_map logic
2022-02-05 14:07:17 +00:00
gingerBill
b8c4bf2afb
Add #partial [Enum]Type{...} support to check for missing enumerated array fields
2022-02-05 14:02:21 +00:00
gingerBill
e870041fe6
Fix #sparse usage
2022-02-05 13:11:41 +00:00
gingerBill
6418ec3b21
Correct #sparse usage and error messages
2022-02-05 13:09:16 +00:00
gingerBill
2bcc7b0064
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-05 13:01:21 +00:00
gingerBill
97be867103
Rename #partial[Enum]Type to #sparse[Enum]Type for non-contiguous enum fields
2022-02-05 13:01:15 +00:00
gingerBill
fb710f8cbf
Merge pull request #1376 from jasonKercher/master
...
Added zeroing to new memory regions from _unix_realloc
2022-02-05 12:26:10 +00:00
gingerBill
1553137c23
Change behaviour of A :: distinct Enum_Type to be more intuitive
2022-02-05 00:04:02 +00:00
gingerBill
d5384c5aa4
Only check idents in the alias (of alias)+ problem
2022-02-04 22:45:13 +00:00
gingerBill
3a81f2ab89
Correct the type aliasing problem, caused by aliases (of aliases)+
2022-02-04 22:40:15 +00:00
ap29600
b54fc96b1e
rename iterator proc to next, add named return values
2022-02-04 22:39:47 +01:00
Andrea Piseri
48af78e469
add iterator to core:container/bit_array
2022-02-04 22:12:07 +01:00
phillvancejr
a315e7c962
Reverted experimental changes that were meant for a branch, in sync with master
2022-02-04 13:45:36 -05:00
phillvancejr
42364f2fce
sync with main
2022-02-04 13:16:40 -05:00
phillvancejr
8f600798ef
stb_image
2022-02-04 13:03:20 -05:00
gingerBill
abb26e0bea
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-04 12:08:24 +00:00
gingerBill
76edfae0e0
core:container/topological_sort
2022-02-04 12:08:20 +00:00
gingerBill
a5298e17ec
Merge pull request #1467 from ap29600/u128_endian_swap
...
fix logic in bswap_128
2022-02-03 15:06:12 +00:00
Andrea Piseri
cf9f3d5e2d
fix logic in bswap_128
2022-02-03 15:50:39 +01:00
gingerBill
35c90fe124
Fix type alias declaration evaluation problem ( #854 #1439 )
2022-02-03 13:34:31 +00:00
gingerBill
df8bdac33f
Initialize the global_rand with the intrinsics.read_cycle_counter() value
2022-02-03 00:31:36 +00:00
gingerBill
b4f7a527c2
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-02-02 23:38:40 +00:00
gingerBill
35533a7baa
Update core:container/lru to support clear and take a boolean to indicate whether or not to call the on_remove procedure on clear or destroy
2022-02-02 23:38:32 +00:00
gingerBill
2c9ed7464f
Merge pull request #1465 from ap29600/reflect_is_nil_fix
...
Fix logic in `is_nil` procedure
2022-02-02 19:36:25 +00:00
Andrea Piseri
e190c024fd
Fix logic in is_nil procedure: a non_nil slice means there is data to check.
2022-02-02 20:07:38 +01:00
gingerBill
e250475bf9
Merge pull request #1457 from DanielGavin/parser-inline
...
Fix core:odin/parser not setting the inline flag correctly.
2022-02-02 16:32:09 +00:00
gingerBill
5db603ded2
Minor sanity clean up
2022-02-02 15:39:41 +00:00
gingerBill
78815778ee
Add //+private file to complement //+private (//+private package)
2022-02-02 15:28:49 +00:00
gingerBill
a04d849e30
core:container/lru
2022-02-01 15:24:37 +00:00
gingerBill
8c9505505a
Add allocator parameter to rand.perm
2022-02-01 15:23:49 +00:00
gingerBill
eac74631ec
Correct debug information logic for procedure parameters
2022-02-01 14:11:19 +00:00
gingerBill
85706d559d
Fix typo
2022-01-31 20:19:46 +00:00
gingerBill
67ba05cb7c
Correct false positive check in check_unique_package_names
2022-01-31 19:33:02 +00:00
gingerBill
2f1aeaf757
Remove the unneeded $
2022-01-31 15:56:40 +00:00
gingerBill
14a17fb36f
Add slice.stable_sort* procedures
2022-01-31 15:55:52 +00:00
gingerBill
1a9ec776cb
Unify logic for slice.sort* related procedures
2022-01-31 12:43:20 +00:00
gingerBill
da1edac56d
Enforce -strict-style in CI
2022-01-31 11:29:05 +00:00
gingerBill
44ec95a983
Fix all_main.odin
2022-01-30 21:55:55 +00:00
gingerBill
1502066303
Correct CI
2022-01-30 21:43:42 +00:00
gingerBill
35a826a0fd
Update CI to do odin check examples/all
2022-01-30 21:38:34 +00:00
gingerBill
ebb8ca7c26
Add round to linalg_glsl_math.odin
2022-01-30 21:35:05 +00:00
gingerBill
763de44853
Merge pull request #1461 from AquaGeneral/master
...
Added round to HLSL and GLSL, and isinf/isfinite + isnan to HLSL
2022-01-30 10:46:13 +00:00
Jesse Stiller
62cc752066
Added round to HLSL and GLSL, and isinf/isfinite + isnan to HLSL
2022-01-30 13:57:01 +10:00
gingerBill
965b962b29
Merge pull request #1459 from powerc9000/clay-macos-fixes
...
Fix mutex and conditions trying to be destroyed twice in unix
2022-01-28 00:24:29 +00:00
powerc9000
2f3c5336d9
Fix mutex and conditions trying to be destroyed twice in unix
2022-01-27 15:38:16 -07:00
gingerBill
3824937295
Remove debug code
2022-01-27 16:30:22 +00:00
gingerBill
fc8ddcef5c
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-27 16:09:44 +00:00
gingerBill
3165b7cf95
Add rand.exp_float64
2022-01-27 16:09:33 +00:00
gingerBill
5eea23cf76
Fix typo
2022-01-27 16:09:05 +00:00
gingerBill
2aa783179e
Update doc_format.odin
2022-01-27 16:08:58 +00:00
gingerBill
24e7356825
Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T)
2022-01-27 16:08:47 +00:00
Jeroen van Rijn
2fcba25e50
Merge pull request #1458 from Kelimion/zlib_fix
...
Fix DEFLATE stored block handling.
2022-01-27 15:10:33 +01:00
Jeroen van Rijn
28bc274449
Fix DEFLATE stored block handling.
2022-01-27 14:58:45 +01:00
Daniel Gavin
ff5e036773
Trim whitespaces
2022-01-27 14:27:26 +01:00
Daniel Gavin
4dc29d141f
Fix core:odin/parser not setting the inline flag correctly.
2022-01-27 14:24:33 +01:00
Daniel Gavin
8ecee32e1c
Merge remote-tracking branch 'upstream/master' into parser-fix
2022-01-27 13:58:41 +01:00
gingerBill
16786aac78
Correct int31_max etc
2022-01-27 12:33:34 +00:00
gingerBill
32b37f3429
Support built-in procedures for doc format
2022-01-27 00:08:05 +00:00
gingerBill
5808793cae
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-26 23:31:53 +00:00
gingerBill
7e11f3cc4b
Update doc format to allow for aliases
2022-01-26 23:31:47 +00:00
gingerBill
714ab516c5
Merge pull request #1454 from jasonKercher/fix_segfault
...
avoid segfault in llvm_backend_general.cpp on map resize
2022-01-26 19:56:59 +00:00
CiD-
498f68c06b
avoid segfault on map resize
2022-01-26 14:37:15 -05:00
gingerBill
070b450768
Add ODIN_ERROR_POS_STYLE constant and change runtime.print_caller_location based on that constant
2022-01-26 17:34:39 +00:00
gingerBill
74174eb4ae
Remove spurious )
2022-01-26 16:38:12 +00:00
gingerBill
b190404b21
Fix double map dereference indexing
2022-01-26 16:37:16 +00:00
gingerBill
081a5a52a6
Add ODIN_ERROR_POS_STYLE environment variable
...
Allowing for two different error message styles:
default or odin
path(line:column) message
unix
path:line:column: message
2022-01-26 16:09:22 +00:00
gingerBill
fb86c23dbd
Keep -vet happy
2022-01-25 16:41:31 +00:00
gingerBill
cb6a4ebf60
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-25 16:40:31 +00:00
gingerBill
1bf8328606
Strip unneeded semicolons
2022-01-25 16:40:25 +00:00
Jeroen van Rijn
6a7f39453b
Merge pull request #1450 from Kelimion/bit_array
...
bit_array: Fix initial size.
2022-01-25 17:14:42 +01:00
Jeroen van Rijn
515fd2a228
bit_array: Fix initial size.
2022-01-25 17:08:32 +01:00
gingerBill
dd3322ac1f
Update all_main.odin to include all the crypto packages
2022-01-25 14:34:48 +00:00
gingerBill
f16f1d932e
Fix #1448
2022-01-25 14:24:15 +00:00
gingerBill
a3e7b2baa1
Revert change
2022-01-25 12:42:45 +00:00
gingerBill
fadf9b5309
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-25 12:39:12 +00:00
gingerBill
f6a087775e
Disable early return from check_proc_info
2022-01-25 12:39:06 +00:00
Jeroen van Rijn
d5f7e181a0
Merge pull request #1449 from Kelimion/zlib_change
...
zlib: update Huffman builder.
2022-01-25 12:23:34 +01:00
Jeroen van Rijn
65f8722afc
zlib: update Huffman builder.
2022-01-25 12:18:10 +01:00
gingerBill
c0479f1564
Handle line comment better
2022-01-24 23:42:04 +00:00
gingerBill
fe0b5bf4e2
Parse comments on enums fields
2022-01-24 23:28:59 +00:00
gingerBill
f20105ddfe
Update docs for packages fmt and io
2022-01-24 23:07:06 +00:00
Daniel Gavin
6a7d821fcc
Merge remote-tracking branch 'upstream/master' into parser-fix
2022-01-24 16:58:39 +01:00
gingerBill
42ab882db4
Remove debug code
2022-01-24 15:56:26 +00:00
phillvancejr
f28c268d97
move libgflw3.a to lib/darwin
2022-01-24 10:03:38 -05:00
phillvancejr
f1cff20249
moved mac os glfw static lib to lib/darwin subdirectory
2022-01-24 10:02:56 -05:00
gingerBill
dcc9e61362
Correct string_append_token
2022-01-24 14:52:43 +00:00
gingerBill
2554c72bb2
Update CommentGroup parsing for struct types
2022-01-24 14:47:33 +00:00
gingerBill
49872e40dc
Comment out calls
2022-01-24 14:46:56 +00:00
gingerBill
849fe01e70
Add lb_add_debug_local_variable call to procedure arguments
2022-01-24 14:13:24 +00:00
Platin21
1243b1a58c
Fixed cyclic imports which where not needed
2022-01-23 23:16:57 +01:00
Platin21
ab3bae5c02
Fixed package name
2022-01-23 23:14:46 +01:00
Platin21
540c5400a0
Adds several system calls and the beginning of odin wrappers for them
...
This also adds all systemcall numbers from the xnu kernel / and additional helpers for some of the calls to make it easier to call them from odin
2022-01-23 23:13:32 +01:00
gingerBill
d269dbcd40
Add comment for the internals of assert
2022-01-23 22:01:54 +00:00
gingerBill
18e639f59b
Add strings.split_lines* procedures
2022-01-23 21:35:03 +00:00
gingerBill
6ad262c2df
Migrate odin-html-docs to pkg.odin-lang.org repo
2022-01-23 16:52:08 +00:00
gingerBill
10b97a1b39
Update style.css
2022-01-23 16:36:37 +00:00
gingerBill
56b4e0a3c3
Fix #1267
2022-01-23 15:40:46 +00:00
gingerBill
27dbe84f79
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-23 09:53:56 +00:00
gingerBill
0711d4e5fe
Correct bit_set printing
2022-01-23 09:53:50 +00:00
Jeroen van Rijn
1e46537959
Merge pull request #1443 from graphitemaster/patch-1
...
Fix fread definition
2022-01-23 09:39:43 +01:00
Dale Weiler
a5e1693774
Fix fread definition
2022-01-23 03:12:59 -05:00
Daniel Gavin
01e29bf27e
Merge remote-tracking branch 'upstream/master' into parser-fix
2022-01-23 01:38:15 +01:00
gingerBill
63771bc6e8
Merge pull request #1441 from Platin21/fix/multiple-llvm-versions
...
Makes it possible to use llvm 12 13 and 11 for building on macOS
2022-01-22 20:22:00 +00:00
Platin21
8516e2e7e3
Changed match to be arbitrary width
...
(cant do exact match as we never know how much subversion's llvm does)
2022-01-22 20:50:05 +01:00
gingerBill
b3c3e41706
Correct directory comment printing
2022-01-22 19:49:46 +00:00
gingerBill
59f3a009fa
Update header-lower.txt.html
2022-01-22 19:46:22 +00:00
Platin21
9bc5b84c4d
Removes maybe unsupported versions
2022-01-22 20:40:04 +01:00
gingerBill
f9265c14bf
Update footer.txt.html
2022-01-22 19:37:35 +00:00
Platin21
9c1e1a63a2
Added pattern function so we can match whatever llvm versions we want
...
Right now we match every version that is 13 something for arm64 on macOS
And for x86 we allow any above 11 and including 11
2022-01-22 20:29:57 +01:00
gingerBill
4dc5839e3d
Add header-lower.txt.html
2022-01-22 17:09:10 +00:00
gingerBill
fdcb9deaff
Generate core and vendor library collection; add package sidebar for the entire collection
2022-01-22 17:07:24 +00:00
gingerBill
fe6539fad9
Add more to examples/all/all_vendor.odin
2022-01-22 17:03:55 +00:00
Platin21
0e06383620
Changed make file so that it allows for multiple LLVM versions instead of a single one on Darwin
2022-01-22 17:34:43 +01:00
gingerBill
6223f48c3f
Update tests
2022-01-20 20:08:24 +00:00
gingerBill
f2f20def37
Update demo.odin
2022-01-20 20:02:41 +00:00
gingerBill
77b91352ae
Add Odin_OS_Type and Odin_Arch_Type to core:runtime
2022-01-20 19:58:35 +00:00
gingerBill
3d7d347192
Convert ODIN_OS and ODIN_ARCH to use enums rather than use strings
2022-01-20 19:56:05 +00:00
CiD-
e5868e3205
add zeroing regardless of ODIN_OS
2022-01-20 10:17:47 -05:00
gingerBill
cfbc1a447b
Correct inverse and inverse_transpose for 2x2 matrices
2022-01-20 13:18:37 +00:00
gingerBill
1b23dd2257
Add home page
2022-01-20 01:02:26 +00:00
gingerBill
b612edba5a
Improve detail styling
2022-01-20 00:36:44 +00:00
gingerBill
d39c05b183
Simplify tag printing
2022-01-20 00:19:58 +00:00
gingerBill
3a3cb521ab
Support tag printing
2022-01-20 00:19:24 +00:00
gingerBill
5b97ff0b48
General improves including comment formatting
2022-01-20 00:13:26 +00:00
gingerBill
2b918ada4b
Add .Private information to doc-format
2022-01-19 17:15:10 +00:00
gingerBill
b5754b6ed9
Print examples correctly
2022-01-19 16:35:50 +00:00
gingerBill
07ee23f817
Simplify dir tree generation
2022-01-19 16:28:01 +00:00
gingerBill
ecdaac9921
Unify are_types_identical_unique_tuples
2022-01-19 15:14:15 +00:00
gingerBill
5ff82fc113
Correct tuple name checking for doc writing
2022-01-19 15:11:42 +00:00
gingerBill
28a816ef25
Allow for entity grouping in structs and procedure signatures with the Odin doc-format
2022-01-19 14:57:27 +00:00
gingerBill
6bdb210ad8
More improvements to the styling
2022-01-19 13:34:54 +00:00
gingerBill
db08847f9a
Improve rendering to match the main website's CSS
2022-01-19 13:20:38 +00:00
gingerBill
841c428273
Merge pull request #1433 from odin-lang/html-docs-printer
...
Initial Work on HTML Docs Printer
2022-01-18 11:03:41 +00:00
gingerBill
6b830f42b6
Improve stylization with collapsible directories; Fix name padding
2022-01-17 23:48:46 +00:00
gingerBill
fb01dfe048
Improve docs_writer.cpp
2022-01-17 22:17:07 +00:00
gingerBill
c7a9c8274f
Improve type printing
2022-01-17 22:16:32 +00:00
gingerBill
cafb6e5587
Correct //+private for odin doc
2022-01-17 21:33:20 +00:00
gingerBill
e9ae6e20e8
Fix code, source code links, and add recursive make directory
2022-01-17 20:50:40 +00:00
gingerBill
2ca2dbcc92
Correct distinct printing
2022-01-17 19:23:24 +00:00
gingerBill
0d4642825f
Correct package docs parsing
2022-01-17 19:07:25 +00:00
gingerBill
8eda756714
Add printing for constants, variables, types, and procedure groups
2022-01-17 19:01:16 +00:00
gingerBill
c85ac955f7
Simplify docs to hide the copyright
2022-01-17 19:00:47 +00:00
gingerBill
97922406fe
Improve printing for record types
2022-01-17 18:23:30 +00:00
gingerBill
76ccce2942
Begin work on a html doc printer
2022-01-17 17:57:55 +00:00
gingerBill
686dbb4421
Correct odin doc comment printing
2022-01-17 14:43:42 +00:00
gingerBill
cd6898439e
Comment out link_section on procedures
2022-01-17 12:17:13 +00:00
Daniel Gavin
96d7c4ffdf
Merge remote-tracking branch 'upstream/master' into parser-fix
2022-01-17 13:15:44 +01:00
gingerBill
95620aaf2a
Update examples/all
2022-01-17 11:48:15 +00:00
gingerBill
1d293749c2
Move core:path to core:path/slashpath
...
This is to reduce the confusion that occurs between that package and the `core:path/filepath` package
2022-01-17 11:38:15 +00:00
gingerBill
2d35a5c1af
Merge pull request #1431 from AquaGeneral/master
...
Extraneous parameters in hlsl/glsl.saturate removed
2022-01-17 10:52:19 +00:00
Jesse Stiller
d4ea02a877
Extraneous parameters in hlsl/glsl.saturate removed
...
This is a breaking change to anyone who used glsl/hlsl.saturate functions prior, but the y and z parameters never were used and do not conform to how the saturate function works in HLSL: https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-saturate
Note however GLSL does not contain a saturate function, but removing it does not accomplish anything good IMO.
2022-01-17 12:19:06 +10:00
Daniel Gavin
f19325cbe0
Merge remote-tracking branch 'upstream/master' into parser-fix
2022-01-16 13:54:22 +01:00
gingerBill
2a325b3da0
Update ODIN_ENDIAN usage
2022-01-16 12:25:39 +00:00
Daniel Gavin
d57ec4a11d
Fix return stmt when it's one lined(check for close brace).
2022-01-16 13:20:12 +01:00
gingerBill
f0529535e0
ODIN_ENDIAN changed to an enum constant; ODIN_ENUM_STRING is the new string version of the old constant
2022-01-15 17:53:18 +00:00
gingerBill
3f59c45740
Remove main creation in llvm_backend.cpp and have it done purely in the runtime package (partial bootstrapping)
2022-01-15 17:42:10 +00:00
gingerBill
29ebe0c3c9
Rename architecture 386 to i386
2022-01-15 17:40:00 +00:00
gingerBill
6c48670819
Make ODIN_BUILD_MODE a enum type
2022-01-15 17:34:35 +00:00
gingerBill
51dcbc80c3
Add LLVMAddMergedLoadStoreMotionPass on -debug -opt:0
2022-01-15 16:26:14 +00:00
gingerBill
9ecbadd457
Simplify procedure parameters callee logic
2022-01-15 16:16:11 +00:00
gingerBill
79f32d7b71
Remove unused lbDefer kind
2022-01-15 16:03:37 +00:00
gingerBill
7501cc2f17
Remove dead code
2022-01-15 16:01:23 +00:00
gingerBill
a390ef41f8
Fix swizzle logic within lb_build_assign_stmt_array
2022-01-15 15:55:01 +00:00
gingerBill
bb9c2f7aad
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-15 15:38:15 +00:00
gingerBill
6aa80ee8e4
Correct _start as an entry point
2022-01-15 15:38:09 +00:00
Jeroen van Rijn
0741bc37cc
Merge pull request #1427 from oskarnp/macos-linker-fix
...
Fix invalid linker flags passed to clang on macOS
2022-01-14 17:05:28 +01:00
oskarnp
c6ed3fa4b5
Fix invalid linker flags passed to clang on macOS
2022-01-14 10:48:41 -05:00
Jeroen van Rijn
e277102947
Merge pull request #1426 from jasonKercher/fix_queue
...
fix push_back and pop_front
2022-01-14 16:45:54 +01:00
CiD-
6cf5371d7d
fix push_back and pop_front
2022-01-14 10:17:49 -05:00
gingerBill
e15f714660
Define wasm _start entry point in Odin code
2022-01-13 15:18:47 +00:00
gingerBill
4f77151ebc
Merge pull request #1389 from ap29600/slice_scanner
...
Add slice/scanner proc
2022-01-13 14:10:17 +00:00
gingerBill
9a46463078
Merge pull request #1399 from kleeon/master
...
Fixed wrong function name in vendor/OpenGL/README.md
2022-01-13 12:06:53 +00:00
gingerBill
a0816bb581
Merge pull request #1424 from jasonKercher/os_linux
...
os_linux additions + libc to syscalls
2022-01-13 12:06:40 +00:00
gingerBill
b33ca6651e
Rename proc_* to entry_*
2022-01-13 12:05:22 +00:00
gingerBill
315a08f33f
Add main to proc_unix.odin
2022-01-13 12:04:42 +00:00
Jeroen van Rijn
50668fa7a6
Merge pull request #1425 from graphitemaster/more_linux_shared_library_fixes
...
Fixes for shared library initialization and finalization
2022-01-13 06:36:19 +01:00
Dale Weiler
ee260986a9
more fixes
2022-01-13 00:19:04 -05:00
gingerBill
c9bc759624
Correct calling convention
2022-01-12 23:04:31 +00:00
gingerBill
80f175cdb0
Add empty main dynamic builds for *nix systems
2022-01-12 20:40:34 +00:00
gingerBill
8f03811842
Fix typo
2022-01-12 20:30:34 +00:00
gingerBill
3def94505e
Add dynamic to error message for -build-mode
2022-01-12 20:28:11 +00:00
gingerBill
e30f16b1f3
Correct -init for *nix
2022-01-12 20:17:30 +00:00
gingerBill
7df93ea504
Initialize runtime.args__ through main
2022-01-12 20:16:46 +00:00
gingerBill
6209b02bf9
Add intrinsics._entry_point call to _odin_entry_point
2022-01-12 20:16:04 +00:00
gingerBill
75b7f2b9fe
Correct -init for *nix to be a different procedure
2022-01-12 20:13:38 +00:00
gingerBill
f1521aa980
Add proc_windows.odin for custom entry points
2022-01-12 20:10:23 +00:00
gingerBill
fb0a3ab7c1
Correct linkage for entry point procedures on Windows
2022-01-12 20:07:17 +00:00
CiD-
8eaafd5242
check correct errno in _readlink
2022-01-12 14:51:49 -05:00
CiD-
774951e8c0
os_linux additions + libc to syscalls
2022-01-12 14:36:18 -05:00
gingerBill
5ec93677a0
Correct look for entry point in llvm backend (Windows only currently)
2022-01-12 19:27:49 +00:00
gingerBill
7e4067c44c
Begin work to move entry point code to Odin itself rather than in C++ side
2022-01-12 19:19:43 +00:00
gingerBill
f2f6c3c67d
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-11 10:56:13 +00:00
gingerBill
847b05013f
Disable DEFAULT_TO_THREADED_CHECKER until race condition is found
2022-01-11 10:56:07 +00:00
gingerBill
d308473075
Merge pull request #1421 from graphitemaster/linux_shared_library_fixes
...
Linux shared library fixes
2022-01-10 23:18:04 +00:00
Dale Weiler
4334dbe69a
disable this warning
2022-01-10 18:00:38 -05:00
Dale Weiler
8f91e9307c
shared library fixes
2022-01-10 17:57:33 -05:00
gingerBill
32ec1162bf
Use more {} ctor
2022-01-10 14:52:47 +00:00
gingerBill
7cc265e14c
Add mutex guards for signature scopes
2022-01-10 14:50:28 +00:00
gingerBill
6f3e450c50
Move error handling code to a separate file
2022-01-10 14:03:36 +00:00
gingerBill
cb1080d56c
Fix check_procedure_bodies to allow multiple threads caused by a typo
2022-01-10 13:31:34 +00:00
gingerBill
80bd1eb615
Fix polymorphic matrix element with a minor hack
2022-01-10 12:19:49 +00:00
gingerBill
fb53402914
Merge pull request #1402 from jasonKercher/syscalls
...
add more Linux syscalls
2022-01-10 11:50:45 +00:00
gingerBill
731853ce78
Merge pull request #1416 from Naboris/utf16-typo
...
fix typo in utf16 decode_to_utf8
2022-01-10 11:50:04 +00:00
gingerBill
f0260e9771
Merge pull request #1420 from odin-lang/linalg-to-use-matrix-type
...
Update matrix types to be the native Odin `matrix` types
2022-01-10 11:49:49 +00:00
gingerBill
af612bc7e9
Update matrix types to be the native Odin matrix types
2022-01-10 11:32:27 +00:00
Jeroen van Rijn
d76dd95c0b
Merge pull request #1418 from wbogocki/patch-1
...
Fix link to Odin blog
2022-01-09 16:10:50 +01:00
Wojciech Bogócki
1cff72ad62
Fix link to Odin blog
2022-01-09 22:43:12 +08:00
Naboris
773cfac449
fix typo
2022-01-08 09:49:21 +01:00
Jeroen van Rijn
b02f2953ac
Merge pull request #1410 from Kelimion/sort_map
...
Fix unused imports.
2022-01-07 06:47:54 +01:00
Jeroen van Rijn
566a750899
Fix unused imports.
2022-01-07 06:12:00 +01:00
Jeroen van Rijn
1d1d684cbc
Merge pull request #1407 from Platin21/feature/fix-supervisor-call
...
Fix Syscall Intrinsic on ARM64 MacOS
2022-01-05 17:02:24 +01:00
Platin21
7a14acaa01
Fixes syscall intrinsic on macOS they use a slightly different section + register for the id
2022-01-05 16:49:58 +01:00
gingerBill
057174497a
Merge pull request #1406 from terickson001/schar
...
add schar to core:c and core:c/libc
2022-01-05 00:50:24 +00:00
Tyler Erickson
8c9597b24b
add schar to core:c and core:c/libc
2022-01-04 16:45:16 -08:00
gingerBill
72862ce30d
Fix minor typo in c/frontend/preprocess
2022-01-04 11:48:18 +00:00
gingerBill
d0f4cb1de4
Merge branch 'master' of https://github.com/odin-lang/Odin
2022-01-04 11:47:05 +00:00
gingerBill
17613185e7
Support struct field tags in odin doc format
2022-01-04 11:44:34 +00:00
Jeroen van Rijn
00ff1fbca2
Merge pull request #1403 from Platin21/feature/fix-open-syscall
...
Fixes open system call (Thanks TIM!)
2022-01-03 20:48:09 +01:00
gingerBill
f15bb0b424
Fix quaternion casting
2022-01-03 19:45:27 +00:00
gingerBill
f818d0feb1
Fix #1344
2022-01-03 19:43:22 +00:00
Platin21
8ff6f95571
Removes the default create flag
2022-01-03 20:40:56 +01:00
Platin21
68e5f57e27
Fixes open system call (Thanks TIM!)
2022-01-03 20:34:57 +01:00
CiD-
38e5e13b3f
add more Linux syscalls
2022-01-03 09:24:39 -05:00
gingerBill
defc1672c3
Revert fix #1344
2022-01-03 13:48:12 +00:00
gingerBill
12f459b5fb
Fix #1344
2022-01-03 13:12:39 +00:00
gingerBill
e6b8f7e77a
Fix #1398
2022-01-03 12:54:31 +00:00
gingerBill
236b08cb49
Fix #1356
2022-01-03 12:51:32 +00:00
gingerBill
e4f28de3de
Fix #1311
2022-01-03 12:14:01 +00:00
gingerBill
6543491148
Clean up code for queue (no logic changed)
2022-01-02 15:31:47 +00:00
gingerBill
3cbf9c3719
Fix #1381
2022-01-02 14:45:39 +00:00
gingerBill
50188f0308
Add sort.map_entries_by_key sort.map_entries_by_value
2022-01-01 17:13:11 +00:00
gingerBill
a60b9735a2
Add core:container/queue
2022-01-01 15:46:22 +00:00
gingerBill
a032a2ef32
Remove the hidden NUL byte past the end from bytes.clone
2022-01-01 15:33:19 +00:00
gingerBill
f364ac60c2
Remove the hidden NUL byte past the end from strings.clone
2022-01-01 15:31:51 +00:00
gingerBill
43763ddfda
Correct _shift_down logic
2022-01-01 13:44:37 +00:00
gingerBill
70ed280c5a
Fix typo in priority_queue.odin and add default_swap_proc
2022-01-01 13:11:53 +00:00
gingerBill
0d7cb02386
Fix conversion from float to quaternion
2021-12-31 23:20:14 +00:00
gingerBill
bdf66bb1e1
Correct abs type behaviour for quaternions
2021-12-31 22:54:12 +00:00
Jeroen van Rijn
9b5cfe2677
Merge pull request #1401 from zhibog/extend-crypto-api
...
Extended crypto Hash API by variants that write the result into a destinat…
2021-12-31 13:27:56 +01:00
zhibog
42033ea808
Extended crypto API by variants that write the result into a destination buffer, instead of returning it
2021-12-31 13:16:11 +01:00
gingerBill
c7ff296bef
Change the implementation of Priority_Queue to have a better interface that allows for a less and swap procedure
2021-12-30 13:42:10 +00:00
kleeon
750ee4ecdb
Fixed wrong function name in README.md
2021-12-30 15:49:07 +03:00
gingerBill
ed742846cb
Correct lb_emit_ptr_offset bug caused by LLVMConstGEP assuming a signed index
2021-12-29 15:01:56 +00:00
gingerBill
ed8b20da78
Add core:container/priority_queue
2021-12-29 14:38:39 +00:00
gingerBill
c987b84292
Move bash.djbx33a to hash.odin
2021-12-29 12:24:47 +00:00
gingerBill
a9b17b5a37
Add hash.djbx33a
2021-12-29 12:01:07 +00:00
gingerBill
a66f859fb4
Minor improvements to core:container/small_array
2021-12-29 11:58:27 +00:00
gingerBill
c46e7eda1d
Add core:container/small_array
2021-12-29 11:26:22 +00:00
Henry Dooley
865d88dd56
review feedback
2021-12-28 10:50:34 -06:00
Andrea Piseri
92e70b9a58
use multipointers instead of simple pointers
2021-12-28 16:22:34 +01:00
Andrea Piseri
822da9d12d
Merge branch 'master' into slice_scanner
2021-12-28 16:12:15 +01:00
Jeroen van Rijn
b0817d136b
Merge pull request #1354 from Kelimion/bit_vector
...
[core:container/bit_array] Create new package.
2021-12-28 15:51:45 +01:00
Jeroen van Rijn
53e30e4621
[core:container/bit_vector] Create new package.
...
A dynamic bit array, optionally allowing negative indices.
2021-12-28 15:38:12 +01:00
gingerBill
dbf42d2469
make slice.as_ptr return [^]E
2021-12-28 14:16:27 +00:00
gingerBill
36c61aeacf
Merge pull request #1350 from thePHTest/json-typo
...
Fix 'unmarsal' typo in core/encoding/json/unmarshal.odin
2021-12-28 14:11:27 +00:00
gingerBill
289b0422bd
Merge pull request #1372 from ryuukk/patch-1
...
[WASM] Added missing zoffset parameters to some gl functions
2021-12-28 14:11:11 +00:00
gingerBill
78359f0c16
Merge pull request #1379 from weshardee/master
...
___$startup_runtime for MacOS
2021-12-28 14:09:42 +00:00
gingerBill
3f8c6a6745
Merge pull request #1396 from Platin21/feature/fix-matrix-return
...
Fixes Matrix/Float return on Arm64
2021-12-28 14:07:13 +00:00
gingerBill
5d653a9d8e
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-12-28 14:05:18 +00:00
gingerBill
7f61a90ea1
Remove core:container contents
2021-12-28 14:05:09 +00:00
Platin21
982ec1e58b
Merge remote-tracking branch 'origin/master' into feature/fix-matrix-return
2021-12-27 22:11:08 +01:00
Platin21
86f831ddd1
This adds code which checks how big the return is and if it is to big returns the value via sret
2021-12-27 22:10:52 +01:00
Henry Dooley
069c05669f
cast isize to unsigned int for llvm api, add defaulted name parameter to helper.
2021-12-25 16:46:02 -06:00
Henry Dooley
516065d7c2
factor out alloca generation into a helper
2021-12-25 16:28:09 -06:00
Jeroen van Rijn
6f370fdbf2
Merge pull request #1394 from Tetralux/parse-allman-for
...
core:odin/parser: Fix parsing of Allman style braces in for loops
2021-12-25 20:24:30 +01:00
Tetralux
a60667e900
core:odin/parser: Fix parsing of Allman style braces in for loops
2021-12-25 19:18:29 +00:00
Jeroen van Rijn
6889cb6fe2
Merge pull request #1393 from Tetralux/odin-parse-no-nil
...
core:odin/parser: Parse #no_nil on unions
2021-12-25 20:12:01 +01:00
Tetralux
9b2fe56d14
Parse #no_nil on unions
2021-12-25 18:58:08 +00:00
Andrea Piseri
5d80e24224
Add slice/scanner proc
2021-12-23 12:49:40 +01:00
Jeroen van Rijn
eec61c3f6f
Merge pull request #1388 from Yawning/feature/linux-aarch64
...
src: Add preliminary support for Linux AArch64
2021-12-23 04:17:42 +01:00
Yawning Angel
dce120258f
src: Add preliminary support for Linux AArch64
...
Tested via `tests/core`, on a Raspberry Pi 4 running the latest
64-bit Raspberry Pi OS image (LLVM 11).
2021-12-23 02:46:32 +00:00
gingerBill
5752a374ab
Merge pull request #1386 from Platin21/feature/fix-arm64
...
Removes unneeded lookups / Adds sret to call site which fixes the mac…
2021-12-23 01:06:39 +00:00
Platin21
8dbeed8a9f
Removes unneeded lookups / Adds sret to call site which fixes the mac bug
2021-12-23 01:59:31 +01:00
gingerBill
84d774c7b4
Merge pull request #1382 from Tetralux/rename-to-dynamic
...
Rename slice.to_dynamic to slice.clone_to_dynamic
2021-12-21 10:26:36 +00:00
Tetralux
e2b36c4004
Rename slice.to_dynamic to slice.clone_to_dynamic
2021-12-21 02:17:24 +00:00
gingerBill
8453a6cbdb
Merge pull request #1380 from Platin21/feature/llvm-version-check
...
Adds version check for Apple Silicon for LLVM Version
2021-12-19 21:15:54 +00:00
Platin21
3e465c7e84
Changes to required llvm version 13 as both 12 and 11 don't work correctly on macOS Apple Silicon
2021-12-19 21:51:51 +01:00
Wes Hardee
92ce7defb1
Merge branch 'master' of https://github.com/weshardee/Odin
2021-12-18 12:43:33 -06:00
Wes Hardee
a48317deee
use '___$startup_runtime' for MacOS
...
MacOS needs 3 underscores unlike the 2 needed by Linux.
2021-12-18 12:43:24 -06:00
CiD-
ebdb3ab43a
added notes about _unix_alloc
2021-12-17 12:04:05 -05:00
CiD-
29ca6ee420
add zeroing to new region from realloc
2021-12-17 10:41:49 -05:00
gingerBill
0548db4230
Disallow @(static) and @(thread_local) within defer statements
2021-12-17 11:06:17 +00:00
gingerBill
aba6d2e52c
Merge pull request #1374 from indiscible/fix-mathprod
...
fix math.prod
2021-12-16 18:34:10 +00:00
gilles
4ebdb6740e
fix math.prod
...
accumulator was not initialized to one
2021-12-16 18:55:51 +01:00
ryuukk
d0240b8981
[WASM] Added missing zoffset parameters to some gl functions
2021-12-15 06:12:26 +01:00
gingerBill
4423bc0706
Fix typo
2021-12-12 01:10:40 +00:00
gingerBill
8c72813b85
Merge pull request #1364 from RehkitzDev/fix-webgl-glue
...
Fix storeInt call in webgl glue code
2021-12-11 17:52:45 +00:00
gingerBill
08a081ed45
Improve debug symbol retention with -debug -opt:0
2021-12-11 17:42:58 +00:00
Rehkitzdev
b7c78da1fb
Fix storeInt call in webgl glue code
2021-12-11 18:38:32 +01:00
Jeroen van Rijn
3257454209
Merge pull request #1363 from Kelimion/big_math
...
[math/big] Rename `internal_int_shl_digit` to `_private_int_shl_leg`.
2021-12-11 15:31:43 +01:00
Jeroen van Rijn
938744b276
[math/big] Rename internal_int_shl_digit to _private_int_shl_leg.
...
Same for the SHR variant. These are pure implementation details to shift by a leg/word at a time.
Prevent accidental usage.
2021-12-11 15:22:24 +01:00
gingerBill
84b84d9f7d
Fix rat_set_f64
2021-12-11 12:47:05 +00:00
gingerBill
85f8c8df91
Fix fields_proc in strings and bytes
2021-12-11 12:04:34 +00:00
gingerBill
c889591333
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-12-11 12:02:33 +00:00
gingerBill
e2f53ee107
Fix #1362 strings.index_any
2021-12-11 12:02:23 +00:00
Jeroen van Rijn
c771ea9794
Merge pull request #1358 from Kelimion/big_math_fix
...
[math/big] Return 0, .Integer_Underflow if T = unsigned and bigint is negative.
2021-12-09 16:41:37 +01:00
gingerBill
94bad4d786
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-12-09 15:36:12 +00:00
gingerBill
1d7c9cf872
Make strconv more robust
2021-12-09 15:35:00 +00:00
gingerBill
1e17d5d86f
Add utility procedures to get low values
2021-12-09 15:34:35 +00:00
gingerBill
1e9b30666f
Minor style change
2021-12-09 15:34:17 +00:00
Jeroen van Rijn
b2b79b86f0
[math/big] Return 0, .Integer_Underflow if trying to get a negative number to an unsigned int.
2021-12-09 16:31:54 +01:00
Jeroen van Rijn
3d85013aba
Merge pull request #1357 from Kelimion/big_math_fix
...
[math/big] Fix int_set and int_get.
2021-12-09 16:22:09 +01:00
Jeroen van Rijn
c94098c2ab
[math/big] Fix int_set and int_get.
2021-12-09 16:14:04 +01:00
gingerBill
9d4fe90356
Fix bugs in big.Rat caused by typos
2021-12-07 17:35:41 +00:00
Jeroen van Rijn
6e61abc7d0
[xml] Initial optimization.
2021-12-06 12:04:59 +01:00
Phil H
a7138b22a5
Fix 'unmarsal' typo
2021-12-05 19:04:14 -08:00
Jeroen van Rijn
7ec88d2430
[xml] Add option.
2021-12-05 21:06:33 +01:00
Jeroen van Rijn
d7200f6144
Improve tests in general.
...
Less spammy core tests: They don't print PASSes now, only logs and failures.
`core:image` and `core:encoding/xml` tests also find their assets relative to `ODIN_ROOT` now.
2021-12-05 02:53:09 +01:00
Jeroen van Rijn
d65d6edb0e
[xml] Improve XML tests, test core:encoding/entity.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
3d72e80ccf
[xml] Implement optional unboxing of CDATA and decoding of tag values.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
2dd67dba89
[core:encoding/entity] Add new package to decode &<entity>; entities.
...
Includes generator to generate a lookup for named entitiess.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
5807214406
[xml] Improvements.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
23baf56c87
[xml] Improve CDATA + comment handling in tag body.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
beff90e1d1
[xml] Slight optimization.
...
About a 5% speed bump.
More rigorous optimization later.
2021-12-05 02:52:23 +01:00
Jeroen van Rijn
ec63d0bbd2
[xml] Robustness improvement.
...
Can now parse https://www.w3.org/2003/entities/2007xml/unicode.xml no problem.
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
32eab04d66
[xml] Allow multi-line bodies w/o CDATA. Strip trailing whitespace.
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
682783a2aa
[xml] Tab indentation in debug printer.
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
46a4927aca
[xml] Use io.Writer for xml.print(doc).
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
9b2e67df67
[xml] Small cleanup.
2021-12-05 02:52:22 +01:00
Jeroen van Rijn
b5c828fe4e
[xml] Initial implementation of core:encoding/xml.
...
A from-scratch XML implementation, loosely modeled on the [spec](https://www.w3.org/TR/2006/REC-xml11-20060816 ).
Features:
- Supports enough of the XML 1.0/1.1 spec to handle the 99.9% of XML documents in common current usage.
- Simple to understand and use. Small.
Caveats:
- We do NOT support HTML in this package, as that may or may not be valid XML.
If it works, great. If it doesn't, that's not considered a bug.
- We do NOT support UTF-16. If you have a UTF-16 XML file, please convert it to UTF-8 first. Also, our condolences.
- <[!ELEMENT and <[!ATTLIST are not supported, and will be either ignored or return an error depending on the parser options.
TODO:
- Optional CDATA unboxing.
- Optional `>`, ` `, ` ` and other escape substitution in tag bodies.
- Test suite
MAYBE:
- XML writer?
- Serialize/deserialize Odin types?
2021-12-05 02:52:22 +01:00
gingerBill
6ce5608003
Correct odin doc default parameter value init_string generation
2021-12-03 11:46:54 +00:00
Jeroen van Rijn
db42a2db47
Merge pull request #1347 from DanielGavin/parser-fix
...
Do not save comments when peeking tokens.
2021-12-02 23:05:24 +01:00
DanielGavin
cecca96f3d
Merge branch 'odin-lang:master' into parser-fix
2021-12-02 22:45:14 +01:00
Daniel Gavin
f1a126e162
Do not save the comment when peeking.
2021-12-02 22:44:47 +01:00
gingerBill
9f0a30e36e
Merge pull request #1337 from DanielGavin/parser-fix
...
Add Matrix_Type as literal type on "core:odin"
2021-11-28 10:38:37 +00:00
Daniel Gavin
517c8ff1dd
Include Matrix_Type to the is_literal_type switch statement.
2021-11-28 02:14:25 +01:00
gingerBill
2b07afaf70
Add lb_build_addr on or_return and or_else for sanity's sake
2021-11-27 16:03:03 +00:00
gingerBill
6616882708
Correct reading from a console on Windows
...
e.g. `os.read(os.stdin, buf[:])`
2021-11-27 14:59:35 +00:00
gingerBill
c9c197ba08
Add os.read_at_least and os_read_full utility procedures.
2021-11-27 14:57:49 +00:00
gingerBill
7876660d8c
Add new utf16 procedures: decode, decode_to_utf8
2021-11-27 14:57:20 +00:00
gingerBill
db9326f31d
Merge pull request #1332 from odin-lang/nasm-support
...
NASM Support
2021-11-26 23:06:33 +00:00
gingerBill
27106dd9ae
Allow .asm, .s, and .S as valid assembly file extensions
2021-11-26 22:25:07 +00:00
gingerBill
33dc12a61a
Add supported check for .asm files
2021-11-26 14:46:03 +00:00
gingerBill
ffd7ca57f1
Move nasm.exe to windows/nasm.exe, etc
2021-11-26 14:40:39 +00:00
Daniel Gavin
a4ba91a554
Check for non inserted semicolon in *expect_closing_brace_of_field_list*
2021-11-25 18:47:58 +01:00
gingerBill
44897b5eac
Merge pull request #1334 from jockus/allow-enum-any-int
...
Allow enums to pass #any_int checks
2021-11-25 11:31:04 +00:00
Joakim Hentula
8255481204
Allow enums to pass #any_int checks
2021-11-25 11:20:40 +00:00
gingerBill
1e453cf1d7
Merge pull request #1296 from kevinsjoberg/do-not-filter-tests-when-empty
...
Do not filter test procedures when filter is empty
2021-11-25 09:13:31 +00:00
gingerBill
c34a331696
Add -extra-assembler-flags
2021-11-24 22:20:18 +00:00
Daniel Gavin
cf390bf8b9
Recover from closing brace not found in field list
2021-11-24 21:20:46 +01:00
gingerBill
07ec93bfeb
Add procs_windows_amd64.asm for use with -no-crt
2021-11-24 18:32:27 +00:00
gingerBill
994ee5a559
Allow for multiple .asm files
2021-11-24 17:57:31 +00:00
gingerBill
50057b0696
Add basic support for foreign import "foo.asm" on Windows with nasm.exe
2021-11-24 16:56:42 +00:00
gingerBill
00597127dd
Add missing field skip_missing
2021-11-24 16:39:29 +00:00
gingerBill
70d4bc8573
Add nasm binaries
2021-11-24 16:36:34 +00:00
gingerBill
bc775afccb
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-24 16:31:47 +00:00
gingerBill
504ea7deeb
Fix update_untyped_expr_type for ternary if expressions with an untyped type
2021-11-24 16:31:37 +00:00
gingerBill
5e2280a787
Fix set_file_path_string and thread_safe_set_ast_file_from_id
2021-11-24 16:20:01 +00:00
gingerBill
84e03421d3
Merge pull request #1312 from DYSEQTA/master
...
Improve compiler help output with regard to command specific help.
2021-11-24 15:49:49 +00:00
DYSEQTA
0a87ffe0e6
Merge branch 'odin-lang:master' into master
2021-11-24 12:07:14 +11:00
DYSEQTA
e5f961b48f
Removed '--help' from help string as per request.
2021-11-24 11:10:40 +11:00
gingerBill
5db505c42f
Merge pull request #1277 from Yawning/feature/modern-crypto
...
core/crypto: Add some "modern" primitives
2021-11-23 17:54:03 +00:00
gingerBill
275241f9b4
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-23 11:43:38 +00:00
gingerBill
9246e89c4a
Fix #1328
2021-11-23 11:43:32 +00:00
gingerBill
b56964e465
Merge pull request #1315 from SrMordred/patch-2
...
GetMouseDelta
2021-11-23 11:30:54 +00:00
gingerBill
2e89585c8c
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-23 10:59:50 +00:00
gingerBill
e230b7110c
Merge pull request #1327 from graphitemaster/fix-path-join-leak
...
fix memory leak in path.join
2021-11-22 15:34:30 +00:00
Dale Weiler
a55f0cfb63
fix memory leak in path.join
2021-11-22 10:25:54 -05:00
gingerBill
de435c9318
Remove unneeded semicolons from vendor:OpenGL
2021-11-21 14:52:40 +00:00
gingerBill
f40f12d480
Minor cleanup to math constants
2021-11-21 14:06:32 +00:00
gingerBill
8a2c829e07
Patch odin doc binary format
2021-11-21 14:06:15 +00:00
gingerBill
42b9ce636f
Remove #force_inline from all wrappers
2021-11-21 13:59:28 +00:00
gingerBill
ca6951d05e
Add MessageDecompose; Update the static library
2021-11-20 20:20:12 +00:00
gingerBill
446f1f6183
Correct foreign imports for portmidi on Windows
2021-11-20 19:27:34 +00:00
gingerBill
d424c84bf9
Merge pull request #1322 from Gaunsessa/master
...
Add darwin support for glfw and re-add ln for js.
2021-11-20 12:22:38 +00:00
Gus
56d2bbc5b9
Added back ln for js
2021-11-20 20:03:54 +11:00
Gus
2c7bf87998
Added darwin support
2021-11-20 20:02:21 +11:00
gingerBill
daebaa8b50
Fix #1319
2021-11-19 15:43:13 +00:00
gingerBill
9320a31f4d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-19 12:26:19 +00:00
gingerBill
3e04b45106
Allow cast from float to complex
2021-11-19 12:26:10 +00:00
gingerBill
acd5878d66
Merge pull request #1316 from Skytrias/master
...
add `builtin.` in slice.swap_between
2021-11-18 23:48:43 +00:00
Michael Kutowski
4439d59105
add builtin.
2021-11-19 00:24:56 +01:00
gingerBill
12c1291805
Add optional seed parameters to all hashes
2021-11-18 16:14:33 +00:00
Patric Dexheimer
61bc963e92
GetMouseDelta
2021-11-17 19:03:01 -03:00
gingerBill
ae59f214ee
@(tag=<string>) - dummy attribute for tooling
2021-11-17 21:32:33 +00:00
Yawning Angel
6bafa21bee
crypto: Add rand_bytes
...
This adds `rand_bytes(dst: []byte)` which fills the destination buffer
with entropy from the cryptographic random number generator. This takes
the "simple is best" approach and just directly returns the OS CSPRNG
output instead of doing anything fancy (a la OpenBSD's arc4random).
2021-11-17 14:00:00 +00:00
Yawning Angel
61c581baeb
core/sys/unix: Add syscalls_linux.odin
...
Linux is in the unfortunate situation where the system call number is
architecture specific. This consolidates the system call number
definitions in a single location, adds some wrappers, and hopefully
fixes the existing non-portable invocations of the syscall intrinsic.
2021-11-17 14:00:00 +00:00
Yawning Angel
6c4c9aef61
core/crypto: Add chacha20poly1305
...
This package implements the chacha20poly1305 AEAD construct as specified
in RFC 8439.
2021-11-17 13:59:53 +00:00
Yawning Angel
7bed317636
core/crypto: Add chacha20
...
This package implements the ChaCha20 stream cipher as specified in
RFC 8439, and the somewhat non-standard XChaCha20 variant that supports
a 192-bit nonce.
While an IETF draft for XChaCha20 standardization exists,
implementations that pre-date the draft use a 64-bit counter, instead of
the IETF-style 32-bit one. This implementation opts for the latter as
compatibility with libsodium is more important than compatibility with
an expired IETF draft.
2021-11-17 13:59:53 +00:00
Yawning Angel
4647081f49
core/crypto/poly1305: Triple performance on amd64 with -o:speed
2021-11-17 13:59:53 +00:00
Yawning Angel
64db286582
core/crypto: Add poly1305
...
This package implements the Poly1305 MAC algorithm as specified in RFC
8439, using routines taked from fiat-crypto and poly1305-donna.
2021-11-17 13:59:53 +00:00
Yawning Angel
1a7a6a9116
core/crypto: Add x25519
...
This package implements the X25519 key agreement scheme as specified in
RFC 7748, using routines taken from fiat-crypto and Monocypher.
2021-11-17 13:59:53 +00:00
Yawning Angel
d1e76ee4f2
core/crypto: Add constant-time memory comparison routines
...
Using a constant-time comparison is required when comparing things like
MACs, password digests, and etc to avoid exposing sensitive data via
trivial timing attacks.
These routines could also live under core:mem, but they are somewhat
specialized, and are likely only useful for cryptographic applications.
2021-11-17 13:59:53 +00:00
gingerBill
9be0d18e5d
Correct x in ptr logic
2021-11-17 11:02:11 +00:00
gingerBill
e877525073
Keep -vet happy for -no-crt and wasm targets
2021-11-17 10:40:55 +00:00
gingerBill
f09638318f
Add support for darwin to core:c/libc
2021-11-16 21:19:08 +00:00
gingerBill
bb7703fcec
Improve ptr_map_hash_key
2021-11-16 16:08:20 +00:00
gingerBill
1b28226a67
Add math.lgamma based off FreeBSD's /usr/src/lib/msun/src/e_lgamma_r.c
2021-11-16 15:32:32 +00:00
gingerBill
2b546a598c
Add math.signbit; Add math.gamma based on http://netlib.sandia.gov/cephes/cprob/gamma.c
2021-11-16 15:23:19 +00:00
gingerBill
b530ca9a5e
Add math.nextafter
2021-11-16 15:12:01 +00:00
gingerBill
d232796149
Fix typo
2021-11-16 15:09:47 +00:00
gingerBill
e721f26a76
Implement ln based off FreeBSD's /usr/src/lib/msun/src/e_log.c
2021-11-16 15:05:04 +00:00
gingerBill
91408cb21f
Implement atanh based on FreeBSD's /usr/src/lib/msun/src/e_atanh.c
2021-11-16 14:58:59 +00:00
gingerBill
eb8b0d7a03
Add log1p, erf, erfc, ilogb logb (implemented based of FreeBSD's)
2021-11-16 14:54:57 +00:00
gingerBill
880af47ae7
Rename math_js.odin to math_basic_js.odin
2021-11-16 14:26:04 +00:00
gingerBill
91949b0992
Implement math.sqrt with intrinsics.sqrt
2021-11-16 14:11:20 +00:00
gingerBill
6a101e69a2
Implement ldexp and frexp in native Odin
2021-11-16 14:04:49 +00:00
cybermancer
1823b0cead
Improve compiler help output with regard to command specific help.
2021-11-16 15:15:21 +11:00
gingerBill
1ec0b79345
Allow both -help and --help if passed as init_filename
2021-11-15 22:10:31 +00:00
gingerBill
e814a3693f
Improve usage of file_id
2021-11-15 17:26:01 +00:00
gingerBill
f55fc4cd08
Add complex32 and quaternion64 for the 16-bit float types to fmt
2021-11-15 17:25:29 +00:00
gingerBill
f47311f2f6
Remove scope field from Ast
2021-11-14 15:22:40 +00:00
gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
gingerBill
b9701340b8
Add linalg.matrix4_look_at_from_fru
2021-11-13 19:15:37 +00:00
gingerBill
82110bf487
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-13 19:07:27 +00:00
gingerBill
a75dc9d86d
Fix minor issue with unmarshal for booleans
2021-11-13 19:07:16 +00:00
gingerBill
bfa23f1352
Merge pull request #1308 from Yawning/fix/amd64-syscalls
...
src: Fix the syscall intrinsic code generation for Linux and Windows
2021-11-13 18:54:12 +00:00
Yawning Angel
c430a82721
src: Fix the syscall intrinsic code generation for Linux and Windows
...
The old assembly generated for the syscall intrinsic did not specify
clobber constraints. This adds RCX and R11 (that are clobbered by
the instruction itself), and memory (that is clobbered by some
system calls) to the assembly constraints.
Note: This is still incorrect on FreeBSD, which clobbers more registers
and uses the carry flag instead of -errno in rax to indicate an error.
2021-11-13 09:53:20 +00:00
Jeroen van Rijn
cc316a473e
Merge pull request #1299 from Kelimion/vendor-glfw-test
...
[vendor:glfw] Add test.
2021-11-10 19:24:55 +01:00
Jeroen van Rijn
c213274607
[vendor:glfw] Add test.
2021-11-10 19:15:10 +01:00
Jeroen van Rijn
c4a2580dfd
Merge pull request #1290 from wjlroe/fix-glfw-on-windows
...
Fix path to static GLFW lib on Windows
2021-11-10 18:41:30 +01:00
Jeroen van Rijn
8a547b5922
Merge pull request #1298 from CarwynNelson/ws32-add-socket
...
Add socket() function to windows ws32 bindings
2021-11-10 17:23:59 +01:00
Carwyn Nelson
c67c0789eb
Add socket() function to windows ws32 bindings
...
It looks like this was missing from the winsock bindings. Odin contains
WSASocketW which I assume would also work for obtaining a socket, but
socket() is distinct and is what I was using, so I assume others will
want it too.
2021-11-10 15:55:50 +00:00
Jeroen van Rijn
cefe312ba1
Merge pull request #1297 from CarwynNelson/patch-1
...
Fix the windows binding for getaddrinfo
2021-11-10 16:22:56 +01:00
Carwyn Nelson
d8b1523161
Fix the windows binding for getaddrinfo
...
getaddrinfo should take a double pointer to ADDRINFOA instead of a single pointer. If you call the binding in its current state you will not get back a valid ADDRINFOA struct.
I have also changed the `node` and `service` params to be cstring to avoid having to do `transmute(u8) value`.
2021-11-10 15:15:40 +00:00
Kevin Sjöberg
61b02adc50
Do not filter test procedures when filter is empty
...
If `build_context.test_names` is empty, we do not need to perform any
filtering.
2021-11-10 15:49:23 +01:00
Jeroen van Rijn
989ddbd688
Merge pull request #1295 from zhibog/master
...
Add tests to Linux and Mac and add vendor tests
2021-11-10 15:34:29 +01:00
zhibog
96b670af49
Fix package name again
2021-11-10 15:31:29 +01:00
zhibog
359e02bad7
Fix botan lib name for apt
2021-11-10 15:26:26 +01:00
zhibog
8aadcacc0b
Add tests to Linux and Mac and add vendor tests
2021-11-10 15:22:12 +01:00
Jeroen van Rijn
615efc7c86
Merge pull request #1294 from Kelimion/fix_dir_walk
...
Fix os.walk for UNC paths.
2021-11-10 15:09:22 +01:00
Jeroen van Rijn
dd88104a81
Fix os.walk for UNC paths.
2021-11-10 14:59:54 +01:00
gingerBill
5cb23725ae
Merge pull request #1289 from Kelimion/timings-export
...
Add functionality to export build timings.
2021-11-10 12:06:36 +00:00
Jeroen van Rijn
8c5c45a04c
[timings-export] Style fixes.
2021-11-10 12:23:46 +01:00
gingerBill
4a552e6326
Merge pull request #1286 from DanielGavin/parser-fix
...
Add Any_Int as allowed flag in field signatures.
2021-11-10 10:59:53 +00:00
gingerBill
1f0758708f
Merge pull request #1293 from kevinsjoberg/fix-test-filtering
...
Postpone checking test procedures
2021-11-10 10:52:01 +00:00
Kevin Sjöberg
b8dec4268d
Postpone checking test procedures
...
The dependency set need to be generated before we check the testing
procedures. Otherwise `checker->info.testing_procedures` will be empty
and thus no filtering is taking place.
2021-11-10 10:26:17 +01:00
gingerBill
fc920a630f
Merge pull request #1288 from odin-lang/target-js_wasm32
...
Target `js_wasm32` with `vendor:wasm/WebGL`
2021-11-09 23:15:42 +00:00
Jeroen van Rijn
ffeac8895d
Merge pull request #1291 from zhibog/master
...
Add Botan crypto lib as a vendor library
2021-11-09 23:59:14 +01:00
zhibog
cef9632607
Add Botan crypto lib as a vendor library
2021-11-09 23:49:17 +01:00
gingerBill
76054dddb7
Revert build.bat
2021-11-09 22:11:18 +00:00
Jeroen van Rijn
9dc8753a14
[timings-export] Improve help messages
...
Also make `clang` happy as concerns the build settings switch/case.
2021-11-09 22:52:26 +01:00
William Roe
a805d9a721
Fix path to static GLFW lib on Windows
2021-11-09 20:10:34 +00:00
Jeroen van Rijn
6c306f7633
Fix Linux warnings.
2021-11-09 20:31:22 +01:00
Jeroen van Rijn
05a86d5296
[timings-export] Implement JSON + CSV timngs export.
2021-11-09 19:57:55 +01:00
Jeroen van Rijn
9422fd311f
[timings-export] Add -export-timings:format + -export-timings-file:filename.
2021-11-09 19:51:27 +01:00
gingerBill
80360f3f51
Add vendor packages for the js_wasm32 target
2021-11-09 18:26:42 +00:00
gingerBill
321d93bff1
Merge branch 'master' into target-js_wasm32
2021-11-09 18:06:19 +00:00
gingerBill
600d19c51b
General catch-all for llvm debug types
2021-11-09 18:04:31 +00:00
gingerBill
ed933bca19
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-09 16:36:01 +00:00
gingerBill
a9ea590d24
Add dummy time_freestanding.odin
2021-11-09 16:35:50 +00:00
Jeroen van Rijn
275d39b59b
Merge pull request #1287 from zhibog/master
...
Removed context switching system from the crypto library to simplify …
2021-11-09 16:57:59 +01:00
zhibog
c24454ae70
Removed context switching system from the crypto library to simplify the code
2021-11-09 16:50:13 +01:00
DanielGavin
fbc38c78eb
Merge branch 'odin-lang:master' into parser-fix
2021-11-09 14:30:34 +01:00
Daniel Gavin
b0db90de96
Add Any_Int as allowed flag in field signatures.
2021-11-09 14:29:53 +01:00
Jeroen van Rijn
eb96f9677e
Merge pull request #1285 from Kelimion/vet
...
[core:os/os2] Keep -vet happy.
2021-11-09 14:12:04 +01:00
Jeroen van Rijn
0a3b75c5f5
[core:os/os2] Keep -vet happy.
2021-11-09 14:06:14 +01:00
gingerBill
50562440bf
Correct wasm-ld path for non-Windows platforms
2021-11-09 08:09:56 +00:00
gingerBill
ce90c3c9ee
Merge pull request #1284 from odin-lang/vendor-raylib-4.0
...
raylib 4.0
2021-11-09 08:05:48 +00:00
gingerBill
d4bdcd55e1
Add Modified README.md
2021-11-08 16:25:51 +00:00
gingerBill
3f90faf0c9
Update vendor:raylib version 4.0
2021-11-08 15:57:55 +00:00
gingerBill
3d35c5ceb1
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-08 12:16:04 +00:00
gingerBill
a674e842d0
Improve matrix indices to offset logic
2021-11-08 12:15:57 +00:00
gingerBill
23f0fbc376
Improve matrix->matrix casting implementation
2021-11-08 11:40:41 +00:00
gingerBill
c63f4d68c8
Add math_js.odin specific calls (that just wrap the f64 procedures)
2021-11-07 20:06:05 +00:00
gingerBill
518460af66
Begin work in semi-standardized js_wasm32 target
2021-11-07 19:56:01 +00:00
gingerBill
39f652de47
Merge pull request #1280 from zhibog/master
...
Fix order of operations to make it correct and work with -o:speed flag
2021-11-07 18:08:33 +00:00
zhibog
483afe462b
Fix order of operations to make it correct and work with -o:speed flaf
2021-11-07 18:53:30 +01:00
gingerBill
1296fabe2c
Fix typos
2021-11-07 16:20:04 +00:00
gingerBill
dc2edd3e79
Improve support for freestanding_wasm32
2021-11-07 16:19:27 +00:00
gingerBill
e9c903f1ea
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-07 14:16:13 +00:00
gingerBill
83be954efd
Minor spelling change
2021-11-07 14:16:05 +00:00
Jeroen van Rijn
f84bdee1ba
Merge pull request #1279 from DanielGavin/fix-json
...
Add json encoding test + fix enum not being set on success.
2021-11-07 14:47:35 +01:00
Daniel Gavin
5b074ceee5
Add json encoding test + fix enum not being set on success.
2021-11-07 14:35:52 +01:00
gingerBill
40eed29527
Remove LLVMAddDeadStoreEliminationPass pass
2021-11-06 18:11:29 +00:00
gingerBill
3d3785a7f1
Remove many LLVM optimization passes which were causes UB due to them assuming C-like behaviour incompatible with Odin
2021-11-06 17:23:33 +00:00
gingerBill
5df15b5724
Completely ignore LLVM_ADD_CONSTANT_VALUE_PASS LLVM >= 12
2021-11-06 16:29:53 +00:00
gingerBill
ee259e4229
Merge pull request #1273 from odin-lang/compiler-map-improvements
...
Compiler Map Improvements
2021-11-05 18:12:40 +00:00
gingerBill
36985f8da0
Simplification to ptr_map_hash_key
2021-11-05 18:04:18 +00:00
gingerBill
eb0faf9602
Unify hash logic for PtrSet
2021-11-05 17:58:11 +00:00
gingerBill
899cc71990
Improve ptr_map_hash_key
2021-11-05 17:55:09 +00:00
gingerBill
7be18b4a80
Be more correct with MapIndex usage
2021-11-05 17:36:00 +00:00
gingerBill
0c9bb9d920
Clean up logic
2021-11-05 17:32:17 +00:00
gingerBill
26e3daf5ad
Unify MapFindResult types
2021-11-05 17:24:19 +00:00
gingerBill
0af69f8cda
Remove map.cpp code
2021-11-05 17:16:37 +00:00
gingerBill
86e26c9a44
Remove dead code
2021-11-05 17:13:26 +00:00
gingerBill
541beb615b
Move more things to PtrMap
2021-11-05 17:13:07 +00:00
gingerBill
6646348e1a
Increase usage of PtrMap
2021-11-05 17:03:02 +00:00
gingerBill
c38d6dc959
Remove HashKey usage for PtrMap calls
2021-11-05 16:46:09 +00:00
gingerBill
924faa58b4
Correct map_remove(PtrMap)
2021-11-05 16:45:27 +00:00
gingerBill
6be104e521
Make llvm backend code use PtrMap; remove dead code
2021-11-05 16:43:53 +00:00
gingerBill
e95204908a
Add PtrMap, begin working change Map to PtrMap where possible
2021-11-05 16:34:37 +00:00
gingerBill
e963fc4d6a
Change map index types to u32 from isize
2021-11-05 12:51:28 +00:00
gingerBill
1a75a71403
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-11-05 12:44:08 +00:00
gingerBill
439fc86740
Improve performance of the compiler hash table types and unify behaviour
2021-11-05 12:42:19 +00:00
gingerBill
0010e882a7
Make PtrSet match Map
2021-11-05 12:11:50 +00:00
gingerBill
a022f18015
Reorganize code
2021-11-05 12:11:33 +00:00
Jeroen van Rijn
cee9561259
Merge pull request #1271 from hdooley/master
...
don't try to use __cpuid() on arm64
2021-11-05 10:45:28 +01:00
Henry Dooley
3d0cd6f0dc
don't try to use __cpuid() on arm64
2021-11-04 18:54:15 -07:00
gingerBill
adb5928767
Change to RUNTIME_LINKAGE definition
2021-11-04 20:21:51 +00:00
gingerBill
23c74bc67b
Update all_main.odin to include core:math/linalg/hlsl
2021-11-04 19:30:46 +00:00
gingerBill
a22120fe94
Reorganize code
2021-11-04 17:38:58 +00:00
gingerBill
ae25eaf10c
Correct foreign import library usage
2021-11-04 17:25:37 +00:00
gingerBill
adcfca966e
Use Rtl*Memory procedures with -no-crt on Windows
2021-11-04 17:24:28 +00:00
gingerBill
d8e34bd9b7
Add core:math/linalg/hlsl
2021-11-04 17:08:59 +00:00
gingerBill
68046d0c08
Allow casting between matrix types of different element types
2021-11-04 16:50:59 +00:00
gingerBill
bc2bf1caeb
Add #load_hash(<filepath>, <string-hash-kind>)
2021-11-04 16:29:41 +00:00
gingerBill
d551144841
Add inverse for dmatN types
2021-11-04 16:09:19 +00:00
gingerBill
84540d7aa2
Add smoothstep
2021-11-04 15:57:27 +00:00
gingerBill
57eedfc4f4
Fix lb_emit_array_epi for matrix types
2021-11-04 15:01:31 +00:00
gingerBill
2718ade2bc
Add core:math/linalg/glsl to all_main.odin
2021-11-04 14:56:16 +00:00
gingerBill
95f36d4fa5
Minor reorganization
2021-11-04 14:54:55 +00:00
gingerBill
3accf4048e
Add f64 variants of all types and procedures
2021-11-04 14:52:03 +00:00
gingerBill
eb05879148
Add more comments
2021-11-04 14:25:34 +00:00
gingerBill
a882118c56
Add comments
2021-11-04 14:20:47 +00:00
gingerBill
57d15ac6e7
Remove unneeded suffixes
2021-11-04 14:11:34 +00:00
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
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
gingerBill
fca7142a3c
Correct _start export for wasm* targets
2021-10-31 16:31:20 +00:00
gingerBill
bfa33bf5d3
Disable wasm64
2021-10-31 15:48:56 +00:00
gingerBill
235dae552a
Ignore -use-separate-modules when targeting wasm32/wasm64
2021-10-31 15:35:09 +00:00
gingerBill
a36c1ad406
Add default_allocators_wasi.odin
2021-10-31 15:28:51 +00:00
gingerBill
32506a34ff
Separate out the ABI for wasm32 from 386
2021-10-31 15:23:39 +00:00
gingerBill
3224d04df8
Stub out os.open for wasi
2021-10-31 15:22:54 +00:00
gingerBill
c13c30b466
Update wasi to use string and slice types
2021-10-31 15:21:39 +00:00
gingerBill
3de1719c17
Merge pull request #1254 from awwdev/master
...
remove prefix from Mix_LoadWAV
2021-10-31 15:01:44 +00:00
gingerBill
0c1675c8b0
Correct string usage
2021-10-31 15:01:13 +00:00
André
3d89c6b35d
remove prefix from Mix_LoadWAV
2021-10-31 15:45:29 +01:00
gingerBill
22982586f1
Add basic support for wasi in package os
2021-10-31 13:45:00 +00:00
gingerBill
0d2c8dfeec
Separate os-specific things to separate file
2021-10-31 13:44:21 +00:00
gingerBill
305e965bcb
Add os_specific_wasi.odin
2021-10-31 13:08:19 +00:00
gingerBill
906c7ef0fc
Correct wasi linking
2021-10-31 13:04:28 +00:00
Jeroen van Rijn
2a7937e2ba
Add odin report command to help with bug reports.
...
Add new Odin command, `odin report`, which prints information helpful to resolving or reporting a bug.
```
W:\Odin> odin report
Where to find more information and get into contact when you encounter a bug:
Website: https://odin-lang.org
GitHub: https://github.com/odin-lang/Odin/issues
Useful information to add to a bug report:
Odin: dev-2021-10:256bebfe
OS: Windows 10 Professional (version: 20H2), build 19042.1266
CPU: AMD Ryzen 7 1800X Eight-Core Processor
RAM: 65469 MiB
W:\Odin>
TODO:
- CPU name on ARM/ARM64
```
2021-10-31 13:48:13 +01:00
gingerBill
2a5b8f53fe
Add memmove and memset support for wasm
2021-10-31 12:47:50 +00:00
gingerBill
c6e08b059b
Move sys/wasi to sys/wasm/wasi
2021-10-31 12:30:10 +00:00
gingerBill
9a5216921c
Add wasi_wasm32
2021-10-31 01:08:17 +00:00
gingerBill
8a2078aa90
Add core:sys/wasi
2021-10-31 01:06:27 +00:00
gingerBill
841a96691b
Attempt to get wasm64 compiling with the correct features enabled
2021-10-31 00:37:37 +01:00
gingerBill
8ef6f9dd7b
Compile wasm64; Add lb_run_remove_unused_function_pass
2021-10-31 00:11:38 +01:00
gingerBill
5bc8a491a7
Begin work on supporting wasm64; Correct wasm32 compilation behaviour
2021-10-30 23:24:34 +01:00
gingerBill
87952fdb8e
big.Rat (Experimental)
2021-10-29 12:40:54 +01:00
gingerBill
c474e137ac
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-29 00:13:28 +01:00
gingerBill
7b8b2f042c
Add debug type information for matrix
2021-10-29 00:13:22 +01:00
Jeroen van Rijn
729e721b40
Merge pull request #1203 from thePHTest/stopwatch
...
Add a stopwatch to time.odin
2021-10-28 23:28:22 +02:00
Phil H
e4ce017183
better naming conventions for stopwatch procedures + fields
2021-10-28 14:08:21 -07:00
Phil
bbccf9ddbf
Add clock overloads for Duration and Stopwatch
2021-10-28 14:08:21 -07:00
Phil
a8425cfb47
Add a stopwatch to time.odin
2021-10-28 14:08:21 -07:00
gingerBill
ef29ffeb21
Correct llvm_vector_shuffle_reduction
2021-10-28 15:09:20 +01:00
gingerBill
3794d2417d
Write a log(n) fallback for llvm_vector_reduce_add
...
This may be what LLVM does at any rate
2021-10-28 15:01:13 +01:00
gingerBill
70793236ab
Support llvm_vector_reduce_add if the LLVM intrinsic is not supported
2021-10-28 00:57:10 +01:00
gingerBill
0a1ef1e59d
Improve comment
2021-10-28 00:50:03 +01:00
gingerBill
44a43eae10
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-28 00:49:14 +01:00
gingerBill
5b7f273165
Add matrix_type to demo.odin
2021-10-28 00:49:09 +01:00
gingerBill
fa07e45eda
Merge pull request #1249 from Yawning/feature/math-bits-improvements
...
core:math/bits: Improve add/sub/mul_u64
2021-10-28 00:19:57 +01:00
gingerBill
90d587df13
Support matrix type in core:odin
2021-10-27 23:49:37 +01:00
gingerBill
793a6479ef
Fix typo
2021-10-27 23:37:04 +01:00
gingerBill
47bef7a557
Update doc-format
2021-10-27 23:34:56 +01:00
gingerBill
208ba2c116
Comment clean up
2021-10-27 23:30:12 +01:00
gingerBill
42a8ac7096
Add support for matrix type in core:odin/doc-format
2021-10-27 23:26:39 +01:00
gingerBill
ccab715bbc
Add support for matrix type in doc format
2021-10-27 23:26:17 +01:00
Yawning Angel
ee724f183a
core:math/bits: Improve add/sub/mul_u64
...
* `add_u32`/`add_u64`/`add_uint` are now constant time
* `sub_u32`/`sub_u64`/`sub_uint` are now constant time
* `mul_u64` now uses `u128`
2021-10-27 12:37:35 +00:00
gingerBill
c4d2aae0ed
Merge pull request #1245 from odin-lang/new-matrix-type
...
`matrix` type
2021-10-26 21:08:08 +01:00
gingerBill
c722665c32
Merge pull request #1230 from jockus/master
...
Convert all vendor:OpenGL functions taking GLboolean to bool
2021-10-26 21:04:20 +01:00
gingerBill
8868bcf57a
Merge pull request #1234 from Skytrias/master
...
fix strip-semicolon using original file handle size
2021-10-26 21:04:02 +01:00
gingerBill
9e754cb0f1
Add slice.swap_between
2021-10-26 20:22:39 +01:00
gingerBill
802df73183
Remove unneeded call
2021-10-26 14:47:59 +01:00
gingerBill
9331ebebcc
Add #no_bounds_check to sorting procedures
2021-10-26 14:24:21 +01:00
gingerBill
c64674c39e
Remove unnecessary asserts
2021-10-26 13:38:48 +01:00
gingerBill
549a383cf0
Merge branch 'master' into new-matrix-type
2021-10-26 12:53:47 +01:00
gingerBill
ce8ddd0c3f
Add vendor:ENet to all_vendor.odin
2021-10-26 12:50:48 +01:00
gingerBill
98490454b6
Remove unneeded semicolons
2021-10-26 12:50:34 +01:00
gingerBill
bb334007cf
Merge pull request #1240 from graphitemaster/vendor-enet
...
vendor ENet
2021-10-26 12:49:14 +01:00
gingerBill
9522c42460
Change use of LLVMSizeOf to lb_sizeof
2021-10-26 12:17:39 +01:00
gingerBill
d165de0d4d
Move thread initialization variables in thread_unix.odin
2021-10-26 11:46:31 +01:00
gingerBill
5fb70c4c94
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-26 11:44:32 +01:00
gingerBill
72cc92dc5c
Add llvm_get_inline_asm for future compatibility
2021-10-26 11:44:25 +01:00
gingerBill
de0fbb0445
Merge pull request #1243 from ProkopRandacek/patch-1
...
glfw.WindowShouldClose should return a bool
2021-10-25 19:41:58 +01:00
gingerBill
12ebd422c6
Fix typos
2021-10-25 19:04:08 +01:00
gingerBill
7d715fe113
Add ODIN_LLVM_MINIMUM_VERSION_12
2021-10-25 16:05:22 +01:00
gingerBill
7ac156755b
Reorder code
2021-10-25 15:36:00 +01:00
gingerBill
973ca6824c
Rename hermitian_adjoint
2021-10-25 15:35:06 +01:00
gingerBill
9c7956be9e
Minor changes to where conditions
2021-10-25 15:16:34 +01:00
gingerBill
4475454632
Improve core_builtin_matrix.odin
2021-10-25 14:59:43 +01:00
gingerBill
f15825d2c6
Fix typo
2021-10-25 13:32:53 +01:00
gingerBill
a440d8d812
Improve use of vector muladd operations
2021-10-25 13:10:56 +01:00
gingerBill
aaaddd03a6
Improve internal procedures
2021-10-25 01:28:06 +01:00
gingerBill
d62c701a43
Improve matrix code generation for all supported platforms
...
Through assembly optimization
2021-10-25 01:03:16 +01:00
gingerBill
79ad6f4564
Remove assert
2021-10-25 01:02:38 +01:00
gingerBill
c60c7a7621
Add comments to Type_Info_Matrix
2021-10-25 00:47:12 +01:00
gingerBill
306bdf8869
Update alignment rules for matrix types as a compromise to keep zero padding
2021-10-25 00:46:50 +01:00
Dale Weiler
37d3a8a861
fixes for windows
2021-10-24 10:54:46 -04:00
gingerBill
7a29f6cff0
Merge branch 'master' into new-matrix-type
2021-10-24 12:36:34 +01:00
gingerBill
c9e6862332
Add id to thread.Thread
2021-10-24 12:30:25 +01:00
Prokop Randacek
b77e2f59ed
The better option
2021-10-24 13:07:13 +02:00
Prokop Randáček
cac8582de1
WindowShouldClose should return a bool
2021-10-24 12:52:54 +02:00
gingerBill
b4df51e483
Merge branch 'master' into new-matrix-type
2021-10-23 19:24:47 +01:00
gingerBill
06f4762144
Allow parsing for [^]T{} to improve error messages
2021-10-23 19:22:08 +01:00
Dale Weiler
357d085ffb
use multi pointer here, cstring was incorrect
2021-10-23 13:09:54 -04:00
gingerBill
2a50f9c8d4
Rename -ignore-lazy to -internal-ignore-lazy
2021-10-23 17:41:11 +01:00
gingerBill
d54b708ba8
Unify memory_equal and string_eq
2021-10-23 17:18:40 +01:00
gingerBill
fba20c9bd3
Improve runtime.string_eq
2021-10-23 17:10:30 +01:00
gingerBill
18ed444a63
Strip semicolons
2021-10-23 17:10:12 +01:00
gingerBill
2d6c43c260
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-23 16:52:50 +01:00
gingerBill
71932da7e3
Add intrinsics.unaligned_store intrinsics.unaligned_load
2021-10-23 16:52:43 +01:00
Dale Weiler
a074c367ff
actually got the license wrong, it's MIT
2021-10-23 08:25:02 -04:00
Dale Weiler
e6fb4ee265
typo
2021-10-23 08:13:03 -04:00
Dale Weiler
7c336a6a82
update vendor README.md
2021-10-23 08:12:46 -04:00
Dale Weiler
71ae424aa8
add LICENSE
2021-10-23 07:56:37 -04:00
Dale Weiler
88d6407092
oops, semicolon
2021-10-23 07:51:47 -04:00
Dale Weiler
e15f245339
vendor ENet
2021-10-23 07:40:40 -04:00
Jeroen van Rijn
eebf49ba72
Merge pull request #1238 from awwdev/master
...
rename sdl2 KeyCode to Keycode
2021-10-23 03:58:32 -07:00
awwdev
faa9df8735
changed KeyCode to Keycode
2021-10-23 12:46:09 +02:00
Jeroen van Rijn
8113182d5c
Merge pull request #1237 from awwdev/master
...
memleak fix on destroy_multi_logger()
2021-10-23 03:38:54 -07:00
André
3323c2730f
memleak fix on destroy_multi_logger()
...
data.loggers were never deleted
2021-10-23 12:24:53 +02:00
skytrias
6399f2b014
fix strip-semicolon using original file handle size
2021-10-23 00:12:32 +02:00
Mikkel Hjortshøj
7218a68e89
Update nightly.yml
...
Downgrading python version in nightly to use same version as local
2021-10-22 22:42:20 +02:00
Mikkel Hjortshøj
7375074d2d
Update nightly.yml
2021-10-22 22:34:42 +02:00
gingerBill
c9effb9b9f
Correct ternary if expression type determination
2021-10-22 14:37:27 +01:00
gingerBill
ef73a284e3
Fix check_remove_expr_info
2021-10-22 14:12:48 +01:00
gingerBill
28af376d10
Quick fix
2021-10-22 13:17:49 +01:00
gingerBill
48de1a01a9
Correct update propagation of type for ternary if expressions
2021-10-22 13:14:19 +01:00
gingerBill
209684d5a4
Merge branch 'master' into new-matrix-type
2021-10-21 11:48:00 +01:00
gingerBill
1405420935
Support TenraryIfAddr in lb_build_addr
2021-10-21 11:46:32 +01:00
gingerBill
48d277a3c4
Allow conversions between matrices of the same element count
2021-10-21 01:34:39 +01:00
gingerBill
e0b9475378
Allow casting between square matrices of the same element type
2021-10-21 01:14:44 +01:00
gingerBill
c561de33ee
Add intrinsics for the matrix type
2021-10-21 00:07:10 +01:00
gingerBill
d67d7168e2
Allow scalars with matrices
2021-10-21 00:04:22 +01:00
gingerBill
3b3e7550f6
Correct core_builtin_matrix.odin
2021-10-21 00:04:08 +01:00
gingerBill
9b7a25d4a9
Remove padding in stride of matrix types
2021-10-20 17:03:54 +01:00
gingerBill
bb0855b35a
Add builtin procedures for matrix values: determinant, adjugate, inverse, inverse_transpose, hermitian_adjoint
2021-10-20 17:00:59 +01:00
gingerBill
e6f725dc2c
Minor fix for parapoly matrix types
2021-10-20 17:00:14 +01:00
gingerBill
3e4c2e4932
Support conj on array and matrix types
2021-10-20 16:03:16 +01:00
jockus
2f4f6894bd
Convert all vendor:OpenGL functions taking GLboolean to bool, assert on bool type size matching sizeof(unsigned char) as per the C headers
2021-10-20 15:40:55 +01:00
gingerBill
30c141ceb9
Minor clean up for lb_matrix_trimmed_vector_mask
2021-10-20 15:36:24 +01:00
gingerBill
d3abc1a2b4
Add matrix_flatten - matrix[R, C]T -> [R*C]T
2021-10-20 15:33:23 +01:00
gingerBill
465c87bd5a
Make transpose use SIMD if possible
2021-10-20 15:22:02 +01:00
gingerBill
cdf881a378
Fix json.marshal for Matrix
2021-10-20 15:02:55 +01:00
gingerBill
e8c602b98f
Correct vulkan headers
2021-10-20 15:02:38 +01:00
gingerBill
d0d9a3a4f4
Make lb_emit_matrix_mul SIMD if possible
2021-10-20 14:49:20 +01:00
gingerBill
9e43072113
Make lb_emit_vector_mul_matrix use SIMD if possible
2021-10-20 13:11:33 +01:00
gingerBill
1bfbed0e02
Add llvm_vector_reduce_add
2021-10-20 12:48:48 +01:00
gingerBill
0fd525d778
Make lb_emit_matrix_mul_vector use SIMD if possible
2021-10-20 12:39:38 +01:00
gingerBill
07bf64ae52
Transform matrix to mat identifier for Vulkan
2021-10-20 11:42:06 +01:00
gingerBill
cee45c1b15
Add hadamard_product
2021-10-20 02:18:30 +01:00
gingerBill
68afbb37f4
Add builtin outer_product
2021-10-20 02:06:56 +01:00
gingerBill
7faca7066c
Add builtin transpose
2021-10-20 01:51:16 +01:00
gingerBill
3eaac057da
Unify polymorphic_assign_index logic
2021-10-20 01:26:55 +01:00
gingerBill
3f1930b76e
Clean up stride logic
2021-10-20 01:26:33 +01:00
gingerBill
afac1a2cc1
Unify matrix stride calculation
2021-10-20 01:17:10 +01:00
gingerBill
445696d660
Support parapoly matrices
2021-10-20 01:06:58 +01:00
gingerBill
f454ac3150
Fix %#v for matrices
2021-10-20 00:43:07 +01:00
gingerBill
82b6772ea4
Support matrix literals
2021-10-20 00:40:03 +01:00
gingerBill
662cbaf425
Support indexing matrices
2021-10-19 12:13:19 +01:00
gingerBill
1556fad65a
Change syntax for matrices to matrix[R, C]T
2021-10-19 11:31:11 +01:00
gingerBill
243e2e2b8a
Basic support for matrix*vector, vector*matrix operations
2021-10-19 11:24:26 +01:00
gingerBill
35111b39b8
Try to support the matrix multiplication LLVM intrinsics
2021-10-18 18:57:21 +01:00
gingerBill
ba331024af
Very basic matrix support in backend
2021-10-18 18:16:52 +01:00
gingerBill
4c655865e5
Begin work on matrix type
2021-10-18 16:52:19 +01:00
gingerBill
7aac8df2f2
Add runtime._cleanup_runtime internal call
2021-10-18 12:28:46 +01:00
gingerBill
e98e62ec13
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-16 23:39:23 +01:00
gingerBill
eb3c1506f0
Remove explicit link name from runtime.memset
2021-10-16 23:39:14 +01:00
gingerBill
5bd4536372
Merge pull request #1220 from zhibog/master
...
Add crypto library. Additional information is included in the README.md
2021-10-16 22:42:42 +01:00
zhibog
7fa05238b8
Added note due address thread safety
2021-10-16 19:37:23 +02:00
zhibog
dd7449b8b5
Fixed some typos in proc names
2021-10-16 19:20:43 +02:00
zhibog
b7a0627d09
Remove the read_entire_file from the crypto utils and now use the one within core:os
2021-10-16 18:46:18 +02:00
zhibog
c632125d82
Added a read_entire_file proc that only takes a handle and turned it into a proc group with the one, that takes a path
2021-10-16 18:45:25 +02:00
Jeroen van Rijn
a509e112ea
Merge pull request #1224 from helloguysmaster/patch-1
...
add GetModuleHandleA
2021-10-16 07:53:00 -07:00
Jonas Welle
7c26b0abdb
add GetModuleHandleA
2021-10-16 10:43:33 -04:00
zhibog
f48ee00c2f
Improved API. hash_file procs now just take a file handle instead of a path
2021-10-15 20:29:25 +02:00
zhibog
ced0ea515c
Added note for the botan.dll to README.md
2021-10-14 23:08:21 +02:00
zhibog
8876328e4d
Move botan.dll to correct directory
2021-10-14 23:03:55 +02:00
zhibog
f4ff11a7ff
Added botan.dll for tests
2021-10-14 22:58:20 +02:00
zhibog
77be7144c3
Add crypto library. Additional information is included in the README.md
2021-10-14 22:20:55 +02:00
gingerBill
3337d38651
Add comments to procedure groups
2021-10-13 23:39:17 +01:00
gingerBill
fc3b0dcc80
Update sync_util.odin
2021-10-13 23:36:42 +01:00
gingerBill
fc33cf6846
Set VertexAttribPointer related calls to use uintptr instead of rawptr for the byte offset parameter
2021-10-13 16:15:01 +01:00
gingerBill
2c469a39c7
Simplify TIME_SECTION code
2021-10-12 15:09:57 +01:00
gingerBill
d0001dc11d
Increase system_exec_command_line_app buffer from 4 KiB to 64 MiB, and unify some logic
2021-10-12 13:56:36 +01:00
gingerBill
68719779d7
Fix typo
2021-10-12 11:08:57 +01:00
gingerBill
2ad6aa7886
Copying file contents rather than memory mapping
2021-10-12 11:06:39 +01:00
gingerBill
75e3df6da2
Add utility procedure groups for sync primitives
2021-10-12 11:03:52 +01:00
gingerBill
753acc6971
Add wait_group_wait_with_timeout; Allow Sema to be implemented as a Wait_Group
2021-10-11 20:14:26 +01:00
gingerBill
0d258e8b55
Make many package time procedures use "contextless" calling convention
2021-10-11 20:08:38 +01:00
gingerBill
3a60bee804
Move assert to implementation file
2021-10-11 20:07:39 +01:00
gingerBill
b67e0002c1
Add testing.expect_value; Improve testing.set_fail_timeout
2021-10-11 20:05:13 +01:00
gingerBill
0070119392
Add thread.create_and_start_with_* procedures
2021-10-11 19:56:29 +01:00
gingerBill
310fd1936b
Clean up _futex_wait_with_timeout on Linux
2021-10-11 19:49:56 +01:00
gingerBill
077bf28d26
Separate Sema implementation from "header"; Allow for either Futex or Mutex+Cond implementations of Sema
2021-10-11 19:48:27 +01:00
gingerBill
d97c6a7657
Rename futex_wake and futex_wake_all to futex_signal and futex_broadcast
2021-10-11 16:40:23 +01:00
gingerBill
46b33854c9
Add sema_wait_with_timeout
2021-10-11 16:35:04 +01:00
gingerBill
5ee3686569
Fix typo
2021-10-11 16:34:50 +01:00
gingerBill
d23144fd27
Keep -vet happy
2021-10-11 15:30:23 +01:00
gingerBill
e64eb631df
Add testing.set_fail_timeout
2021-10-11 15:28:25 +01:00
gingerBill
129a62d4f1
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-11 15:23:44 +01:00
gingerBill
8c9299c139
Use WaitOnAddress instead of RtlWaitOnAddress
2021-10-11 15:23:39 +01:00
gingerBill
3e9b7120be
Merge pull request #1216 from Tetralux/fix-io-read
...
Fix typo in io.read_at_least()
2021-10-11 13:57:30 +01:00
Tetralux
675ba44e67
Fix typo in io.read_at_least()
2021-10-11 12:33:27 +00:00
gingerBill
240b6aab13
Change futex_wait_with_timeout to return a boolean rather than an enum
2021-10-11 13:23:11 +01:00
gingerBill
a1e8769cff
Add atomic_cond_wait_with_timeout
2021-10-11 13:02:17 +01:00
gingerBill
73cba2cf13
Add cond_wait_with_timeout
2021-10-11 12:55:25 +01:00
gingerBill
49c761dc6d
Fix typo
2021-10-09 19:11:26 +01:00
gingerBill
2a8d4c5bf5
Disallow or_return within defer
2021-10-09 19:11:10 +01:00
gingerBill
2b8807eb73
Keep -vet happy
2021-10-09 16:35:26 +01:00
gingerBill
2ef0e6b8f6
Update core:sync/sync2 to have a generic Futex interface, and implement the calls appropriately for each platform
2021-10-09 16:33:28 +01:00
gingerBill
d386563344
Correct issue with the generated map type internals; Simplify map rehash logic to utilize resize
2021-10-07 21:23:37 +01:00
gingerBill
9ecc2ab15b
Add more runtime.print_int procedures
2021-10-07 21:22:49 +01:00
gingerBill
cb9101e0a0
Simplify lb_gen_map_header
2021-10-07 14:12:47 +01:00
gingerBill
fd9adaf1de
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-07 13:41:26 +01:00
gingerBill
af7008aa44
Allow for array programming value constants
2021-10-07 13:41:14 +01:00
Jeroen van Rijn
d3a18fbe9a
Merge pull request #1210 from Kelimion/png_improvements
...
Lots of PNG improvements
2021-10-06 14:03:47 -07:00
Jeroen van Rijn
b4b53aeb71
png: Channel helper metadata.
2021-10-06 22:47:40 +02:00
Jeroen van Rijn
c4b4a841d6
png: Move metadata.
2021-10-06 22:43:33 +02:00
Jeroen van Rijn
263d63aa56
png: Add more OOM checks.
2021-10-06 22:09:32 +02:00
Jeroen van Rijn
8fcd1794a6
png: Add sane compile-time maximums for dimensions + chunk sizes.
2021-10-06 21:48:22 +02:00
Jeroen van Rijn
9b5ae95677
png + compress: Rearrange error unions.
2021-10-06 20:45:29 +02:00
Jeroen van Rijn
21c6d691d8
Add additional error checking to helpers.
2021-10-06 20:10:37 +02:00
Jeroen van Rijn
2e9eec156c
Revert "Merge pull request #1209 from Kelimion/append_error"
...
This reverts commit c9468adcfd , reversing
changes made to 879a4d49ae .
2021-10-06 19:09:28 +02:00
Jeroen van Rijn
c9468adcfd
Merge pull request #1209 from Kelimion/append_error
...
Make `append` builtins return an `Allocator_Error`.
2021-10-06 07:40:16 -07:00
Jeroen van Rijn
b345176bde
Make append builtins return an Allocator_Error.
2021-10-06 16:33:52 +02:00
Jeroen van Rijn
879a4d49ae
Merge pull request #1208 from englerj/win32-bindings
...
Additional win32 bindings.
2021-10-06 04:27:09 -07:00
Josh Engler
15594706c9
Additional win32 bindings.
2021-10-05 19:09:20 -04:00
gingerBill
58e3f779f2
Remove nonsense from static_arena_init
2021-10-05 17:12:24 +01:00
gingerBill
455d64fbd4
Add error value to commit
2021-10-05 17:11:12 +01:00
gingerBill
16ca677c1f
Correct mmap usage
2021-10-05 17:05:33 +01:00
gingerBill
1f1434b384
Add arena_util.odin
2021-10-05 16:42:42 +01:00
gingerBill
f83370235f
Add static_arena_bootstrap_new
2021-10-05 16:39:14 +01:00
gingerBill
4961aff51b
Minor cleanup
2021-10-05 16:37:15 +01:00
gingerBill
0ed3143006
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-05 16:28:25 +01:00
gingerBill
bc2b8b597c
Add virtual.Static_Arena
2021-10-05 16:28:14 +01:00
gingerBill
ccc4c641c4
Clean up Memory_Block logic
2021-10-05 16:25:30 +01:00
Jeroen van Rijn
0ca8a4ad3b
Merge pull request #1207 from Kelimion/fix_1206
...
Remove assert from `mem.ptr_to_bytes`. Fixes #1206
2021-10-05 05:20:24 -07:00
Jeroen van Rijn
1931e3147d
Remove assert from mem.ptr_to_bytes. Fixes #1206
2021-10-05 14:18:48 +02:00
gingerBill
9d9ec192f1
Rename to growing_arena.odin
2021-10-04 17:57:59 +01:00
gingerBill
586a000152
Add Protect_Flags for virtual.protect
2021-10-04 17:42:15 +01:00
gingerBill
728f143e33
Add virtual_linux.odin
2021-10-04 17:30:06 +01:00
gingerBill
f2e78dcc0b
Separate out the virtual memory allocation procedures
...
`reserve`, `commit`, `reserve_and_commit`, `decommit`, `release`, `protect`
2021-10-04 16:43:52 +01:00
gingerBill
a463609e4c
If an entity is inserted into a scope already exists by the same name, it will not report as an error any more
2021-10-04 12:41:33 +01:00
gingerBill
e05a305764
Minor clean up
2021-10-03 12:43:11 +01:00
gingerBill
a437c95fed
Remove mutex from Growing_Arena; Add Growing_Arena_Temp
2021-10-03 12:41:24 +01:00
gingerBill
8fe70978ff
Add @(init) usage to core:mem/virtual
2021-10-03 12:40:51 +01:00
gingerBill
647fee31f8
Correct offset_of_by_string
2021-10-03 12:34:01 +01:00
gingerBill
8af6b6fa18
Remove debug code
2021-10-03 12:32:51 +01:00
gingerBill
f48f06e7b7
Add offset_of_by_string
2021-10-03 12:32:04 +01:00
gingerBill
51b5a973e2
Allow constant string value for the field argument of offset_of
2021-10-03 12:24:54 +01:00
gingerBill
2bdae52fed
Add @(init) attribute for procedures, allowing for procedures to be called at startup
...
These procedures will be called after global variables have been initialized as normal
2021-10-03 11:53:32 +01:00
gingerBill
b3a66b3950
Change c.int to PixelFormat where appropriate
2021-10-02 23:58:40 +01:00
gingerBill
a971fb6e94
Make TextFormat use static internal buffers; Add TextFormatAlloc
2021-10-02 22:43:55 +01:00
gingerBill
036fa5cb24
Correct ABI for windows with LLVM
2021-10-02 18:12:34 +01:00
gingerBill
81fe50d623
Add sizes to assert message
2021-10-02 17:48:09 +01:00
gingerBill
b9b9bd8612
Add message to assert; add sanity check for possible future behaviour
2021-10-02 17:44:24 +01:00
gingerBill
171a5d6476
Clean up struct_fields_index_by_increasing_offset
2021-10-02 17:43:48 +01:00
gingerBill
00671a59a0
Minor code cleanup for backend; add struct_fields_index_by_increasing_offset for future use
2021-10-02 17:22:56 +01:00
gingerBill
ebca0398a7
Remove need for alignment lb_struct_has_padding_prefix
2021-10-02 16:06:42 +01:00
gingerBill
58a405cc9f
Fix typos; Add MemAllocator which wraps the raylib allocation procedures into an Odin Allocator; Reimplement TextFormat using fmt.*printf
2021-10-02 15:46:55 +01:00
gingerBill
444fedd8d4
Heavily improve the LLVM struct type generation to improve ABI
2021-10-02 15:45:46 +01:00
gingerBill
f7137bf367
Improvements to vendor:microui
2021-10-02 14:06:34 +01:00
gingerBill
92a0ce991e
Update examples/all
2021-10-02 14:06:11 +01:00
gingerBill
1e7c60e171
Minor style change
2021-10-02 14:05:26 +01:00
gingerBill
2d2e3ed6a1
Remove dead code
2021-10-02 14:04:52 +01:00
gingerBill
21a06df5e1
Add alias for MJSON as Bitsquid
2021-10-02 14:04:41 +01:00
gingerBill
c04efe8762
Merge pull request #1204 from Airbus5717/master
...
fix Specification link in readme
2021-10-02 11:28:15 +01:00
Airbus5717
41071ee351
fix Specification link in readme
2021-10-02 13:26:33 +03:00
gingerBill
594049027b
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-10-02 01:13:35 +01:00
gingerBill
b1ea291942
Fix typos
2021-10-02 01:13:28 +01:00
Jeroen van Rijn
254c504465
Merge pull request #1199 from Skytrias/master
...
small package fixes
2021-10-01 12:15:33 -07:00
gingerBill
d32d1b7e07
Add reflect.set_union_value
2021-09-30 12:04:27 +01:00
gingerBill
cf94fd7b82
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-30 11:46:02 +01:00
gingerBill
6ca793f0e9
Remove deprecation from the build specific procedures
2021-09-30 11:45:56 +01:00
skytrias
9ceb6b79fd
small package fixes
2021-09-29 21:47:36 +02:00
gingerBill
bd1e1c66f3
Merge pull request #1188 from krux02/minor-fix-3
...
fix #1187
2021-09-29 19:22:56 +01:00
gingerBill
08ac2fd1b6
Rename virtual.Arena to virtual.Growing_Arena
2021-09-29 16:50:36 +01:00
gingerBill
b2a36f204e
Add a mutex to arena_free_all
2021-09-29 16:46:14 +01:00
gingerBill
efdd5cf499
Add a mutex to virtual.Arena
2021-09-29 16:43:58 +01:00
gingerBill
805e48ae1e
Add core:mem/virtual
2021-09-29 16:39:20 +01:00
gingerBill
c6ff88e85a
Add io.write_f16 io.write_f32 io.write_f64
2021-09-29 16:39:02 +01:00
gingerBill
f99bea12c7
Allow uintptr <-> [^]T
2021-09-29 16:36:05 +01:00
gingerBill
19ac822e4a
Improve reflect.Type_Info_Complex support
2021-09-29 15:08:45 +01:00
gingerBill
9d797ea225
Add more support for complex types
2021-09-29 15:02:51 +01:00
gingerBill
aac290e366
Clean up json.marshal_to_writer
2021-09-29 14:50:53 +01:00
gingerBill
1d6e398f20
Add io.Error to fmt.fprintf_typeid
2021-09-29 14:49:58 +01:00
gingerBill
9fae575531
Keep -vet happy
2021-09-29 14:49:25 +01:00
gingerBill
e928793e79
Correct _builder_stream_vtable
2021-09-29 14:49:06 +01:00
gingerBill
e99061500d
Minor clean up of n_read/n_written handling
2021-09-29 14:28:09 +01:00
gingerBill
8e2a0be804
Add an extra optional ^int parameter to most io read/write calls allowing for simplified or_return use with incrementing byte usage
2021-09-29 13:59:47 +01:00
gingerBill
94a27224b2
Deprecate strings.write_quoted_* in favour of io.write_quoted_*; make reflect.write_type a little more robust with io.Error handling
2021-09-29 13:42:58 +01:00
gingerBill
4acb4c4ee2
Split examples/all into different files
2021-09-29 13:41:29 +01:00
gingerBill
b2164b5da6
Make the io/conv.odin utilities be #optional_ok
2021-09-29 13:24:42 +01:00
gingerBill
057310472e
Add io.write_i128 and io.writer_u128
2021-09-29 13:21:49 +01:00
gingerBill
c22f2866c7
Remove fmt dependency
2021-09-29 13:18:06 +01:00
gingerBill
07ba3e6304
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-29 13:06:13 +01:00
gingerBill
9bc12e3f38
Improve json.marshal error handling for io.Writer; Add docs for the different JSON specifications
2021-09-29 13:06:03 +01:00
gingerBill
b3f2263442
Add io.write_quoted_* utility procedures to package io
2021-09-29 13:04:59 +01:00
Jeroen van Rijn
6884841ece
Merge pull request #1197 from Kelimion/help
...
Fix -collection help typo.
2021-09-28 11:04:44 -07:00
Jeroen van Rijn
6f04c61bdf
Fix -collection help typo.
2021-09-28 19:59:44 +02:00
gingerBill
d452758afc
Improve MJSON handling
2021-09-28 15:01:11 +01:00
gingerBill
c933054872
Support json.Specification.MJSON
...
https://bitsquid.blogspot.com/2009/10/simplified-json-notation.html
2021-09-28 14:53:16 +01:00
gingerBill
6f872e04c8
Move redundant auto_cast error from -vet to -vet-extra
2021-09-28 12:24:51 +01:00
gingerBill
ea0bf05727
Make it clear that integers are parsed separately from floats
2021-09-28 12:18:11 +01:00
gingerBill
bcb07b6b9e
Correct runtime.floattidf and other related i128<->f64 internal procedures
2021-09-28 12:17:36 +01:00
gingerBill
edbf2bf56f
Correct append_soa for #soa[dynamic][N]T
2021-09-26 13:42:53 +01:00
gingerBill
93f97defb9
Remove @private from some procedures
2021-09-26 00:08:42 +01:00
gingerBill
22827da4a2
Minor changes to microui.odin
2021-09-25 23:59:28 +01:00
gingerBill
aa382959a7
Make empty arrays work on a single line with %#v
2021-09-25 21:12:10 +01:00
gingerBill
6fab93c4b3
Fix [^]u8 to cstring conversion
2021-09-25 21:11:54 +01:00
gingerBill
5e30b3eeef
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-25 18:05:42 +01:00
gingerBill
14a3ddb9af
Allow for union{T} like types in json.unmarshal
2021-09-25 18:05:35 +01:00
Jeroen van Rijn
f7bf55af4a
Merge pull request #1194 from Kelimion/define
...
Allow `-define:name=string`.
2021-09-25 09:56:51 -07:00
gingerBill
6a271355a6
Add json.unmarshal
2021-09-25 17:47:45 +01:00
gingerBill
931fdd2dca
Add reflect.any_base reflect.any_core
2021-09-25 17:47:23 +01:00
gingerBill
e6d8fbf194
Add runtime.__get_map_header_runtime
2021-09-25 17:30:18 +01:00
gingerBill
6fa3c992b5
mem.Raw_* alias runtime.Raw_*
2021-09-25 17:29:51 +01:00
Jeroen van Rijn
2c055b0972
Allow -define:name=string.
...
Slightly rewrote `build_param_to_exact_value` parsing logic.
First, try to parse as a bool, then as an integer or float.
If both fail, treat the value as a string.
To force a string define for e.g. `true`, use `-define:name='true'`.
2021-09-25 18:11:30 +02:00
gingerBill
868c923770
Make map internals more robust when using mem.nil_allocator()
2021-09-25 15:55:27 +01:00
gingerBill
fa0d58f96e
Correct f64 -> u128/i128 generation
2021-09-25 15:38:56 +01:00
gingerBill
ebc09d5e4e
Add i128 and u128 parsers to strconv
2021-09-25 14:30:50 +01:00
gingerBill
bfc92d0aaf
Make runtime.memset use int for the length from uint
2021-09-23 23:43:29 +01:00
gingerBill
8c4197af38
Add #load_or(path_string, default_byte_slice)
2021-09-23 23:32:46 +01:00
gingerBill
374f98356c
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-23 23:25:26 +01:00
gingerBill
20529c6512
Minor simplification to #assert and #panic parsing
2021-09-23 23:25:13 +01:00
gingerBill
ea555c0ccd
Simplify directive parsing for expressions
2021-09-23 23:22:16 +01:00
gingerBill
0d20190b0f
Merge pull request #1193 from thePHTest/master
...
Correct levenshtein distance
2021-09-23 17:55:16 +01:00
Phil H
3ac13d2028
Correct levenshtein distance
2021-09-23 09:22:28 -07:00
Jeroen van Rijn
868d9ba534
Merge pull request #1191 from Kelimion/vulkan-fix
...
vendor:vulkan: Remove unused core:c import.
2021-09-23 05:29:53 -07:00
Jeroen van Rijn
c0437330e9
vendor:vulkan: Remove unused core:c import.
2021-09-23 14:21:12 +02:00
gingerBill
6a86b3c82b
Cleanup hash implementation
2021-09-23 12:41:48 +01:00
gingerBill
a7f59ab388
Add asserts to begin_window and begin_panel
2021-09-23 12:40:40 +01:00
gingerBill
5586c6b9c5
Update microui/README.md
2021-09-23 12:20:44 +01:00
gingerBill
964a09ef7a
Add vendor:microui
...
This is a direct port in Odin, not bindings; utilizing Odin's rich type system
2021-09-23 12:20:01 +01:00
gingerBill
360f75a65c
Keep -vet happy
2021-09-23 12:19:08 +01:00
Jeroen van Rijn
0201fa3fbb
Merge pull request #1189 from strager/patch-1
...
Fix indentation typo
2021-09-22 01:46:38 -07:00
strager
31daf80aea
Fix indentation typo
2021-09-21 23:02:15 -07:00
Arne Döring
48f496f3b3
fix #1187
2021-09-22 03:03:01 +02:00
Jeroen van Rijn
76fa037ca7
Merge pull request #1186 from Kelimion/crc64
...
Add CRC-64 variants: ISO 3306, ECMA 182, XZ
2021-09-21 07:36:03 -07:00
Jeroen van Rijn
6e22a6dfa5
hash: Smaller CRC-64 ISO 3306 table.
2021-09-21 16:28:35 +02:00
Jeroen van Rijn
181eabcffc
hash: Add CRC-64 (ISO 3306) and inverse.
2021-09-21 16:17:01 +02:00
Jeroen van Rijn
b600ffba3b
Correct CRC-64 (ECMA 182) & add CRC-64 (XZ) and tests.
2021-09-21 15:17:23 +02:00
Jeroen van Rijn
b3dc3f5908
Merge pull request #1182 from DanielGavin/parser-fix
...
Make optional semicolons the default on odin/parser, and add parser test on demo.odin
2021-09-20 12:10:19 -07:00
Daniel Gavin
0a11a6e1f6
Merge remote-tracking branch 'upstream/master' into parser-fix
2021-09-20 20:56:07 +02:00
Daniel Gavin
46d99395ce
typo in filename
2021-09-20 20:53:39 +02:00
Daniel Gavin
50ee65ea9e
Make default_parser use the optional_semicolons and add odin parser test.
2021-09-20 20:50:01 +02:00
Jeroen van Rijn
5840bfba62
Merge pull request #1181 from DanielGavin/parser-fix
...
Fix parser errors
2021-09-20 11:23:42 -07:00
Daniel Gavin
a2a7647c90
Fix '>>' operand being tokenized correctly and switch statement with bare semicolon.
2021-09-20 20:12:13 +02:00
Jeroen van Rijn
70dff11b29
Merge pull request #1178 from Kelimion/new_clone
...
fix mem.new_clone
2021-09-19 13:19:42 -07:00
Jeroen van Rijn
eb9665f836
fix mem.new_clone
2021-09-19 22:19:06 +02:00
Jeroen van Rijn
bf15e63130
Revert "Merge pull request #1177 from Kelimion/new_clone"
...
This reverts commit efa513262e , reversing
changes made to daccfca11d .
2021-09-19 22:16:02 +02:00
Jeroen van Rijn
efa513262e
Merge pull request #1177 from Kelimion/new_clone
...
New clone
2021-09-19 13:13:44 -07:00
Jeroen van Rijn
64ce55944a
fix mem.new_clone
2021-09-19 22:10:19 +02:00
gingerBill
daccfca11d
Merge pull request #1166 from krux02/minor-fix-2
...
fix compiler crash in ast_end_token
2021-09-19 12:03:11 +01:00
gingerBill
ee876ad66b
Strip semicolons
2021-09-19 11:59:44 +01:00
gingerBill
ceebd7b23c
Correct context.allocator usage
2021-09-19 11:59:31 +01:00
Jeroen van Rijn
e760535dba
lz4: Start of implementation.
2021-09-19 12:51:07 +02:00
Jeroen van Rijn
2b77f5b72f
Merge pull request #1175 from Kelimion/defer_delete
...
Make sure to `delete` on the right allocator.
2021-09-19 03:19:33 -07:00
Jeroen van Rijn
72fe1e88a3
Make sure to delete on the right allocator.
2021-09-19 12:19:01 +02:00
gingerBill
505113ee2d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-18 15:11:15 +01:00
gingerBill
71f2289c20
Fix #1174
2021-09-18 15:10:29 +01:00
gingerBill
21b6ef8757
Merge pull request #1156 from odin-lang/llvm-12.0.1-windows
...
Update Windows to LLVM 12.0.1
2021-09-18 13:03:29 +01:00
gingerBill
b427bd8105
Correct XXH_DISABLE_PREFETCH usage
2021-09-18 12:59:54 +01:00
gingerBill
6855538729
Merge branch 'master' into llvm-12.0.1-windows
2021-09-18 12:55:13 +01:00
gingerBill
05ac2002e0
Force file copy on odin strip-semicolon
2021-09-18 12:52:43 +01:00
gingerBill
73427d3ab3
Merge pull request #1173 from odin-lang/vendor-miniaudio
...
`vendor:miniaudio`
2021-09-18 11:58:46 +01:00
gingerBill
3713f11461
Refactor init_tokenizer_with_data to file memory mapping (Windows only currently)
2021-09-18 11:58:27 +01:00
gingerBill
08ae186d8e
Correct foreign import paths
2021-09-17 14:42:39 +01:00
gingerBill
54b7ed5b52
Update foreign imports for linux
2021-09-17 14:11:43 +01:00
gingerBill
64f5ba6ba1
Add the remaining of the miniaudio API
2021-09-17 14:09:45 +01:00
gingerBill
f38b7ebf42
Begin adding vendor:miniaudio
2021-09-17 12:57:52 +01:00
gingerBill
4cb7f05644
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-16 23:03:25 +01:00
gingerBill
91d089ffe2
Minor clean up to strings.odin
2021-09-16 23:03:16 +01:00
Jeroen van Rijn
d2aa6af882
Merge pull request #1171 from Kelimion/vs2022
...
VS: Fix compilation using VS 2022.
2021-09-16 04:28:24 -07:00
Jeroen van Rijn
0d12432d3f
VS: Fix compilation using VS 2022.
2021-09-16 13:24:20 +02:00
Jeroen van Rijn
6d7df6f335
Merge pull request #1170 from Kelimion/xxhash
...
xxhash: Add tests for streaming input.
2021-09-15 14:33:20 -07:00
Jeroen van Rijn
b6d0a8fe0c
xxhash: Add tests for streaming input.
2021-09-15 23:32:48 +02:00
Jeroen van Rijn
662d27b796
Finish xxHash implementation.
2021-09-15 20:06:07 +02:00
gingerBill
de00c7c9a8
Add bits.log2
2021-09-15 15:18:20 +01:00
gingerBill
736a763859
Add stb libs for Windows directly
2021-09-15 14:30:11 +01:00
gingerBill
4eda1b0598
Update appropriate parameters to the corresponding boolean types
2021-09-15 14:21:31 +01:00
gingerBill
2e21312059
Remove -march=native from stb/src/Makefile
2021-09-15 14:09:12 +01:00
gingerBill
22218fff67
Update vendor/README.md
2021-09-14 22:59:35 +01:00
gingerBill
e7ea09a93b
Add vendor:stb/vorbis
2021-09-14 22:35:22 +01:00
gingerBill
6f182ae5ae
Add vendor:stb/easy_font -- source port of stb_easy_font.h
2021-09-14 22:12:23 +01:00
gingerBill
43ebee4e91
Revert build.bat
2021-09-14 21:44:41 +01:00
gingerBill
cb2437959c
Add stb_image_resize to vendor:stb/image
2021-09-14 21:44:26 +01:00
gingerBill
61efbf8684
Merge pull request #1168 from odin-lang/vendor-stb
...
`vendor:stb` - Add stb libraries (image+image_write, rect_pack, truetype)
2021-09-14 18:31:33 +01:00
gingerBill
da14292369
Minor corrections to stb_truetype.odin
2021-09-14 18:22:04 +01:00
gingerBill
b0d5dde3d7
Add build_vendor.bat
2021-09-14 18:12:14 +01:00
gingerBill
7189625cf5
Add stb libraries (image+image_write, rect_pack, truetype)
2021-09-14 17:54:50 +01:00
Jeroen van Rijn
1012055ba9
Merge pull request #1167 from Skytrias/patch-1
...
raylib linux - add system dependencies
2021-09-14 18:23:56 +02:00
Michael Kutowski
54e16bed0a
add linux system dependencies for raylib
2021-09-14 18:17:08 +02:00
Arne Döring
9772e3a40b
spaces to tabs
2021-09-14 12:14:41 +02:00
Arne Döring
442c25bf82
fix crash for ast_end_token
2021-09-14 11:44:10 +02:00
Jeroen van Rijn
c2707618d9
Merge pull request #1165 from Kelimion/xxhash
...
Add XXH3-64 + tests.
2021-09-13 21:06:08 +02:00
Jeroen van Rijn
a641ef95c0
Add XXH3-64 + tests.
2021-09-13 20:58:26 +02:00
gingerBill
4e4ac460e5
Merge pull request #1164 from odin-lang/llvm-explicit-padding
...
LLVM Struct Types with Explicit Padding
2021-09-13 18:23:58 +01:00
gingerBill
526a42c6ca
Remove custom alignment limit
2021-09-13 16:44:01 +01:00
gingerBill
8de728e3dc
LLVM Code Generator: Add explicitly padding between fields in LLVM struct types
2021-09-13 16:40:24 +01:00
Jeroen van Rijn
e9b9d15de7
Merge pull request #1163 from Kelimion/bluetooth
...
sys: Add Windows Bluetooth APIs.
2021-09-13 14:37:02 +02:00
Jeroen van Rijn
a9f4c90c79
sys: Add Windows Bluetooth APIs.
2021-09-13 14:31:52 +02:00
Jeroen van Rijn
6ca58dd64e
Merge pull request #1162 from rasa-silva/fix_osx_readdir
...
Fix read_dir on OSX
2021-09-13 13:51:24 +02:00
Ricardo Silva
01aa0c4151
Fix read_dir on OSX
2021-09-13 12:34:36 +01:00
gingerBill
be68bf9f26
Only store field_index remove field_src_index (for the time being)
2021-09-13 11:29:46 +01:00
gingerBill
15c309b0b8
Make permanent_allocator() thread local
2021-09-13 01:39:41 +01:00
gingerBill
042dbda47f
Replace many uses of heap_allocator() with permanent_allocator()
2021-09-13 01:30:30 +01:00
gingerBill
2d7aea79b9
Make TypeStructl.tags a pointer from a slice (reduce memory usage)
2021-09-13 01:23:37 +01:00
gingerBill
31ed4f15a8
Remove debug code
2021-09-13 01:14:31 +01:00
gingerBill
71bffd46dc
Reduce size of Type
2021-09-13 01:14:17 +01:00
gingerBill
f5bc95eb34
More culling
2021-09-13 01:07:24 +01:00
gingerBill
fb8fa5217d
Begin minimize Type size by replacing Array with Slice etc
2021-09-13 00:58:39 +01:00
gingerBill
6585601765
Sort enums
2021-09-12 18:51:22 +01:00
gingerBill
2a1193ee54
Add heuristics to make pointers [^] where appropriate for vulkan
2021-09-12 18:50:02 +01:00
gingerBill
519308a16a
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-12 16:47:24 +01:00
gingerBill
3195fac92b
Fix slice indices endianness
2021-09-12 16:47:17 +01:00
gingerBill
15921d032c
Correct endianness on slicing
2021-09-12 16:45:57 +01:00
Jeroen van Rijn
813d3dc319
Merge pull request #1159 from Kelimion/xxhash
...
xxhash: Add custom secret tests.
2021-09-12 12:18:10 +02:00
Jeroen van Rijn
ada3be05fb
xxhash: typo.
2021-09-12 12:14:49 +02:00
Jeroen van Rijn
36a2cf0369
xxhash: Add custom secret tests.
2021-09-12 12:11:39 +02:00
Jeroen van Rijn
827363708c
Merge pull request #1158 from Kelimion/xxhash
...
xxhash: Extra (generated) tests.
2021-09-11 23:48:47 +02:00
Jeroen van Rijn
00c1d34108
xxhash: Extra (generated) tests.
2021-09-11 23:45:08 +02:00
Jeroen van Rijn
87f1815486
Merge pull request #1157 from Kelimion/math_big_llvm12
...
LLVM 12 big math test workaround.
2021-09-11 20:43:43 +02:00
Jeroen van Rijn
f978e74773
LLVM 12 big math test workaround.
2021-09-11 20:36:09 +02:00
gingerBill
9e018b642e
Fix typo
2021-09-11 17:32:06 +01:00
gingerBill
7260d3cecb
Add intrinsics.prefetch_* procedures
2021-09-11 17:30:44 +01:00
gingerBill
c51c002ffa
Update Windows to LLVM 12.0.1
2021-09-11 17:06:29 +01:00
gingerBill
a5b4b73544
Add error message for minimum required LLVM
2021-09-11 16:53:39 +01:00
gingerBill
e3359a2639
Prepare for LLVM 12.0.1 compatibility
2021-09-11 16:53:18 +01:00
gingerBill
344abf2cb2
Make core and vendor adhere to -vet, -strict-style, and -disallow-do
2021-09-11 16:40:19 +01:00
gingerBill
93593f4721
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-11 16:33:12 +01:00
gingerBill
ab85571ae6
Minor improvements to mem.odin
2021-09-11 16:33:05 +01:00
Jeroen van Rijn
6769a00929
Merge pull request #1154 from Kelimion/xxhash
...
xxhash: Add XXH3_128 + test vectors.
2021-09-11 15:52:15 +02:00
Jeroen van Rijn
5f920414d7
xxhash: Disable prefetch on Linux.
2021-09-11 15:45:17 +02:00
Jeroen van Rijn
72782d9035
xxhash: Fix test on Linux.
2021-09-11 15:39:11 +02:00
Jeroen van Rijn
eaefbc43cb
xxhash: Add XXH3_128 + test vectors.
2021-09-11 15:28:49 +02:00
gingerBill
1f1d8ef884
Use [^] where appropriate
2021-09-10 23:53:16 +01:00
gingerBill
6899c7b7dd
Using vendor:vulkan types in vendor:sdl2 where appropriate
2021-09-10 23:45:39 +01:00
gingerBill
b712c84afb
Fix typo
2021-09-10 16:37:43 +01:00
gingerBill
9980f81062
Add other constants to c and libc
2021-09-10 16:14:39 +01:00
gingerBill
297cdde144
Change defaults of c.int_fast16_t on other platforms
2021-09-10 16:08:39 +01:00
gingerBill
461ca40848
Add procs.odin
2021-09-10 16:01:17 +01:00
gingerBill
12af657369
Unify memset usage across platforms and core:c/libc
2021-09-10 15:59:14 +01:00
gingerBill
c519ab9401
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-10 15:42:00 +01:00
gingerBill
99df0f1b12
libc changes: unify c and libc types; Add [^]T where appropriate
2021-09-10 15:41:51 +01:00
Jeroen van Rijn
6daa8c8c59
Merge pull request #1153 from rasa-silva/fix_osx_stat_calls
...
Use lstat64/fstat64 instead for OSX
2021-09-10 15:24:01 +02:00
Ricardo Silva
87408aedb5
replace lstat/fstat with lstat64/fstat64 since they return the correct values
2021-09-10 14:18:08 +01:00
Jeroen van Rijn
809b3a87af
Merge pull request #1150 from rasa-silva/fix_osx_absolute_path_from_handle
...
Fix `absolute_path_from_handle` on OSX
2021-09-09 18:19:36 +02:00
Ricardo Silva
43c578d8b7
Fix absolute_path_from_handle on OSX
2021-09-09 17:12:26 +01:00
Jeroen van Rijn
31a5b2bbbd
Merge pull request #1151 from Kelimion/xxhash
...
Fix typos
2021-09-09 16:59:23 +02:00
Jeroen van Rijn
e5652da6da
Fix typo.
2021-09-09 16:57:58 +02:00
Jeroen van Rijn
05e303e9a0
Make QPC thread local again.
2021-09-09 16:16:06 +02:00
Jeroen van Rijn
fc66ce9dd6
Merge pull request #1149 from Kelimion/xxhash
...
Add `xxhash` 32-bit and 64-bit digest versions.
2021-09-09 16:12:29 +02:00
Jeroen van Rijn
f04614b1f1
Make -vet happy.
2021-09-09 16:05:59 +02:00
Jeroen van Rijn
637685316d
Add xxhash tests to CI.
2021-09-09 16:01:44 +02:00
Jeroen van Rijn
f16e98b074
Add xxhash benchmark.
2021-09-09 15:26:57 +02:00
Jeroen van Rijn
f5d5417af7
xxhash: Initial implementations.
2021-09-09 15:26:57 +02:00
gingerBill
e65e0b5db2
Add -strict-style-init-only
2021-09-09 11:06:19 +01:00
gingerBill
56bd1e2d70
Simplify strings.write_byte and strings.write_bytes
2021-09-09 00:38:16 +01:00
gingerBill
a70ecdba6e
Merge pull request #1145 from oskarnp/fix-raylib-configflag
...
Fix ConfigFlag.INTERLACED_HINT for raylib.odin
2021-09-08 21:51:41 +01:00
Oskar Nordquist
187e6d3ab7
Fix ConfigFlag.INTERLACED_HINT for raylib.odin
2021-09-08 22:33:18 +02:00
gingerBill
2786c30736
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-08 21:10:34 +01:00
gingerBill
18ca975d33
Update raylib.lib
2021-09-08 21:10:29 +01:00
Jeroen van Rijn
eb76b00a5e
Merge pull request #1144 from Kelimion/test_runner
...
Custom test runner.
2021-09-08 21:21:57 +02:00
Jeroen van Rijn
66ead6cf09
Also use custom test runner on Linux.
2021-09-08 21:21:36 +02:00
Jeroen van Rijn
e6905f8657
Custom test runner.
2021-09-08 21:17:16 +02:00
gingerBill
027d69678a
Add vendor/raylib/rlgl.odin
2021-09-08 19:40:18 +01:00
gingerBill
0262539f68
Add vendor/raylib/easings.odin
2021-09-08 19:11:35 +01:00
gingerBill
bff66ff600
Remove unnecessary operations
2021-09-08 19:07:25 +01:00
gingerBill
d36329b8ec
Add binaries for raylib on "linux" and "darwin"
2021-09-08 18:15:20 +01:00
gingerBill
7e859c3e75
Update vendor/README.md
2021-09-08 18:10:10 +01:00
gingerBill
5bcb47989d
Allow vendor:raylib to use core:math/linalg types with -define:RAYLIB_USE_LINALG=true
2021-09-08 18:08:38 +01:00
gingerBill
e5fbf45c42
Add vendor:raylib (core only)
2021-09-08 18:04:05 +01:00
gingerBill
123db3a23d
Fix typo
2021-09-08 14:55:07 +01:00
gingerBill
d29a0c6680
Add a minimum alignment on *nix for the compiler in heap_allocator_proc
2021-09-08 14:53:42 +01:00
gingerBill
ff40e47042
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-08 14:45:59 +01:00
gingerBill
76419383a8
Add some minor sanity checks to the compiler's heap_allocator_proc on Darwin
2021-09-08 14:45:53 +01:00
Jeroen van Rijn
dc14b66c98
Merge pull request #1141 from Kelimion/test_timeout
...
Try to address test timeouts.
2021-09-08 14:34:53 +02:00
Jeroen van Rijn
e831e919a6
Try to address test timeouts.
2021-09-08 14:30:11 +02:00
gingerBill
3aa2924a06
Remove trailing ; in vulkan wrapper
2021-09-08 13:28:41 +01:00
gingerBill
36151d227a
Update vulkan generator tool
2021-09-08 13:22:29 +01:00
gingerBill
e0ee59084e
Add calling convention "system" which is an alias for "stdcall" on Windows and "cdecl" on other platforms
2021-09-08 13:22:03 +01:00
gingerBill
8ff898079f
Minor correct for freebsd
2021-09-08 13:14:23 +01:00
gingerBill
5006674a9b
Correct math/big
2021-09-08 13:14:13 +01:00
gingerBill
ca33cb990b
Strip semicolons in core which were missing
2021-09-08 13:12:38 +01:00
gingerBill
d4f5ef046d
Remove goto in favour of multiple exits
2021-09-08 11:58:01 +01:00
gingerBill
30554f4758
Correct PointInRect
2021-09-08 11:49:30 +01:00
gingerBill
83bd7c73c4
Fix #1120 code generation
2021-09-08 11:49:07 +01:00
gingerBill
3754af62d6
Correct "contextless" stuff in mem
2021-09-08 11:43:00 +01:00
gingerBill
12296cec2c
Fix typo
2021-09-08 11:38:22 +01:00
gingerBill
a9f4273514
Make many mem procedures "contextless"
2021-09-08 11:18:05 +01:00
gingerBill
72508dbce3
Fix code gen bug for slicing multi pointers
2021-09-08 11:14:26 +01:00
gingerBill
3e459ba16b
Correct SDL.OpenURL
2021-09-08 11:09:24 +01:00
Jeroen van Rijn
98d25cdf4d
Merge pull request #1140 from Kelimion/compress_tests
...
Move `math/big` tests and integrate `strings` test into CI.
2021-09-07 20:27:36 +02:00
Jeroen van Rijn
ce2f926ff7
Separate math/big test.
2021-09-07 20:24:02 +02:00
Jeroen van Rijn
c0c7b4cbda
Rename CI tests.
2021-09-07 20:13:03 +02:00
Jeroen van Rijn
fcb23abce4
Tests: Integrate strings into CI.
2021-09-07 19:57:08 +02:00
Jeroen van Rijn
f7601a759b
Move math/big tests under tests/.
2021-09-07 19:51:56 +02:00
Jeroen van Rijn
49011f5198
Merge pull request #1139 from rasa-silva/index_any_fix
...
Fix strings.index_any on small strings
2021-09-07 19:49:14 +02:00
Ricardo Silva
f6d496c81d
Fix strings.index_any on small strings
2021-09-07 18:38:10 +01:00
Jeroen van Rijn
1dffd4ea3d
Merge pull request #1138 from Kelimion/compress_tests
...
Add Makefile for tests.
2021-09-07 19:16:53 +02:00
Jeroen van Rijn
78e923b6b0
Add Makefile for tests.
2021-09-07 19:11:06 +02:00
Jeroen van Rijn
1012f20d3b
Merge pull request #1136 from Kelimion/compress_tests
...
Beginning of CI tests for PNG, GZIP and ZLIB
2021-09-07 18:37:55 +02:00
Jeroen van Rijn
1ab6a765da
Set relative path for Odin.
2021-09-07 18:30:54 +02:00
Jeroen van Rijn
6954076f15
CI tests for PNG, GZIP + ZLIB.
2021-09-07 18:25:49 +02:00
Jeroen van Rijn
56de14fd46
image: Fix download script.
2021-09-07 17:59:17 +02:00
Jeroen van Rijn
74a883de04
Add PNG test suite asset download to CI.
2021-09-07 17:53:48 +02:00
Jeroen van Rijn
c0b07c71f0
png: Add test suite asset download script.
2021-09-07 17:50:47 +02:00
Jeroen van Rijn
de91433cb6
Merge pull request #1135 from Kelimion/strip-semicolons
...
Strip ;
2021-09-07 15:49:20 +02:00
Jeroen van Rijn
ed0c3eb0a8
Strip ;
2021-09-07 15:47:22 +02:00
Jeroen van Rijn
1d57a91395
Merge pull request #1134 from rasa-silva/master
...
printer default_style should not add semicolons
2021-09-07 15:26:45 +02:00
Ricardo Silva
cce76ed614
printer default_style should not add semicolons
2021-09-07 14:18:55 +01:00
Jeroen van Rijn
5a77a10f0a
Merge pull request #1133 from Kelimion/strip-semicolons
...
testing: Strip ; from test runner.
2021-09-07 15:07:20 +02:00
Jeroen van Rijn
97a46f664d
testing: Strip ; from test runner.
2021-09-07 14:46:53 +02:00
Jeroen van Rijn
aa5b1c9c97
Merge pull request #1132 from Kelimion/bigint
...
big: Run tests under CI.
2021-09-07 14:21:06 +02:00
Jeroen van Rijn
fbebf4bc4e
big: Add Python implementation of LCM.
2021-09-07 14:17:14 +02:00
Jeroen van Rijn
abb15ddb38
big: Implement isqrt in Python for the tests.
2021-09-07 13:55:37 +02:00
Jeroen van Rijn
4db5683011
big: CI print Python3 version.
2021-09-07 13:31:12 +02:00
Jeroen van Rijn
c4ec459d28
bit: Force Python3 for CI.
2021-09-07 13:26:34 +02:00
Jeroen van Rijn
86cfb2ea82
big CI: Set relative path to Odin.
2021-09-07 13:22:44 +02:00
Jeroen van Rijn
0605a9f239
big: Run tests under CI.
2021-09-07 13:17:47 +02:00
Jeroen van Rijn
11c298775e
Merge pull request #1131 from Kelimion/bigint
...
big: Split tests into their own package.
2021-09-07 12:15:11 +02:00
Jeroen van Rijn
b8de25c864
Merge branch 'master' into bigint
2021-09-07 12:07:03 +02:00
Jeroen van Rijn
008048e199
big: Move tests into their own package.
2021-09-07 12:06:58 +02:00
Jeroen van Rijn
fd256002b3
Merge pull request #1130 from Kelimion/bigint
...
big: Remove `core:fmt` usage + Add a little demo to examples/demo.
2021-09-06 23:35:57 +02:00
Jeroen van Rijn
48bfce2efc
demo: Fix typo.
2021-09-06 23:32:32 +02:00
Jeroen van Rijn
5619b349be
big: Remove core:fmt usage + Add a little demo to examples/demo.
2021-09-06 23:26:19 +02:00
Jeroen van Rijn
b0edac58b9
Merge pull request #1128 from Kelimion/semicolons
...
compress: Update BSD-3 license + remove semicolons from compressed ex…
2021-09-06 21:37:09 +02:00
Jeroen van Rijn
2c13315e72
compress: Update BSD-3 license + remove semicolons from compressed example.
2021-09-06 21:33:40 +02:00
gingerBill
0434281f73
Strip semicolons; Make odin strip-semicolon replace .. with ..= if used as a binary operator
2021-09-06 20:15:59 +01:00
gingerBill
3bf005bfc5
Remove redundant semicolons from comments
2021-09-06 20:05:41 +01:00
gingerBill
adcb39ef29
Update tag line
2021-09-06 19:52:36 +01:00
gingerBill
3ebfaf5f4c
Update README.md
2021-09-06 19:50:08 +01:00
gingerBill
97a1147537
Correct fix to heap_allocator_proc in compiler
2021-09-06 19:34:44 +01:00
gingerBill
b63d49aafa
Merge pull request #1112 from odin-lang/optional-semicolons
...
Optional Semicolons
2021-09-06 19:29:08 +01:00
Jeroen van Rijn
db8f0874bd
Merge pull request #1127 from Kelimion/examples
...
examples: Add `libc` to `examples/all`.
2021-09-06 18:45:44 +02:00
Jeroen van Rijn
3ac12a4edf
examples: Add libc to examples/all.
2021-09-06 18:42:26 +02:00
gingerBill
f5615b204c
Minor fix to heap_allocator_proc in common_memory.cpp
2021-09-06 16:50:13 +01:00
gingerBill
2800d4b8d0
Merge branch 'master' into optional-semicolons
2021-09-06 16:46:57 +01:00
gingerBill
bc15ce302c
Add dummy docs for intrinsics.syscall on Linux and Darwin
2021-09-06 15:49:51 +01:00
gingerBill
31f779f1a4
intrinsics.alloca now returns [^]u8
2021-09-06 15:45:05 +01:00
gingerBill
a3a891a7f4
Add intrinsics.is_package_imported(<string>)
2021-09-06 15:41:09 +01:00
Jeroen van Rijn
b31a24e5e8
Merge pull request #1126 from Kelimion/bigint
...
Add `internal_int_(pack, unpack)`.
2021-09-06 13:02:50 +02:00
Jeroen van Rijn
de5d897b5c
Add internal_int_(pack, unpack).
2021-09-06 12:57:48 +02:00
Jeroen van Rijn
7db0c50e63
Merge pull request #1124 from Kelimion/bigint
...
big: Add ASCII file import/export.
2021-09-05 15:54:01 +02:00
Jeroen van Rijn
3faac14d62
big: Add ASCII file import/export.
2021-09-05 15:50:23 +02:00
Jeroen van Rijn
b2fa4ec675
Merge pull request #1123 from Kelimion/bigint
...
big: Add Extended Euclidean algorithm.
2021-09-05 14:07:14 +02:00
Jeroen van Rijn
f33d0725db
big: Add Extended Euclidean algorithm.
2021-09-05 14:03:02 +02:00
Jeroen van Rijn
b45842c33f
Merge pull request #1122 from Kelimion/bigint
...
big: Add `internal_random_prime`.
2021-09-05 10:41:50 +02:00
Jeroen van Rijn
1f5ce91ae2
big: Add internal_random_prime.
2021-09-05 10:40:35 +02:00
Jeroen van Rijn
d7627744da
Merge pull request #1121 from Kelimion/bigint
...
big: Add `internal_int_prime_next_prime`.
2021-09-04 16:43:43 +02:00
Jeroen van Rijn
f2c5c26f2c
big: Add internal_int_prime_next_prime.
2021-09-04 16:31:05 +02:00
Jeroen van Rijn
6d07bd3299
Merge pull request #1119 from Kelimion/bigint
...
big: Add Lucas-Selfridge primality test
2021-09-04 00:04:22 +02:00
Jeroen van Rijn
52da5b8724
big: Default to Frobenius-Underwood. It's 10% faster than Lucas-Selfridge.
2021-09-03 23:54:54 +02:00
Jeroen van Rijn
b1ed7fc6b9
big: Add Lucas-Selfridge.
2021-09-03 23:54:54 +02:00
gingerBill
e3809f5c1b
Allow comparisons of any if reflect.equal if including_indirect_array_recursion is enabled
2021-09-03 15:52:47 +01:00
gingerBill
4b7dcc1513
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-03 15:49:35 +01:00
gingerBill
c9f4fdc856
Update reflect.equal to support more types
2021-09-03 15:49:29 +01:00
Jeroen van Rijn
8178a2e7ce
Merge pull request #1118 from Kelimion/bigint
...
big: Fix internal_int_mod for inputs with opposite signs.
2021-09-03 14:52:35 +02:00
Jeroen van Rijn
70e12f7a1c
big: Fix internal_int_mod for inputs with opposite signs.
...
This threw off Frobenius-Underwood.
2021-09-03 14:50:26 +02:00
gingerBill
11ae87cc2f
Add including_indirect_array_recursion argument to reflect.equal
2021-09-03 12:00:43 +01:00
gingerBill
b0f1b1ca16
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-09-03 11:02:38 +01:00
gingerBill
7ed4f01d02
Add reflect.equal and reflect.not_equal
2021-09-03 11:02:31 +01:00
Jeroen van Rijn
07f7d14d2c
Merge pull request #1117 from Kelimion/bigint
...
big: Add Frobenius-Underwood, Miller-Rabin and primality testing.
2021-09-03 01:39:58 +02:00
Jeroen van Rijn
eecc786bd2
big: Add Frobenius-Underwood.
2021-09-03 01:25:18 +02:00
Jeroen van Rijn
7fa04fa018
big: Fix M-R.
2021-09-02 19:59:59 +02:00
Jeroen van Rijn
31918d3b8f
big: Add internal_int_is_prime.
2021-09-02 18:31:08 +02:00
Jeroen van Rijn
e639c61499
big: Add Miller-Rabin.
2021-09-01 22:06:07 +02:00
Jeroen van Rijn
e2f035d6ee
Merge pull request #1113 from Kelimion/bigint
...
big: Add `expt_mod`, new comparison helpers, etc.
2021-09-01 19:25:52 +02:00
Jeroen van Rijn
ae354731ed
big: Add ; after proc map.
2021-09-01 19:18:13 +02:00
Jeroen van Rijn
671b413b15
big: Use new comparison helpers.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
335d361fc6
big: Add comparison helpers.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
df29d10210
big: Add internal_int_kronecker.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
fd83cbf40b
big: Add ilog2.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
7d7ed6b95f
big: Add internal_int_exponent_mod.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
a056e19434
big: Cue up internal_int_exponent_mod wrapper function.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
7d0dedf951
big: Add Diminished Radix reduction.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
ee04fb1ce1
big: Remove temporary prints.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
2110778040
big: Add internal_int_exponent_mod_fast.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
65a15e9c06
big: Add internal_int_exponent_mod.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
c3a70ac277
Big: Added Barrett reduction setup.
2021-09-01 19:13:47 +02:00
Jeroen van Rijn
5e520f4e08
big: Add reduce_2k.
2021-09-01 19:13:47 +02:00
gingerBill
b2cf0755f2
Add vendor to nightly.yml
2021-09-01 13:08:26 +01:00
gingerBill
720884e0f1
Strip even more semicolons if followed by a } or ) on the same line
2021-08-31 23:47:57 +01:00
gingerBill
773a766b83
Strip semicolon if followed by a } or ) on the same line
2021-08-31 23:47:20 +01:00
gingerBill
169e717021
Remove debug message
2021-08-31 22:49:18 +01:00
gingerBill
72a741554c
Remove unneeded semicolons from demo
2021-08-31 22:45:26 +01:00
gingerBill
cd09068e33
Correct parsing rules for #assert directives for semicolons
2021-08-31 22:45:08 +01:00
gingerBill
cd4687cb13
Delete unneeded demo
2021-08-31 22:34:22 +01:00
gingerBill
b810781368
Remove unneeded semicolon from examples/demo and examples/all
2021-08-31 22:33:53 +01:00
gingerBill
82f58aa3de
Remove unneeded semicolons from vendor
2021-08-31 22:33:19 +01:00
gingerBill
f57201bbd1
Remove unneeded semicolons from the core library
2021-08-31 22:32:53 +01:00
gingerBill
2db6fea665
Remove dead code and add debug messages
2021-08-31 22:31:43 +01:00
gingerBill
b450a853d5
Strip unneeded semicolons from vendor library
2021-08-31 22:26:58 +01:00
gingerBill
251da264ed
Remove unneeded semicolons from the core library
2021-08-31 22:21:13 +01:00
gingerBill
b176af2742
Add semicolon stripping command: odin strip-semicolon, has the same parameters as odin check
2021-08-31 22:20:36 +01:00
gingerBill
1fff96e088
Make -insert-semicolon the default now
2021-08-31 21:13:53 +01:00
gingerBill
d399d2256b
Change to [^][N] to just [^]
2021-08-31 20:39:32 +01:00
Jeroen van Rijn
27fd702692
Merge pull request #1111 from Kelimion/libtommath
...
Slim down LibTomMath compile.
2021-08-29 16:01:42 +02:00
gingerBill
5f29288254
Remove Syscall type
2021-08-29 15:00:35 +01:00
gingerBill
7c108dbf48
Update usage of syscall to use the intrinsics
2021-08-29 14:56:47 +01:00
Jeroen van Rijn
5c7cb393dc
Slim down LibTomMath compile.
2021-08-29 15:54:56 +02:00
gingerBill
54b37573c9
Add intrinsics.syscall (for Linux and Darwin only)
2021-08-29 13:17:06 +01:00
gingerBill
c3a64c2a59
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-29 11:45:16 +01:00
gingerBill
a5c31bbee0
Add map_insert which returns the pointer to inserted value
2021-08-29 11:45:11 +01:00
Jeroen van Rijn
d6bd56da2c
Merge pull request #1109 from Kelimion/makefile
...
Fix `Makefile`.
2021-08-28 22:41:06 +02:00
Jeroen van Rijn
17d31bfad6
Fix Makefile.
2021-08-28 22:40:38 +02:00
Jeroen van Rijn
89ffd40d70
Merge pull request #1108 from Kelimion/bigint
...
big: Add two more asymptotically optimal multiplication methods.
2021-08-28 18:19:55 +02:00
Jeroen van Rijn
737b4fde1c
big: Add _private_int_mul_balance.
2021-08-28 18:17:57 +02:00
Jeroen van Rijn
2cfd6b7024
big: Add _private_int_mul_high.
2021-08-28 14:59:13 +02:00
gingerBill
713cd728ba
Merge pull request #1107 from odin-lang/mv/libc-errors
...
Fix libc errors in Windows and add some tests.
2021-08-28 12:51:22 +01:00
vassvik
f9bea5b791
Updated comment for Windows version of setjmp.
2021-08-28 13:41:14 +02:00
Jeroen van Rijn
586641d77f
Merge pull request #1106 from Kelimion/bigint
...
big: Add `int_is_square` and Montgomery Reduction.
2021-08-28 13:36:36 +02:00
vassvik
8ca4286624
Add core:c/libc tests
2021-08-28 13:32:32 +02:00
vassvik
165118c641
Fix runtime crash for setjmp in Windows related to an hidden second argument not normally accessible needing to be set to 0.
2021-08-28 13:32:13 +02:00
Jeroen van Rijn
852643e6ba
Add tests for `internal_int_is_square'.
2021-08-28 13:27:46 +02:00
vassvik
102d080a31
Fix core:c/libc Windows compilation errors by linking to the right libraries.
...
Fix some name typos and missing types in Windows.
Add explicit cast on MB_CUR_MAX
2021-08-28 13:27:41 +02:00
Jeroen van Rijn
ec4cae4f04
big: Add int_is_square.
2021-08-27 16:41:16 +02:00
Jeroen van Rijn
4153898c55
big: Add Montgomery Reduction.
2021-08-27 16:41:16 +02:00
Jeroen van Rijn
33df335ec9
big: Add internal_int_montgomery_calc_normalization.
2021-08-27 16:41:16 +02:00
Jeroen van Rijn
893cc013b5
big: Add Montgomery reduction.
2021-08-27 16:41:16 +02:00
gingerBill
b88e945268
ERROR_BLOCK() any usages of "Did you mean?" like behaviour whilst iterating across a scope entry map
2021-08-27 12:14:51 +01:00
gingerBill
bf56e3ea8d
Improve strings.index_any and strings.last_index_any
2021-08-27 12:07:57 +01:00
gingerBill
284acc37f9
Update SDL scancodes to have the same C enums equivalent global values
2021-08-27 11:38:29 +01:00
gingerBill
582559f7ac
Correct did you mean logic and make thread-safe-er
2021-08-27 11:18:38 +01:00
gingerBill
53556d9bd2
Disable local mutex for the time being.
2021-08-26 23:16:57 +01:00
gingerBill
da79124e5d
Use local mutex for each AstFile.arena
2021-08-26 23:10:15 +01:00
gingerBill
2f34f1283a
Make thread_join be more correct
2021-08-26 22:42:56 +01:00
gingerBill
f973d271cf
Add mutex around condition_broadcast
2021-08-26 22:28:09 +01:00
gingerBill
4625b25287
Wrap linux specific code for internal_thread_proc
2021-08-26 22:26:51 +01:00
gingerBill
8d8b3fd071
Add missing header
2021-08-26 22:24:26 +01:00
gingerBill
a852c17614
Don't permit any signal delivery to threads on Linux
2021-08-26 22:20:10 +01:00
gingerBill
b33bf3f704
Correct race condition and incorrect usage of condition_signal outside of a mutex lock
2021-08-26 22:17:51 +01:00
gingerBill
726788a483
Treat Type_Tuple closer to a Type_Struct in lb_type
2021-08-26 22:01:02 +01:00
gingerBill
cdd3560702
Merge pull request #1103 from odin-lang/new-thread-pool
...
Improved Thread Pool implementation for the Compiler
2021-08-26 21:44:02 +01:00
gingerBill
6d49df1d87
Don't use the thread pool if worker count is 0
2021-08-26 21:40:54 +01:00
gingerBill
ac191bd31f
Simplify logic for -thread-count:1
2021-08-26 21:30:23 +01:00
gingerBill
ad3a3547d6
Unify thread pool logic across the rest of the compiler, using a global thread pool
2021-08-26 21:22:30 +01:00
gingerBill
aba14c43ac
Fix typo
2021-08-26 17:57:29 +01:00
gingerBill
25c3fd48f0
Improved ThreadPool implementation
2021-08-26 17:56:28 +01:00
gingerBill
e45aa68c14
Remove unneeded +1 for outstanding_task_count
2021-08-26 16:10:32 +01:00
gingerBill
6dfab34aca
Merge pull request #1101 from odin-lang/compiler-allocator-improvements
...
Compiler Allocator Improvements
2021-08-26 16:06:37 +01:00
gingerBill
d3d805ffb3
Fix typo
2021-08-26 15:58:34 +01:00
gingerBill
05b9724c85
Correct platform_virtual_memory_init on Unix
2021-08-26 15:55:09 +01:00
gingerBill
5053f0179c
Implement virtual memory code for *nix and make generic
2021-08-26 15:53:08 +01:00
gingerBill
3e4d615983
Minor fixes
2021-08-26 15:41:32 +01:00
gingerBill
aa8777ee47
Change the implementation of Arena to use virtual memory, and remove the old gbArena code
2021-08-26 15:38:34 +01:00
gingerBill
98dd59e412
Fix return value
2021-08-25 22:28:15 +01:00
gingerBill
7b2f6aaa1c
Add [^] to GameControllerGetSensorData
2021-08-25 16:10:39 +01:00
gingerBill
ad943f0189
Use [^] on PeepEvents
2021-08-25 15:50:35 +01:00
gingerBill
224496dca7
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-25 15:21:14 +01:00
gingerBill
1ef59417ef
Add gl_set_proc_address to both sdl2 and glfw as utility loaders for OpenGL
2021-08-25 15:21:06 +01:00
Jeroen van Rijn
0d5a160409
Add PortMidi to vendor:README.txt.
2021-08-25 13:54:39 +02:00
gingerBill
82facb387c
Add vendor:portmidi
2021-08-25 12:46:18 +01:00
gingerBill
da7a0df7a1
Simplify logic for parse_binary_expr
2021-08-25 11:43:02 +01:00
gingerBill
fcbd94b924
Update enums
2021-08-24 20:05:01 +01:00
gingerBill
5bb3912001
Update licences for GLFW
2021-08-24 20:04:35 +01:00
gingerBill
f4248b159d
Add vendor:glfw
2021-08-24 20:00:24 +01:00
gingerBill
2e4edcc7e9
Merge pull request #1099 from Kelimion/vendor
...
vendor: Add `README.md` and clarify licensing.
2021-08-24 18:34:47 +01:00
gingerBill
0d3272d914
Remove ICD from generation
2021-08-24 18:33:35 +01:00
Jeroen van Rijn
50f3e77b43
vendor: Add README.md and clarify licensing.
2021-08-24 19:33:10 +02:00
gingerBill
964d91b855
Add vendor:vulkan
2021-08-24 17:08:03 +01:00
gingerBill
bdac3ee120
Add gamecontrollerdb.txt to vendor:sdl
...
https://github.com/gabomdq/SDL_GameControllerDB
2021-08-24 14:04:27 +01:00
gingerBill
b81c670597
Remove debug message
2021-08-24 11:08:41 +01:00
gingerBill
4489df2871
Make sync_t distinct
2021-08-24 00:22:11 +01:00
gingerBill
766c17a6a3
Change [^][1]T usage to [^]T
2021-08-24 00:20:51 +01:00
gingerBill
018f8a82d6
Correct indentation
2021-08-24 00:19:47 +01:00
gingerBill
d5a0c004b6
More [^][N]T usage for UniformNuiv
2021-08-24 00:16:39 +01:00
gingerBill
0b6e45c9a2
More [^][N]T usage
2021-08-24 00:15:34 +01:00
gingerBill
5c41f64829
Improve signatures for [^][N*M]T like matrix parameters
2021-08-24 00:14:09 +01:00
gingerBill
ad56cf0038
Change some usages of [^]T to ^[N]T where appropriate
2021-08-24 00:06:49 +01:00
gingerBill
58b5e92c2f
Update more uses of [^]T types
2021-08-23 23:57:16 +01:00
gingerBill
0a0752db7c
Correct int to i32 usage
2021-08-23 23:46:36 +01:00
gingerBill
49fbdd6188
Add more indirect command structs to the procedure calls
2021-08-23 23:45:00 +01:00
gingerBill
1048553e78
More corrections; Add DrawArraysIndirectCommand and DrawElementsIndirectCommand data structures
2021-08-23 23:02:19 +01:00
gingerBill
63282290db
Remove dead procedure
2021-08-23 21:42:11 +01:00
gingerBill
7a1498e7dc
Remove space prefix
2021-08-23 21:40:17 +01:00
gingerBill
0d3cbb8883
Add vendor:OpenGL
...
Based off a heavily modified version of: https://github.com/vassvik/odin-gl
2021-08-23 21:33:39 +01:00
gingerBill
ce7698c20e
Correct core library usage of the new mem.new behaviour
2021-08-23 19:29:01 +01:00
gingerBill
382ca20916
Correct procedure checking flag handling, and correct the (bodge) handle of unchecked procedure bodies
2021-08-23 19:24:53 +01:00
gingerBill
fe2ad54f60
Fix bug in check_is_terminating
2021-08-23 17:42:54 +01:00
gingerBill
b014879159
Add extra message to assert
2021-08-23 16:45:52 +01:00
gingerBill
81623861c0
Correct mem.clone_slice
2021-08-23 14:33:54 +01:00
gingerBill
bd86993035
Remove the old inline and no_inline tokens
2021-08-23 12:37:42 +01:00
gingerBill
4ccf135892
Unify new/make the internal logic between runtime and mem
2021-08-23 12:35:29 +01:00
gingerBill
cba0bd30f5
Add suggestions when trying to take the address the a value from a for/switch statement
2021-08-23 11:50:02 +01:00
gingerBill
276d4b8f0d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-23 11:31:09 +01:00
gingerBill
7bdbaca938
Make SDL_image.Init return InitFlags
2021-08-23 11:31:00 +01:00
Jeroen van Rijn
7f34080b69
Merge pull request #1097 from nakst/master
...
Thread pool: create threads in thread_pool_wait
2021-08-23 11:17:54 +02:00
nakst
9397555c91
Thread pool: create threads in thread_pool_wait
2021-08-23 10:11:24 +01:00
gingerBill
7a00ef1879
Merge pull request #1096 from nakst/master
...
thread_pool.cpp: fix with 1 thread; gb.h: remove buggy /proc/cpuinfo code
2021-08-23 09:32:41 +01:00
nakst
35204e3cc5
thread_pool.cpp: fix with 1 thread; gb.h: remove buggy /proc/cpuinfo code
2021-08-23 09:18:18 +01:00
gingerBill
daced956e3
Make ThreadPool use std::atomic and heap_allocator()
2021-08-22 23:01:01 +01:00
gingerBill
5a2d582a09
Merge pull request #1095 from nakst/master
...
Rewrite thread_pool.cpp
2021-08-22 22:55:31 +01:00
nakst
b878be6f79
Thread pool fix on Win32
2021-08-22 21:24:56 +01:00
nakst
1f25f60a68
Rewrite thread_pool.cpp
2021-08-22 21:13:41 +01:00
gingerBill
2e921c88fb
Add debug information for [^]T
2021-08-22 19:02:52 +01:00
gingerBill
abaf8c127d
Correct build.bat
2021-08-22 17:12:19 +01:00
gingerBill
0c5fa2cdd5
Fix build.bat
2021-08-22 17:09:40 +01:00
gingerBill
36cb1f868b
Embed the SDL2 libraries into vendor:sdl2
2021-08-22 17:05:06 +01:00
gingerBill
037cc679c4
Keep -vet happy
2021-08-22 16:58:12 +01:00
gingerBill
db6fad7396
Fix indexing code gen for multi-pointers
2021-08-22 16:55:57 +01:00
gingerBill
07bfb55658
Fix code gen for compare against nil for multi pointers
2021-08-22 16:53:26 +01:00
gingerBill
56078ee099
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-22 16:49:48 +01:00
gingerBill
ae4a378294
Merge pull request #1094 from graphitemaster/master
...
Project all of libc
2021-08-22 16:06:15 +01:00
Dale Weiler
791d7f764b
cleanup
2021-08-22 10:05:27 -04:00
Dale Weiler
b39a4f3e3b
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-22 09:49:20 -04:00
Dale Weiler
389b50f735
libc projection
2021-08-22 09:48:34 -04:00
gingerBill
2f6e566a32
Remove the deprecated fmt.print*_err procedures
2021-08-22 12:57:08 +01:00
gingerBill
d5bad374d9
Remove deprecated procedure slice_ptr_to_bytes
2021-08-22 12:55:57 +01:00
gingerBill
445ed9be2b
Use multi-pointers when appropriate
2021-08-22 12:54:04 +01:00
gingerBill
8694a0f68a
Update signature_parameter_similar_enough for multi pointers
2021-08-22 12:31:03 +01:00
gingerBill
d3fee9d761
Merge pull request #1093 from odin-lang/multi-pointers
...
Multi Pointers `[^]T`
2021-08-22 11:50:47 +01:00
gingerBill
36a6805b7c
Update doc format for multi-pointers
2021-08-22 11:46:26 +01:00
gingerBill
19bf12aa09
Update odin/ast for multi pointers
2021-08-22 11:46:12 +01:00
gingerBill
0decdaed1a
Merge branch 'master' into multi-pointers
2021-08-22 11:28:44 +01:00
gingerBill
93b5befe45
Improve error handling for missing semicolon separators in a for loop
2021-08-22 11:27:24 +01:00
gingerBill
d72f4a8a79
Correct Multi Pointer Type handling in expressions
2021-08-22 00:59:42 +01:00
gingerBill
91247a8fe1
Fix multi pointers for parapoly
2021-08-21 23:16:30 +01:00
gingerBill
18a0fa02c5
Add multi pointers to core
2021-08-21 23:16:14 +01:00
gingerBill
932f330a51
Add comparisons to LLVM backend for multi pointers
2021-08-21 23:12:15 +01:00
gingerBill
6a77fc4cdd
Add multi-pointer types [^]T
2021-08-21 23:10:21 +01:00
gingerBill
01a888fced
Update import path
2021-08-21 14:09:48 +01:00
gingerBill
f0437a4242
Enforce core:builtin and core:intrinsics for imports
2021-08-21 13:44:16 +01:00
gingerBill
32bdad322a
Improve parsing for or_return in core:odin/parser
2021-08-21 13:43:38 +01:00
gingerBill
bf130087e7
Change to strings.clone_from_cstring_bounded
2021-08-21 13:43:03 +01:00
gingerBill
38e038a1ab
Add strings.clone_from and strings.clone_from_nul_terminated
2021-08-21 13:42:06 +01:00
gingerBill
6504607adf
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-21 13:32:12 +01:00
gingerBill
c8378fce95
Add library collection vendor
2021-08-21 13:32:07 +01:00
Jeroen van Rijn
1aeaec8d5c
Merge pull request #1091 from Kelimion/win11
...
os: Add Windows 11 detection.
2021-08-21 14:12:26 +02:00
gingerBill
2aaf927beb
Improve error message for Cannot assign value if they have the same name but are from different packages
2021-08-21 13:09:23 +01:00
Jeroen van Rijn
bb86b0f526
os: Add Windows 11 detection.
2021-08-21 14:08:22 +02:00
gingerBill
2f5edebefa
Rename mem.reinterpret to mem.reinterpret_copy
2021-08-20 10:19:30 +01:00
gingerBill
b5cdb331b0
Add mem.reinterpret
2021-08-20 10:18:34 +01:00
gingerBill
fa4f3aa7ad
Correct atomic usage
2021-08-19 17:51:19 +01:00
gingerBill
a90fe7211c
Make global_entity_id atomic
2021-08-19 17:44:26 +01:00
gingerBill
ac6cc5191a
Make ThreadPool.is_running atomic
2021-08-19 17:43:15 +01:00
gingerBill
38841dd46e
Fix race condition from add_entity_use due to Entity.identifier
2021-08-19 17:38:18 +01:00
gingerBill
e722af7f61
Remove unneeded disabled warnings from build.bat
2021-08-19 15:43:51 +01:00
gingerBill
df372dbd5b
Migrate and remove more from gb.h
2021-08-19 15:38:21 +01:00
gingerBill
5c4d95d539
Move more of gb.h's Synchronization code into common.cpp
2021-08-19 15:19:36 +01:00
gingerBill
9ae4de2ab8
Remove unused code from gb.h (which means it is heavily modified now)
2021-08-19 15:09:39 +01:00
gingerBill
7845769d4b
Remove unused code
2021-08-19 15:03:10 +01:00
gingerBill
33239324b8
Improve the C++ to be more correct for clang on Windows, still requiring the same disabled warnings as on *nix
2021-08-19 14:44:53 +01:00
gingerBill
82a74ebfa9
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-19 11:40:32 +01:00
gingerBill
35026000bb
Fix deadlock caused by typo
2021-08-19 11:40:26 +01:00
Jeroen van Rijn
55cf3d26bf
Merge pull request #1090 from Kelimion/bigint
...
big: Update license to BSD-3.
2021-08-19 12:13:39 +02:00
Jeroen van Rijn
23d29be4d8
big: Update license to BSD-3.
2021-08-19 12:12:59 +02:00
Jeroen van Rijn
1ad0743a52
big: Nicely align test suite results.
2021-08-19 12:12:59 +02:00
gingerBill
54af47a138
Remove useless code
2021-08-18 23:38:06 +01:00
gingerBill
b84ee3ab8f
Fix odin test not executing any tests
2021-08-18 23:33:27 +01:00
gingerBill
e023b96737
Remove json import from demo
2021-08-18 22:33:18 +01:00
gingerBill
3fde4616e0
Correct mutex usage for path_to_fullpath; make ThreadPool use BlockingMutex
2021-08-18 21:21:30 +01:00
Mikkel Hjortshøj
4812006eb8
Update ci.yml
2021-08-18 22:09:44 +02:00
gingerBill
740995df3d
Remove attribute parameter for pthread_mutex_init
2021-08-18 21:07:06 +01:00
gingerBill
aa5c3da414
Make BlockingMutex non-recursive on *nix systems
2021-08-18 20:57:03 +01:00
gingerBill
d419d81841
Remove unused code
2021-08-18 20:48:26 +01:00
gingerBill
08942714a2
Make Arena allocate virtual memory directory; make it use a BlockingMutex
2021-08-18 20:46:10 +01:00
gingerBill
3c443babb2
Extra sanity check around static
2021-08-18 20:32:54 +01:00
gingerBill
326e5cd046
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-18 20:31:39 +01:00
gingerBill
79e98b71d3
Remove dead code, and add an extra mutex
2021-08-18 20:31:34 +01:00
Jeroen van Rijn
96605f700b
Merge pull request #1089 from Kelimion/bigint
...
big: Enable Toom again.
2021-08-18 15:36:45 +02:00
Jeroen van Rijn
38b5e01343
Merge branch 'master' into bigint
2021-08-18 15:35:49 +02:00
Jeroen van Rijn
06cde91ba3
big: Enable Toom again.
2021-08-18 15:35:01 +02:00
Jeroen van Rijn
3891d6a483
Merge pull request #1088 from Kelimion/bigint
...
big: Fix signed multiplication for some inputs.
2021-08-18 15:32:49 +02:00
Jeroen van Rijn
5fd7a5f32a
big: Fix signed multiplication for some inputs.
2021-08-18 15:24:43 +02:00
gingerBill
a01c946c20
Add mutex to Scope lookups and insertions
2021-08-18 11:17:14 +01:00
gingerBill
84b0da44db
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-17 19:54:17 +01:00
gingerBill
cdb3a5205c
Add mutex for add_type_and_value
2021-08-17 19:54:09 +01:00
Jeroen van Rijn
eae98feb7a
Merge pull request #1086 from Kelimion/bigint
...
big: Temporarily disable Toom.
2021-08-16 22:19:10 +02:00
Jeroen van Rijn
3af078e941
Merge branch 'master' into bigint
2021-08-16 22:16:03 +02:00
Jeroen van Rijn
48c1f0ab59
big: Disable Toom for a moment.
2021-08-16 22:13:54 +02:00
Jeroen van Rijn
19386814b3
Merge pull request #1085 from Kelimion/bigint
...
Add `_private_int_mul_toom` + `_private_int_mul_karatsuba`.
2021-08-16 21:29:40 +02:00
Jeroen van Rijn
706e58c1c7
big: Add _private_int_mul_toom`.
2021-08-16 21:17:21 +02:00
gingerBill
9ab94650c8
Allow + in import paths
2021-08-16 18:21:58 +01:00
gingerBill
fce86ff3d5
Correct struct tag bug
2021-08-16 18:17:26 +01:00
gingerBill
0051cd12e2
Make flags atomic for Entity and Type
2021-08-16 16:30:49 +01:00
gingerBill
df159dbae7
Add some missing files to sync2 for linux and darwin
2021-08-16 15:48:54 +01:00
gingerBill
94d298755a
Fix race condition when adding a dependency
2021-08-16 15:33:26 +01:00
Jeroen van Rijn
8b49bbb0fc
big: Add _private_mul_karatsuba.
2021-08-16 16:10:10 +02:00
gingerBill
5f072591ba
Merge pull request #1082 from odin-lang/or_else-or_return-operator
...
`or_else` and `or_return` operators
2021-08-16 12:03:43 +01:00
gingerBill
e3fef2dade
Improve parsing for or_return; allow #force_inline foo() or_return;
2021-08-16 11:58:50 +01:00
gingerBill
4c306a6f99
Correct or_return logic for debug printing and expression is not used checking
2021-08-16 11:08:37 +01:00
gingerBill
0996cc82a7
Keep -vet happy
2021-08-15 23:17:12 +01:00
gingerBill
f293d7c997
Update package encoding/json for or_return
2021-08-15 23:11:15 +01:00
gingerBill
b2097604d5
Add clone_ast for or_else and or_return
2021-08-15 23:10:52 +01:00
gingerBill
4e1c9b71f4
Update core:odin/* for or_else and or_return
2021-08-15 19:05:55 +01:00
gingerBill
3e2788afdc
Add extra example to or_return_operator
2021-08-15 18:51:20 +01:00
gingerBill
1a7f508dd9
Improve comment
2021-08-15 18:44:50 +01:00
gingerBill
dc8cfcf92a
Fix typos and improve clarity of or_return_operator
2021-08-15 18:36:34 +01:00
gingerBill
ac08d37ca0
Add or_return_operator to examples/demo
2021-08-15 18:29:49 +01:00
gingerBill
4035fec784
Add more uses of or_return
2021-08-15 18:13:56 +01:00
gingerBill
b071a07c86
Replace uses of err != nil with or_return where appropriate
2021-08-15 17:56:24 +01:00
gingerBill
c27b8a71fd
Replace err != nil with or_return where appropriate
2021-08-15 17:52:10 +01:00
gingerBill
b8661e0ae0
Update semi-colon insertion rules for or_return
2021-08-15 17:16:37 +01:00
gingerBill
21cbac755e
Make or_else and or_return operators (binary and suffix respectively)
2021-08-15 17:14:35 +01:00
gingerBill
a3a20f09e2
or_return built-in procedure
2021-08-15 16:55:30 +01:00
gingerBill
d62f189d72
Remove some dead code
2021-08-15 15:09:47 +01:00
gingerBill
84713b58e0
Improve error handling for field list prefixes
2021-08-15 13:29:44 +01:00
gingerBill
294c8426e6
Minor clean up of parse_field_prefixes
2021-08-15 13:18:06 +01:00
gingerBill
7bbc9a4634
Add #any_int directive to replace auto_cast uses on parameters.
2021-08-15 12:56:59 +01:00
gingerBill
1cd3b693ae
Update LICENSE
2021-08-15 12:12:48 +01:00
gingerBill
d1b9b06614
Add core:math/big to examples/all
2021-08-15 11:14:51 +01:00
gingerBill
19aefa6a40
Add assignment statement to #no_bounds_check etc rules. Correct os_linux.odin usage.
2021-08-15 11:14:34 +01:00
gingerBill
effecf8595
Fix typo
2021-08-15 11:13:59 +01:00
gingerBill
d5e3f72a0b
Define where #bounds_check/#no_bounds_check can be applied
2021-08-15 11:09:41 +01:00
gingerBill
9fb486b2ad
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-15 11:08:35 +01:00
gingerBill
d70fa4329c
Move #no_bounds_check to before return
2021-08-15 11:08:28 +01:00
Jeroen van Rijn
3f29a0d6dd
Merge pull request #1078 from Kelimion/bigint
...
Add recursive division.
2021-08-14 15:58:27 +02:00
Jeroen van Rijn
0db86a0638
big: Add workaround for DLL globals bug.
2021-08-14 13:51:17 +02:00
Jeroen van Rijn
dc02566a84
big: Add _private_int_div_recursive.
2021-08-13 23:45:00 +02:00
gingerBill
0e84e06756
Fix lower and upper values for a bit_set[Enum] type.
2021-08-13 14:17:27 +01:00
gingerBill
e6b2df4b2b
Add extra error message check to lb_big_int_to_llvm
2021-08-13 14:16:53 +01:00
Jeroen van Rijn
37be8d4091
big: Add internal_invmod.
2021-08-13 14:55:53 +02:00
gingerBill
a3930cb470
Improve fmt._user_formatters logic
2021-08-13 12:44:55 +01:00
gingerBill
ad402726f1
Fix #1026
2021-08-13 12:21:14 +01:00
gingerBill
8ff9f2e44f
Fix #1077
2021-08-13 11:49:52 +01:00
gingerBill
799a56bbcb
Fix column in tokenizer (due to removed line)
2021-08-13 10:50:05 +01:00
gingerBill
fbbd43a6d8
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-13 10:45:35 +01:00
gingerBill
367bf0c7ae
Fix #1076
2021-08-13 10:45:29 +01:00
Jeroen van Rijn
f72a0de074
big: Add inverse mod.
2021-08-13 01:41:33 +02:00
Jeroen van Rijn
07baae04c9
Merge pull request #1075 from Kelimion/bigint
...
Add `core:math/big`, an arbitrary precision library.
2021-08-11 21:43:54 +02:00
Jeroen van Rijn
eb22a49b02
big: Add int_from_bytes_*.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
ee24f2dd37
big: Improve int_to_bytes_*.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
12f9b6db63
big: Add int_to_bytes_{big, little} + Python compatible variants.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
851780b8f4
big: Add arguments and usage to test.py.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
5f34ff9f9f
big: Add _private_int_sqr_toom.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
2b274fefbb
big: Add _private_int_sqr_karatsuba.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
6c681b258c
big: Add _private_int_sqr_comba.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
1f91a2fe65
big: Finish refactor.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
19ff27788c
big: Refactoring.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
1ebb0bd9d6
big: More refactoring.
2021-08-11 20:59:54 +02:00
Jeroen van Rijn
d505a05d36
big: More refactoring.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
07dca737f0
big: More refactoring.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
6d34a8344a
big: Refactor helpers.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
40b7b9ecdf
big: Refactor exponents and such.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
53bf66ce1e
big: Prettify internal_cmp_digit.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
fd95f50c56
big: Split up int_is_* comparison tests.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
777e17d80f
big: Improve tunables.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
d4a03acbc3
big: Split up int_mod_bits (res = val % (1 << bits))
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
c3db24f834
big: Split up gcd + lcm.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
62dcccd7ef
big: Move division internals.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
e288a563e1
big: Move _mul private functions.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
6298226238
big: Switch choose over to internal implementations.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
9321616c80
big: Split more into public and internal.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
9890e7cfeb
big: Improved zero_unused helper.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
4be48973ad
big: Squashed shl1 bug when a larger dest was reused for a smaller result.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
f8442e0524
big: Split up mul into internal and public parts.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
9858989b1c
big: Split up add and sub into public and internal parts.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
511057ca36
big: Improve timing code.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
35d8976de4
bit: Optimized int_bitfield_extract.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
463003e86a
bit: Improved bitfield extraction.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
85a2a8815e
big: Some more work on constants.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
47397a6a48
Add faster divison.
2021-08-11 20:59:53 +02:00
Jeroen van Rijn
2323ca1622
big: Add MATH_BIG_FORCE_64/32_BIT flags.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
fc0a92f8ac
big: Add constants.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
97d80d03f9
big: Error.None -> nil
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
627872db97
big: Timed factorial.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
a27612ec6a
Add _mul_comba path.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
491e4ecc74
big: Add binary split factorial.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
cd0ce7b76e
big: Add choose.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
320387c4ee
big: Add gcd_lcm fast path in wrapper.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
6424a5a8dd
big: Refactored gcm and lcm to use a common function.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
06f5a6c785
big: Special case gcd(0,0) + lcm(0,0).
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
8b1d8c8453
big: Add lcm and its test.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
0028cb0258
big: Test gcd.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
b15ee059ad
big: Add gcd.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
50feeaa285
big: Add test for factorial.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
e80ac18324
big: Add factorial, have tests use hex strings.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
db0196abc7
big: Test root_n.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
149c7b88df
big: Fix sqrt, div, add with certain inputs.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
7afd1b15a8
big: test_pow for larger ints.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
f12672727d
big: Add test_pow and some more switches.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
2179cc2bc7
big: Improved test driver.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
961adfedd9
big: Test negative inputs as well.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
385b9c9922
big: Add tests for log.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
922df6a438
big: Add more exhaustive tests.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
c1a001c331
big: Add randomized testing.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
13fab36639
big: Fix mul.
2021-08-11 20:59:52 +02:00
Jeroen van Rijn
708389a7ee
big: Improve test driver.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
fb6c9af1ae
big: Improve tests.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
85aa4dd670
big: Start test suite.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
74258a170a
big: fix itoa base PoT other than 16.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
2fbff25a18
big: Improve int_bitfield_extract.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
9c150381bf
big: Add rand.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
531c4936dd
big: Add root_n.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
2aae1016ab
big: Add sqrt.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
9c2468ecf7
big: Add atoi.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
0a431eef19
big: Add another way to estimate radix size.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
9646d1f2b8
big: Add submod, mulmod, sqrmod.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
5f7aeb3045
big: Add mod and addmod.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
1ebaa9fb3b
big: itoa now works for arbitrary radixes.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
c2255c6c19
big: Add div.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
2884fa5506
big: add div by 3.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
31c94bd7f8
big: Finish log, fix sqr.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
5f63e3952e
big: Correct pow bugs from the original.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
d953e40fb3
big: Add pow.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
c3a4d7dda2
big: Fast square method.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
b4a29844e9
big: Add multiplication.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
0254057f1b
big: Add swap.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
f34ba44bf8
big: Add shl, shr and shrmod.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
d4d863c4db
big: Add mod_power_of_two.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
78c0877994
big: Add get(a, type) and get_float.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
1d0b37c1d8
big: add shl1, shr1.
2021-08-11 20:59:51 +02:00
Jeroen van Rijn
7648f2e655
big: Finish big ZII refactor.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
d9efa6c8b5
big: More ZII refactoring.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
2e372b33a3
big: More ZII refactoring.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
687c211a58
big: ZII.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
4eadd0867d
big: Continuing to refactor.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
9dba17cf87
bigint: refactor to big.Int instead of bigint.Int.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
baef0c291d
bigint: Added some more helpers.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
cccd290834
bigint: Add is_power_of_two helper.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
5af85aed3d
bigint: itoa support for arbitrary precision if is_power_of_two(radix)
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
e600e5947b
bigint: remove unnecessary boundary checks.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
d7ae611f76
bigint: itoa now writes backwards directly, no need to reverse after.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
04a83eb9f7
bigint: pass size to itoa_raw.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
341e8a3c99
bigint: itoa works for numbers <= 120 bits.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
e3d8ac559d
bigint: Fast paths for radix code.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
767948ab46
bigint: log_n for bases that fit within one DIGIT or are a power of two.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
dbcd8da733
bigint: Working on itoa and logn.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
905d5459a9
bigint: Add count_bits and more prep.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
dfd5a993a2
bigint: Prepare for multiplication.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
daceaa65f5
bigint: Add substractin with immediate.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
c2c07f07db
Add single DIGIT addition.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
c5cbd3260a
bigint: Add prototypes for immediate add+sub.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
d57e1be89f
bigint: Improve add.
2021-08-11 20:59:50 +02:00
Jeroen van Rijn
18dda6ff9d
Start of core:math/bigint
...
We have:
- `init` to create a new `Int`
- `init(from_integer)` to create a new `Int` and set it to `from_integer`.
- `set(Int, from_integer)` to set an `Int` to `from_integer`
- `add(dest, a, b)` to add `a` and `b` into `dest`.
- `sub(dest, a, b)` to subtract `b` from `a` and put the result in `dest`.
And a few helper functions, like:
- `is_zero`, `is_negative`, ...
- `grow`, `shrink`, `clear`, `zero`
2021-08-11 20:59:50 +02:00
gingerBill
7afc367275
Update examples/all/all_main.odin
2021-08-11 19:11:00 +01:00
gingerBill
c465171b45
Fix #1061
2021-08-09 21:41:19 +01:00
gingerBill
02f22a0b3f
Correct DllMain behaviour
2021-08-09 21:23:24 +01:00
gingerBill
193fd0eecb
Correct and improve type inference for swizzling expressions
2021-08-09 20:13:58 +01:00
gingerBill
01f431b01f
Unify semantics of the built-in swizzle procedure with the selector expression semantics e.g. .xyz
2021-08-09 19:37:58 +01:00
gingerBill
aebfa4b28e
Allow len and cap to return a uint if a type hint is uint to aid people wanting to use unsigned integers
2021-08-09 17:39:38 +01:00
gingerBill
a3abe991a4
Add package core:encoding/hxa
2021-08-09 16:26:51 +01:00
gingerBill
e793f92e67
Improve parsing handling for the { return } cases
2021-08-09 13:01:47 +01:00
gingerBill
042f376626
Minor code changes to Map/StringMap
2021-08-09 13:01:26 +01:00
gingerBill
d99ed692ba
Add utility procedures: io.read_ptr; io.write_ptr; io.read_ptr_at; io.write_ptr_at
2021-08-09 12:33:21 +01:00
gingerBill
4d00c2b800
Allocator_Error.Mode_Not_Implemented; Minor improvement to map runtime procedures
2021-08-08 14:29:45 +01:00
gingerBill
a5605e94b1
Simplify Map and StringMap in the compiler to reuse the hashes' array data if possible.
2021-08-08 13:56:40 +01:00
gingerBill
9cfe20cfb4
Correct error message for add_import_dependency_node
2021-08-08 13:13:31 +01:00
gingerBill
db3501f61b
[Breaking] Change the layout json.Value to be a union rather than a struct of a json.Pos and the union
2021-08-08 12:59:35 +01:00
gingerBill
48538aa792
Remove package core:encoding/cel
2021-08-08 12:50:38 +01:00
gingerBill
5fd64f48ee
Minor procedure rename
2021-08-08 12:48:44 +01:00
gingerBill
a3b7126875
Simplify init_tokenizer_with_data
2021-08-08 12:47:45 +01:00
gingerBill
5756c8a7c6
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-08-08 12:45:33 +01:00
gingerBill
cdd0061869
Prefer ..= over ..
2021-08-08 12:45:27 +01:00
Mikkel Hjortshøj
e6adfd8054
Update create_nightly_json.py
2021-08-08 11:29:56 +02:00
Jeroen van Rijn
6d59223efd
Merge pull request #1072 from Kelimion/cel_fix_ise
...
CEL: Fix by changing `using enum` to ISE.
2021-08-08 02:21:04 +02:00
Jeroen van Rijn
ebd034fff9
CEL: Fix ISE.
2021-08-08 02:19:32 +02:00
gingerBill
000bda8419
Reduce superfluous error messages for return statements expecting not-1 return values
2021-08-07 16:29:00 +01:00
gingerBill
423b842347
Fix typo
2021-08-07 15:07:29 +01:00
gingerBill
16eeae36d7
Inline heap_allocator resize logic on *nix platforms
2021-08-07 15:05:46 +01:00
gingerBill
5453e92bcb
Minor test on array_set_capacity
2021-08-07 14:44:48 +01:00
gingerBill
c16c9535d9
Reorder ci.yml from run check version to version check run
2021-08-07 14:40:54 +01:00
gingerBill
662c7b1e71
Minor clean-up
2021-08-07 14:39:26 +01:00
gingerBill
571170fd30
Improve and simplify the memory layout of MPMCQueue
2021-08-07 14:25:48 +01:00
gingerBill
911c428dac
Remove dead code in queue.cpp; clean up initialization code
2021-08-07 13:54:08 +01:00
gingerBill
40822be595
Reorganize llvm_backend.cpp into separate files for easier maintenance
2021-08-07 12:01:48 +01:00
gingerBill
f5e51a29b5
Fix #1070
2021-08-07 11:23:40 +01:00
gingerBill
beaad719ad
Reallow using on enum declarations temporarily but with a warning.
2021-08-05 17:51:45 +01:00
gingerBill
0d257c61cd
Disallow using on an enum declaration.
2021-08-05 17:46:42 +01:00
gingerBill
dd8fa1d690
Prefer ..= over ..
2021-08-04 00:36:10 +01:00
gingerBill
af6df7d7c9
Improve error cases in core:odin/parser
2021-08-04 00:23:31 +01:00
gingerBill
57a17a708b
Improve core:odin/parser
2021-08-04 00:10:41 +01:00
gingerBill
1f79082921
Remove dead comments
2021-08-04 00:10:05 +01:00
gingerBill
afff9478c8
Make core:odin/tokenizer be consistent with the compiler's version
2021-08-03 23:27:26 +01:00
gingerBill
b352b42afc
Remove old comment
2021-08-03 16:31:50 +01:00
gingerBill
c3e4509d17
Improve error message when using a comma rather than a semicolon in a bit_set
2021-08-03 15:46:14 +01:00
gingerBill
664be28941
Fix typo
2021-08-03 15:45:32 +01:00
gingerBill
d7e970ac32
Add extra debugf message for generate missing procedure
2021-08-03 14:36:15 +01:00
gingerBill
810dcfc602
Remove debug gb_printf_err and replace with debugf
2021-08-03 14:30:32 +01:00
gingerBill
14645b147f
Reorganize missing_procedures_to_check generation code
2021-08-03 14:17:39 +01:00
gingerBill
b036cc9013
Add missing_procedures_to_check to lbModule
2021-08-03 14:13:38 +01:00
gingerBill
3a8ac92995
Add sanity check in lb_create_procedure
2021-08-03 13:49:01 +01:00
gingerBill
67bedcba4b
Reorganize stages in checker
2021-08-03 13:41:28 +01:00
gingerBill
4987ef89f1
Reorganize some of the checker stages
2021-08-03 13:40:47 +01:00
gingerBill
545b345eea
Remove optimizations in tokenizer and default to older code (same logic) (optimize later)
2021-08-03 13:33:01 +01:00
gingerBill
3e961af5f1
Sort files by name in packages
2021-08-02 22:55:22 +01:00
gingerBill
9e6e769141
Add sanity checks to checker
2021-08-02 18:32:17 +01:00
Jeroen van Rijn
c0f746a251
Merge pull request #1065 from Kelimion/string_cut
...
Add `strings.cut`, which returns a substring.
2021-08-02 18:09:59 +02:00
gingerBill
ccbdf086ff
Add @(warning=<string>)
2021-08-02 16:58:50 +01:00
Jeroen van Rijn
d260ca6738
string.cut uses context.allocator by default.
2021-08-02 17:58:42 +02:00
gingerBill
b0e64ca7e8
Prepare tokenizer for optimizations
2021-08-02 16:47:32 +01:00
gingerBill
7f3d4cb504
Remove the literal conversion logic to the parser from the tokenizer
2021-08-02 00:53:45 +01:00
gingerBill
97be36d18a
Replace line with column_minus_one in Tokenizer; Remove dead code
2021-08-02 00:26:54 +01:00
gingerBill
be76da2c90
Begin optimizing tokenizer; Replace gb_utf8_decode with utf8_decode (CC but easier to change later)
2021-08-01 23:56:17 +01:00
gingerBill
b1a8357f50
Clean up a bit of the tokenizer code so that the semicolon insertion rules are in one place
2021-08-01 22:41:00 +01:00
Jeroen van Rijn
0dc900ba34
Add strings.cut, which returns a substring.
2021-08-01 19:41:20 +02:00
gingerBill
700624119b
Give begin_error_block its own recursive mutex
2021-07-29 12:35:11 +01:00
gingerBill
af32aba7fc
Modify MPMCQueue behaviour to use i32 over isize; Correct cache line padding within MPMCQueue
2021-07-28 00:59:30 +01:00
gingerBill
541c79c01a
Add mutex for @(builtin) attributes
2021-07-28 00:27:16 +01:00
gingerBill
358226468d
EXPERIMENT: Set DEFAULT_TO_THREADED_CHECKER on all platforms
2021-07-27 23:55:55 +01:00
gingerBill
d1e5f34f76
Use DEFAULT_TO_THREADED_CHECKER
2021-07-27 23:55:19 +01:00
gingerBill
416dd93bf7
Add accidentally removed call
2021-07-27 23:39:35 +01:00
gingerBill
7c80577160
Correct race condition on untyped expr info map logic on global evaluations
2021-07-27 23:37:55 +01:00
gingerBill
a5d6fda433
Define which mutexes are blocking and recursive explicitly
2021-07-27 23:14:01 +01:00
gingerBill
4bc3796f9b
Short circuit check_with_workers logic on worker_count == 0
2021-07-27 23:00:51 +01:00
gingerBill
5e12f5a746
Unify threading logic
2021-07-27 22:55:32 +01:00
gingerBill
4080ba4026
Remove global semaphore and place in CheckerInfo
2021-07-27 21:42:43 +01:00
gingerBill
e17593be94
Remove dead mutex
2021-07-27 21:14:06 +01:00
gingerBill
44aa69748c
Correct logic for check_import_entities - collect file decls
2021-07-27 21:13:03 +01:00
gingerBill
9cd5ea59dd
Big simplification and improvement of the entity collection system, reducing unneeded steps for packages
2021-07-27 20:45:50 +01:00
gingerBill
116e98b378
Improve default scope size
2021-07-27 10:59:39 +01:00
gingerBill
ae25787f48
Fix syntax error for a missing package name
2021-07-26 11:43:17 +01:00
gingerBill
08dc829b70
Manually short circuit in lb_build_if_stmt for constant conditions
2021-07-26 10:59:07 +01:00
gingerBill
3ac674cf02
Fix typo
2021-07-25 13:12:09 +01:00
gingerBill
6cd06ab95f
Minor fix
2021-07-25 13:07:31 +01:00
gingerBill
99080d41f3
INTERNAL USE ONLY: //+lazy build flag
2021-07-25 13:06:09 +01:00
gingerBill
92f3567ee6
Default to using a threaded checker on Windows; Add -no-threaded-checker for Windows
2021-07-24 18:00:19 +01:00
Jeroen van Rijn
481fc8a5b6
Merge pull request #1060 from Kelimion/win_sys
...
Allow `core:sys/windows` to build on Windows only
2021-07-15 12:15:10 +02:00
Jeroen van Rijn
5dfff51a40
Allow core:sys/windows to build on Windows only
2021-07-15 12:13:57 +02:00
gingerBill
2938ec028f
Remove dead code
2021-07-15 00:37:59 +01:00
gingerBill
981b9fb7a8
Remove need for scope mutex, make Scope singly linked list tree with atomic pointers
2021-07-14 23:49:35 +01:00
gingerBill
10f4d8df32
Override libtommath allocation procedures
2021-07-14 23:36:23 +01:00
gingerBill
e15858e2be
Remove random load balancing in thread_proc_body
2021-07-14 22:53:02 +01:00
gingerBill
6d8302825c
Add Greed Work Stealing and Random Load Balancing for check_procedure_bodies
2021-07-14 01:13:39 +01:00
gingerBill
fae8bf96dd
Muilthread check_collect_entities_all
2021-07-14 00:46:03 +01:00
gingerBill
bc59dc6389
Remove duplicate code
2021-07-14 00:36:48 +01:00
gingerBill
bd8e2f82be
Replace non-recursive mutexes with BlockingMutex; Minor improves to initialization improves
2021-07-14 00:34:34 +01:00
gingerBill
69027b6840
Remove dead mutexes
2021-07-13 23:10:12 +01:00
gingerBill
7a9b7af078
Reduce mutex usage and convert things to queues from arrays
2021-07-13 23:09:24 +01:00
gingerBill
31c7afce1b
Minor code clean up to reuse the ProcInfo consumption code
2021-07-13 21:19:13 +01:00
gingerBill
bab1873416
Require throughput pass results with -show-more-timings -show-debug-messages rather than just the former flag
2021-07-13 18:39:11 +01:00
gingerBill
5e2950e9fb
Move asserts around
2021-07-13 18:35:23 +01:00
gingerBill
74c019f271
Correct lb_big_int_to_llvm
2021-07-13 18:32:53 +01:00
gingerBill
a745bb8f42
Add extra message to assert
2021-07-13 18:21:53 +01:00
gingerBill
da9870c77d
Do manual byte swapping for endianness in lb_big_int_to_llvm
2021-07-13 18:15:47 +01:00
gingerBill
698eeaf7c3
Add (internal flag) -show-debug-messages
2021-07-13 17:40:06 +01:00
gingerBill
bd954d9990
Minor code reorganization
2021-07-13 17:28:39 +01:00
gingerBill
4ded42a33b
Split up cycle check and adding type info timings
2021-07-13 17:24:20 +01:00
gingerBill
1877965ac3
Short on -threaded-checker
2021-07-13 17:04:08 +01:00
gingerBill
cec2309504
Big improvement to the -threaded-checker code, unifying the logic and simplify behaviour
2021-07-13 16:58:40 +01:00
gingerBill
ed5a4afc8c
Temporarily disable -threaded-checker; Restructure the untyped-expr-info system to be much more thread-friendly
2021-07-13 15:54:56 +01:00
gingerBill
f29b51efdd
Fix gb_shuffle
2021-07-13 13:09:55 +01:00
gingerBill
3930a32b0c
enum Addressing_Mode : u8;
2021-07-12 16:45:54 +01:00
gingerBill
76707e1d2f
Add sanity casts for 32/64 bit correctness
2021-07-12 11:03:12 +01:00
gingerBill
ff2e5c3efe
Simplify big_int_not for negative inputs
2021-07-11 17:43:56 +01:00
gingerBill
3600b2e209
Merge pull request #1057 from odin-lang/new-big-int-library-integration
...
New Big Int Library Integration
2021-07-11 17:20:57 +01:00
gingerBill
eb36a0f3b1
Remove dead file
2021-07-11 16:35:04 +01:00
gingerBill
b397254696
Rename libtommath.c to libtommath.cpp
2021-07-11 16:33:58 +01:00
gingerBill
9a37d3b6e5
Add -Wno-unused-value
2021-07-11 16:29:51 +01:00
gingerBill
51c4a19234
Fix tab and space issue in Makefile
...
FUCK DO I HATE Makefile whitespace sensitivity between spaces and tabs
2021-07-11 16:26:21 +01:00
gingerBill
a1a1668dcf
Update build.bat and Makefile
2021-07-11 16:23:25 +01:00
gingerBill
e308098f18
Add libtommath.c
2021-07-11 16:19:20 +01:00
gingerBill
63b572a0ab
Clean up big int to LLVM integer code
2021-07-11 16:18:30 +01:00
gingerBill
e90e7d4af9
Change mp_clear calls to big_int_dealloc
2021-07-11 16:10:04 +01:00
gingerBill
460e14e586
Change the compiler's big integer library to use libTomMath
...
This now replaces Bill's crappy big int implementation
2021-07-11 16:08:16 +01:00
gingerBill
ebcabb8a27
Add sanity conversion check for integer to quaternion
2021-07-11 00:51:56 +01:00
gingerBill
257b749e9d
Minimize mutex usage in update_expr_type
2021-07-11 00:21:31 +01:00
gingerBill
d9e6ade030
Add experimental support for a threaded semantic checker to -threaded-checker
2021-07-10 23:51:37 +01:00
gingerBill
690374d4de
Fix typo
2021-07-10 23:07:42 +01:00
gingerBill
adb25d9d19
Convert constant tag to the correct type for LLVMAddCase
2021-07-10 22:29:52 +01:00
gingerBill
2949e4b0c7
Fix floattidf typo
2021-07-10 22:23:22 +01:00
gingerBill
6de0181c75
Minor improvements to Map and StringMap
2021-07-10 21:51:39 +01:00
gingerBill
8a6b743d2a
Simplify thread_pool_wait_to_process
2021-07-10 21:50:19 +01:00
gingerBill
ed8a6f872d
Move things around for sanity checking for multithread preparation
2021-07-10 21:29:49 +01:00
gingerBill
0a61d4bf2b
Use next_pow2_isize
2021-07-10 19:57:54 +01:00
gingerBill
332461c0d2
Add prototypes for next_pow2
2021-07-10 19:52:26 +01:00
gingerBill
d8abe7fc4d
Implement MPMCQueue for procedure body checking
...
This is preparation for basic multithreading in the semantic checker
2021-07-10 19:50:34 +01:00
gingerBill
ec9667ef5a
Remove debug code
2021-07-10 17:11:54 +01:00
gingerBill
9f7154a039
Prepare for multithreading the semantic checker by giving mutexes to variables of contention
...
NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
2021-07-10 15:14:25 +01:00
gingerBill
4a932616fc
Improve CheckerContext usage
2021-07-10 13:02:13 +01:00
gingerBill
73fe36f19c
Remove dead variable
2021-07-10 11:59:41 +01:00
gingerBill
4167ae95ae
Fix #1050
2021-07-10 11:48:28 +01:00
gingerBill
13c3c5be95
Fix #1028
2021-07-10 11:46:22 +01:00
gingerBill
3afec0bcbe
Fix #1054
2021-07-10 11:42:21 +01:00
gingerBill
8b1bfc80fb
Fix #1051
2021-07-10 11:27:38 +01:00
gingerBill
3662275119
Allow x in ptr_to_map_or_bit_set
2021-07-10 11:18:19 +01:00
gingerBill
141573c18c
Enable Damerau-Levenshtein
2021-07-10 11:09:24 +01:00
gingerBill
e692efbe09
Improve update expr type semantics for ternary expressions
2021-07-10 11:08:51 +01:00
gingerBill
f6c1a5bf6e
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-07-09 15:33:30 +01:00
gingerBill
6afc28f827
Use builtin.min and builtin.max in package slice
2021-07-09 15:33:25 +01:00
gingerBill
df6681ad4e
Merge pull request #1055 from streof/fix-typos-container-package
...
Fix typos container package
2021-07-09 13:27:03 +01:00
streof
114efbc57c
Fix error: Cannot assign to a procedure parameter
2021-07-09 14:03:49 +02:00
streof
2c71494ad1
Fix error: Undeclared name: p
2021-07-09 13:54:27 +02:00
gingerBill
35230b1a11
Add "Suggestion: Did you mean?" for selector expression typos
2021-07-08 23:15:07 +01:00
gingerBill
7acbf8b7b9
Add slice.min and add slice.max
2021-07-08 11:23:07 +01:00
gingerBill
f7413ca974
Fix thread_unix.odin
2021-07-05 16:36:07 +01:00
gingerBill
9b3a0251ca
Use or_else in the core library when it makes sense
2021-07-05 16:33:01 +01:00
gingerBill
3b9ca8535f
Fix comments
2021-07-05 16:26:11 +01:00
gingerBill
a98eee145d
Remove try; Replace try x else y with or_else(x, y)
2021-07-05 16:23:13 +01:00
gingerBill
c6b9b3b9a4
Fix try parsing for expression statements
2021-07-04 22:52:12 +01:00
gingerBill
a4be1a5e4c
delete_key now returns the deleted key and deleted value (if found)
2021-07-04 18:52:47 +01:00
gingerBill
ee908c00de
Add documentation for the overview of package fmt
2021-07-04 18:21:41 +01:00
gingerBill
46264032aa
Improve error messages for try expressions
2021-07-04 12:50:44 +01:00
gingerBill
4b831dbddd
Try try and or_else built-in procedures with operators try and try else
2021-07-04 12:37:21 +01:00
gingerBill
a01d6dcea7
Refactor return logic to be more reusable with lb_emit_try
2021-07-04 01:57:38 +01:00
gingerBill
01a15f78e6
Simplify lb_emit_try return logic
2021-07-04 01:50:37 +01:00
gingerBill
5f71c41582
Fix lb_emit_try
2021-07-04 01:47:43 +01:00
gingerBill
e8f2c5a48a
[Experimental] Add 'try' and `or_else' built-in procedures
2021-07-04 01:38:43 +01:00
gingerBill
1c76577918
Add slice.sort_by_cmp Ordering based sorting algorithms
2021-07-03 15:16:44 +01:00
gingerBill
4285b58aaa
Add #no_bounds_check to linalg procedures
2021-07-03 14:38:41 +01:00
gingerBill
9cc366de97
Be more consistent with runtime intrinsics usage
2021-07-03 14:38:15 +01:00
gingerBill
212d294b84
Deprecate sort.slice and sort.reverse_slice
2021-07-03 14:37:55 +01:00
gingerBill
d6125f05d4
Correct does_field_type_allow_using
2021-06-29 12:35:15 +01:00
gingerBill
ad22eda87c
Improve linalg.transpose type determination for square matrices
2021-06-28 13:23:28 +01:00
gingerBill
8d31ba492d
Fix #1042
2021-06-28 11:32:23 +01:00
gingerBill
8f611b3399
Fix #1043
2021-06-28 11:21:03 +01:00
gingerBill
618f858930
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-06-28 11:06:00 +01:00
gingerBill
185277a2b6
Fix swizzling of pointers to arrays
2021-06-28 11:05:52 +01:00
Jeroen van Rijn
8e5c3141f6
Merge pull request #1047 from Kelimion/zlib_optimize
...
ZLIB: Fix edge case where initial buffer < 258 bytes.
2021-06-27 18:49:09 +02:00
Jeroen van Rijn
87aaa9c3f0
ZLIB: Fix edge case where initial buffer < 258 bytes.
2021-06-27 18:44:36 +02:00
Jeroen van Rijn
095605b7db
Merge pull request #1046 from Kelimion/zlib_optimize
...
ZLIB: Optimize
2021-06-27 16:54:15 +02:00
Jeroen van Rijn
6836b501af
Merge branch 'master' into zlib_optimize
2021-06-27 16:50:27 +02:00
Jeroen van Rijn
d949d5a046
ZLIB: cleanup.
2021-06-27 16:48:12 +02:00
Jeroen van Rijn
064516bf0b
PNG: Inform inflate about expected output size for extra speed.
2021-06-27 13:57:12 +02:00
Jeroen van Rijn
eaf88bcc4d
PNG: Let PNG use the new compress I/O routines.
2021-06-27 13:51:52 +02:00
gingerBill
76d3bab955
Modify scope finding rules for distinct types in lb_debug_type
2021-06-27 12:21:11 +01:00
Jeroen van Rijn
02f9668185
ZLIB: Split up input from stream and memory into own code paths.
2021-06-27 13:19:24 +02:00
gingerBill
abda75feee
Add bufio.Lookahead_Reader
2021-06-26 23:45:45 +01:00
gingerBill
a779cb2798
Fix #1044
2021-06-26 23:31:04 +01:00
gingerBill
5e42675b42
Allow alternative syntax for offset_of: offset_of(Type, field), offset_of(value.field)
2021-06-26 23:19:46 +01:00
gingerBill
11c565e199
Fix semicolon insertion rule for ---
2021-06-26 22:47:12 +01:00
Jeroen van Rijn
4689a6b341
Refactor compress.Context struct.
2021-06-26 22:25:55 +02:00
Jeroen van Rijn
30a5808460
ZLIB: Moar faster.
2021-06-26 20:40:39 +02:00
Jeroen van Rijn
8ba1c9a6cd
ZLIB: Remove superfluous code.
2021-06-26 17:44:12 +02:00
Jeroen van Rijn
65b78b1aa9
So far, so good.
2021-06-26 15:11:15 +02:00
Jeroen van Rijn
c369719362
Merge branch 'master' into zlib_optimize
2021-06-26 13:40:22 +02:00
Jeroen van Rijn
40a12cca53
ZLIB: If output size is known, reserve that much.
2021-06-26 13:17:14 +02:00
gingerBill
d8940f5fd7
Support compound literals for struct #raw_union types
2021-06-26 12:08:14 +01:00
gingerBill
74dee82dbf
Fix compiler errors
2021-06-25 14:33:42 +01:00
gingerBill
f1cf724bd4
Add bufio.Scanner
2021-06-25 14:31:35 +01:00
gingerBill
fc809d3fad
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-06-24 19:41:36 +01:00
gingerBill
42d135aade
Change logic for comparison against nil for array-like data types (compare the pointer rather than the length/capacity)
2021-06-24 19:39:51 +01:00
Jeroen van Rijn
ab12ca69af
Merge pull request #1040 from Kelimion/zlib_optimize
...
Adler32 speedup.
2021-06-24 19:15:22 +02:00
Jeroen van Rijn
17748f18b9
Adler32 speedup.
2021-06-24 19:06:39 +02:00
gingerBill
3803bdff5f
Allow bufio.Reader and bufio.Writer to have a configurable max_consecutive_empty_(reads|writes) field
2021-06-24 15:56:58 +01:00
gingerBill
0a94a67190
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-06-24 15:55:50 +01:00
gingerBill
8dcb14fbc2
Add helper procedures for strings.Reader creation
2021-06-24 15:55:42 +01:00
Jeroen van Rijn
f62f40e508
Merge pull request #1039 from Kelimion/zlib_optimize
...
ZLIB: Another 10%+ faster.
2021-06-24 15:02:02 +02:00
Jeroen van Rijn
980aa37bee
ZLIB: Another 10%+ faster.
2021-06-24 14:56:28 +02:00
gingerBill
1e9cc058a0
Update hash.crc32 to use slicing-by-8 algorithm to improve throughput by ~3.5x
2021-06-24 00:03:59 +01:00
Jeroen van Rijn
824efc82b9
Merge pull request #1036 from Kelimion/zlib_optimize
...
ZLIB: More faster.
2021-06-23 22:25:02 +02:00
Jeroen van Rijn
1cfe226686
ZLIB: More faster.
2021-06-23 22:18:17 +02:00
Jeroen van Rijn
ea0ce7bd2c
Merge pull request #1035 from Kelimion/zlib_optimize
...
Zlib optimize
2021-06-23 20:15:32 +02:00
Jeroen van Rijn
342adb627d
All reads now skip stream if in memory.
2021-06-23 16:32:48 +02:00
Jeroen van Rijn
a70635d2f6
Most reads now go through buffer for zlib.
2021-06-23 16:32:48 +02:00
Jeroen van Rijn
5cb16c4cd1
All reads now go through read_slice.
2021-06-23 16:32:48 +02:00
Jeroen van Rijn
538004ba5f
Introduce read_slice, make read_u8 use it.
2021-06-23 16:32:48 +02:00
Jeroen van Rijn
8663c64e47
Refactor ZLIB structs.
2021-06-23 16:32:47 +02:00
gingerBill
bb3ffdbdfb
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-06-23 14:55:53 +01:00
gingerBill
fcf7cf973b
Add documentation for -verbose-errors
2021-06-23 14:55:40 +01:00
Jeroen van Rijn
fb2e1c32bd
Merge pull request #1034 from Kelimion/bytes_util
...
Move `bytes` utils back to EXR code for the time being.
2021-06-22 16:48:07 +02:00
Jeroen van Rijn
ae0b8fce44
Move bytes utils back to EXR code for the time being.
...
Also, allow PNG example to be run directly from `core:image/png` directory.
2021-06-22 16:39:00 +02:00
Jeroen van Rijn
d2e55f9ffa
Merge pull request #1032 from Kelimion/png_fix
...
PNG: Fix leak if you don't ask for metadata.
2021-06-21 22:56:39 +02:00
Jeroen van Rijn
d5e2b387fa
PNG: Fix leak if you don't ask for metadata.
2021-06-21 22:47:54 +02:00
Jeroen van Rijn
922b511a24
Merge pull request #1031 from Kelimion/zlib_fix
...
ZLIB: fix.
2021-06-21 22:16:56 +02:00
Jeroen van Rijn
9de9111082
ZLIB: fix.
2021-06-21 22:15:04 +02:00
Jeroen van Rijn
5a7fe2e3d9
Merge pull request #1030 from Kelimion/zlib_optimize
...
Comment out tracy imports.
2021-06-21 21:43:57 +02:00
Jeroen van Rijn
1e8c12c2a3
Comment out tracy imports.
2021-06-21 21:41:56 +02:00
Jeroen van Rijn
b92c70e55c
Merge pull request #1029 from Kelimion/zlib_optimize
...
ZLIB: Start optimization.
2021-06-21 21:26:52 +02:00
Jeroen van Rijn
352494cbb4
ZLIB: Start optimization.
2021-06-21 21:05:52 +02:00
Jeroen van Rijn
797c41950a
Merge pull request #1027 from Kelimion/png
...
Replace `core:image`'s `sidecar` with explicit pointer and type
2021-06-21 16:41:38 +02:00
Jeroen van Rijn
e036a321a0
Replace core:image's sidecar with explicit metadata_ptr and metadata_type.
...
To unpack, use:
```odin
v: ^png.Info;
if img.metadata_ptr != nil && img.metadata_type == png.Info {
v = (^png.Info)(img.metadata_ptr);
...
}
```
2021-06-21 16:32:42 +02:00
Jeroen van Rijn
18471f358e
Merge pull request #1025 from Kelimion/png_info
...
Change PNG's img.sidecar to ^Info, make img.depth an int.
2021-06-20 18:40:46 +02:00
Jeroen van Rijn
55d09251d8
Change PNG's img.sidecar to ^Info, make img.depth an int.
...
For compatibility with the upcoming OpenEXR code, img.depth is now an int.
Like OpenEXR's code, it will now also return metadata as ^Info instead of Info.
The example was updated to retrieve the metadata this way.
It regrettably does not fix : #1018 . That seems to be a codegen issue in the test runner or elsewhere.
2021-06-20 18:27:23 +02:00
Jeroen van Rijn
d66fd71d21
Merge pull request #1024 from Kelimion/defer_fix
...
GZIP defer diverging fix in gzip example.
2021-06-20 17:40:15 +02:00
Jeroen van Rijn
f10fc2a494
Merge pull request #1023 from Kelimion/test_runner_fix
...
Fix Windows test runner.
2021-06-20 17:37:04 +02:00
Jeroen van Rijn
055d8c5370
Fix Windows test runner.
2021-06-20 17:33:39 +02:00
Jeroen van Rijn
955472bd21
GZIP defer diverging fix in gzip example.
2021-06-20 17:21:18 +02:00
gingerBill
a2d5f660ed
Merge pull request #1022 from Kelimion/buffer_convert
...
Add `bytes.buffer_create_of_type` and `bytes.buffer_convert_to_type`.
2021-06-18 16:41:48 +01:00
Jeroen van Rijn
8a4b9ddaa3
Fix comment.
2021-06-18 15:42:04 +02:00
Jeroen van Rijn
54a2b6f00e
Add bytes.buffer_create_of_type and bytes.buffer_convert_to_type.
...
Convenience functions to reinterpret or cast one buffer to another type, or create a buffer of a specific type.
Example:
```odin
fmt.println("Convert []f16le (x2) to []f32 (x2).");
b := []u8{0, 60, 0, 60}; // == []f16{1.0, 1.0}
res, backing, had_to_allocate, err := bytes.buffer_convert_to_type(2, f32, f16le, b);
fmt.printf("res : %v\n", res); // [1.000, 1.000]
fmt.printf("backing : %v\n", backing); // &Buffer{buf = [0, 0, 128, 63, 0, 0, 128, 63], off = 0, last_read = Invalid}
fmt.printf("allocated: %v\n", had_to_allocate); // true
fmt.printf("err : %v\n", err); // false
if had_to_allocate { defer bytes.buffer_destroy(backing); }
fmt.println("\nConvert []f16le (x2) to []u16 (x2).");
res2: []u16;
res2, backing, had_to_allocate, err = bytes.buffer_convert_to_type(2, u16, f16le, b);
fmt.printf("res : %v\n", res2); // [15360, 15360]
fmt.printf("backing : %v\n", backing); // Buffer.buf points to `b` because it could be converted in-place.
fmt.printf("allocated: %v\n", had_to_allocate); // false
fmt.printf("err : %v\n", err); // false
if had_to_allocate { defer bytes.buffer_destroy(backing); }
fmt.println("\nConvert []f16le (x2) to []u16 (x2), force_convert=true.");
res2, backing, had_to_allocate, err = bytes.buffer_convert_to_type(2, u16, f16le, b, true);
fmt.printf("res : %v\n", res2); // [1, 1]
fmt.printf("backing : %v\n", backing); // Buffer.buf points to `b` because it could be converted in-place.
fmt.printf("allocated: %v\n", had_to_allocate); // false
fmt.printf("err : %v\n", err); // false
if had_to_allocate { defer bytes.buffer_destroy(backing); }
```
2021-06-18 15:25:36 +02:00
gingerBill
abe728dbbb
Add intrinsics.type_is_endian_platform
2021-06-17 20:39:00 +01:00
gingerBill
574ceb37a9
Correct selector call expression chaining behaviour (a bit of a hack)
2021-06-16 17:04:05 +01:00
gingerBill
dbdc4471c2
Fix double evaluation bug with selector call expressions x->y(z)
2021-06-16 14:03:12 +01:00
gingerBill
af95381bf8
Add missing -> ! annotation
2021-06-16 12:12:24 +01:00
gingerBill
41f2539484
Improve logic for diverging procedures by checking if it terminates
2021-06-16 12:07:24 +01:00
gingerBill
8f57bb0799
Add unreachable detection for deferred statements in a scope which contains a diverging procedure call
...
```odin
{
defer foo(); // Unreachable defer statement due to diverging procedure call at the end of the current scope
os.exit(0);
}
```
2021-06-16 11:41:29 +01:00
gingerBill
84a4188c72
Fix #1017
2021-06-15 01:16:19 +01:00
gingerBill
31f1e0aeae
Fix #1019
2021-06-15 01:13:16 +01:00
gingerBill
4b8cbb5a3b
Fix #1015
2021-06-14 13:26:28 +01:00
gingerBill
3e7aabe6d8
Change uses for parapoly records to use $ always
2021-06-14 11:43:35 +01:00
gingerBill
d4df325e0a
Just create context when required
2021-06-14 11:41:50 +01:00
gingerBill
9f8a63cb43
More minor stylization changes (remove unneeded parentheses)
2021-06-14 11:34:31 +01:00
gingerBill
6f745677b4
Minor formatting changes
2021-06-14 11:30:00 +01:00
gingerBill
86649e6b44
Core library clean up: Make range expressions more consistent and replace uses of .. with ..=
2021-06-14 11:15:25 +01:00
gingerBill
3ca887a60a
Add struct_fields_zipped and enum_fields_zipped (allowing for iteration through an #soa slice)
2021-06-14 11:04:51 +01:00
gingerBill
312a1e8a94
Fix context logic
2021-06-13 16:00:20 +01:00
gingerBill
9a311ab9e7
Remove dead code
2021-06-12 16:47:20 +01:00
gingerBill
7d92eaaeb2
Correct context logic in lb_build_addr
2021-06-12 16:45:44 +01:00
gingerBill
582f423b67
Improve vector arithmetic generation for array programming operations
2021-06-12 16:37:20 +01:00
gingerBill
c2524464f9
Fix remove_temp_files
2021-06-12 16:23:41 +01:00
gingerBill
55e472cdb6
Fix linkage problem for procedures required by LLVM
2021-06-10 12:23:08 +01:00
gingerBill
e6ad773a88
Minor code clean up
2021-06-09 23:47:44 +01:00
gingerBill
82eae32bca
Improve code generation for type switch statements to use a jump table by default
2021-06-09 23:46:00 +01:00
gingerBill
b0e21bd616
Allow trivial optimizations for switch statements of typeid
2021-06-09 23:05:37 +01:00
gingerBill
7b88bed098
Do trivial SwitchInstr optimization for constant case switch statements
2021-06-09 22:55:08 +01:00
gingerBill
28abf5d33b
Correct minimum dependency for complex32
2021-06-08 21:20:33 +01:00
gingerBill
fb8ad338d0
Keep -vet happy
2021-06-08 18:26:38 +01:00
gingerBill
ee60be0137
Improve code generation hints for return statements which return by pointer
2021-06-08 17:17:53 +01:00
gingerBill
9efd4c5097
Aid code generation on non-release builds
2021-06-08 17:17:24 +01:00
gingerBill
f30e6f50bd
Reorganize code to improve code generation
2021-06-08 16:21:19 +01:00
gingerBill
8ec2ca9dcd
Remove context.thread_id
2021-06-08 15:57:00 +01:00
gingerBill
f19bb0f4d4
Make default calling convention code more correct to read
2021-06-08 14:33:49 +01:00
gingerBill
76bb82a726
Minor alignment cleanup for swizzle load
2021-06-08 14:27:36 +01:00
gingerBill
8e62f9c83c
Correct is_operand_value for Swizzle addressing modes
2021-06-08 14:23:44 +01:00
gingerBill
696f758435
Fix and improve swizzle loads for ordered indices
2021-06-08 14:19:27 +01:00
gingerBill
6421152104
Fix show-timings header for -lld on windows
2021-06-08 13:19:19 +01:00
gingerBill
1e989f5c10
Fix -lld on Windows
2021-06-08 13:10:22 +01:00
gingerBill
3eb42ecb55
Minor improvements to -use-separate-modules
2021-06-08 13:00:20 +01:00
gingerBill
286cb60c45
Minor changes to tools/odinfmt
2021-06-08 12:18:55 +01:00
gingerBill
28e9a4f79c
Replace js_wasm32 with freestanding_wasm32
2021-06-08 12:18:26 +01:00
gingerBill
e79fb68291
Correct #soa type creation
2021-06-08 11:23:23 +01:00
gingerBill
16eaa17ed9
Fix -target:js_wasm32 for core:runtime
2021-06-08 11:20:39 +01:00
gingerBill
9491c13a5c
Fix #1011 by unifying the logic
2021-06-08 11:09:41 +01:00
gingerBill
8d8adac1b4
Fix lb_build_defer_stmt
2021-06-08 10:43:11 +01:00
gingerBill
ba6c63e366
Fix full_path_from_name allocator behaviour
2021-06-08 10:14:35 +01:00
gingerBill
963b1a12d7
Correct code for #simd in unions
2021-06-06 16:56:03 +01:00
gingerBill
89890d7900
Correct union tag size for large alignments
2021-06-06 16:34:51 +01:00
gingerBill
661fcad895
Add examples/all which imports every package
...
This is useful for knowing what exists and producing documentation with `odin doc`
2021-06-06 13:05:54 +01:00
gingerBill
cef16feb0b
Fix #861 - Add extra check on missing main
2021-06-06 12:46:59 +01:00
gingerBill
84b851f578
Add warning to variables which may overflow the stack on declaration; #Fix 661
2021-06-06 12:42:39 +01:00
gingerBill
785c27daa7
Fix 128-bit integer to float cast by explicitly calling the procedure direct; Fix #781
2021-06-06 12:35:38 +01:00
gingerBill
795a5910cf
Add support for Addressing_OptionalOkPtr
...
Allowing for `i, ok := &x.(T);` (type assertions) and `v, ok := &m[k];` (map indexing)
2021-06-06 12:18:45 +01:00
gingerBill
4c21f9495d
Clean up lbAddr_Swizzle logic for load and store
2021-06-05 23:56:59 +01:00
gingerBill
f119fd1ee1
Use shufflevector when possible for lbAddr_Swizzle load
2021-06-05 22:50:23 +01:00
gingerBill
46ab822316
Improved lb_build_assign_stmt_array logic
2021-06-05 22:07:39 +01:00
gingerBill
104aea9f42
Improve error message for addressing a swizzle intermediate array value
2021-06-05 18:25:51 +01:00
gingerBill
a2f2041aa6
Fix lb_build_assign_stmt_array for lbAddr_Swizzle
2021-06-05 17:33:42 +01:00
gingerBill
599d18f26f
Experimental support for inline swizzling for array types of len <= 4 e.g. v.xyz, v.argb, v.xxx
2021-06-05 17:22:39 +01:00
gingerBill
61084d832d
Add missing doc_format flags for entities and improve docs for the odin package
2021-06-05 15:55:19 +01:00
gingerBill
b957996577
Add extra documentation to doc_format.odin
2021-06-05 15:26:05 +01:00
gingerBill
f41150f8e9
Fix transposing
2021-06-04 15:10:53 +01:00
gingerBill
21adad4e09
Fix typo
2021-06-04 15:09:55 +01:00
gingerBill
47f9e8f850
Fix ast_end_token for [?]T types
2021-06-03 11:35:27 +01:00
gingerBill
ba3f2a6a0c
All spaces in import-like paths
2021-06-03 10:28:45 +01:00
gingerBill
b9888f8f68
Fix linalg.transpose
2021-06-03 10:05:05 +01:00
gingerBill
32cda5d56a
Or did it?!
2021-06-02 22:12:38 +01:00
gingerBill
a4d9847f45
FINALLY fix lazy_buffer_destroy
2021-06-02 22:12:20 +01:00
gingerBill
8aa6d70dec
Fix filepath.lazy_buffer
2021-06-02 12:21:20 +01:00
gingerBill
ea6b222430
Clean up filepath.lazy_buffer memory leak
2021-06-02 12:19:25 +01:00
gingerBill
91b4bf3daa
Minor clean up
2021-06-02 10:39:47 +01:00
gingerBill
8c943eb054
Make inline array arithmetic use load+extractvalue rather than getelementptr+load to give the optimizer a better hint for vectorization
2021-06-01 10:51:54 +01:00
gingerBill
446703ba75
Improves to array arithmetic on += etc assignment statements
2021-06-01 10:37:31 +01:00
gingerBill
266b5d7d85
Fix container/map.odin
2021-06-01 09:26:01 +01:00
gingerBill
d90adb7a8e
Fix #998
2021-05-31 21:03:50 +01:00
gingerBill
2573da12fc
Fix #992
2021-05-31 20:58:28 +01:00
gingerBill
bbc9c6a93c
Fix #999
2021-05-31 20:56:07 +01:00
gingerBill
673134185a
Fix #996
2021-05-31 20:54:09 +01:00
gingerBill
3bf00e6125
Comment on the required generate_minimum_dependency_set entities
2021-05-31 20:50:21 +01:00
gingerBill
8fd4fe25d6
Remove unneeded minimum dependencies
2021-05-31 20:44:48 +01:00
gingerBill
ea1dc5373d
Remove unneeded dependencies
2021-05-31 20:39:48 +01:00
gingerBill
b8d6dd4eb7
Fix #1004
2021-05-31 20:38:10 +01:00
gingerBill
4d80f8598d
Fix polymorphic record "too few" lacking error message
2021-05-31 20:33:14 +01:00
Jeroen van Rijn
bc4591fc1e
Merge pull request #1006 from jockus/master
...
Fix for value rather than type used for intrinsics
2021-05-31 14:23:40 +02:00
Joakim Hentula
6465fb8ec7
Fix for value rather than type used for intrinsics
2021-05-31 13:21:13 +01:00
gingerBill
46204ed7f0
Update core:runtime to use the new intrinsics
2021-05-30 13:22:15 +01:00
gingerBill
0f91ffe28f
Add intrinsics.{ptr_offset, ptr_sub}
2021-05-30 13:21:56 +01:00
gingerBill
4b46d691f8
Improve logic for intrinsics.{mem_copy, mem_copy_non_overlapping, mem_zero} to use the *.inline LLVM variants when possible
2021-05-30 12:52:44 +01:00
gingerBill
599d0cf6ac
Merge pull request #1005 from Kelimion/maths
...
Add `abs_f16` support + endian versions of maths routines.
2021-05-30 11:48:17 +01:00
Jeroen van Rijn
d7dba495fd
Last of the Endian float in math.odin.
2021-05-29 18:27:43 +02:00
Jeroen van Rijn
c05f6b4a31
Even more Endian maths.
2021-05-29 17:52:47 +02:00
Jeroen van Rijn
a0a578c72a
More Endian version of maths procs.
2021-05-29 17:21:54 +02:00
Jeroen van Rijn
55fc2c00c0
Add Endian versions of math routines.
2021-05-29 16:22:47 +02:00
Jeroen van Rijn
6944e2fc04
Add abs_f16 dependency when used.
2021-05-29 15:33:11 +02:00
gingerBill
c8b353b6d8
Makefile fix
2021-05-27 14:59:45 +01:00
gingerBill
6a8a31824d
Minor change to Makefile
2021-05-27 14:55:12 +01:00
gingerBill
275b8d2e8a
Merge pull request #925 from Kelimion/testing
...
Fix `core:sys/win32` tests to use `core:testing`.
2021-05-27 14:51:09 +01:00
gingerBill
8cfdd9805d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-27 14:46:10 +01:00
gingerBill
7d304f4e8b
Convert tabs to spaces for Makefile (stupid make)
2021-05-27 14:45:57 +01:00
gingerBill
b65e5d5e03
Merge pull request #1003 from jockus/master
...
Fix deleting substring in filepath.rel
2021-05-27 13:35:46 +01:00
jockus
b110153b51
Fix accidental removal of newline
2021-05-27 12:04:24 +01:00
jockus
b261937233
Remove accidental core:fmt include in path/filepath
2021-05-27 12:03:37 +01:00
jockus
4455ba5b65
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-27 12:01:28 +01:00
jockus
e8aa767c8d
Fix deleting substring in filepath.release
2021-05-27 12:01:13 +01:00
gingerBill
bb7bd94b0a
Fix comparison bug of enumerated arrays
2021-05-27 09:52:50 +01:00
gingerBill
4a886a1bc5
Disable copy elision on assignments for the time being
2021-05-25 15:43:34 +01:00
gingerBill
c21c754b6f
Minimize copying on getting the address of a call if required
2021-05-24 23:51:01 +01:00
gingerBill
e948fcd2f1
Use intrinsics.mem_zero in runtime.mem_zero
2021-05-24 22:41:18 +01:00
gingerBill
0c46d06e63
Add intrinsics.mem_zero
2021-05-24 22:39:27 +01:00
gingerBill
44b6e7c45d
Move the mem zero into a separate procedure for reuse
2021-05-24 22:32:38 +01:00
gingerBill
284a2631fd
Refactoring of lbFunctionType retrieval
2021-05-24 22:16:22 +01:00
gingerBill
3f156bcb4b
Refactor backend code for assignments; Refactor some statements into separate procedures
2021-05-24 22:09:21 +01:00
gingerBill
d35a9e65b6
Heavily improve the copy elision logic in the backend
2021-05-24 20:57:44 +01:00
gingerBill
c440296ae8
Add @(link_section=<string>) for global variables
2021-05-24 15:41:22 +01:00
gingerBill
79f115d6a7
Handle #c_vararg correctly
2021-05-24 14:46:03 +01:00
gingerBill
39eccdf6b9
Make js default to nil allocator for the time being
2021-05-23 15:17:58 +01:00
gingerBill
71cfa0c9fe
Clean up organization of package runtime
2021-05-23 12:13:13 +01:00
gingerBill
e82f8214e8
Add bytes.remove, bytes.remove_all, strings.remove, strings.remove_all
2021-05-23 11:46:43 +01:00
gingerBill
b8f8d4c3a1
Modify ABI for the Odin calling conventions on SysV slightly
2021-05-22 11:33:08 +01:00
gingerBill
9e2eb717fe
Correct newline_limit logic
2021-05-21 15:22:35 +01:00
gingerBill
f0c9f82e1b
Minor changes to printer to use a bit set rather than booleans for list options
2021-05-21 13:42:29 +01:00
gingerBill
cc1d3a7b19
parser.check_poly_params_for_type
2021-05-21 13:07:00 +01:00
gingerBill
159daba759
Fix ast_end_token
2021-05-21 12:44:45 +01:00
gingerBill
d7e85725e1
General improves to formatting for the visitor
2021-05-21 11:16:07 +01:00
gingerBill
247f4f3293
Fix ..= logic in the backend
2021-05-21 10:51:19 +01:00
gingerBill
8758afdf4e
General fixes for odinfmt
2021-05-21 10:21:23 +01:00
gingerBill
362f07d7c5
Merge pull request #997 from DanielGavin/prototype-fmt
...
Add odin/format and odin/printer packages
2021-05-20 21:02:26 +01:00
gingerBill
fe74b479c6
Begin changes to sync2
2021-05-20 21:02:05 +01:00
Daniel Gavin
44ee0f2cdc
Merge branch 'master' into prototype-fmt
2021-05-20 12:15:14 +02:00
Daniel Gavin
50035f257e
don't factor in the rhs length for lines that don't have Equal tokens.
2021-05-20 12:13:23 +02:00
gingerBill
92abddddc5
Be a little more correct with the temporary Ast node
2021-05-19 15:02:36 +01:00
gingerBill
4d580ed693
Keep -vet happy
2021-05-19 14:26:20 +01:00
gingerBill
9c54ed5792
Add range-based error messages to -verbose-errors
...
Example:
Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer'
x := (1 + 2) * true;
^~~~~~^
2021-05-19 14:15:57 +01:00
gingerBill
5108ebf015
Replace error calls with Token to use TokenPos
2021-05-19 13:02:44 +01:00
gingerBill
86dbcb1b20
Add -verbose-errors which shows the error in the line of code
2021-05-19 12:57:30 +01:00
gingerBill
3ac934dd15
Add suggestion for unused expression on x == y
...
Expression is not used: 'x == 123'
Suggestion: Did you mean to do an assignment?
'x = 123;'
2021-05-19 11:58:02 +01:00
gingerBill
26ce40c188
Remove @(static) for global variables
2021-05-19 11:51:48 +01:00
gingerBill
b34e4a9fd1
More minor linkage changes
2021-05-19 11:46:27 +01:00
gingerBill
28561ef5f5
Minor change to internal linkage stuff
2021-05-19 11:26:05 +01:00
gingerBill
10b798456c
Add soa_zip and soa_unzip to demo.odin
2021-05-19 10:55:56 +01:00
gingerBill
a580cdbe7b
Delete core:sync/sync2/channel* stuff (for the time being)
2021-05-19 10:50:27 +01:00
gingerBill
e82e4398b6
Add intrinsics.mem_copy and intrinsics.mem_copy_non_overlapping
2021-05-19 10:50:02 +01:00
gingerBill
e0225c3579
Add intrinsics.sqrt for floating-point values
2021-05-19 10:32:41 +01:00
gingerBill
8d044fd442
Minor ABI change and cleanup
2021-05-17 17:08:25 +01:00
gingerBill
6ef96d3300
Improve untyped to typed logic for aiding the backend
2021-05-16 14:44:02 +01:00
gingerBill
2e633f57a0
Add concrete type information for untyped values as procedure arguments
2021-05-16 13:00:16 +01:00
gingerBill
50369cf19c
Update LICENSE year
2021-05-16 12:48:36 +01:00
gingerBill
385385364b
Fix #988
2021-05-16 12:46:25 +01:00
gingerBill
9ccdc40f65
Make .Optional_Semicolons a flag for the parser
2021-05-16 12:43:35 +01:00
gingerBill
df3512b112
Make core:odin use a string for the source rather than []byte
2021-05-16 12:38:27 +01:00
gingerBill
ce08e832f7
Allow ..= alongside .. as a "full range" operator; Update core:odin/parser etc
2021-05-16 12:34:35 +01:00
gingerBill
24c89b3eee
Minor change
2021-05-16 00:29:22 +01:00
gingerBill
85e5be03d1
Redesign os2.Error to work with the new extended union behaviour
2021-05-16 00:25:47 +01:00
gingerBill
b1cfeb6c95
Add missing instruction to pass
2021-05-15 22:14:20 +01:00
gingerBill
fffb83282b
Add missing instructions to pass
2021-05-15 21:24:17 +01:00
gingerBill
1cf6b6679d
Add custom basic dead instruction elimination pass
2021-05-15 21:10:06 +01:00
gingerBill
7886798156
Add space
2021-05-15 19:49:48 +01:00
gingerBill
0ad599675e
Improve semicolon insertion rule for dummy tokens ++ and --
2021-05-15 19:47:00 +01:00
gingerBill
5d03bc61b8
Tokenize ++ and -- as tokens but disallow them in the parser, and give better error messages for they are used as operators/statements
2021-05-15 19:34:46 +01:00
gingerBill
5e31c04a01
Disallow duplicate unary operators for +, -, and ~
2021-05-15 19:13:34 +01:00
gingerBill
7b7081d607
Remove old dead code
2021-05-15 18:59:54 +01:00
gingerBill
5ae564cc8c
Add name to aggregate result pointer to procedures
2021-05-15 18:53:52 +01:00
gingerBill
0507b9ebb7
Fix #987
2021-05-15 18:40:06 +01:00
gingerBill
f7b1290fe9
Change for i in x..y {} behaviour
...
Adds an extra check before incrementation to prevent the possibility of overflowing of `y` is at the limit maximum size of the integer
e.g. `for i in u8(0)..255 {}` (assuming `255` is not known at compile time)
2021-05-15 18:02:06 +01:00
gingerBill
b01c2e1017
Disallow slicing of constant values
2021-05-15 16:40:40 +01:00
gingerBill
63b54ce7c6
Add minor ignoring hint on type assertions to get better code generation with no optimizations enabled
2021-05-13 12:48:12 +01:00
gingerBill
b8a35c658c
Remove incl/excl usage from demo
2021-05-13 12:06:35 +01:00
gingerBill
465b6139d5
Temporarily fix syscall in Linux and Freebsd (eventually to be replaced with a proper implementation)
2021-05-13 12:05:23 +01:00
gingerBill
b37d344eb2
Add intrinsics.type_is_variant_of
2021-05-13 12:04:51 +01:00
gingerBill
d4ee1a9e19
Correct default procedure parameter logic
2021-05-13 10:07:28 +01:00
gingerBill
be12f12c3c
Fix #814
2021-05-13 00:57:10 +01:00
gingerBill
2e5f57d8a1
Fix #741
2021-05-13 00:44:33 +01:00
Mikkel Hjortshøj
d5c3f99655
Update feature_request.md
2021-05-13 01:26:15 +02:00
Mikkel Hjortshøj
083e9e2053
Update feature_request.md
2021-05-13 01:25:37 +02:00
gingerBill
c6c5af527b
Fix #746
2021-05-12 23:43:16 +01:00
gingerBill
5420cc083d
Implement #807
2021-05-12 23:26:21 +01:00
gingerBill
c81f7b31c6
Add explicit numbers to enum AddressingMode
2021-05-12 23:22:43 +01:00
gingerBill
fdd0c726bc
Improve error message to "fix" #640
2021-05-12 23:12:20 +01:00
gingerBill
da9cabc334
Fix #682
2021-05-12 23:02:57 +01:00
gingerBill
d962cfdc6b
Fix #713
2021-05-12 22:38:37 +01:00
gingerBill
dfb8143149
Fix #651
2021-05-12 22:23:43 +01:00
gingerBill
d2fcbf0e1d
Fix #948
2021-05-12 15:00:19 +01:00
gingerBill
e08f39ec28
Remove unneeded assert
2021-05-11 16:20:50 +01:00
gingerBill
d353f97f91
Add byval with align, sret attributes for SysV
2021-05-11 13:30:27 +01:00
gingerBill
8144e82c6c
Fix docs for -lld
2021-05-11 13:13:34 +01:00
gingerBill
d0f7cf74e9
Add llvm-config version 11 check for Darwin in Makefile
2021-05-11 12:31:56 +01:00
gingerBill
e1c2528d87
Remove warning on \*nix
2021-05-11 12:29:27 +01:00
gingerBill
eac61fb536
Remove LLVMAddLowerConstantIntrinsicsPass
2021-05-11 12:17:48 +01:00
gingerBill
20f7e61363
Revert LLVM-C.lib
2021-05-11 12:11:59 +01:00
gingerBill
8bb6651dda
Remove test call for LLVM
2021-05-11 12:08:09 +01:00
gingerBill
8ff80dec58
Minor change (in preparation for something else) to opt passes
2021-05-11 12:00:55 +01:00
gingerBill
f31b09212a
Improve SysV ABI
2021-05-11 12:00:27 +01:00
gingerBill
073bd3f6c9
Update LLVM-C.lib (since it was missing many required definitions missing from the official one that LLVM supplied)
2021-05-11 10:55:55 +01:00
gingerBill
9a4d942b0b
Fix debug information for array types by setting the DISubrange
2021-05-10 21:29:25 +01:00
gingerBill
ff6fdc7812
Correct SysV ABI for -> (f32, bool)
2021-05-10 21:16:26 +01:00
gingerBill
c85c5ec38c
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-07 13:18:07 +01:00
gingerBill
d70b5475eb
Minor code clean up
2021-05-07 13:18:01 +01:00
gingerBill
42138d1ad5
Merge pull request #947 from Kelimion/deprecated
...
Mark mem.slice_ptr_to_bytes as deprecated.
2021-05-07 10:59:08 +01:00
gingerBill
47f97b8f89
Remove unused hint
2021-05-06 14:09:50 +01:00
gingerBill
902be0d09c
Improve type inference system to allow &{} alongside &T{} in some cases
2021-05-06 14:06:22 +01:00
gingerBill
502ad0c10b
sync2.Auto_Reset_Event; Make atomic operations names clearer
2021-05-06 14:00:01 +01:00
gingerBill
27f5aadd5a
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-06 13:59:14 +01:00
gingerBill
da7a9a3584
Improve type inference rules for implicit selector expressions
...
New improvements:
`(.A == x)`
`a_union_containing_many_enums = .A;`
2021-05-06 13:59:05 +01:00
Jeroen van Rijn
03862d1f48
Mark mem.slice_ptr_to_bytes as deprecated.
...
Use byte_slice instead.
We can't make it an alias *and* mark it as deprecated, regrettably:
```odin
byte_slice :: #force_inline proc "contextless" (data: rawptr, len: int) -> []byte {
return transmute([]u8)Raw_Slice{data=data, len=max(len, 0)};
}
@(deprecated="use byte_slice")
slice_ptr_to_bytes :: byte_slice;
"mem.odin(145:1) Constant alias declarations cannot have attributes"
```
2021-05-06 13:23:17 +02:00
Jeroen van Rijn
15ce8b0454
Merge pull request #946 from Kelimion/virtual_allocator
...
Fix typo in core:mem alloc() comment.
2021-05-06 11:33:08 +02:00
Jeroen van Rijn
4f51d74fc2
Fix typo in core:mem alloc() comment.
2021-05-06 11:25:41 +02:00
gingerBill
b6a1ec0229
Remove debug code
2021-05-05 23:34:53 +01:00
gingerBill
60685369b9
Fix typo
2021-05-05 23:34:39 +01:00
gingerBill
0f2a9e6143
Fix LLVM store point for nested types containing procedures (e.g. ^^proc())
2021-05-05 23:00:12 +01:00
gingerBill
278de3a92f
Unify AstTernaryExpr with AstTernaryIfExpr
...
Allow for both syntaxes `x if cond else y` and `cond ? x : y`
Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
2021-05-05 15:22:54 +01:00
gingerBill
abdf54800e
Improve ternary expression logic within parametric polymorphic parameter assignments
2021-05-05 15:14:39 +01:00
gingerBill
579b317be8
Mark external thread local globals
2021-05-05 11:47:47 +01:00
gingerBill
08360e2337
Minor cleanup
2021-05-05 10:56:19 +01:00
gingerBill
f11f84964d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-04 23:41:45 +01:00
gingerBill
bb9c1d04db
Fix missing newline check
2021-05-04 23:41:35 +01:00
Jeroen van Rijn
f3c4d97250
Merge pull request #942 from Kelimion/grayscale-alpha-extract
...
Fix gray+alpha alpha extract.
2021-05-04 17:49:09 +02:00
Jeroen van Rijn
afb6ebd21e
Fix gray+alpha alpha extract.
2021-05-04 17:48:43 +02:00
gingerBill
6fa5eb9e1f
Update README.md
2021-05-04 15:27:41 +01:00
gingerBill
94570a24c1
Move anonymous proc generation into lbGenerator
2021-05-04 00:56:29 +01:00
gingerBill
17001bf38c
Nearly approach full functionality for -use-separate-modules coupled with multithreading
2021-05-04 00:45:09 +01:00
gingerBill
b83e67f45f
Get LLVM backend multithread for object generation with -use-separate-modules
2021-05-04 00:06:20 +01:00
gingerBill
a5eea97edb
Prepare to multithread object generation
2021-05-03 20:45:27 +01:00
gingerBill
866d5302fe
Add [EXPERIMENTAL] warning to -user-separate-modules help message
2021-05-03 20:05:45 +01:00
gingerBill
5d70289b69
Remove test code
2021-05-03 20:03:37 +01:00
gingerBill
d76ba7895b
Minor fixes to -use-separate-modules
2021-05-03 19:59:17 +01:00
gingerBill
dfe1dedeb1
Experimental support for -use-separate-modules
2021-05-03 19:39:36 +01:00
gingerBill
d027a5f1a4
Add min_f16 and max_f16 dependencies
2021-05-03 18:48:48 +01:00
gingerBill
746e880eb5
Begin work on making LLVM backend work with multiple modules for possible faster compilation
2021-05-03 17:43:14 +01:00
gingerBill
e4286d0ff9
Force zero_init in lb_add_local in certain cases
2021-05-03 15:57:35 +01:00
gingerBill
3a556eb304
Add -test-name:<string> flag to allow specific tests to be ran
2021-05-03 15:44:57 +01:00
gingerBill
b44a56118e
Begin cleanup for allowing for multiple LLVM modules
2021-05-03 15:26:40 +01:00
gingerBill
0d044eabac
Remove non-InContext type creations
2021-05-03 15:00:50 +01:00
Jeroen van Rijn
3cf26af600
Merge pull request #941 from Kelimion/compress_error_handling
...
Change General_Error.OK to nil
2021-05-03 15:39:42 +02:00
Jeroen van Rijn
9a39ce6b75
Change General_Error.OK to nil
2021-05-03 15:38:43 +02:00
gingerBill
3a5245dcce
Make sure builder uses the InContext version
2021-05-03 14:36:27 +01:00
Jeroen van Rijn
ca0f36be42
Merge pull request #940 from Kelimion/convert_error_checks
...
Convert `core:compress` and `core:image` error checks to new union co…
2021-05-03 15:09:52 +02:00
Jeroen van Rijn
59b3c472ca
Convert core:compress and core:image error checks to new union comparison.
...
No more need for `is_kind(err, Error_Value)`, just test err == Error_Value.
2021-05-03 15:08:34 +02:00
gingerBill
357f66fcee
Fix typo
2021-05-03 13:45:17 +01:00
gingerBill
050f128554
Correct hashing for union #maybe
2021-05-03 13:40:36 +01:00
gingerBill
1a3784c4df
Allow unions which are comparable to also be valid map keys (i.e. hashable)
2021-05-03 13:38:15 +01:00
gingerBill
518ecaf9c9
Allow unions to be comparable if all their variants are comparable
2021-05-03 13:17:16 +01:00
gingerBill
77e2e1e1d0
Add missing skip_possible_newline_for_literal calls
2021-05-03 12:02:08 +01:00
Jeroen van Rijn
448f834b28
Remove debug print in image helper.
2021-05-03 01:23:03 +02:00
Jeroen van Rijn
9212e3176a
Merge pull request #939 from Kelimion/new_png_post_processing
...
Don't need other path for grayscale output.
2021-05-02 21:17:00 +02:00
Jeroen van Rijn
3160a6a12c
Don't need other path for grayscale output.
2021-05-02 21:11:06 +02:00
Jeroen van Rijn
ef7b72d14c
Merge pull request #938 from Kelimion/new_png_post_processing
...
Add new PNG post processing options.
2021-05-02 20:39:33 +02:00
Jeroen van Rijn
7d534769d6
Add new PNG post processing options.
2021-05-02 20:38:30 +02:00
Jeroen van Rijn
0a81fcc2af
Merge pull request #937 from Kelimion/core_time
...
datetime_to_time's ok should default to true.
2021-05-02 13:24:33 +02:00
Jeroen van Rijn
2451014b6e
datetime_to_time's ok should default to true.
2021-05-02 13:23:57 +02:00
gingerBill
348d25c43a
Fix parsing error for for
2021-05-02 00:11:36 +01:00
gingerBill
9854dbe889
Remove unused import
2021-05-01 23:14:14 +01:00
Jeroen van Rijn
038337fd07
Port core:sys/win32 tests to test runner.
2021-05-02 00:10:00 +02:00
gingerBill
cf0bf1a7cb
Add testing.fail_now
2021-05-01 23:06:14 +01:00
gingerBill
364e6c9573
Move comment
2021-05-01 22:58:13 +01:00
gingerBill
52d38ae42b
Make the core:testing runner on windows run in a separate thread to handle crashes in more safe manner
2021-05-01 22:54:27 +01:00
Jeroen van Rijn
2dbdff07c5
Merge pull request #935 from Kelimion/zlib_level_0
...
ZLIB level 0: LEN/NLEN = i16.
2021-05-01 21:57:36 +02:00
Jeroen van Rijn
2ad8f99790
ZLIB level 0: LEN/NLEN = i16.
2021-05-01 21:56:45 +02:00
Daniel Gavin
87a1833862
fix weird behavior of nesting proc types in structs
2021-05-01 21:26:40 +02:00
Jeroen van Rijn
0a0ba95e85
Merge pull request #934 from Kelimion/paeth
...
Fix Paeth for bit depth < 8.
2021-05-01 20:39:40 +02:00
Jeroen van Rijn
433d742183
Fix Paeth for bit depth < 8.
2021-05-01 20:39:00 +02:00
gingerBill
b845db1618
Add prototypes for intrinsics.fixed_point_*
2021-05-01 18:26:51 +01:00
gingerBill
ced7700cdb
Add extra check for #no_bounds_check etc being followed by a newline or empty statement
2021-05-01 17:59:30 +01:00
gingerBill
406d2ab6ba
Simplify/Fix the state_flag behaviour for code generation
2021-05-01 17:42:59 +01:00
gingerBill
327116b84b
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-05-01 17:30:27 +01:00
gingerBill
fd56b48825
Add ODIN_ROOT information
2021-05-01 17:30:22 +01:00
Jeroen van Rijn
1ef9b094b6
Merge pull request #932 from Kelimion/png_blend_test
...
PNG: Fix tRNS handling.
2021-05-01 18:28:23 +02:00
Jeroen van Rijn
0659a11a1a
PNG: Fix tRNS handling.
2021-05-01 18:24:31 +02:00
gingerBill
956b59d48c
Update old bin/README.md
2021-05-01 16:27:11 +01:00
gingerBill
97b537f800
Update intrinsics.odin for documentation
2021-05-01 16:23:50 +01:00
Jeroen van Rijn
ae907bf724
Merge pull request #931 from Kelimion/png_blend_test
...
Fix a few more cases in which bKGD wasn't properly applied.
2021-05-01 16:05:48 +02:00
Jeroen van Rijn
db1ef078ff
Fix a few more cases in which bKGD wasn't properly applied.
2021-05-01 16:05:13 +02:00
Jeroen van Rijn
c2603297ee
Merge pull request #928 from Kelimion/png_blend_test
...
PNG: Fix test for when premultiplication is needed.
2021-05-01 13:25:49 +02:00
Jeroen van Rijn
a02bcd3bfd
PNG: Fix test for when premultiplication is needed.
2021-05-01 13:16:47 +02:00
Mikkel Hjortshøj
0e972296a4
Change non-target indentation in Makefile to spaces to fix make error
2021-04-30 22:50:14 +02:00
Mikkel Hjortshøj
5ec82623ab
Remove downloading the LLVM binaries in nightly.yml
2021-04-30 22:27:09 +02:00
Mikkel Hjortshøj
47ff50a92d
Remove downloading the LLVM binaries in ci.yml
2021-04-30 22:26:15 +02:00
Mikkel Hjortshøj
a1558b3398
Update nightly.yml
2021-04-30 22:19:10 +02:00
gingerBill
5f617c56e1
Minor stylistic code changes to compress and image packages
2021-04-30 10:58:29 +01:00
Jeroen van Rijn
7ef30355cb
Merge pull request #924 from Kelimion/core_compress
...
Add `compress` and `image` to core.
2021-04-30 11:33:41 +02:00
Jeroen van Rijn
06f1eaa153
Use regular allocator from png+gzip's load_from_file.
...
I would've used `os.stream_from_handle`, but:
- Parts of it seem to be implemented for Windows only at the moment.
- PNG's `peek_data` using that stream didn't manage to rewind and thus tried to parse the data after the header as the header.
Two things must happen:
- The `os.stream_from_handle` implementation needs to be fixed.
- PNG and GZIP's parsers need to be able to handle streams that can't rewind or seek (backward).
Those fixes are on my TODO list but are exceed the scope of this patch.
2021-04-30 09:35:43 +02:00
Jeroen van Rijn
58e023e0cf
Add compress and image to core.
2021-04-30 00:21:52 +02:00
gingerBill
222bab501c
Disallow unnamed polymorphic records
2021-04-29 11:00:14 +01:00
Daniel Gavin
9c6ab05981
fix tokenizer for ~= and better struct aligning
2021-04-29 00:51:24 +02:00
gingerBill
bee637aef1
Update Makefile for Linux
2021-04-28 16:23:42 +01:00
gingerBill
d5844dfd2a
Update llvm-config checking on Linux
2021-04-28 16:07:46 +01:00
gingerBill
3751322521
Add -no-pie flag to linker on Linux
2021-04-28 15:36:29 +01:00
gingerBill
71ac145f49
Remove dead code related to old backend
2021-04-28 15:28:14 +01:00
gingerBill
e50ef33c2a
Fix #921
2021-04-28 12:34:16 +01:00
gingerBill
3061dd2497
Update build.bat to use wmic os get LocalDateTime /value instead of %DATE% which is not consistent across computers
2021-04-28 11:56:47 +01:00
Daniel Gavin
088f4b5039
fix out of bounds with empty struct
2021-04-28 12:53:04 +02:00
gingerBill
002184cd49
Merge pull request #920 from rasa-silva/patch-1
...
Fix Makefile for OSX
2021-04-28 11:20:47 +01:00
Ricardo Silva
02da4d61ae
Fix Makefile for OSX
2021-04-28 11:15:05 +01:00
gingerBill
102c29575b
Allow @(test) to be ran outside of *_test.odin files
2021-04-28 10:49:40 +01:00
gingerBill
24fce21d90
Add "naked" calling convention (removes prologue and epilogue)
2021-04-28 10:49:30 +01:00
gingerBill
afe185ee22
Fix procedure entity finding
2021-04-27 21:08:18 +01:00
gingerBill
ffffb04d85
Remove unused import
2021-04-27 17:21:52 +01:00
gingerBill
17390cd317
Implement sync2.Recursive_Mutex using WaitOnAddress and friends on Windows
2021-04-27 17:19:12 +01:00
gingerBill
7ac80544a1
Max sync2.Sema on windows be i32 for the counter internally.
2021-04-27 16:59:25 +01:00
gingerBill
96b60d8779
Reimplement sync2.Sema on windows with WaitOnAddress primitives
2021-04-27 16:56:11 +01:00
gingerBill
24f2d97c0e
Make atomic compare related intrinsics optional ok
2021-04-27 16:55:39 +01:00
gingerBill
f6d98d2a16
Fix Makefile for macOs
2021-04-27 13:29:14 +01:00
gingerBill
ab5460e2e2
Update CI
2021-04-27 13:22:30 +01:00
gingerBill
cd1658e56c
Update Makefile
2021-04-27 13:14:54 +01:00
gingerBill
e7e1866e50
Fix #893
2021-04-27 13:09:37 +01:00
Daniel Gavin
51b198aa56
Merge remote-tracking branch 'upstream/master' into prototype-fmt
2021-04-27 00:06:30 +02:00
gingerBill
94fd59e6f0
Make compound literals require trailing commas if followed by a newline
2021-04-26 23:05:00 +01:00
gingerBill
c07ab5f9ad
Change expr_level increment rules within a compound literal
2021-04-26 23:02:00 +01:00
gingerBill
06e0da97b7
Implement ODIN_ROOT #913
2021-04-26 22:56:32 +01:00
gingerBill
04535b2913
Fix constant aliasing for debug information
2021-04-26 22:36:20 +01:00
gingerBill
6667b78c12
Correct core:os/os2 mock-up
2021-04-26 22:08:15 +01:00
gingerBill
7e0c78eae7
Fix logic for \n ignoring
2021-04-26 21:39:49 +01:00
gingerBill
6d1eb473cf
Correct \n ignore rules
2021-04-26 21:25:44 +01:00
gingerBill
898245431f
Make -strict-style the default #871
2021-04-26 21:07:58 +01:00
gingerBill
43942a6199
Fix odin run on Windows
2021-04-26 20:54:18 +01:00
gingerBill
53c7e65c57
Merge pull request #914 from odin-lang/old-backend-removal
...
Removal of the Old Backend
2021-04-26 20:50:43 +01:00
gingerBill
a38586420c
Fix race condition with procedure aliases checking for declarations on constant aliases
2021-04-26 19:46:42 +01:00
gingerBill
1aa9c49172
Remove warning for "Redundant 'auto_cast' applied to expression"
2021-04-26 19:17:25 +01:00
gingerBill
5a88fef483
Make corrections
2021-04-26 18:07:34 +01:00
gingerBill
43b55223af
Merge branch 'master' into old-backend-removal
2021-04-26 11:46:58 +01:00
gingerBill
aa846d0ea5
Fix union #maybe comparison against nil -llvm-api
2021-04-26 11:46:26 +01:00
gingerBill
8d0428a8b3
Merge pull request #915 from wilsonk/issue-820
...
Fix for issue 720 (import name is not an identifier)
2021-04-26 10:50:06 +01:00
Kelly Wilson
86c1aed20d
Fix for issue 820 (import name is not an identifier)
2021-04-25 23:26:12 -06:00
gingerBill
1d628a5e3d
Change how GIT_SHA is rendered in odin version
2021-04-25 22:23:47 +01:00
gingerBill
af3784ebb6
Add -DODIN_VERSION_RAW to Makefile
2021-04-25 22:19:34 +01:00
gingerBill
ff933ca37f
Remove old shell scripts in favour of Makefile
2021-04-25 22:13:01 +01:00
gingerBill
bbf79fc1d4
Add ODIN_VERSION_RAW define to build.bat
2021-04-25 22:10:52 +01:00
gingerBill
2af8e956a6
Change versioning system from v0.13.1 to dev-2021-04
2021-04-25 22:09:22 +01:00
gingerBill
9ed826f6fb
Remove import "core:runtime" from core:math/bits
2021-04-25 21:51:33 +01:00
gingerBill
07f9e551c1
Revert build.bat
2021-04-25 21:38:29 +01:00
gingerBill
df4404e093
Fix typo in gb_get_env
2021-04-25 21:24:33 +01:00
gingerBill
583fd89fcf
Add gb_get_env
2021-04-25 21:22:15 +01:00
gingerBill
2691c394e0
Add intrinsics.count_zeros
2021-04-25 20:50:25 +01:00
gingerBill
4662bad59c
Remove unused file
2021-04-25 20:31:35 +01:00
gingerBill
7086b49ae6
Rename intrinsics to count_trailing_zeros and count_leading_zeros
2021-04-25 20:26:11 +01:00
gingerBill
72aa0e6e38
Replace many foreign llvm calls with intrinsics
2021-04-25 20:22:26 +01:00
gingerBill
cb2e6ea31d
Remove use_llvm_api related checks and other related things
2021-04-25 20:03:05 +01:00
gingerBill
74c683e908
Remove -llvm-api from CI
2021-04-25 19:59:35 +01:00
gingerBill
6383714bff
Remove old procedure ABI code
2021-04-25 19:56:46 +01:00
gingerBill
a25e796b00
Delete ir.cpp and related files
2021-04-25 19:52:37 +01:00
gingerBill
833784e196
Remove old backend specific code in main
2021-04-25 19:51:57 +01:00
gingerBill
66a70b9d27
Remove the need for LLVM_BACKEND_SUPPORT
2021-04-25 19:49:29 +01:00
gingerBill
cd125c0f41
Override -llvm-api to always be true
2021-04-25 19:46:48 +01:00
gingerBill
ff620422fa
Fix #857
2021-04-25 19:40:02 +01:00
gingerBill
5685a8d885
Fix #911 for -llvm-api backend
2021-04-25 19:19:44 +01:00
gingerBill
b8327ad00d
Merge pull request #912 from odin-lang/llvm-api-ci-changes
...
Update Makefile to compile with LLVM C API
2021-04-25 19:02:24 +01:00
gingerBill
1bdce19c18
Update nightly.yml to support -llvm-api
2021-04-25 18:44:05 +01:00
gingerBill
041ff13672
Update CI for Linux
2021-04-25 18:06:29 +01:00
gingerBill
60a2eaf666
Revert changes to macOS Makefile
2021-04-25 18:04:07 +01:00
gingerBill
ec2db568c1
Update Makefile for macOS to be more "correct" with Linux
2021-04-25 15:57:35 +01:00
gingerBill
1387fd9047
Make -llvm-api run first before old backend on Linux
2021-04-25 15:52:24 +01:00
gingerBill
fb6288a54e
Try specifying the specific libs on Linux
2021-04-25 15:48:54 +01:00
gingerBill
4d00058858
Try clang-11
2021-04-24 22:11:38 +01:00
gingerBill
5c26cf9d73
Try llvm-config-11 in the Makefil
2021-04-24 21:58:44 +01:00
gingerBill
6048d25d36
Try llvm-config-11
2021-04-24 21:26:14 +01:00
gingerBill
748f094e15
Add llvm-dev-11 to Linux CI (just testing)
2021-04-24 21:20:18 +01:00
gingerBill
184c686c7e
Add clang-11 for Linux; blank out threading_example on darwin
2021-04-24 21:13:40 +01:00
gingerBill
240a568eb9
Update CI to run both old and new backends
2021-04-24 21:09:35 +01:00
gingerBill
ad953c4670
Add cast on S_ISDIR
2021-04-24 21:08:15 +01:00
gingerBill
0f9b0c2052
Remove libllvm-11
2021-04-24 21:04:38 +01:00
gingerBill
cde334ada3
Modify flags in Makefile
2021-04-24 21:03:22 +01:00
gingerBill
2b4010998d
Up ci.yml
2021-04-24 20:55:50 +01:00
gingerBill
4272fe5e85
Update Makefile to compile with LLVM C API
2021-04-24 20:46:47 +01:00
gingerBill
c29b643a58
Move out some intrinsics into separate procedures in llvm_backend.cpp; Rename InlineRangeStmt to UnrollRangeStmt (eventually merge the two AST nodes)
2021-04-24 15:00:01 +01:00
Daniel Gavin
87bfd31664
force all enums newlined if there is more than one line
2021-04-23 23:42:53 +02:00
Daniel Gavin
5fba548aa0
more fixes with wierd comment placements
2021-04-23 23:22:48 +02:00
Daniel Gavin
aafbf5bac7
odinfmt
2021-04-23 22:55:59 +02:00
Daniel Gavin
951e940470
handle comments in stupid places
2021-04-23 21:52:27 +02:00
Daniel Gavin
3b5b845ea6
refractor
2021-04-23 16:45:55 +02:00
Daniel Gavin
3f9ad6ba09
fix proc group, struct align with internal structs
2021-04-23 16:33:11 +02:00
gingerBill
c9b82a21e9
Move check_builtin_procedure to check_builtin.cpp
2021-04-23 10:01:52 +01:00
gingerBill
bd31a99bf7
Remove redundant auto_cast
2021-04-23 09:50:26 +01:00
Daniel Gavin
f10f7ebbf1
Merge remote-tracking branch 'upstream/master' into prototype-fmt
2021-04-23 10:24:05 +02:00
gingerBill
17bbb48d8a
Warn on redundant auto_cast, and make an error on -vet
2021-04-22 17:36:28 +01:00
gingerBill
ac53577e9b
Improve auto_cast logic
2021-04-22 17:29:48 +01:00
gingerBill
896057b5a7
Reuse unused 'context' variables to minimize stack usage (-llvm-api)
2021-04-22 16:56:02 +01:00
gingerBill
01db195b47
Make main calling convention "odin" rather than "contextless" to simplify code generation
2021-04-22 16:26:28 +01:00
gingerBill
d33350e3a5
Add truncate_to_byte and truncate_to_rune for packages strings and bytes
2021-04-22 15:49:10 +01:00
gingerBill
8a86c4c7cc
Remove old code
2021-04-22 14:24:30 +01:00
gingerBill
1c9f48031d
Change function pass manager passes
2021-04-22 13:54:26 +01:00
gingerBill
7fcd5ecbd5
Change how lb_populate_function_pass_manager works by using the default LLVM passes when not using minimal optimizations
2021-04-22 12:35:01 +01:00
gingerBill
b68b090f13
Add intrinsics: overflow_add, overflow_sub, overflow_mul; Change byte swap behaviour in -llvm-api to be the same as the intrinsic
2021-04-22 11:33:46 +01:00
gingerBill
542098dc6f
Add intrinsics: byte_swap (integers and floats); count_ones; trailing_zeros; reverse_bits
2021-04-22 11:06:16 +01:00
gingerBill
0a66f8c9a3
Remove intrinsics.x86_mmx type
2021-04-22 10:39:20 +01:00
gingerBill
158e4c0b6c
Add @(cold) tag
2021-04-22 10:35:37 +01:00
gingerBill
47c7dc6a9b
Add new intrinsics: debug_trap, trap, read_cycle_counter, expect
2021-04-22 10:35:17 +01:00
gingerBill
65551ba8fb
Add optimization_mode attribute for procedures
...
Allowed modes: "none", "minimal", "size", "speed"
Currently: none == minimal and size == speed
2021-04-22 00:04:47 +01:00
Daniel Gavin
40ed7e48d0
remove prints
2021-04-22 00:56:31 +02:00
Daniel Gavin
ab53900c95
check comma count in enum instead
2021-04-22 00:55:25 +02:00
gingerBill
c7d92562c2
Fix typo
2021-04-21 23:40:19 +01:00
gingerBill
5b3802b8ca
Add new -o:<string> flag as an alternative to -opt:<integer>
2021-04-21 23:39:48 +01:00
Daniel Gavin
43589a56b7
odinfmt on printer
2021-04-22 00:32:36 +02:00
gingerBill
2fb0383e82
Add -build-mode:llvm-ir for -llvm-api backend
2021-04-21 23:25:08 +01:00
Daniel Gavin
de1838c0cb
align not mutable correctly
2021-04-22 00:23:17 +02:00
Daniel Gavin
9b8563dfc0
style
2021-04-22 00:08:03 +02:00
Daniel Gavin
b18e8898d8
ran odinfmt on source
2021-04-22 00:07:07 +02:00
Daniel Gavin
ca112c0b6d
better placing of the end brace
2021-04-22 00:04:01 +02:00
Daniel Gavin
6eb64f2bdc
align enum
2021-04-21 23:40:08 +02:00
Daniel Gavin
25c3b6dc95
align value decls
2021-04-21 23:21:45 +02:00
gingerBill
8077d5f565
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-04-21 10:52:34 +01:00
gingerBill
6b45856e81
Remove useless error message for constant binary expressions with non-constant operations
2021-04-21 10:52:26 +01:00
gingerBill
28e5df6e7f
Merge pull request #907 from awwdev/fix-variable-name-in-path_unix
...
fix variable name in path_unix
2021-04-20 21:14:25 +01:00
André
22867ec6f0
fix variable name in path_unix
...
replace the immutable variable "path" (that is a parameter) with a new variable "path_str"
2021-04-20 22:09:10 +02:00
gingerBill
d0a50ff0a3
Merge pull request #905 from jasmcaus/patch-1
...
Fix potential Typo
2021-04-20 10:44:54 +01:00
gingerBill
e9b1d4f633
Fix #906
2021-04-20 10:34:41 +01:00
gingerBill
ba9f0dd553
Hack ABI for windows passing pointers to structures
2021-04-19 23:03:22 +01:00
gingerBill
c3b3194a00
Update builtin procedures to support the new allocator features (without breaking other code)
2021-04-19 22:44:20 +01:00
gingerBill
201cad51a9
Fix typo
2021-04-19 22:41:52 +01:00
gingerBill
d21e522208
Add code that was accidentally removed
2021-04-19 22:35:59 +01:00
gingerBill
f1bdd2e60f
Improve #optional_ok logic for procedures; Add #optional_second for package runtime usage
2021-04-19 22:31:14 +01:00
Daniel Gavin
3464784e5e
add proc to format multiline
2021-04-19 19:41:53 +02:00
Daniel Gavin
f1dc7c0b27
more work
2021-04-19 19:38:08 +02:00
gingerBill
0eb75886d1
Allow assignment of procedure calls with #optional_ok to single values
2021-04-19 16:02:36 +01:00
gingerBill
3612569624
Allow casting of #optional_ok call expressions
2021-04-19 15:46:12 +01:00
gingerBill
c83d13d0cb
Fix update_expr_type behaviour, along with fixing procedure groups updating the proc expr type
2021-04-19 15:12:10 +01:00
gingerBill
f98c4d6837
Improve the Allocator interface to support returning Allocator_Error to allow for safer calls
...
Virtually all code (except for user-written custom allocators) should work as normal. Extra features will need to be added to make the current procedures support the `Allocator_Error` return value (akin to #optional_ok)
2021-04-19 12:31:31 +01:00
gingerBill
a4d0092b16
Remove temporary reference types
2021-04-19 11:02:09 +01:00
gingerBill
eb49b5f84a
Fix override_entity_in_scope behaviour to correctly to report the changes upstream better
2021-04-19 11:01:00 +01:00
Jason Dsouza
9d949ef82e
Fix potential Typo : S32 ==> I32
2021-04-19 11:41:02 +05:30
Daniel Gavin
c708f649ec
Merge remote-tracking branch 'upstream/master' into prototype-fmt
2021-04-19 02:13:29 +02:00
Daniel Gavin
f7b8b3a340
ensure that the comments gets pushed if it's in the beginning before package
2021-04-18 22:06:32 +02:00
Daniel Gavin
2cbb3443d3
ran odinfmt
2021-04-18 21:53:52 +02:00
Daniel Gavin
11bd518f36
fix bugs
2021-04-18 21:52:00 +02:00
gingerBill
ae04af4e4e
Add package flags
2021-04-18 20:19:03 +01:00
gingerBill
3baddd4116
Improve init_string determination for constants
2021-04-18 20:13:20 +01:00
Daniel Gavin
a721802337
fixing calls in calls
2021-04-18 21:07:58 +02:00
gingerBill
6ae468828c
Improve odin-doc type information for Named types by storing the base type
2021-04-18 19:59:24 +01:00
gingerBill
b59e110fec
Add calling_convention to Type
2021-04-18 19:26:36 +01:00
gingerBill
4282688e60
Add calling_convention to odin-doc Type format
2021-04-18 19:26:21 +01:00
gingerBill
9b3fb25a41
Fix enumerated arrays for .odin-doc
2021-04-18 19:15:14 +01:00
gingerBill
2ce9873464
Remove dead comment
2021-04-18 18:53:19 +01:00
gingerBill
986844a0f0
Change elem_counts to i64le from u64
2021-04-18 18:48:56 +01:00
gingerBill
7c1f538c02
Change u32 to u32le
2021-04-18 18:46:29 +01:00
gingerBill
2f1c896290
Add -doc-format command for the new .odin-doc file format (to be used to generate documentation tools)
2021-04-18 18:33:15 +01:00
Daniel Gavin
5a8c7b4f90
support multiline for and if
2021-04-16 02:15:29 +02:00
Daniel Gavin
f17fc05ff2
format call and binary expression
2021-04-16 00:44:16 +02:00
Daniel Gavin
a12db382e0
damn, ran the odinfmt with spaces instead of tabs...
2021-04-15 00:24:00 +02:00
Daniel Gavin
22daa50374
ran the odinfmt - looks good, except for multi line binary operations
2021-04-15 00:19:13 +02:00
Daniel Gavin
a09300fb0e
more fixes
2021-04-15 00:11:10 +02:00
gingerBill
8827818b1d
Clean-up fallback io.read_at and io.write_at behaviour
2021-04-14 21:25:46 +01:00
Daniel Gavin
bab4e5531a
remove print
2021-04-14 21:53:11 +02:00
gingerBill
e19958152a
Fix floattidf
2021-04-14 20:45:05 +01:00
gingerBill
05a181d719
Fix style issues; Use new attribute @(cold) where appropriate in the new sync package
2021-04-14 20:19:02 +01:00
gingerBill
d24784074c
Add extra error to io.Error
2021-04-14 20:17:54 +01:00
gingerBill
cd2476e084
Add buffer_read_at buffer_write_at
2021-04-14 20:13:26 +01:00
gingerBill
ebbc33fdb5
Mockup of the new package os interface (incomplete and non-functioning)
2021-04-14 19:39:12 +01:00
Daniel Gavin
1de928df78
fixed bug in parser on when
2021-04-14 18:43:04 +02:00
gingerBill
3a4373641b
Correct call site attributes
2021-04-14 17:16:10 +01:00
gingerBill
9adec628c1
Add @(cold) attribute to procedure declarations
2021-04-14 17:15:28 +01:00
Daniel Gavin
aded272b33
split stmts
2021-04-14 18:04:48 +02:00
Daniel Gavin
b0721f1e0c
aligning structs now work
2021-04-14 16:31:31 +02:00
Daniel Gavin
7e90ece84a
more switch alignment work
2021-04-14 16:03:36 +02:00
Daniel Gavin
1f563f2810
work on switch alignment
2021-04-14 15:34:50 +02:00
gingerBill
3e54cddf64
Merge pull request #902 from Kelimion/run_as_user
...
Add support to core:windows to add/delete users.
2021-04-14 12:15:30 +01:00
gingerBill
d602709133
Fix typo
2021-04-14 12:14:44 +01:00
Daniel Gavin
c46317c00b
fix os error
2021-04-14 02:20:05 +02:00
Daniel Gavin
cb4b7efd3e
only align comments in same indentation blocks
2021-04-14 01:57:42 +02:00
Daniel Gavin
411beaa3bf
work on comments
2021-04-14 01:15:46 +02:00
Daniel Gavin
1cb3a31f32
have to sort attributes because they are not ordered by position(maybe bug on parser)
2021-04-14 00:53:34 +02:00
Daniel Gavin
c99afd04ad
work
2021-04-14 00:08:09 +02:00
Daniel Gavin
3157467e4b
bring over the odinfmt code
2021-04-13 23:59:40 +02:00
Daniel Gavin
2001384ae6
make sure to print comments at the end of the file
2021-04-13 23:52:23 +02:00
Daniel Gavin
b09e53d7fe
now aligning comments
2021-04-13 23:42:58 +02:00
gingerBill
8e1120bc09
Fix typo
2021-04-13 19:23:12 +01:00
Daniel Gavin
d046c9c072
at the same point as the previous formatter now
2021-04-13 20:18:50 +02:00
gingerBill
ebed29fc09
Revert *nix thread stuff to old sync
...
(I was just testing)
2021-04-13 19:09:04 +01:00
gingerBill
bee8beb2c9
Default to pthreads in sync2 for *nix
2021-04-13 19:04:44 +01:00
gingerBill
12296a0dcc
Allow intrinsics entities to be exported from other packages if wanted
2021-04-13 18:57:47 +01:00
Daniel Gavin
2e8da35851
multiline comments work
2021-04-13 15:27:04 +02:00
Jeroen van Rijn
2942e45ff5
Placate -vet for unrelated core:thread update.
2021-04-13 02:23:14 +02:00
Jeroen van Rijn
aca5c7c1c6
Placate -vet.
2021-04-13 02:18:47 +02:00
Jeroen van Rijn
a1d871360c
Add support to core:windows to add/delete users.
...
main :: proc() {
using fmt;
using windows;
username := "testuser";
password := "testpass";
ok := add_user("", username, password);
fmt.printf("add_user: %v\n", ok);
pi := windows.PROCESS_INFORMATION{};
ok2, path := windows.add_user_profile(username);
fmt.printf("add_user_profile: %v, %v\n", ok2, path);
ok3 := windows.delete_user_profile(username);
fmt.printf("delete_user_profile: %v\n", ok3);
ok4 := windows.delete_user("", username);
fmt.printf("delete_user: %v\n", ok4);
// Has optional bool to not wait on the process before returning.
b := run_as_user(username, password, "C:\\Repro\\repro.exe", "Hellope!", &pi);
fmt.printf("run_as_user: %v %v\n", b, pi);
}
2021-04-13 02:09:44 +02:00
Daniel Gavin
1d3458cadb
single line comments work
2021-04-12 22:35:26 +02:00
gingerBill
2b36069924
Fix typo
2021-04-12 17:13:05 +01:00
Daniel Gavin
9139ca4673
more work on fmt
2021-04-12 17:01:43 +02:00
gingerBill
4fb4ada2c7
Update sync2 to just use atomic intrinsics rather than the parapoly wrappers
2021-04-12 15:22:40 +01:00
gingerBill
e3ee005404
Clean up path_unix.odin to make it not depend on package os
2021-04-11 19:05:01 +01:00
gingerBill
e8bf1f2064
Minor fixes to platform checking code
2021-04-11 18:59:54 +01:00
Daniel Gavin
e0e6bba865
start new prototype
2021-04-11 19:47:33 +02:00
gingerBill
1156bd9dd0
Remove thread stuff from sync2; Cleanup package thread
2021-04-11 18:25:56 +01:00
gingerBill
52c193316b
Add Thread stuff to new sync package
2021-04-11 15:36:55 +01:00
gingerBill
2db1fe7429
New redesign of core:sync (stored under core:sync/sync2 for the time being)
2021-04-11 15:18:28 +01:00
gingerBill
5bc9e4e4f7
Merge pull request #901 from atkurtul/swarning
...
fix Syntax Warning
2021-04-09 11:28:06 +01:00
gingerBill
2d99a348b8
Fix proc literal bug not finding the associated DeclInfo
2021-04-09 11:27:44 +01:00
Gitea
011c8d5cda
fix Syntax Warning
2021-04-09 13:03:01 +03:00
vassvik
8169cb4853
Fix missing newlines in core:math/linalg/specific.odin
2021-04-09 09:21:20 +02:00
gingerBill
18ab7fb68b
Add break; for sanity
2021-04-08 15:32:59 +01:00
gingerBill
3eaf3327d4
Add "Dwarf Version" metadata for darwin on -llvm-api
2021-04-08 15:06:23 +01:00
gingerBill
d721ffa6fa
Add assertion check on parameter types for lb_emit_call_internal
2021-04-06 11:26:57 +01:00
gingerBill
535048e2b3
Fix LLVMConstIntOfArbitraryPrecision usage for a pointer
2021-04-06 11:07:05 +01:00
gingerBill
050d6f670e
Merge pull request #896 from Platin21/Master-Origin
...
Add's Handling for Return Values for Linker-Stage
2021-04-05 19:06:04 +01:00
Platin21
ae7d7d33d4
Merge remote-tracking branch 'origin/master' into Master-Origin
2021-04-05 19:57:58 +02:00
gingerBill
19470683e7
Add runtime.extendhfsf2 to dependency list
2021-04-05 18:57:09 +01:00
gingerBill
394e4fcbad
Add __extendhfsf2 for macOS
2021-04-05 18:44:08 +01:00
Platin21
f722cceef0
Removed debug code
2021-04-05 19:35:03 +02:00
Platin21
66fb2a94ee
Adds return values to linker stages
2021-04-05 19:28:19 +02:00
gingerBill
f78b2a6090
Undo fix
2021-04-03 18:04:39 +01:00
gingerBill
46bf39cae1
Fix lb_emit_array_ep
2021-04-03 18:03:36 +01:00
gingerBill
46c5c7d1ec
Experiment with different opt passes
2021-04-01 23:41:01 +01:00
gingerBill
bcda9ddee7
Add core:math/fixed
2021-04-01 17:09:34 +01:00
gingerBill
4a66cbb1f4
Fix signed fixed arithmetic intrinsics
2021-04-01 17:08:34 +01:00
gingerBill
f0392d0c75
Cleanup again
2021-04-01 15:46:07 +01:00
gingerBill
3bd39886a0
Cleanup code for fixed-point intrinsics
2021-04-01 15:43:50 +01:00
gingerBill
cef698afd6
Implement fixed-point arithmetic intrinsics for -llvm-api backend
2021-04-01 14:36:06 +01:00
gingerBill
0fc04a939e
Add f16 support to core:math/linalg
2021-04-01 11:12:40 +01:00
gingerBill
3e1b4c17ac
Fix alignment for complex32 and quaternion64
2021-04-01 11:10:17 +01:00
gingerBill
b3e788b9d9
Fix missing complex32/quaternion64 checks
2021-04-01 10:56:57 +01:00
gingerBill
63bb26c0e0
Add f16 specific procedures to core:math
2021-04-01 10:52:46 +01:00
gingerBill
b3dce34bc6
Add min(f16) and max(f16) support
2021-04-01 10:35:07 +01:00
gingerBill
491b282615
Add extra optimization level pass -opt:2 in lb_populate_module_pass_manager
2021-04-01 10:31:46 +01:00
gingerBill
54e6c50769
Implement f16 functionality
2021-04-01 10:06:00 +01:00
gingerBill
a00d7cc705
Merge pull request #884 from corruptmemory/corruptmemory/better-define-errors
...
Helpful error message for invalid `-define:` cases
2021-03-30 21:59:03 +01:00
Jim Powers
9757af5e4a
Helpful error message for invalid -define: cases
2021-03-30 16:49:18 -04:00
gingerBill
3359d0323a
Change >> behaviour in LLVM to prevent stupid UB
2021-03-30 20:38:04 +01:00
gingerBill
fbd01660ee
Experiment with new grammatical parsing rule for expression level (-strict-style) idea
2021-03-30 11:48:32 +01:00
gingerBill
bc5e80d7d6
Merge pull request #885 from DanielGavin/parser
...
Parser fixes
2021-03-30 11:47:45 +01:00
DanielGavin
c429c85ade
Merge remote-tracking branch 'upstream/master' into parser
2021-03-30 12:42:11 +02:00
DanielGavin
02bbac0903
changed error
2021-03-30 12:40:40 +02:00
DanielGavin
b8658547e0
Give error if raw literal hits EOF, and stop removing .Using if it exists in flags and allowed_flags.
2021-03-30 12:38:58 +02:00
gingerBill
2c14accfd0
Merge pull request #879 from Kelimion/partial_hash_updates
...
Allow seeding CRC32, CRC64 & Adler32 with previous partial hash.
2021-03-30 11:20:19 +01:00
gingerBill
439e2c9242
Fix shifting limits and LLVM code gen bug relating to shifts
2021-03-29 23:15:31 +01:00
gingerBill
6fb0868517
Remove dead code and comments
2021-03-29 22:45:36 +01:00
gingerBill
e1588c9322
Remove LLVMPassManagerBuilder usage in lb_populate_module_pass_manager; simplify lb_populate_function_pass_manager
2021-03-29 22:04:54 +01:00
gingerBill
8fcc6ca464
Add LLVM_USE_NO_EXTRA_PASSES build flag
2021-03-29 16:51:06 +01:00
gingerBill
faa0240900
Change how lb_populate_module_pass_manager handles the LLVMPassManagerBuilder calls
2021-03-29 16:40:39 +01:00
gingerBill
66941aed0a
Clamp maximum optimization level to 2 for -llvm-api
2021-03-29 15:51:15 +01:00
gingerBill
fc8c94324e
Fix typo
2021-03-29 15:43:33 +01:00
gingerBill
8c20ac1bf0
Add optional LLVM_USE_BASIC_PASSES build flag. If evaluates to a truthy value, it will be do only basic passes for -llvm-api
2021-03-29 14:55:37 +01:00
gingerBill
371094b067
Remove LLVMAddScalarReplAggregatesPass from passes
2021-03-29 14:50:09 +01:00
gingerBill
c1e125a009
Change alignment of alloca to a larger one if OdinLLVMBuildTransmute requires it
2021-03-29 14:31:26 +01:00
gingerBill
48767301a4
Another minor change to OdinLLVMBuildTransmute regarding minimum source alignment
2021-03-29 14:11:02 +01:00
gingerBill
253a3edd30
Change OdinLLVMBuildTransmute when to deal with loads
2021-03-29 14:07:25 +01:00
gingerBill
8239cd34eb
Issue #823 - Change semantics of disabled attribute to not evaluate any of the parameters at run time
2021-03-27 17:59:01 +00:00
gingerBill
818942b72e
Minor code style change
2021-03-27 17:26:38 +00:00
gingerBill
9bac9af022
Clean up code for record type checking
2021-03-27 17:25:56 +00:00
gingerBill
342761e83a
Refactor record polymorphic params code for unification
2021-03-27 17:21:12 +00:00
gingerBill
87bc9275fe
Correct poly type determination of a where clause for an enumerated array
2021-03-27 16:49:56 +00:00
gingerBill
5ade037b7d
Refactor polymorphic parameter for records; Improve error message for parametric polymorphic enumerated array index types
2021-03-27 16:42:42 +00:00
gingerBill
1e587d6635
Fix #883 - polymorphic specialization with target types of enumerated arrays
2021-03-27 15:22:05 +00:00
gingerBill
e21d716720
Fix endian conversion to and from floats and ints
2021-03-27 14:33:33 +00:00
gingerBill
d62ff39e60
Remove extra passes
2021-03-27 13:30:15 +00:00
gingerBill
0ccf103160
Fix byte swapping for endian specific types in -llvm-api
2021-03-27 12:48:29 +00:00
gingerBill
01c2662de4
Simplify ir_print.cpp escape byte code
2021-03-27 12:17:12 +00:00
gingerBill
bd607b131e
Fix #882
2021-03-27 12:13:17 +00:00
gingerBill
43ac6ca8f4
Add linalg.matrix_cast
2021-03-26 16:24:56 +00:00
gingerBill
62d2656f69
Add linalg.matrix_cast
2021-03-26 14:33:46 +00:00
gingerBill
a611cf545d
Add basic error correction in parser to check for unattached else
2021-03-26 11:39:46 +00:00
gingerBill
7463ad23d8
Move variable declarations to aid other compilers
2021-03-25 22:59:15 +00:00
gingerBill
6271d10af7
Fix to OdinLLVMBuildTransmute to goto general_end on different sized data
2021-03-25 22:54:49 +00:00
gingerBill
c5c82e0551
Fix pseudo-constant local slice initialization
2021-03-25 22:47:23 +00:00
gingerBill
29ed1d5459
Minor zero enforcement
2021-03-25 22:34:35 +00:00
gingerBill
50b439daa8
Fix pseudo-constant local embedded slice generation
2021-03-25 22:27:52 +00:00
gingerBill
23c68b4f7a
Change to assert to test both LLVMIsConstant and LLVMIsGlobalConstant
2021-03-25 22:14:38 +00:00
gingerBill
615104afd1
Revert change :D
2021-03-25 20:59:24 +00:00
gingerBill
d3665331c7
Another minor fix to OdinLLVMBuildTransmute
2021-03-25 20:47:10 +00:00
gingerBill
04be6d190e
Minor fix to OdinLLVMBuildTransmute
2021-03-25 20:45:22 +00:00
gingerBill
6668fd44cf
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-03-25 20:23:49 +00:00
gingerBill
0007ac63ed
Correct #c_vararg behaviour on -llvm-api
2021-03-25 20:23:43 +00:00
gingerBill
f656968aea
Merge pull request #880 from breeo7/master
...
Add `container.Priority_Queue`
2021-03-25 16:02:22 +00:00
breeo
24e7b5ea78
Add container.Priority_Queue
2021-03-25 15:50:33 +01:00
Jeroen van Rijn
f4d0f74dbb
Allow seeding CRC32, CRC64 & Adler32 with previous partial hash.
...
Foo := []u8{'F', 'o','o', '3', 'F', 'o', 'o', '4'};
crc := hash.crc32(Foo[0:4]);
crc = hash.crc32(Foo[4:], crc);
crc_all := hash.crc32(Foo);
fmt.printf("%8x %8x\n", crc, crc_all);
d6285ff7 d6285ff7
a32 := hash.adler32(Foo[0:4]);
a32 = hash.adler32(Foo[4:], a32);
a32_all := hash.adler32(Foo);
fmt.printf("%8x %8x\n", a32, a32_all);
0c5102b0 0c5102b0
2021-03-25 13:48:34 +01:00
gingerBill
7c951cbf0a
Add SOA struct len/cap/allocator fields for the debug symbols
2021-03-24 23:12:54 +00:00
gingerBill
2d0e2625ac
Ensure pointers are of the same type in LLVM ICmp
2021-03-24 23:01:48 +00:00
gingerBill
1aecd7f5ff
Add support for soa slice reference iteration
2021-03-24 22:39:29 +00:00
gingerBill
5faf859a56
Support using on intermediate soa field value from a for-in statement
2021-03-24 22:34:55 +00:00
gingerBill
7028797d53
Implement soa_unzip
2021-03-24 19:29:25 +00:00
gingerBill
6c9d3715d8
Add type hinting to soa_zip
2021-03-24 18:08:34 +00:00
gingerBill
989a03dc77
soa_zip (-llvm-api only): creates an #soa[]struct from passed slices
...
x := []i32{1, 3, 9};
y := []f32{2, 4, 16};
z := []b32{true, false, true};
s_anonymous := soa_zip(x, y, z);
assert(s_anonymous[0]._1 == 2);
s_named := soa_zip(a=x, b=y, c=z);
assert(s_anonymous[0].b == 2);
2021-03-24 17:33:05 +00:00
gingerBill
7a045bd957
Merge pull request #877 from Kelimion/datetime
...
Add core:datetime_to_time
2021-03-24 16:59:19 +00:00
gingerBill
a5329ae48c
Add better package declaration specific error message ( #878 )
2021-03-24 14:34:30 +00:00
gingerBill
2ec3326653
Support #soa array iteration in a for in loop for -llvm-api backend only
2021-03-24 14:31:44 +00:00
gingerBill
bec42e8dd3
Improve core:odin/ast ast.Range_Stmt to use generic number of vals rather than the fixed two to aid with parsing errors
2021-03-24 12:34:06 +00:00
gingerBill
d969d0b264
Make for in logic a bit more generic
2021-03-24 12:31:05 +00:00
gingerBill
0e3ecc350a
Make the parser support as many identifiers on the LHS in for in loops to improve error messages
2021-03-24 12:11:00 +00:00
gingerBill
295c1550a8
Support using variables in debug information
2021-03-24 10:57:00 +00:00
gingerBill
fc1a352285
For bit_set, allow + and - to be aliases for | and &~, respectively
2021-03-23 23:34:01 +00:00
gingerBill
082381284c
Remove dead code
2021-03-23 23:23:40 +00:00
gingerBill
ccd078620b
Improve error message in parser
2021-03-23 23:05:00 +00:00
gingerBill
08f7d3edbe
Allow $ in polymorphic record parameter fields (but disallow mixing)
2021-03-23 22:59:10 +00:00
gingerBill
c62980eaea
Minor improvement to error message about assigning a type to a variable with no inference
2021-03-23 22:33:32 +00:00
gingerBill
d88d6a1fdd
bit_set support in debug symbols by treating them like a bit field of 1 bit booleans
2021-03-23 22:09:16 +00:00
gingerBill
f1e13bdddb
Prefix named types with package name in debug types
2021-03-23 20:45:39 +00:00
gingerBill
331167e91f
Improve debug type names for composite types (arrays, map, struct, union)
2021-03-23 20:41:49 +00:00
gingerBill
e229882fde
Clean up some debug type code
2021-03-23 19:33:22 +00:00
gingerBill
300f988905
Add global variables to -llvm-api debug information
2021-03-23 18:34:20 +00:00
gingerBill
7f6a43f0af
Move LLVM optimization procedures to a separate file to aid with organization
2021-03-23 18:24:49 +00:00
Jeroen van Rijn
06c5a7fb3e
Correct overflowed months.
2021-03-23 18:49:50 +01:00
Jeroen van Rijn
781f784375
Add core:datetime_to_time
...
datetime_to_time takes separate parameters for date and time values and returns a time.Time and an `ok` bool.
If the values are out of range, they're considered modulo and ok will be set to false.
2021-03-23 18:41:40 +01:00
gingerBill
ccd91aee5c
Fix debug information for typeid on -llvm-api
2021-03-22 16:14:58 +00:00
gingerBill
bf46a3f1d3
Correct debug info for basic composite types (e.g. string, any)
2021-03-22 15:36:18 +00:00
gingerBill
8ab1b32fe1
Add local debug variable support for -llvm-api
2021-03-22 14:51:19 +00:00
gingerBill
0355908af8
Start work on very basic LLVM debug type information
2021-03-22 13:09:23 +00:00
gingerBill
fd7d70954e
Begin integrating work from branch llvm-debug-symbols
2021-03-20 13:10:53 +00:00
gingerBill
cb0bd80f50
Fix LLVMConstArray usage
2021-03-19 16:59:46 +00:00
gingerBill
5a67e6ecbd
Fix LLVM asserts
2021-03-19 16:53:22 +00:00
gingerBill
c8a823a387
Add ExternC.h
2021-03-19 15:49:07 +00:00
gingerBill
178e891c78
Fix some LLVM asserts by using LLVMConstNamedStruct everywhere
2021-03-19 15:47:10 +00:00
gingerBill
bda9eb7348
Update llvm-c headers for Version 11.0.1
2021-03-19 15:46:33 +00:00
gingerBill
2b806f7463
Merge pull request #875 from atkurtul/master
...
Run an early memcpy pass regardless of the opt flag and return large structs by pointer on linux
2021-03-19 11:07:12 +00:00
atkurtul
6de0b68928
Merge pull request #2 from atkurtul/main
...
early memcpyopt
2021-03-19 10:26:10 +03:00
atkurtul
bb6e6fb4ef
Merge pull request #1 from atkurtul/llvm
...
return by pointer on linux
2021-03-19 07:30:18 +03:00
atil
5f5dfdc00e
return by pointer on linux
2021-03-19 07:28:27 +03:00
Atil Kurtulmus
88b8052532
fix windows
2021-03-19 07:23:17 +03:00
atil
2c0ddfb5db
fixtypo
2021-03-19 09:57:38 +03:00
atil
2f4902c9b9
fixtypo
2021-03-19 09:54:28 +03:00
atil
d28f6144a4
early memcpyopt
2021-03-19 09:52:53 +03:00
gingerBill
3337412228
split*_iterator procedures for package bytes and strings
2021-03-18 13:26:33 +00:00
gingerBill
e3f9d99a3b
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-03-18 13:25:47 +00:00
gingerBill
359ae29d98
Minor fixes
2021-03-18 13:25:41 +00:00
gingerBill
453b756edc
Merge pull request #872 from Kelimion/fix-cubic
...
Fix typo in cubic().
2021-03-16 15:36:34 +00:00
Jeroen van Rijn
d80670fe0c
Fix typo in cubic().
2021-03-16 16:34:59 +01:00
gingerBill
04e0cacd30
Update package core:math/linalg to support matrix3 euler angle operations
2021-03-16 12:14:54 +00:00
gingerBill
b94ab4dc05
Make check_single_global_entity use create_checker_context
2021-03-15 14:05:38 +00:00
gingerBill
85fd8aaf37
Merge pull request #868 from nakst/patch-1
...
Make size of allocation multiple of the alignment
2021-03-15 11:47:48 +00:00
gingerBill
6412a18ae1
Merge pull request #869 from nakst/patch-2
...
Similar to the update to gb.h
2021-03-14 20:53:30 +00:00
Nakst
acefb2edbc
Similar to the update to gb.h
2021-03-14 20:37:32 +00:00
Nakst
0d1addf0d4
Make size of allocation multiple of the alignment
...
To silence an error from GCC's address sanitizer.
2021-03-14 20:36:35 +00:00
gingerBill
f5142aaec4
Change from test_* prefix to @(test) attribute for odin test
2021-03-14 18:43:21 +00:00
gingerBill
db0ac2ba98
Add "NO TESTS RAN" message to testing.runner if no tests were ran
2021-03-14 18:17:00 +00:00
gingerBill
468ad4837b
Add pkg field to testing.Internal_Test
2021-03-14 18:15:08 +00:00
gingerBill
2aa588209e
odin test to work with the new core:testing package
2021-03-14 18:01:31 +00:00
gingerBill
10f91a0d3f
Make base32 and base64 adhere to -strict-style
2021-03-14 12:54:28 +00:00
gingerBill
8cc4cba06c
Add support for backslash \ to consume a newline
2021-03-14 12:53:57 +00:00
gingerBill
8f6439fa6b
Simplify expect_semicolon_newline_error rule
2021-03-13 23:17:56 +00:00
gingerBill
81efd2dc64
Remove && false from test code
2021-03-13 21:39:33 +00:00
gingerBill
b5c0c68615
Add -strict-style flag: Enforces code style stricter whilst parsing, requiring such things as trailing commas
2021-03-13 21:20:46 +00:00
gingerBill
a60d22fefd
Make trailing comma usage consistent
2021-03-13 21:18:07 +00:00
gingerBill
8123ff83a3
Fix is_diverging_stmt for invalid statements
2021-03-13 15:01:23 +00:00
gingerBill
4e2a2ac80a
Fix formatting of code
2021-03-10 10:53:30 +00:00
gingerBill
d23c10d80e
Merge pull request #865 from matias-eduardo/patch_llvm_bool_return_types
...
Add LLVM boolean compatibility to result types
2021-03-10 09:48:57 +00:00
Matias Fernandez
ba62bcf116
Add LLVM boolean compatibility to result types
2021-03-09 23:17:34 -04:00
gingerBill
84bb349900
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-03-09 11:40:42 +00:00
gingerBill
3ff7bded64
Add intrinsics.volatile_store and intrinsics.volatile_load
2021-03-09 11:40:36 +00:00
gingerBill
8784b79482
Merge pull request #862 from Kelimion/kelimion/master
...
Remove double removal of extension when using the -out option.
2021-03-06 23:15:09 +00:00
gingerBill
d0f923ba74
Merge pull request #863 from jlreymendez/dll_build_fix
...
Fix nullref access violation when building with no entry point
2021-03-06 23:14:55 +00:00
Jose Luis Rey Mendez
4e8ec4ce38
Fix nullref access violation when building with no entry point
2021-03-06 20:02:16 -03:00
Jose Luis Rey Mendez
4f1fb73f32
Added vs code to git ignore
2021-03-06 20:01:11 -03:00
Jeroen van Rijn
cefde23232
Remove double removal of extension when using the -out option.
...
When specifying the out parameter, the extension was stripped twice.
If your path contains a ".", this caused issues.
e.g.
cd "C:\Repro\Path With a . In The Name\"
odin run repro.odin -keep-temp-files -out repro.exe
This would cause the files to end up as:
"C:\Repro\Path With a.exe", "C:\Repro\Path With a.ll", "C:\Repro\Path With a.bc" and "C:\Repro\Path With a.obj"
With this patch it works as expected, with or without a . in the file path.
2021-03-06 23:09:15 +01:00
gingerBill
083cec6c88
Remove dead code
2021-03-06 16:11:54 +00:00
gingerBill
45cd5c0b1c
Remove test code
2021-03-06 16:11:39 +00:00
gingerBill
572b9d1b3f
Fix context bug with deferred_* attributes which caused a new context to be created every time
2021-03-06 16:11:01 +00:00
gingerBill
0ae1b96182
Fix ir_print.cpp i32 line/column values
2021-03-05 15:42:59 +00:00
gingerBill
1988856eed
Minimize the size of runtime.Source_Code_Location to use i32 instead of int
2021-03-05 12:56:36 +00:00
gingerBill
15dbc99cb9
Minimize TokenPos size by using i32 for line/column/offset and file_id instead of String
...
To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
2021-03-04 16:45:30 +00:00
gingerBill
17eb0ce525
Minor update to math/linalg
2021-03-03 22:18:18 +00:00
gingerBill
619a977856
Improve math/linalg to support both f32 and f64 basic procedures for the specific*.odin files
2021-03-03 16:44:41 +00:00
gingerBill
b727b6438b
Minimize unneeded casts
2021-03-03 14:31:17 +00:00
gingerBill
75f127af7c
Add -vet-extra (checks for unneeded casts and transmutes)
2021-03-03 14:17:48 +00:00
gingerBill
c2794b62a9
Clean up logic for << and >> behaviour
2021-03-02 16:48:39 +00:00
gingerBill
4e63ab5edc
Re-enable "LLVM Function Pass"
2021-03-02 13:36:57 +00:00
gingerBill
2a1bec9fbb
Clean up lb_end_procedure_body logic
2021-03-02 00:43:25 +00:00
gingerBill
6faf024ab4
Remove unneeded return value from incl and excl
2021-03-02 00:40:40 +00:00
gingerBill
35edf45514
Add make_soa and delete_soa; Reorganize soa procedures into a separate file
2021-03-01 18:07:09 +00:00
gingerBill
667aa3671e
Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)
2021-03-01 17:54:49 +00:00
gingerBill
b428e9ee14
Improve lb_end_procedure_body logic
2021-03-01 15:14:21 +00:00
gingerBill
868117cddd
Remove hack in lb_addr_store
2021-03-01 12:59:17 +00:00
gingerBill
9e0210f7f6
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-03-01 12:15:38 +00:00
gingerBill
302742689b
Patch win64 ABI problem caused by a bug in LLVM for 128 bit integers
2021-03-01 12:15:28 +00:00
gingerBill
6ffb4d2683
Minor changes to function pass manager in llvm_backend.cpp
2021-02-27 17:47:57 +00:00
gingerBill
4f298a5314
Fix LLVM -opt:2 bug for initializing global variables
2021-02-27 15:54:22 +00:00
gingerBill
f49278b5f4
Merge pull request #855 from nakst/master
...
Update Essence API header
2021-02-27 11:34:38 +00:00
gingerBill
a2557142cc
Update package os for package path/filepath support on macOS
2021-02-27 11:30:43 +00:00
gingerBill
fa09640e7e
Fix slice.concatenate
2021-02-27 10:58:10 +00:00
gingerBill
1f9a2df42b
Fix crash when a forced dependency doesn't exist
2021-02-27 10:57:44 +00:00
gingerBill
ee04dde7c2
HACK check_unchecked_bodies further!
2021-02-26 15:34:12 +00:00
gingerBill
88599eeac1
Update build-m1.sh to remove unneeded macro define
2021-02-26 15:29:41 +00:00
gingerBill
54194af71c
Fix patch (yeah... I know)
2021-02-26 15:29:10 +00:00
gingerBill
575c7ff031
Patch issue with minimum dependency system and how it interacts with para poly procedures
2021-02-26 15:09:32 +00:00
nakst
7b4ddd9b18
update essence API header
2021-02-26 14:46:38 +00:00
gingerBill
ac155d9036
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-02-26 10:56:40 +00:00
gingerBill
d772710ae7
Add message to assert in ir_build_expr_internal
2021-02-26 10:56:32 +00:00
gingerBill
172fc9a46c
Merge pull request #853 from ttvd/master
...
Fixing a typo in llvm backend.
2021-02-25 19:13:49 +00:00
Mykola Konyk
8182d9e828
Fixing a typo in llvm backend.
2021-02-25 13:13:25 -05:00
gingerBill
d0ac9f605d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-02-25 13:17:07 +00:00
gingerBill
3eae69effc
Make USE_NEW_LLVM_ABI_SYSTEM the actual behaviour and remove the previous approach
2021-02-25 13:17:00 +00:00
gingerBill
53e4c536a1
Merge pull request #852 from Tetralux/fix-dll-mac
...
Fix -build-mode:shared on Darwin
2021-02-25 12:17:29 +00:00
gingerBill
84deee75cc
Make lb_create_enum_attribute ignore certain attributes (they are not properly supported by the actual LLVM C API)
2021-02-25 11:39:46 +00:00
gingerBill
82275082ff
Add #force_inline parsing directly to expression statements
2021-02-25 10:01:12 +00:00
gingerBill
fc48e9638a
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-02-25 09:55:56 +00:00
gingerBill
4a69bfada1
Remove #force_inline for and only have #unroll for
2021-02-25 09:55:48 +00:00
gingerBill
4d13a43590
Enforce -llvm-api on Mac M1
2021-02-25 00:39:44 +00:00
gingerBill
b2fdb53e26
fix timings.cpp for M1
2021-02-25 00:39:26 +00:00
gingerBill
58422711d1
Remove sret attribute in llvm_abi.cpp
2021-02-25 00:22:47 +00:00
gingerBill
ba817d153c
Get compiling on Mac Mini M1
2021-02-24 23:21:34 +00:00
gingerBill
2d88c6c6a5
Begin work on aarch64 ABI for -llvm-api
2021-02-24 16:49:19 +00:00
gingerBill
a6fdb5eb5e
Add -DUSE_NEW_LLVM_ABI_SYSTEM by default to Windows build for -llvm-api
2021-02-24 16:00:05 +00:00
gingerBill
425bb0579e
Default to -microarch:generic
2021-02-24 15:59:31 +00:00
Tetralux
a9af8b093d
Fix -build-mode:shared on Darwin
...
Apparently, the '__$startup_runtime' symbol to initialize RTTI stuff has
three underscores (not two) on Darwin!
2021-02-24 02:18:47 +00:00
gingerBill
8f9111e552
Build tag to make all declarations within a file private to the package //+private
2021-02-23 20:40:48 +00:00
gingerBill
731e6ca3a6
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-02-23 20:40:09 +00:00
gingerBill
79eb46bce3
Replace inline uses in the rest of core with #force_inline
2021-02-23 20:39:59 +00:00
gingerBill
d39d238754
Merge pull request #851 from WalterPlinge/master
...
Fixed linalg distance function return type
2021-02-23 20:17:47 +00:00
WalterPlinge
0e9dee62bf
Update extended.odin
2021-02-23 20:10:43 +00:00
gingerBill
533dde4648
Add deprecation message for inline and no_inline to use #force_inline and #force_no_inline instead
2021-02-23 16:22:28 +00:00
gingerBill
6988b12012
Replace inline with #force_inline in sys/es/api.odin
2021-02-23 16:15:37 +00:00
gingerBill
aa93305015
Replace usage of inline proc with #force_inline proc in the core library
2021-02-23 16:14:47 +00:00
gingerBill
41b854f192
Remove #opaque types
2021-02-23 15:45:06 +00:00
gingerBill
28f279329d
Remove bit_field keyword and parsing logic
2021-02-23 15:29:54 +00:00
gingerBill
fe33a64b2e
Remove #opaque usage in core library
2021-02-23 15:21:05 +00:00
gingerBill
f95185a16e
Fix new flags
2021-02-23 15:05:03 +00:00
gingerBill
01313eec7f
Add flags -ignore-warnings and -warnings-as-errors
2021-02-23 14:59:28 +00:00
gingerBill
a1693c0184
Deprecate inline for in favour of #unroll for
2021-02-23 14:45:15 +00:00
gingerBill
657c0ac4f5
Update odin/parser
2021-02-23 14:38:46 +00:00
gingerBill
908a403d78
Add #force_inline, #force_no_inline and #unroll for the transition to deprecate and then remove the keywords inline and no_inline
...
`inline for` will be replaced with `#unroll for`
2021-02-23 14:37:05 +00:00
gingerBill
28ed310f31
Remove "pure" and "pure_none" calling conventions
2021-02-23 13:10:23 +00:00
gingerBill
a652c24ac3
Remove opaque keyboard
2021-02-23 13:02:18 +00:00
gingerBill
595885d3db
Remove bit_field in type info, runtime, and general core library
2021-02-19 11:36:23 +00:00
gingerBill
efdee0dafb
Remove bit_field type from Odin (keyword and dead runtime code still exists)
2021-02-19 11:31:14 +00:00
gingerBill
f332cf498d
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-02-19 00:05:02 +00:00
gingerBill
6ae619c0a6
Add to package math/bits bitfield_extract and bitfield_insert
2021-02-19 00:04:48 +00:00
gingerBill
7ea86f9c91
Merge pull request #844 from DanielGavin/master
...
Incorrect setting of allocators in stat_linux and read_dir includes itself and parent
2021-02-12 22:44:22 +00:00
DanielGavin
0f11c47579
set the correct allocators and ignore the previous and parent directory in readdir.
2021-02-12 23:22:53 +01:00
gingerBill
5cced38a6e
Add kernel32 memory api
2021-02-11 15:31:51 +00:00
gingerBill
d5dfa14f18
Clear up fmt.wprint* length logic
2021-02-11 10:44:38 +00:00
gingerBill
fa02dc9736
Fix #840
2021-02-11 10:15:58 +00:00
gingerBill
92431c83ec
Change default_temp_allocator_proc behaviour to use the default_allocator when the backing data has not been set.
2021-02-09 14:00:59 +00:00
gingerBill
f5418837f0
Minor style clean up
2021-02-04 15:02:07 +00:00
gingerBill
825c5a963f
Improve fmt's %#v behaviour for nested records
2021-02-04 14:52:23 +00:00
gingerBill
f50ea36c70
Fix miscorrect type usage
2021-02-04 14:24:42 +00:00
gingerBill
de9b6e3f6e
Correct sys/win32 to match sys/windows
2021-02-04 13:50:48 +00:00
gingerBill
415379e1cf
Fix delete_map
2021-02-02 16:30:34 +00:00
gingerBill
d168c7936e
Fix slices of slices in procedures for -llvm-api
2021-01-27 15:56:32 +00:00
gingerBill
aed63a6e8b
Update package reflect
2021-01-27 15:27:59 +00:00
gingerBill
98521618e6
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-01-27 15:27:45 +00:00
gingerBill
e64eb74eef
Fix #831
2021-01-27 15:27:38 +00:00
gingerBill
31528f5ea2
Merge pull request #836 from laleksic/master
...
Mirror Windows interface for Linux in os module
2021-01-26 12:29:33 +00:00
Luka Aleksić
ac184957db
Fix CI
2021-01-21 20:55:58 +01:00
Luka Aleksić
92e23ec397
* Add some procedures to path_unix to mirror the path_windows API
...
* Add files stat_linux and dir_linux to mirror the stat/dir_windows API
* Add helper functions to os_linux that are used by the above
2021-01-21 20:20:38 +01:00
gingerBill
c71c86f563
Merge pull request #821 from corruptmemory/corruptmemory/fix-for-c_vararg
...
Fix for `c_vararg` issue
2021-01-21 16:09:50 +00:00
gingerBill
773be83cad
Merge pull request #835 from laleksic/master
...
Tracking allocator now tracks bad free calls
2021-01-21 16:09:20 +00:00
gingerBill
e789e1eac1
Merge pull request #834 from DanielGavin/master
...
Invalid expression causes segmentation fault in parse_binary_expr in core/odin package
2021-01-21 16:08:30 +00:00
Luka Aleksić
00ebc877a1
Tracking allocator now tracks bad free calls
2021-01-21 00:19:56 +01:00
DanielGavin
3224869c29
handle expr is null in parse_binary_expr
2021-01-20 16:10:16 +01:00
DanielGavin
38c6182280
Merge branch 'master' of https://github.com/DanielGavin/Odin
2021-01-20 16:05:15 +01:00
Jim Powers
24db60eb4b
Fix for c_vararg issue
...
Fixes #817
2021-01-18 20:05:33 -05:00
gingerBill
53d8ec4d15
Add extra error checks
2021-01-18 11:34:09 +00:00
gingerBill
2990b3efd5
Fix #825
2021-01-17 11:59:51 +00:00
gingerBill
c653e400db
Add extra error checking in parser.cpp
2021-01-15 16:15:03 +00:00
gingerBill
e884f8c165
Fix typo
2021-01-15 15:46:15 +00:00
gingerBill
3bcccf88d5
vet all core packages
2021-01-09 23:43:34 +00:00
gingerBill
9e8c46b8de
Add time.Tick for performance related timings
2021-01-09 01:08:16 +00:00
gingerBill
fba4bfb2d5
Minor cleanup of slice/slice.odin code
2021-01-09 00:40:30 +00:00
gingerBill
79432be784
Add the mini ginger* hashes to package hash
2021-01-09 00:33:34 +00:00
gingerBill
56980e51da
Update package io
2021-01-09 00:30:10 +00:00
gingerBill
37253f2621
Add encoding/csv Writer
2021-01-09 00:21:47 +00:00
gingerBill
da380d6fc4
Add encoding/csv Reader
2021-01-08 23:24:35 +00:00
gingerBill
bf183b2c2c
Update c/frontend/preprocessor
2021-01-06 11:22:15 +00:00
gingerBill
a07d199a48
Add slice.map_keys, slice.map_values, slice.map_entries, slice.map_entry_infos
2021-01-06 11:21:22 +00:00
gingerBill
fa0e4c1294
Add -no-entry-point to help
2021-01-04 08:56:42 +00:00
gingerBill
60fe3c9ec6
Remove unused import from doc.odin
2021-01-02 16:50:24 +00:00
gingerBill
a6ce417a35
Clean up doc.odin
2021-01-02 16:44:32 +00:00
gingerBill
6523aefdcc
Merge branch 'master' of https://github.com/odin-lang/Odin
2021-01-02 16:36:51 +00:00
gingerBill
31c4a9d770
Add packages "core:c/frontend/tokenizer" and "core:c/frontend/preprocessor"
2021-01-02 16:36:43 +00:00
gingerBill
9fa6427a18
Merge pull request #816 from kennethmaples/file-time-fix
...
Fix layout of Stat for linux and make usage consistent
2020-12-29 11:38:17 +00:00
kennethmaples
6d5bd8bead
Fix layout of Stat for linux and make usage consistent across unix variants
2020-12-29 17:45:19 +08:00
gingerBill
98ad912509
Fix typo
2020-12-27 16:16:04 +00:00
DanielGavin
bd6ead32f8
Merge pull request #1 from odin-lang/master
...
update from master
2020-12-18 14:19:03 +01:00
gingerBill
3558848da8
Fix ir_print.cpp for typeid constants
2020-12-17 17:36:59 +00:00
gingerBill
720f2c7c61
Allow check_expr_with_type_hint to allow assignment of types to typeid without requiring typeid_of
2020-12-17 14:23:45 +00:00
gingerBill
e6dfc22b8a
Add bytes.buffer_write_to and bytes.buffer_read_from
2020-12-17 00:47:05 +00:00
gingerBill
1470cab842
Make bytes.odin consistent with strings.odin in functionality
2020-12-17 00:36:25 +00:00
gingerBill
a31b992d2b
Rename bytes/strings.odin to bytes/bytes.odin
2020-12-17 00:25:05 +00:00
gingerBill
5faa560f82
Make container.Map have similar semantics to the built-in map type
2020-12-15 23:23:07 +00:00
gingerBill
6c2b93d519
Improve text/scanner whitespace parameter to use a bit_set instead; Improve error message for for x in y where y is not iterable but allows in as an operator
2020-12-15 22:28:40 +00:00
gingerBill
2957da538d
Add strings.Intern
2020-12-15 22:07:53 +00:00
gingerBill
089eccb245
Fix minor constant value declaration bug
2020-12-14 22:47:21 +00:00
gingerBill
cbd4aa5392
Remove unused constant
2020-12-14 17:40:57 +00:00
gingerBill
1d333fedaa
Support %i as an alternative to %d
2020-12-14 17:00:29 +00:00
gingerBill
82d63306c4
Fix enumerated array index printing bug #808
2020-12-14 16:55:19 +00:00
gingerBill
416051f17b
Fix #811
2020-12-14 16:39:31 +00:00
gingerBill
f6e2d74d10
Keep -vet happy
2020-12-14 14:36:45 +00:00
gingerBill
aa2562fe7c
Replace procedure call
2020-12-14 14:33:32 +00:00
gingerBill
c17d17a9b4
Remove unused procedure
2020-12-14 14:32:34 +00:00
gingerBill
404c9e40ee
Update io/util.odin
2020-12-14 14:31:18 +00:00
gingerBill
34788bfced
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-12-13 17:09:47 +00:00
gingerBill
cffbd2d276
Add odin/parser/parse_files.odin
2020-12-13 17:09:41 +00:00
gingerBill
9250e4d3df
Merge pull request #810 from oskarnp/fix-math-factorial
...
Fix math.factorial()
2020-12-13 11:17:59 +00:00
Oskar Nordquist
60b9ef1f5d
Fix math.factorial()
2020-12-13 02:36:29 +01:00
gingerBill
f64584b92a
Improve -insert-semicolon rules
2020-12-09 23:40:45 +00:00
gingerBill
9eb12889f4
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-12-09 23:35:14 +00:00
gingerBill
6f6a3f2ccf
Fix typos for -insert-semicolon
2020-12-09 23:35:08 +00:00
gingerBill
a574ebe5ec
Merge pull request #805 from DanielGavin/master
...
small fixes to the parser
2020-12-09 23:22:11 +00:00
gingerBill
9be0272c13
Merge pull request #806 from arqv/nix
...
Add Nix derivation
2020-12-09 23:21:21 +00:00
Lyla Bravo
5923470e35
Add Nix derivation
2020-12-09 18:51:37 -03:00
DanielGavin
934809397f
small fixes to the parser
2020-12-09 21:33:10 +01:00
gingerBill
b6aa549eb8
Fix typo
2020-12-08 17:01:28 +00:00
gingerBill
168532ae8d
Add runtime.print_strings
2020-12-08 17:01:06 +00:00
gingerBill
d7a5767aa3
If ir_type_requires_mem_zero is stored with zero, don't store again with the zeroinitializer
2020-12-08 15:43:57 +00:00
gingerBill
15bf57e4e1
Fix typo
2020-12-08 15:03:46 +00:00
gingerBill
83cd2473f2
Improve rules for zeroing types with the ir.cpp backend with ir_type_requires_mem_zero
2020-12-08 15:00:07 +00:00
gingerBill
510d1f2518
Add docs to text/scanner
2020-12-07 12:43:28 +00:00
gingerBill
7b55068b04
Unify peek_n with peek and renamescan_peek_n to peek_token
2020-12-07 12:13:41 +00:00
gingerBill
b9aa94ee0d
Add scan_peek_n to package text/scanner #800
2020-12-07 11:30:54 +00:00
gingerBill
96d8971d87
Add peek_n to package text/scanner
2020-12-07 10:55:27 +00:00
gingerBill
98c8fde098
Remove unused tokens
2020-12-06 13:17:48 +00:00
gingerBill
1ac84b09a1
Add comments to ast.walk related entities
2020-12-06 13:04:11 +00:00
gingerBill
21d8562923
Add ast.walk and ast.inspect
2020-12-06 12:59:26 +00:00
gingerBill
c8360f4fff
Update ast.clone
2020-12-06 12:08:44 +00:00
gingerBill
fe7e4e88c6
Merge pull request #797 from Tetralux/improve-string-parsing
...
Improve number parsing procedures
2020-12-06 11:43:04 +00:00
Tetralux
c06528d702
Improve number parsing procedures
...
- No longer returns true for partial string parsing.
All characters in the string must be part of the number.
i.e: parse_int("2.345") no longer returns (2, true) - it now returns (2, false)
- Return (0, false) on empty strings.
2020-12-06 11:39:03 +00:00
gingerBill
ea60db9f53
Add inline asm expression to odin/parser
2020-12-06 01:14:55 +00:00
gingerBill
dff4c6b666
Clean up logic
2020-12-06 00:59:23 +00:00
gingerBill
0e9b357a5d
Fix typo
2020-12-06 00:55:31 +00:00
gingerBill
1eb1bffd89
Merge pull request #799 from odin-lang/parser-experiments
...
Add experimental `-insert-semicolon` functionality to tokenizer and parser
2020-12-06 00:53:52 +00:00
gingerBill
e8653ac47e
Update main.cpp
2020-12-06 00:51:32 +00:00
gingerBill
f0683c9102
Merge branch 'master' into parser-experiments
2020-12-06 00:49:48 +00:00
gingerBill
ca4657fd31
Add custom semicolon insertion to odin/tokenizer and odin/parser
2020-12-06 00:47:58 +00:00
gingerBill
d94414b0f4
Correct ternary if/when parsing
2020-12-06 00:15:35 +00:00
gingerBill
80fead1de5
Add ast.Selector_Expr_Call
2020-12-06 00:03:45 +00:00
gingerBill
069c6cac3f
Add package name and source code location to Type_Info_Named
2020-12-05 20:47:50 +00:00
gingerBill
1a8ea6113a
Remove hash field in runtime.Source_Code_Location
2020-12-05 19:52:08 +00:00
gingerBill
76e6624dbb
Remove type name generation for procedures in ir.cpp
2020-12-05 19:21:00 +00:00
gingerBill
09a52b7ee6
Fix typos
2020-12-05 16:56:09 +00:00
gingerBill
7b36174c17
Fix formatting
2020-12-05 16:38:26 +00:00
gingerBill
a82c902f99
Minor correction to bytes.Buffer's vtable
2020-12-05 15:36:02 +00:00
gingerBill
14ae2e0a8d
Add bufio.Writer and bufio.Read_Writer
2020-12-05 15:14:21 +00:00
gingerBill
2ab6cdb98e
Add package bufio; add bufio.Reader
2020-12-05 12:03:57 +00:00
gingerBill
21c1abe15a
Add fmt formatting for runtime.Source_Code_Location
2020-12-05 12:03:38 +00:00
gingerBill
4c41045133
Fix typo in package io
2020-12-05 12:03:07 +00:00
gingerBill
0ed1300bd6
Make bytes.Reader and strings.Reader have the same interface
2020-12-04 21:25:13 +00:00
gingerBill
dd63665b58
Update bytes.Reader
2020-12-04 20:33:14 +00:00
gingerBill
9b22583397
Add bytes.Buffer
2020-12-04 20:18:41 +00:00
gingerBill
63f2480951
Begin work on package bytes ([]byte equivalent of package strings)
2020-12-04 19:16:40 +00:00
gingerBill
edbb3e3b32
Fix typos
2020-12-04 18:53:17 +00:00
gingerBill
ecf324e213
Remove buffered type
2020-12-04 18:50:30 +00:00
gingerBill
7268c80d64
Add strings.fields and strings.fields_proc
2020-12-04 18:50:05 +00:00
gingerBill
fd453be831
Deprecate opaque in favour of #opaque in the core library
2020-12-04 18:49:39 +00:00
gingerBill
2a232f2397
Remove the (reserved) keyword macro
2020-12-04 16:14:11 +00:00
gingerBill
c4cb7170ee
Deprecate keyword opaque in favour of #opaque
2020-12-04 16:13:05 +00:00
gingerBill
b6bbe29c8f
Remove const as a (reserved) keyword
2020-12-04 16:04:58 +00:00
gingerBill
5d0db4c63a
Clean up fmt usage with io.Writer and strings.Builder
2020-12-04 15:04:54 +00:00
gingerBill
05a3bdad58
Allow nested procedures to access @(static) and @(thread_local) variables
2020-12-04 11:28:14 +00:00
gingerBill
0ef02e6737
Improve packages io and strings; add io.Section_Reader
2020-12-03 15:57:46 +00:00
gingerBill
047586afc6
Change ExactValue layout for complex/quaternion types to minimize its size
2020-12-03 14:21:33 +00:00
gingerBill
5acdcfb57c
Keep -vet happy
2020-12-03 13:26:33 +00:00
gingerBill
6e04b1c429
Remove using stream on custom stream types in package io
2020-12-03 13:23:36 +00:00
gingerBill
828fe2ce56
Fix #795
2020-12-03 12:25:45 +00:00
gingerBill
18da0b3418
Integrate package io into core library
2020-12-03 10:45:26 +00:00
gingerBill
334a8c46e8
Fix io typos
2020-12-03 00:27:21 +00:00
gingerBill
e0fb081cbd
Keep -vet happy
2020-12-02 23:46:41 +00:00
gingerBill
bca28e94ec
Keep fmt happy
2020-12-02 23:43:28 +00:00
gingerBill
875415daa9
Make os._file_stream_vtable private
2020-12-02 23:40:23 +00:00
gingerBill
0cf3ae93c0
Add os.stream_from_handle; fix io.close
2020-12-02 23:39:33 +00:00
gingerBill
c4172e3914
Rename stream field names
2020-12-02 23:17:21 +00:00
gingerBill
8e08ae47fb
Add strings.Reader
2020-12-02 23:12:43 +00:00
gingerBill
d9343ae997
Add package io
2020-12-02 23:12:14 +00:00
gingerBill
4d30b88927
Fix typos
2020-12-02 23:11:46 +00:00
gingerBill
7389ffba6d
Fix -llvm-api const initialization of &T{}
2020-12-02 21:07:15 +00:00
gingerBill
a6301ab58a
Add type_assertion_check2
2020-12-02 11:50:57 +00:00
gingerBill
996c854071
Disable lb_const_hash for the time being
2020-12-02 11:48:50 +00:00
gingerBill
a9c1811027
Fix typo
2020-12-02 10:41:18 +00:00
gingerBill
32b1537aa3
Fix xor for constant booleans
2020-12-02 10:39:59 +00:00
gingerBill
2d0c0a7a83
Fix typo
2020-12-01 15:38:15 +00:00
gingerBill
400816ebf7
Fix Pointer store in LLVM backend
2020-12-01 00:40:54 +00:00
gingerBill
ef417017f0
Fix typo
2020-11-30 19:46:41 +00:00
gingerBill
7c1c9d22b4
Fix thread.run_with_poly_data*
2020-11-30 19:44:43 +00:00
gingerBill
5803fcc158
Revert function passes
2020-11-29 20:41:01 +00:00
gingerBill
f4f2b8f5ad
Add _internal field to context
2020-11-29 18:42:13 +00:00
gingerBill
dd4f8e9747
Improve default pass manager for -llvm-api
2020-11-29 18:32:49 +00:00
gingerBill
f06f33872c
Make 16 simple hasher cases for small types
2020-11-29 18:17:21 +00:00
gingerBill
9e13416312
Simplify simple compare hasher code
2020-11-29 17:58:54 +00:00
gingerBill
5ab7ec5b16
Support any comparable type for map keys
2020-11-29 16:37:19 +00:00
gingerBill
b922398a96
Sanity check for map key
2020-11-29 16:13:16 +00:00
gingerBill
57f5976ac1
Support map keys for simple compare types
2020-11-29 16:12:21 +00:00
gingerBill
7fbc081119
Improve const hash
2020-11-29 16:03:21 +00:00
gingerBill
1dfe0cdd1d
Simplify hashing approach map
2020-11-29 15:50:29 +00:00
gingerBill
97c66c9c73
Add intrinsics.type_hasher_proc; Make map work with generic hasher procedure
2020-11-29 15:27:53 +00:00
gingerBill
085972bb2c
Minor clean up
2020-11-29 14:31:42 +00:00
gingerBill
39bed567b3
Add intrinsics.type_equal_proc; Make map use an internal equal procedure to compare keys
2020-11-29 14:22:42 +00:00
gingerBill
2e0fd34e59
Keep -vet happy
2020-11-29 12:52:30 +00:00
gingerBill
9959a069fc
Simplify internals of map[K]V
2020-11-29 12:48:33 +00:00
gingerBill
c77098a91c
Fix for in enum type
2020-11-26 10:19:45 +00:00
gingerBill
89cceb910a
Keep -vet happy
2020-11-26 00:09:38 +00:00
gingerBill
f36c5de746
Fix typo
2020-11-26 00:05:15 +00:00
gingerBill
ca10248740
Add __dynamic_map_fix_keys
2020-11-25 23:50:25 +00:00
gingerBill
aa859c2187
Clean up and fix __dynamic_map_erase
2020-11-25 22:36:34 +00:00
gingerBill
8591655334
Clean up __dynamic_map_rehash behaviour
2020-11-25 21:03:20 +00:00
gingerBill
70f5d7a1c9
Enforce zeroing through memset to ensure padding is zeroed with llvm api
2020-11-25 19:50:48 +00:00
gingerBill
1acd5acd70
Remove unused variable
2020-11-25 16:28:13 +00:00
gingerBill
dbaf4d24f6
Update package json for new map layout; Correct llvm-api includes for *nix
2020-11-25 16:19:56 +00:00
gingerBill
9c1c9693f2
Patch up gb.h
2020-11-24 15:18:20 +00:00
gingerBill
776c3f4e90
Prepare for M1 Mac
2020-11-24 12:20:48 +00:00
gingerBill
a55568b0c4
Make hash internal key be uintptr rather than u64 to reduce entry size
2020-11-23 19:14:36 +00:00
gingerBill
b08ec005b2
Keep -vet happy
2020-11-23 18:33:49 +00:00
gingerBill
91758656f6
Change internal layout of map[K]V
2020-11-23 18:25:01 +00:00
gingerBill
4762d2f2d1
map type internal reorganization
2020-11-23 16:56:31 +00:00
gingerBill
67bc35e882
Fix logic for comparisons of struct #raw_union types
2020-11-23 16:19:26 +00:00
gingerBill
4e370e6ed8
Add equal procedure field to runtime.Type_Info_Struct
2020-11-23 15:53:49 +00:00
gingerBill
0b30c3dc5a
Add flags: Type_Info_Flags, to runtime.Type_Info
2020-11-23 14:35:31 +00:00
gingerBill
9e42cb1595
Add comparisons to structs where all fields are comparable == and !=
2020-11-23 12:20:04 +00:00
gingerBill
4379917c7d
Re-enable zeroext for i1
2020-11-22 21:52:39 +00:00
gingerBill
dc8e895d72
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-11-22 21:38:52 +00:00
gingerBill
a2461bdf6b
Modify llvm_abi.cpp to work correctly for win64 abi of i128 types. (it's a pain)
2020-11-22 21:38:45 +00:00
Mikkel Hjortshøj
5cc9ddd40b
Update nightly.yml
2020-11-22 02:49:19 +01:00
gingerBill
acef96bde7
Merge pull request #787 from dbechrd/dbechrd-mixed-value-error-typo-fix
...
Update check_expr.cpp
2020-11-22 01:22:48 +00:00
gingerBill
e0c028329b
Merge pull request #786 from dbechrd/dbechrd-kernel32-typo
...
Update kernel32.odin
2020-11-22 01:22:18 +00:00
gingerBill
740411f207
Minor change to unicode/letter.odin
2020-11-21 23:14:07 +00:00
gingerBill
fa50c8d7d3
Add ODIN_TEST constant for checking if odin test is being run
2020-11-21 11:40:15 +00:00
Dan Bechard
2d878de84d
Update check_expr.cpp
...
Fixed typo in error message `procedure all` -> `procedure call`
2020-11-20 15:43:51 -08:00
Dan Bechard
58f768cb4f
Update kernel32.odin
...
Fix typo in CreateProcessA/W mappings (https://github.com/odin-lang/Odin/issues/785 )
2020-11-20 15:39:08 -08:00
gingerBill
260e28c0af
Fix casting of untyped strings
2020-11-20 16:30:34 +00:00
gingerBill
a14ea5b2b5
Add support for %s and %q for [dynamic]byte
2020-11-20 16:25:11 +00:00
gingerBill
63e4a2341f
Support string literals for fixed arrays of runes; Add %q support for arrays/slices of bytes
2020-11-20 16:24:23 +00:00
gingerBill
6416a6f39c
Allow string literals for [N]byte
2020-11-20 16:01:59 +00:00
gingerBill
87956676f5
Add %s support for arrays and slices of bytes
2020-11-20 16:01:16 +00:00
gingerBill
913eac13b1
Reorganize runtime code into separate files
2020-11-19 00:08:23 +00:00
gingerBill
3b7fd4711f
Fix text/scanner.scan_string
2020-11-18 23:48:01 +00:00
gingerBill
fef5172278
Add %q for runes in fmt
2020-11-18 23:40:54 +00:00
gingerBill
a39921aa6a
Add package text/scanner
2020-11-18 23:33:16 +00:00
gingerBill
9408eb9580
Update odin doc to support multiple package outputs by passing multiple paths; Replace -all with -short
...
Example:
odin doc core/path core/path/filepath
2020-11-18 23:22:27 +00:00
gingerBill
ef2f204c58
Improve system_exec_command_line_app functionality; Restrict test_* procedures to *_test.odin files
2020-11-17 20:33:15 +00:00
gingerBill
30765475c6
Fix up system_exec_command_line_app exit code code
2020-11-17 18:59:48 +00:00
gingerBill
2bd0fd932a
Begin rudimentary work on implementing odin test tooling with *_test.odin files
2020-11-17 18:50:30 +00:00
gingerBill
11577db6a8
Minor fixes
2020-11-17 16:36:33 +00:00
gingerBill
ede25a88f8
Ignore +build flags in packages comments with odin doc
2020-11-17 16:01:33 +00:00
gingerBill
aa5cb7f6a9
Fix proc type printing
2020-11-17 15:54:22 +00:00
gingerBill
d730c5b334
Improve file doc logic
2020-11-17 15:48:18 +00:00
gingerBill
34ca4e92eb
Fix parser logic for first comment group line in a file
2020-11-17 15:45:55 +00:00
gingerBill
7442f4bab6
Fix typo
2020-11-17 15:17:36 +00:00
gingerBill
4f303603e7
Add more documentation for odin doc flags
2020-11-17 15:15:26 +00:00
gingerBill
a0fbc56317
Improve flags for odin doc
2020-11-17 15:13:38 +00:00
gingerBill
d90fc18bef
Basic odin doc support
2020-11-17 15:05:16 +00:00
gingerBill
00192bb349
Improve flag handling to check for invalid uses
2020-11-17 13:55:08 +00:00
gingerBill
edd9d5e50b
Add -show-unused-with-location
2020-11-17 13:02:10 +00:00
gingerBill
fea8c63ab3
Fix string_compare
2020-11-17 12:19:28 +00:00
gingerBill
6f71d1f2a9
Add -show-unused (Shows unused package declarations of all imported packages)
...
Crude output at the moment but better than nothing
2020-11-17 12:10:25 +00:00
gingerBill
ca4b0527e8
Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> when the parameter doesn't need to grow
2020-11-16 15:18:25 +00:00
gingerBill
adf6c85fd3
Minimize Ast flags usage
2020-11-16 01:42:30 +00:00
gingerBill
939878df50
Improve logic for x->y() shorthand
2020-11-15 23:54:18 +00:00
gingerBill
5fafb17d81
Improve generate_entity_dependency_graph: Calculate edges for graph M - Part 2
2020-11-15 22:46:07 +00:00
gingerBill
3a229397e4
Add next_pow2_isize for PtrSet
2020-11-15 21:22:26 +00:00
gingerBill
db0bcbc4f4
Fix calling convention for new LLVM ABI, and changePtrSet index to be u32 rather than isize
2020-11-15 21:19:08 +00:00
gingerBill
0d6f5cec37
Implement custom temporary allocator using ring buffer
2020-11-15 19:36:37 +00:00
gingerBill
17ec3e72a6
Add SCOPED_TEMPORARY_BLOCK for temporary allocations within a block
2020-11-15 18:45:40 +00:00
gingerBill
30d922b059
Make set_procedure_abi_types use the permanent_allocator
2020-11-15 18:11:49 +00:00
gingerBill
3c1c10a178
Begin clarifying allocation patterns by changing from heap_allocator to specific arenas
2020-11-15 18:08:52 +00:00
gingerBill
9f93042163
Improve lb_abi_to_odin_type
2020-11-14 17:09:42 +00:00
gingerBill
a64ea342df
Improve USE_NEW_LLVM_ABI_SYSTEM's System V ABI
2020-11-12 23:40:13 +00:00
gingerBill
fa284f9a5a
Fix import paths
2020-11-12 14:20:33 +00:00
gingerBill
78b6948ff2
Reorganize package strings
2020-11-12 14:17:41 +00:00
gingerBill
a6c5c203ab
Begin work on Sys V for new ABI system
2020-11-12 01:21:09 +00:00
gingerBill
70b8b3c7dd
Update LLVM backend to begin work on a generic ABI system
2020-11-12 00:43:49 +00:00
gingerBill
6ee4f51670
Add new math procedure: inf_f32 inf_f64 nan_f32 nan_f64
2020-11-11 11:42:21 +00:00
gingerBill
e8da2ef65e
Update package unicode
2020-11-10 19:00:38 +00:00
gingerBill
6c0fa24e5d
Force dependency for @(export) entities
2020-11-10 19:00:16 +00:00
gingerBill
27d0660546
Merge pull request #779 from F0x1fy/master
...
Add flag -no-entry-point
2020-11-10 17:47:02 +00:00
F0x1fy
0eba4b46b5
Made sure the entry point is not generated when -no-entry-point is specified.
2020-11-10 10:16:22 -07:00
F0x1fy
6b6f1a5283
For the sake of consistency, fixed the placement of the -no-entry-point flag check.
2020-11-10 09:56:16 -07:00
F0x1fy
3bed5fad77
Removed unnecessary newline from previous commit.
2020-11-10 09:55:00 -07:00
F0x1fy
301e1d2ff3
Added -no-entry-point flag and relevant check.
2020-11-10 09:50:53 -07:00
gingerBill
49e140f4db
Add utf8.full_rune
2020-11-10 16:47:56 +00:00
gingerBill
95b94a0f56
Fix sync.Channel code; add thread.run_with_poly_data and run_with_poly_data(2|3|4) procedures
2020-11-10 15:00:40 +00:00
gingerBill
ee3b3fe6a3
Fix typeid_of bug
2020-11-10 14:48:57 +00:00
gingerBill
eea3a1ecd3
Improve sync.Channel to encode the direction into the type
2020-11-09 13:05:02 +00:00
gingerBill
31f4590f4b
Fix default parameters on record types
2020-11-09 13:04:36 +00:00
gingerBill
7909a9f5a5
Remove debug code causing bug
2020-11-09 10:36:09 +00:00
gingerBill
c26cb470a2
Fix LLVM-API type cycle for procedures of named procedures
2020-11-09 10:27:27 +00:00
gingerBill
3d5e180dec
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-11-08 23:55:53 +00:00
gingerBill
44baf56d62
Fix cyclic check in is_type_polymorphic
2020-11-08 23:54:09 +00:00
Mikkel Hjortshøj
11a4dc8ee3
[CI] Done testing webhook
2020-11-08 01:47:09 +01:00
Mikkel Hjortshøj
19e2f7b7bf
[CI] testing webhook
2020-11-08 01:46:28 +01:00
Mikkel Hjortshøj
817db70bde
[CI] Remove -march for makefile nightly
2020-11-08 01:23:19 +01:00
Mikkel Hjortshøj
ef27528ace
[CI] Non-sudo install of b2?
2020-11-08 00:31:25 +01:00
Mikkel Hjortshøj
a239fcfa3a
Update nightly.yml
2020-11-08 00:21:28 +01:00
Mikkel Hjortshøj
a77976533c
[CI] Add manual trigger to nightly
2020-11-08 00:08:11 +01:00
Mikkel Hjortshøj
06b2a9a3e7
[CI] Try setting python 3.x in nightly upload step
2020-11-08 00:01:31 +01:00
gingerBill
7a7fddd1df
Merge pull request #775 from Tetralux/fix-type-table-unix
...
Fix -build-mode:shared type table on Unix
2020-11-06 20:51:06 +00:00
Tetralux
140bb3ebfc
Fix -build-mode:shared type table on Unix
...
Fixes #527 .
Previously on Linux, '__$startup_runtime', the procedure that
initializes the type table for runtime typeids, was NOT called when
a shared library was loaded by the dynamic loader.
This caused the library to not have its type table populated, which
caused an assert to fail if you tried to use runtime typeids - like
core:fmt, for example.
This commit fixes this by calling ld instead of clang, when building a
shared library, so that we can pass "-init '__$startup_runtime'" to it,
when building a shared library.
Try as I might, I could not get clang to correctly pass through
the linker flags that I wanted.
2020-11-06 20:44:11 +00:00
gingerBill
6fab181c0d
Merge pull request #774 from F0x1fy/master
...
Moved internal_windows to internal_any
2020-11-06 19:21:54 +00:00
gingerBill
17271f74c7
Merge pull request #776 from hectormonacci/patch-3
...
Fix small typo
2020-11-06 19:21:08 +00:00
Héctor M. Monacci
39044b5bb5
Fix small typo
...
Fix small typo
2020-11-06 15:46:32 -03:00
F0x1fy
94277fe41c
As per GingerBill's request, copied the files over to a linux-specific file instead of renaming to .
2020-11-06 11:11:26 -07:00
F0x1fy
b5a619e975
Moved internal_windows to internal_any to allow for manual linking related to issue odin-lang/Odin#527 .
2020-11-05 22:14:56 -07:00
gingerBill
7c5247f5fb
Add package sys/cpu - implements processor feature detection
2020-11-06 00:39:09 +00:00
gingerBill
9ac6d45bd6
Add more procedures to package slice
2020-11-06 00:38:03 +00:00
gingerBill
4cc84002db
Merge pull request #773 from Tetralux/fix-slice-last
...
Fix slice.last()
2020-11-05 15:18:52 +00:00
Tetralux
c1d3c3f926
Fix slice.last()
...
There was a typo that prevented it from being used.
2020-11-05 00:52:32 +00:00
gingerBill
85b2da2e2a
Merge pull request #770 from hectormonacci/patch-2
...
Fix some typos
2020-11-03 13:53:35 +00:00
Héctor M. Monacci
968aa2f688
Fix some typos
...
Fix some typos
2020-11-03 10:51:56 -03:00
gingerBill
0784b0ac7f
Merge pull request #769 from hectormonacci/patch-1
...
Fix typo
2020-11-03 10:41:39 +00:00
Héctor M. Monacci
44cfa3484f
Fix typo
...
Fix typo (proprosal -> proposal)
2020-11-03 07:40:17 -03:00
gingerBill
54fbdabc38
Add experimental -insert-semicolon functionality to tokenizer and parser
2020-11-01 15:10:06 +00:00
Mikkel Hjortshøj
81398d21ed
Merge pull request #768 from Platin21/fix_macos_linking
...
Fix macOS linking for user/local/libs and object files
2020-10-31 23:18:35 +01:00
Platin21
8c46582667
Fixes text layout now via GitHub
2020-10-31 22:37:11 +01:00
Platin21
f29f7351e9
Revert "Changed tab width was on 2 now 4"
...
This reverts commit fc7c0ca3b0 .
2020-10-31 22:30:03 +01:00
Platin21
fc7c0ca3b0
Changed tab width was on 2 now 4
2020-10-31 22:29:02 +01:00
Platin21
8158239d76
Sets llvm api back to use the generic sdk link
2020-10-31 22:15:16 +01:00
Platin21
f3108493fb
Combines all link-able types to a single if and adds .o for linking
2020-10-31 22:12:50 +01:00
Platin21
7694a89d38
Fix for local/lib linking from brew for macOS
2020-10-31 22:05:40 +01:00
gingerBill
75e8e5e06f
Merge pull request #767 from SrMordred/patch-1
...
Update thread_windows.odin
2020-10-31 10:07:33 +00:00
Patric Dexheimer
59b8748c2c
Update thread_windows.odin
2020-10-31 02:40:52 -03:00
Patric Dexheimer
2231f02f61
Update thread_windows.odin
...
`n` was left over being always zero. But you want `win32.WaitForMultipleObjects` to be the number of threads to wait for which u already have with `j`.
2020-10-31 02:37:26 -03:00
Mikkel Hjortshøj
f9eadc3e98
Merge pull request #766 from odin-lang/fix-macos-ci
...
[CI] Fix macOS CI builds
2020-10-29 20:16:19 +01:00
Mikkel Hjortshøj
d6057a7ec6
[CI] Fix macOS CPATH for nightly builds
2020-10-29 20:10:26 +01:00
Mikkel Hjortshøj
532d307a75
[CI] Remove test stage for macOS and go back to macos-latest
2020-10-29 20:06:50 +01:00
Mikkel Hjortshøj
6ae8f5a62d
[CI] Try and fix CPATH setting for macOS
2020-10-29 20:03:38 +01:00
Mikkel Hjortshøj
a5c6487bc1
[CI] Try not installing our own llvm with brew
2020-10-29 19:28:50 +01:00
Mikkel Hjortshøj
6a808235fe
[CI] Change deprecated workflow commands for macOS
2020-10-29 19:25:22 +01:00
Mikkel Hjortshøj
61d7cdfe92
[CI] Fix macOS tag
2020-10-29 13:35:53 +01:00
Mikkel Hjortshøj
45815fd26e
[CI] Change macos version to 11 from 10.5
2020-10-29 13:33:12 +01:00
Mikkel Hjortshøj
c7a2d6970b
[CI] Switch xcode version back to 11.7
2020-10-29 13:23:45 +01:00
gingerBill
6912ef1bc1
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-10-29 09:58:15 +00:00
gingerBill
08fae7360a
Fix ir printing for nested procedure literals indirectly through identifiers
2020-10-29 09:58:08 +00:00
gingerBill
6772cb0f3b
Merge pull request #758 from zhibog/master
...
Fixed getting windows version. The former function is no longer worki…
2020-10-26 11:36:09 +00:00
gingerBill
ce35de47e4
Merge pull request #761 from Tetralux/patch-7
...
Reuse container.Queue capacity when calling pop_front()
2020-10-26 11:35:25 +00:00
Tetralux
213864a50c
Reuse container.Queue capacity when calling pop_front()
...
Currently, the Queue will never reuse it's full capacity if you call `pop_front`, even if you empty it before pushing more items.
With this change, if you empty the Queue with `pop_front`, then the offset will be set back to the start of the underlying array when you pop the last item.
Future pushes will then reuse the already-allocated--but now empty--space.
2020-10-26 00:12:31 +00:00
gingerBill
4629754f7c
Inline asm expression (-llvm-api)
...
See https://llvm.org/docs/LangRef.html#inline-assembler-expressions
Example:
```
x := asm(i32) -> i32 {
"bswap $0",
"=r,r",
}(123);
```
Allowed directives `#side_effect`, `#align_stack`, `#att`, `#intel` e.g. `asm() #side_effect #intel {...}`
2020-10-24 16:32:37 +01:00
gingerBill
0061e63db0
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-10-24 15:08:46 +01:00
gingerBill
5fa488f163
Add intrinsics.cpu_relax for llvm-api
2020-10-24 15:08:35 +01:00
gingerBill
71ef27fef9
Merge pull request #753 from Tetralux/fix-dirnoexist-error
...
Fix error message when importing package that does not exist
2020-10-24 09:41:26 +01:00
gingerBill
6ea000b648
Merge pull request #752 from powerc9000/patch-4
...
Fix a few bugs in path based code.
2020-10-24 01:28:15 +01:00
zhibog
05b58bdbb1
Fixed package name
2020-10-24 00:17:36 +02:00
zhibog
4c4112fbc7
Fixed getting windows version. The former function is no longer working on Windows 10. Also fixed the struct to use correct win32 names
2020-10-24 00:14:01 +02:00
gingerBill
feeb342c00
Improve multiple return value copy-elision
2020-10-20 17:08:55 +01:00
gingerBill
c4dbc88a12
Improve array programming code generation
2020-10-20 15:38:41 +01:00
gingerBill
f4b4cd0433
Specific set the code gen level for -llvm-api
2020-10-20 12:43:15 +01:00
gingerBill
4e5b8f2c61
Add -build-mode:assembly for -llvm-api
2020-10-20 12:35:12 +01:00
gingerBill
0be6ddc7e2
Add -microarch:<string> (e.g. -microarch:native)
2020-10-20 12:25:11 +01:00
gingerBill
b1bdd95f19
Begin work on making packages import assembly sort files (.S)
2020-10-16 15:32:09 +01:00
gingerBill
063c0548b0
Add new package strings procedures: trim_prefix, trim_suffix, to_valid_utf8
2020-10-16 15:30:14 +01:00
gingerBill
41f6a684e1
Rename slice.sort_proc to slice.sort_by; add slice.sort_by_key
2020-10-16 14:55:36 +01:00
gingerBill
289908e0b8
Add +build ignore tag
2020-10-15 16:25:57 +01:00
gingerBill
5a28a7e0f5
Add intrinsics.type_field_index_of
2020-10-15 16:12:47 +01:00
gingerBill
f8e697dbbb
Fix indirect selector bug with using on offset_of
2020-10-15 14:58:57 +01:00
gingerBill
7fc3030c63
Update path/filepath to use new slice.sort; Add sort.reverse_interface
2020-10-14 20:47:13 +01:00
gingerBill
edd802e1ff
Add package slice; New sort.Interface with default sort.sort
2020-10-14 19:52:05 +01:00
gingerBill
de13584be2
Add #no_bounds_check to crc procedures
2020-10-14 16:00:08 +01:00
gingerBill
8806283cf7
Improve location information for log.panic*
2020-10-14 15:59:45 +01:00
gingerBill
ec5934705c
Enforce do bodies to be on the same line as the control statement's condition or token
2020-10-14 15:59:19 +01:00
gingerBill
fa33476438
Improve default temp allocator; Fix filepath.abs behaviour on Windows
2020-10-13 14:40:13 +01:00
Tetralux
dfac45942c
Fix error message when importing package that does not exist
...
Previously on Linux, if a file in your program tried to import a
package that did not actually exist, read_directory() assumed that
the errno after calling opendir() was ENOTDIR.
This was incorrect.
Instead, we now switch on errno and check for ENOENT, which it is
if the directory does not exist.
2020-10-09 05:56:12 +01:00
gingerBill
1b4bccbc94
Add append_nothing
2020-10-08 12:23:44 +01:00
Clay Murray
062ae56f25
Fix a few bugs in path based code.
...
Trying to use path.dir and path.rel I found these two issues with the implementation.
2020-10-07 16:32:00 -06:00
gingerBill
6eeb12a986
Improve default temp_allocator; make nil loggers do nothing; improve mem.Scratch_Allocator behaviour
2020-10-02 16:06:55 +01:00
gingerBill
a65553293f
Add mem.Small_Allocator
2020-10-02 11:09:36 +01:00
gingerBill
8f28312705
Fix pop behaviour, and improve assert messages by using #caller_location
2020-10-02 11:04:17 +01:00
gingerBill
3a4f0d85a6
Fix container.Array and container.Ring
2020-10-01 17:04:56 +01:00
gingerBill
c604e359c7
Move flush to within the sbprint* procedures
2020-10-01 12:09:38 +01:00
gingerBill
66c648e5e0
Remove unused variable
2020-10-01 12:05:42 +01:00
gingerBill
e83af93394
Allow flushing with strings.Builder; Make fmt.fprint* procedures use a custom flush procedure
2020-10-01 12:03:20 +01:00
gingerBill
dd4c02a1b9
Fix multiple declared foreign procedures
2020-10-01 12:02:07 +01:00
gingerBill
bc2151f529
Add new os_specific_*.odin files
2020-10-01 10:59:47 +01:00
gingerBill
252a864308
Reimplement the Windows OS dependencies in package runtime
2020-10-01 10:57:02 +01:00
gingerBill
9513cf1ac6
Fix os.stat code; make fmt.panicf diverging
2020-09-30 22:04:39 +01:00
gingerBill
c35d533ce5
Replace the *_remove_range with procedures with remove_range
2020-09-30 12:38:40 +01:00
gingerBill
464e733b88
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-09-29 11:11:42 +01:00
gingerBill
519dcc2b76
Add os.read_at and for Windows; fix mem.clone_slice; fix current directory locking code
2020-09-29 11:11:28 +01:00
gingerBill
1818ceb4f2
Merge pull request #747 from Platin21/master
...
Fixes for MacOS 11 / Big Sur
2020-09-28 12:48:50 +01:00
gingerBill
e95addb1f4
Revert user_data addition
2020-09-28 12:40:48 +01:00
gingerBill
d343e47a86
Add user_data parameter to filepath.walk and filepath.Walk_Proc
2020-09-28 12:39:34 +01:00
gingerBill
1d21740afb
Add filepath.walk
2020-09-28 12:29:14 +01:00
gingerBill
9ae3879956
Add os.stat, os.lstat, os.fstat, filepath.walk
2020-09-28 12:28:02 +01:00
Platin21
6b83159b06
Switched to else instead of not equal
2020-09-27 22:17:35 +03:00
Platin21
d72a01a714
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-09-27 22:13:12 +03:00
Platin21
2ed6785b4a
Adds -syslibroot to linker command needed for System.framework
2020-09-27 22:11:23 +03:00
Platin21
f7e40b8572
Adds when statement for framework include
2020-09-27 22:08:33 +03:00
Platin21
a71cbd4087
Changed foreign imports to now use the System Framework
2020-09-27 21:57:27 +03:00
gingerBill
2ebb94fa72
Allow os.read_dir to use a different allocator
2020-09-27 00:31:29 +01:00
gingerBill
96a0125599
Fix typo in reflect.set_union_variant_type_info
2020-09-27 00:30:54 +01:00
gingerBill
626d0736f4
Add more to package reflect (as_string, as_pointer, as_raw_data, relative_pointer_to_absolute)
2020-09-27 00:15:16 +01:00
gingerBill
e26f63b448
Update package reflect
2020-09-26 23:51:42 +01:00
gingerBill
b9076b0d5b
Add package unicode/utf8/utf8string for efficient utf8 codepoint indexing to strings
2020-09-26 23:16:18 +01:00
gingerBill
c43b8ef387
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-09-26 23:12:20 +01:00
gingerBill
b9f511954a
Make runtime.slice_handle_error explicitly diverging
2020-09-26 23:12:04 +01:00
gingerBill
4936713a5e
Merge pull request #740 from bttelle/issue-697
...
Fix issue #697
2020-09-26 21:09:40 +01:00
gingerBill
0bd38ba1f6
Add some comments to explain what the differences between packages path and path/filepath
2020-09-26 20:17:54 +01:00
gingerBill
49eaeccd84
Remove OS specific stuff from package path
2020-09-26 20:02:24 +01:00
gingerBill
840af6825a
Update packages os, path, and filepath
2020-09-26 16:02:03 +01:00
gingerBill
3ccaf47566
Remove unused imports
2020-09-25 20:23:29 +01:00
gingerBill
8cc5cd1494
Add package path/filepath; Add os.stat for windows (TODO: unix)
2020-09-25 20:20:53 +01:00
gingerBill
6b634d5e46
Fix fmt with -vet
2020-09-25 15:54:23 +01:00
gingerBill
903ba1c5d8
Add built-in custom formatters for time.Time and time.Duration
2020-09-25 15:47:39 +01:00
gingerBill
b42c7f9161
Update package path and fix bugs; add path.match which uses shell pattern matching
2020-09-25 11:43:51 +01:00
gingerBill
654b24e514
Add -disallow-do
2020-09-23 17:17:32 +01:00
gingerBill
fc4fdd588e
Remove usage of do in core library
2020-09-23 17:17:14 +01:00
gingerBill
4844dd4d96
Add check to block statements to see if they only contain one statement, a value declaration, and err.
2020-09-23 11:16:33 +01:00
gingerBill
609af3a651
Fix and clean up default procedure parameter code for non-constant types
2020-09-22 12:06:05 +01:00
gingerBill
20e4548999
Make llvm-c header use local includes
2020-09-18 13:18:28 +01:00
Joseph Battelle
7490ac2cfd
Fix issue #697
...
Add `is_type_typeid` check to `does_field_type_allow_using`
2020-09-16 21:18:25 -07:00
gingerBill
10afc58d7d
Minor style change in parser.odin
2020-09-16 22:28:32 +01:00
gingerBill
f5b18482f6
Merge pull request #739 from bttelle/issue-486
...
Fix issue #486
2020-09-16 22:23:41 +01:00
gingerBill
97d7d8301a
Fix ast.Branch_Node parsing in package odin/parser
2020-09-16 22:19:57 +01:00
Joseph Battelle
3a3d415295
Fix issue #486
...
Use `check_is_assignable_to_using_subtype` in
`is_polymorphic_type_assignable`.
The polymorphic procedure in #486 can now also be written without the
cast:
```odin
print_entity :: proc(e : ^$E, p : proc(^$T) = print_base) { p(e); }
```
2020-09-16 12:32:57 -07:00
gingerBill
33003d1bc1
Update README.md
2020-09-16 20:15:28 +01:00
gingerBill
59d9821bd9
Add intrinsics.type_has_field
2020-09-16 20:08:45 +01:00
gingerBill
f530c80216
Fix -debug bug with internal startup procedures
2020-09-16 15:16:29 +01:00
gingerBill
94b27aa64e
Merge pull request #737 from nakst/master
...
update essence platform
2020-09-15 22:28:15 +01:00
nakst
c92860e142
update essence platform
2020-09-15 23:22:19 +01:00
gingerBill
4cf240ca05
Fix odin/parser issues
2020-09-15 22:14:23 +01:00
gingerBill
ebad8e8990
Change how ir.cpp calls the startup type info procedure
2020-09-15 19:40:37 +01:00
gingerBill
2475c69f00
Remove runtime.os_stdout, since it is not required by the runtime
2020-09-15 14:16:44 +01:00
gingerBill
c9dcb7242f
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-09-15 12:46:12 +01:00
gingerBill
9d976b04bc
Fix +build tag logic
2020-09-15 12:45:44 +01:00
gingerBill
6f1e774a42
Move runtime os specific freestanding stuff to a separate file
2020-09-15 12:36:37 +01:00
gingerBill
b94dde2817
Force used of imports in reflect/map.odin
2020-09-15 12:31:21 +01:00
gingerBill
92cd50d3f0
Add TargetOS_freestanding for future use
2020-09-15 12:29:32 +01:00
gingerBill
1ef1407f02
Update ODIN_VERSION
2020-09-15 12:28:15 +01:00
gingerBill
edbad0709e
Add -default-to-nil-allocator flag (sets ODIN_DEFAULT_TO_NIL_ALLOCATOR)
2020-09-15 12:27:53 +01:00
gingerBill
bfc7d74967
Add relfect.map_entry_info_slice
2020-09-15 12:23:49 +01:00
gingerBill
9d91c46cb4
Move all os specific stuff for the runtime to one file
2020-09-15 12:19:56 +01:00
gingerBill
17b3c2ed4c
Merge pull request #736 from jockus/json-parse-number-option
...
Added option to parse number as integer, disabled by default
2020-09-15 12:15:57 +01:00
jockus
8d637f5139
Added parse_integers optional to validation
2020-09-15 12:03:40 +01:00
gingerBill
f48a873954
Reorganize package runtime
...
Separates out the OS specific stuff into different files
2020-09-15 11:52:19 +01:00
gingerBill
4930a9c1a4
Add mem.clone_slice
2020-09-15 11:51:38 +01:00
jockus
195dbd658d
Added option to parse number as integer, disabled by default
2020-09-15 11:39:34 +01:00
gingerBill
0cd681e6b7
Expose runtime._startup_runtime to allow for freestanding targets in the future
2020-09-15 10:51:51 +01:00
gingerBill
3211e60018
Merge pull request #734 from krixano/FreeBSD
...
FreeBSD Support
2020-09-15 10:12:42 +01:00
gingerBill
775bd66382
Merge pull request #735 from bttelle/issue-723
...
Fix issue #723
2020-09-15 10:05:05 +01:00
Christian Seibold
a13eed9894
Cleanup, check sched_param and SCHED_* constants in pthread_freebsd.odin
2020-09-15 01:34:01 -05:00
Joseph Battelle
e9c598a426
Fix issue #723
...
Typo in `check_stmt_internal` for case Ast_UsingStmt; first element
was used for all elements of the enumerated list.
2020-09-14 16:41:53 -07:00
Christian Seibold
65787381c1
Change sizes of pthread types for freebsd
2020-09-14 16:48:55 -05:00
Christian Seibold
dd7b29e681
Finish add all errors
2020-09-14 16:18:36 -05:00
Christian Seibold
577be4a8ae
Get Odin compiling and produced exe's running on FreeBSD
2020-09-14 15:22:35 -05:00
Christian Seibold
ac126a8cd7
Add FreeBSD targets, get gb.h working with FreeBSD, fix odin_root_directory function for FreeBSD and a few other operating systems not yet added
2020-09-14 11:28:41 -05:00
gingerBill
d53725fe14
Merge pull request #733 from bttelle/issue-515
...
Fix issue #515
2020-09-14 14:07:02 +01:00
gingerBill
b8bebf4511
Fix typo in Small_Array procedure
2020-09-14 10:10:35 +01:00
Joseph Battelle
2f32b8fb3d
Fix issue #515
...
Modify `check_type_specialization_to` to require exact values
to be equal when called with constant basic types. This also
now allows procedure group members to differ only by constant
value specializations. See the further example in the issue.
2020-09-13 22:58:05 -07:00
gingerBill
1fd1203d8b
Improve error message for multi-valued global declarations not be allowed
2020-09-12 16:04:02 +01:00
gingerBill
ccb7c3513b
Fix check_arity_match bug
2020-09-12 15:50:42 +01:00
gingerBill
bf215377de
Add edge case check for "" string
2020-09-11 16:20:46 +01:00
gingerBill
d317d3d8b3
Simplify "" string code
2020-09-11 16:18:24 +01:00
gingerBill
77829af9de
Fix delete("") on -llvm-api; Fix linalg stuff
2020-09-11 13:46:52 +01:00
gingerBill
97846d8390
Clean up quaternion_from_matrix(3|4) code
2020-09-10 21:19:59 +01:00
gingerBill
079b887313
Make procedure names consistent
2020-09-10 17:32:18 +01:00
gingerBill
6aa708a455
Fix Odin bug with "none" procedure calling conventions in the runtime
2020-09-10 16:36:33 +01:00
gingerBill
8f38b06c60
Add sanity conversion for rand.norm_float64
2020-09-10 15:42:07 +01:00
gingerBill
993fc577b2
Clarify euler angle procedures better
2020-09-10 15:33:50 +01:00
gingerBill
824491f410
Clean up Euler Angle code for math/linalg
2020-09-10 15:23:08 +01:00
gingerBill
c1149dbdee
Update math and math/linalg; add "pure_none" calling convention
2020-09-10 15:00:19 +01:00
gingerBill
7e625f6ee7
Add extra check for checking uniqueness of package names
2020-09-10 11:13:09 +01:00
gingerBill
2dfa3a5df7
Fix typo
2020-09-07 14:40:36 +01:00
gingerBill
1064622ff7
Improve math/rand functionality
2020-09-07 14:38:01 +01:00
gingerBill
f5b8609160
Remove debug print
2020-09-07 12:15:54 +01:00
gingerBill
7f48cf8405
[REFLECTION BREAKING] Modify the internals of the map type to increase performance
2020-09-07 11:41:42 +01:00
gingerBill
7e08bccc9a
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-09-04 11:18:58 +01:00
gingerBill
9fd9130891
Add new core procedures: ordered_remove_range; unordered_remove_range; insert_at
2020-09-04 11:18:46 +01:00
gingerBill
9f1f194d18
Merge pull request #727 from JoshuaManton/master-fork
...
Add allocator parameter to os.read_entire_file()
2020-09-03 08:37:22 +01:00
Joshua Mark Manton
0fe47a2f1b
Add allocator parameter to os.read_entire_file()
2020-09-02 18:42:12 -07:00