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
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
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
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
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
gingerBill
2fb0383e82
Add -build-mode:llvm-ir for -llvm-api backend
2021-04-21 23:25:08 +01: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
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
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
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
gingerBill
8827818b1d
Clean-up fallback io.read_at and io.write_at behaviour
2021-04-14 21:25:46 +01: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
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
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
gingerBill
8e1120bc09
Fix typo
2021-04-13 19:23:12 +01: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
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
gingerBill
2b36069924
Fix typo
2021-04-12 17:13:05 +01: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
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
Mikkel Hjortshøj
31989c93ac
Merge pull request #725 from Skytrias/master
...
fix t0 not being t
2020-08-29 22:48:49 +02:00
Michael Kutowski
7b0ba76915
Update specific.odin
2020-08-29 22:33:24 +02:00
Michael Kutowski
bd8ca64a30
Merge pull request #1 from odin-lang/master
...
Merge pull request #724 from Skytrias/master
2020-08-29 22:32:26 +02:00
Mikkel Hjortshøj
32fda798f3
Merge pull request #724 from Skytrias/master
...
fix hsl math.mod to usual hsl conversion
2020-08-29 21:58:16 +02:00
Michael Kutowski
12895de9ac
fix hsl math.mod to usual hsl conversion
2020-08-29 21:49:49 +02:00
gingerBill
0216ade2f9
Merge pull request #721 from Tetralux/fix-getcwd-allocator
...
Fix os.get_current_directory() allocator
2020-08-27 11:38:24 +01:00
gingerBill
14e6cdb1a0
Merge pull request #722 from jockus/fix-core-path-name-extension
...
Fix path.name failing to remove extension
2020-08-27 11:38:04 +01:00
gingerBill
4daf098a3a
Fix defer on explicit return of a procedure with no return values for llvm-api
2020-08-27 11:06:44 +01:00
jockus
914c99a15e
Merge branch 'master' into fix-core-path-name-extension
2020-08-27 08:24:59 +01:00
gingerBill
d31c63c0ae
Fix #714
2020-08-27 00:11:02 +01:00
gingerBill
c783840eab
Fix #642
2020-08-26 23:20:25 +01:00
gingerBill
d3eca21e40
Fix style in parse.odin
2020-08-26 22:48:32 +01:00
gingerBill
df3690c32a
Revert accidental removal of #const for procedure variable parameters #718
2020-08-26 22:46:54 +01:00
gingerBill
999d1a022d
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-08-26 22:41:06 +01:00
gingerBill
1f2f3cb315
Fix #712
2020-08-26 22:40:03 +01:00
jockus
8de70ce73d
Fix path.name failing to remove extension
2020-08-26 17:32:47 +01:00
Tetralux
3820f27c7c
Fix os.get_current_directory() allocator
...
This procedure accidentally used the temporary allocator for the
returned string.
Use context.allocator, and the allocator parameter idiom instead.
2020-08-26 11:37:44 +00:00
gingerBill
7309cfdbb2
Merge pull request #715 from Platin21/patch-1
...
Update ring.odin
2020-08-23 17:13:29 +01:00
Mikkel Hjortshoej
ea19f3e77f
Merge branch 'master' of github.com:odin-lang/Odin
2020-08-23 15:25:45 +02:00
Mikkel Hjortshoej
ae2fc5830e
Add git sha to odin version command
2020-08-23 15:25:19 +02:00
Platin21
3946f357e8
Update ring.odin
...
Someone missed the T type here ;)
2020-08-22 13:12:18 +02:00
gingerBill
b9b2b90f0c
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-08-18 21:12:02 +01:00
gingerBill
a6a7395be7
Update unicode/letter.odin
2020-08-18 21:11:51 +01:00
Mikkel Hjortshoej
16b50a2f57
Fix #711
2020-08-18 21:57:47 +02:00
gingerBill
e7f54d25d6
Add mem.Allocator_Query_Info and mem.query_info
2020-08-16 23:05:33 +01:00
gingerBill
033b46def8
Add mem.Allocator_Mode.Query_Features, mem.Allocator_Mode_Set, mem.query_features`
2020-08-16 22:07:40 +01:00
gingerBill
1f571f48e5
Add mem.Tracking_Allocator
2020-08-16 21:29:14 +01:00
gingerBill
ec178825ec
Add more sort.compare_* procedures
2020-08-16 12:40:28 +01:00
gingerBill
6158a49618
Make sync.atomic_* operations use when statements instead of switch; Make #panic diverging
2020-08-16 12:34:12 +01:00
gingerBill
674aeffee4
Fix typo
2020-08-12 19:15:47 +01:00
gingerBill
546759bdef
Fix multi_logger_proc to check for lowest_level
2020-08-12 19:01:25 +01:00
gingerBill
fa903fb4df
Fix #674
2020-08-06 00:09:36 +01:00
gingerBill
5164d1d866
Fix named results but in ir.cpp
2020-08-05 23:43:23 +01:00
gingerBill
b6e33a1e64
Ensure add_type_info_type and add_min_dep_type_info are consistent
2020-08-05 23:36:31 +01:00
gingerBill
f5248a8d9d
Fix #705
2020-08-05 23:33:35 +01:00
gingerBill
74ed779616
Fix #702
2020-08-05 23:14:11 +01:00
gingerBill
9f24188ec8
Fix #708
2020-08-05 22:51:24 +01:00
gingerBill
5551404be4
Fix gb_alloc_str_len
2020-08-05 22:32:27 +01:00
gingerBill
9fd35776fd
Fix typos in math.odin
2020-08-04 14:40:11 +01:00
gingerBill
3385fcecb0
Fix typo
2020-08-04 14:31:14 +01:00
gingerBill
804b96a985
Remove unused entities
2020-08-02 15:11:21 +01:00
gingerBill
9cc20954a3
Add sys/windows/synchronization.odin
2020-08-02 15:07:52 +01:00
gingerBill
91ff3e5bca
Add sync/channel_*.odin files
2020-08-02 15:05:04 +01:00
gingerBill
6d032e6f1a
Update package sync
2020-08-02 15:01:17 +01:00
gingerBill
16abfd56e8
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-08-02 14:59:51 +01:00
gingerBill
d1d5f61230
Add intrinsics.alloca
2020-08-02 14:59:39 +01:00
gingerBill
5b7e1cd6f6
Update LICENSE
2020-08-01 11:35:56 +01:00
gingerBill
cbfe3571ab
Merge pull request #693 from powerc9000/patch-2
...
Fix pthread_t on Macos.
2020-07-22 22:28:38 +01:00
gingerBill
b04bc21ec6
Merge pull request #704 from oskarnp/log_thread_id
...
Add .Thread_Id option to log package
2020-07-22 22:27:53 +01:00
gingerBill
2945feecde
Merge pull request #703 from oskarnp/darwin_thread_id
...
Implement os.current_thread_id() for Darwin (assumes OSX 10.6 / iOS 3…
2020-07-22 22:27:02 +01:00
Oskar Nordquist
36cac87387
Add .Thread_Id option to log package
2020-07-22 17:42:01 +02:00
Oskar Nordquist
a7e38dc063
Implement os.current_thread_id() for Darwin (assumes OSX 10.6 / iOS 3.2 and later)
2020-07-22 17:38:13 +02:00
gingerBill
0aaab84938
Allow multiple -define flags
2020-07-16 20:59:03 +01:00
gingerBill
3a1492fc99
Add sync.Wait_Group
2020-07-15 00:25:37 +01:00
gingerBill
ca818fb857
Remove comments containing unicode characters from tokenizer
2020-07-14 23:51:46 +01:00
gingerBill
13e5cb8cc4
Fix #691 and Fix #692
2020-07-14 23:50:09 +01:00
gingerBill
7ae54ae3b4
Add -no-dynamic-literals to disallow dynamic array and map literals
2020-07-14 23:01:34 +01:00
gingerBill
b2beb9512f
Add thread.join_multiple
2020-07-14 21:08:04 +01:00
gingerBill
96ad6d2084
Improve sync.Channel behaviour
2020-07-14 18:43:50 +01:00
gingerBill
86f1574f78
Fix #696
2020-07-14 16:43:23 +01:00
gingerBill
6565a49e34
Remove fmt from sync/channel.odin
2020-07-14 16:39:47 +01:00
gingerBill
ce85b73eca
Add sync.Once
2020-07-14 16:38:54 +01:00
gingerBill
fc65aee307
Update sync.Channel
2020-07-14 16:37:29 +01:00
gingerBill
ede135a08f
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-07-14 16:36:47 +01:00
gingerBill
c18fc2da9f
Remove some dead code
2020-07-14 16:36:33 +01:00
gingerBill
c8a3937ea0
Merge pull request #695 from jharler/master
...
Added "sep" parameter to logging procs
2020-07-13 13:28:30 +01:00
jharler
f9a6777e3a
Added "sep" parameter to logging procs
2020-07-13 08:22:41 -04:00
Clay Murray
83eabe2140
Fix pthread_t on Macos.
...
From some testing with directly using C code, pthread_t on macos is 8 bytes.
This is my test code:
```
#include <assert.h>
#include <stdio.h>
#include <pthread.h>
void* PosixThreadMainRoutine(void* data)
{
// Do some work here.
for (int i = 0; i < 2000000000; i++) {
}
return NULL;
}
pthread_t LaunchThread()
{
// Create the thread using POSIX routines.
pthread_attr_t attr;
pthread_t posixThreadID;
int returnVal;
returnVal = pthread_attr_init(&attr);
assert(!returnVal);
returnVal = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
assert(!returnVal);
int threadError = pthread_create(&posixThreadID, &attr, &PosixThreadMainRoutine, NULL);
returnVal = pthread_attr_destroy(&attr);
assert(!returnVal);
if (threadError != 0)
{
// Report an error.
}
return posixThreadID;
}
int main() {
pthread_t t = LaunchThread();
void ** ret;
printf("%d, %d\n", sizeof(t), sizeof(pthread_t));
int val = pthread_join(t, ret);
printf("%d", val);
return 0;
}
```
running this on macos reports `8, 8`.
Then I made the proposed changes and errors I was having with threads completely went away.
2020-07-11 18:22:56 -06:00
gingerBill
c4067372dd
Fix double declaration
2020-07-10 22:28:48 +01:00
gingerBill
b4e976364a
Add path_unix.odin
2020-07-10 08:42:59 +01:00
gingerBill
642afa4f88
Fix new package path
2020-07-10 08:42:22 +01:00
gingerBill
f65fa0e4a6
Merge pull request #339 from dotbmp/master
...
"core:path" Path library and "core:strings" `split` Utilities
2020-07-10 08:25:24 +01:00
gingerBill
65b9dbe13f
Clean-up OS constants; Clean-up procs_wasm32.odin
2020-07-09 17:21:40 +01:00
gingerBill
cb52f6986a
Fix Addressing_OptionalOk selector expression rules for struct field variables
2020-07-08 23:39:49 +01:00
gingerBill
94ba182691
Add sync.Benaphore
2020-07-08 23:16:54 +01:00
gingerBill
5b7c83d871
Add strings.pop_byte strings.pop_rune
2020-07-08 23:15:48 +01:00
gingerBill
4059542afb
Merge pull request #673 from kevinw/patch-2
...
add `#config` to odin parser
2020-07-08 23:08:31 +01:00
gingerBill
9da1347c21
Fix Source_Code_Location error for *_insert_dynamic_map_key_and_value procedures
2020-07-08 22:57:39 +01:00
gingerBill
a8c10c58b4
Fix negation of complex and quaternion numbers for ir.cpp backend
2020-07-08 22:35:47 +01:00
Mikkel Hjortshøj
6d9b2ec5b4
Merge pull request #685 from ThisDrunkDane/master
...
Fix misplaced line number in log (was wrongly formatted and before procedure)
2020-07-05 19:53:22 +02:00
Mikkel Hjortshoej
d749f5c704
Fix typo
2020-07-02 16:13:49 +02:00
Mikkel Hjortshoej
83f553cd89
Revert to old format and fix : when no file opt specified
2020-07-02 16:11:41 +02:00
Mikkel Hjortshoej
730f9ee0b3
Fix misplaced line number (was wrongly formatted and before procedure)
2020-07-02 15:31:40 +02:00
gingerBill
51e50d3e31
Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type
2020-07-01 22:35:38 +01:00
gingerBill
1b2cc739a9
Handle llvm package name edge case for IR mangling
2020-06-30 19:12:53 +01:00
gingerBill
7bdd8094d6
Fix signature_parameter_similar_enough logic
2020-06-30 19:10:24 +01:00
gingerBill
323fc7a6a9
Fix system calls for compiler
2020-06-30 19:04:14 +01:00
gingerBill
92363da58e
Add -show-system-calls; Update runtime for windows_386; Fix some minor bugs
2020-06-30 10:09:58 +01:00
gingerBill
0ea64182f1
Begin work on windows 386
2020-06-29 17:35:33 +01:00
gingerBill
8478b887a5
Add mem.check_zero and mem.check_zero_ptr
2020-06-29 16:17:40 +01:00
gingerBill
86448ee044
Add raw_data to replace cases in which &x[0] was used
2020-06-29 15:58:24 +01:00
gingerBill
56a52a1d06
Add sync.condition_wait_for_timeout for unix
2020-06-27 12:21:31 +01:00
gingerBill
858c5f8fd8
Update thread_unix logic
2020-06-27 11:36:48 +01:00
gingerBill
f92b4c7849
Update sys/unix; Rename thread.create_and_start
2020-06-27 11:26:38 +01:00
gingerBill
9fdebebd28
Add sync.Barrier; Add sync.Blocking_Mutex for unix
2020-06-27 11:23:37 +01:00
gingerBill
2b18f43b65
Update sys/windows; Add sync.Blocking_Mutex (windows only at the moment)
2020-06-27 00:59:40 +01:00
gingerBill
53e1512978
Add more exception handling stuff to sys/windows
2020-06-26 20:42:17 +01:00
gingerBill
b5f9c95ce7
Remove foreign import for -vet
2020-06-26 20:33:47 +01:00
gingerBill
231f91304a
Keep previous behaviour for sync but move to sys/windows
2020-06-26 20:30:33 +01:00
gingerBill
d7b3f3a0e7
Revert sync_windows.odin
2020-06-26 20:22:48 +01:00
gingerBill
bb81d4869f
Update sys/windows
2020-06-26 20:09:31 +01:00
gingerBill
b633a42bc2
Revert channel.odin
2020-06-26 19:16:17 +01:00
gingerBill
6bd05ef5d7
Begin migration from sys/win32 to sys/windows
2020-06-26 19:11:34 +01:00
gingerBill
251a3a690e
Add optional sep parameter to fmt.*print and fmt.*println procedures
2020-06-25 15:00:50 +01:00
gingerBill
f22b014db0
Revert build.bat
2020-06-23 09:20:13 +01:00
gingerBill
a6edcf4f18
Fix ABI typo bug; Add pop_safe and pop_front_safe
2020-06-22 21:03:57 +01:00
gingerBill
2a598aa061
Update sync.Channel
2020-06-22 17:45:01 +01:00
gingerBill
910ab7b3d4
Fix typo
2020-06-22 17:00:35 +01:00
gingerBill
2b27300387
Fix LLVM code gen bug
2020-06-22 16:57:21 +01:00
gingerBill
0db1ebb4e5
-vet sync/channel.odin
2020-06-22 16:01:26 +01:00
gingerBill
0013033f9a
Revert build.bat
2020-06-22 15:58:48 +01:00
gingerBill
f00123742c
Add experimental sync.Channel
2020-06-22 15:54:35 +01:00
gingerBill
509e8b512f
Add time.read_cycle_counter
2020-06-22 15:54:19 +01:00
gingerBill
2562df5387
Remove unused imports in thread.odin
2020-06-22 13:35:44 +01:00
gingerBill
0ab356aa4e
Fix sync and thread on *nix
2020-06-22 13:32:58 +01:00
gingerBill
b3c51a8b44
Add thread.run* shorthand procedures; Thread.init_context use new Maybe concept
2020-06-22 13:28:37 +01:00
gingerBill
fb3aeccd36
Add built-in Maybe
2020-06-22 13:25:19 +01:00
gingerBill
9495e3d10c
Update sync.Condition to require a ^sync.Mutex on init
2020-06-22 13:24:51 +01:00
gingerBill
0f711b8719
Remove old llvm-demo
2020-06-21 20:04:29 +01:00
gingerBill
2a6130b7e1
Reorder log.do_location_header order
2020-06-19 15:24:42 +01:00
gingerBill
34384cc2f1
Clean up some of the log code
2020-06-19 15:18:23 +01:00
gingerBill
aeafed0218
Add fmt.DEFAULT_BUFFER_SIZE to be configurable with #config(FMT_DEFAULT_BUFFER_SIZE, 1<<12)
2020-06-19 15:08:54 +01:00
gingerBill
3a4bbfcfae
Change fmt.*print behaviour to match fmt.*println behaviour
2020-06-19 15:01:39 +01:00
gingerBill
01c84b32a6
Add log.panic and log.panicf
2020-06-19 12:23:06 +01:00
gingerBill
240fc65d4d
Add multi_logger.odin; Fix os_windows.odin
2020-06-19 11:49:08 +01:00
gingerBill
c9d3b95b0d
Fix time.now
2020-06-19 11:35:43 +01:00
gingerBill
9f596d6f34
Clean up package log code
2020-06-19 11:18:23 +01:00
gingerBill
2a684830f9
Fix using pointers bug with addressing struct fields
2020-06-18 17:50:54 +01:00
gingerBill
c4ba3f1c83
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-17 23:28:46 +01:00
gingerBill
724c776dbe
Fix enumerated array type information creation bug
2020-06-17 23:28:39 +01:00
Mikkel Hjortshoej
ad8048b615
[CI] Use powershell to download LLVM on windows, split macOS and linux.
2020-06-16 18:12:43 +02:00
gingerBill
781395ada1
Add deferred_in_out attribute
2020-06-16 16:21:44 +01:00
gingerBill
9635ea8706
Revert demo.odin
2020-06-16 16:08:51 +01:00
gingerBill
413188bab2
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-16 16:07:53 +01:00
gingerBill
5fa54fd2cc
Commit fix
2020-06-16 16:07:44 +01:00
gingerBill
b79e1b6b5c
Cleanup package encoding/json
2020-06-16 16:05:15 +01:00
gingerBill
8dff0f7ef5
-vet code
2020-06-16 12:57:06 +01:00
gingerBill
f85f3dce12
Revert demo.odin
2020-06-16 12:55:09 +01:00
gingerBill
5edb1e8a28
Add hash.djb2 hash.jenkins; Add container.Bloom_Filter; Add container.Ring
2020-06-16 12:53:57 +01:00
gingerBill
f70939ab4f
Use windows specific exception traps
2020-06-15 12:39:29 +01:00
gingerBill
08e271720a
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-15 11:54:28 +01:00
gingerBill
c3ebc49ad2
Fix @static slice for LLVM C API backend
2020-06-15 11:54:18 +01:00
vassvik
9cccb20f49
Add some tests to test utf16_to_utf8 and wstring_to_utf8
2020-06-13 18:04:19 +02:00
vassvik
6985d72fda
Make os.get_current_directory no longer strip the zero at the end of the resulting string, as it no longer should occur.
2020-06-13 15:20:39 +02:00
vassvik
0056cdffa7
Reworked win32.utf16_to_utf8 and win32.wstring_to_utf8 to scan for zeros from the start of the string instead of from the end.
...
This is useful to correctly convert strings from a buffer possibly containing multiple multiple substrings.
The resulting utf8 string is not null terminated, even if the backing memory might be null terminated.
2020-06-13 15:19:41 +02:00
gingerBill
a229f9825b
Fix -vet warning for fmt.printf("%10s")
2020-06-12 23:13:26 +01:00
gingerBill
a6ff48a5de
Merge pull request #681 from ralph-the-mighty/stringwidth
...
Control %s width in fmt.print* functions
2020-06-12 23:10:28 +01:00
Josh
6648dc9ed1
use width in when printing formatted string to control padding added after the string
2020-06-12 18:05:40 -04:00
vassvik
bbbf7168f1
Add wstring_to_utf8 to sys/win32
2020-06-12 21:06:21 +02:00
vassvik
c15ed44f82
Fix off by one bug introduced in the previous commit.
2020-06-12 18:19:46 +02:00
gingerBill
58466a6f3b
Add extra NUL termination check for string length in win32 general string convertors
2020-06-12 15:01:43 +01:00
gingerBill
be76c860a5
mem.simple_equal
2020-06-12 14:52:31 +01:00
gingerBill
4533c02cc7
Improve intrinsics.type_is_simple_compare
2020-06-12 14:37:27 +01:00
gingerBill
01d12770fa
Fix compound literals for constant procedure fields
2020-06-11 16:11:54 +01:00
gingerBill
82b559c32b
Remove debug code
2020-06-10 19:29:24 +01:00
gingerBill
474d79dcf1
Add mem.simple_compare_values
2020-06-10 16:37:22 +01:00
gingerBill
61db6c1234
Add force usage when importing intrinsics or builtin
2020-06-10 16:36:59 +01:00
gingerBill
e641d714a0
Fix #677
2020-06-10 16:32:53 +01:00
gingerBill
f305726015
Fix #c_vararg for LLVM C API
2020-06-10 16:15:56 +01:00
gingerBill
57b09b2ffb
Fix #439
2020-06-10 15:37:50 +01:00
gingerBill
e86fde3cb1
Fix #648
2020-06-10 15:09:04 +01:00
gingerBill
99944f3b02
Improve behaviour of return with named results to aid with defer statements
2020-06-10 14:53:35 +01:00
gingerBill
a9295d33ab
Fix #674
2020-06-10 14:39:50 +01:00
gingerBill
4acae2af44
Add support for using on relative pointers #670
2020-06-10 14:25:11 +01:00
gingerBill
036429bf2f
Fix reflect.as_i64 and reflect.as_u64
2020-06-10 14:13:50 +01:00
gingerBill
d0920804c3
Stop statement generation after terminating instruction in current block (LLVM C API)
2020-06-10 13:57:25 +01:00
gingerBill
97d3d4ff6f
Minor changes for \*nix backend
2020-06-10 13:38:17 +01:00
gingerBill
6ea0910213
Fix typo
2020-06-10 13:02:42 +01:00
gingerBill
b8d33165c9
Add -target:<string> fuzzy checking with "Did you mean" message
2020-06-10 12:59:54 +01:00
gingerBill
6b3ee447f0
Basic cross compilation support
2020-06-10 12:26:31 +01:00
gingerBill
9b1cc6e94f
Update logic for slice literals, backing array to be on the stack if possible (LLVM C API)
2020-06-08 12:41:42 +01:00
gingerBill
0ffb718a91
Add fmt.User_Formatter
2020-06-08 12:40:50 +01:00
gingerBill
a7dd686859
Add #caller_location to strings.clone; remove deprecated procedures in package strings
2020-06-08 11:42:38 +01:00
gingerBill
87a6d695d6
Fix typo in error message
2020-06-06 22:39:36 +01:00
gingerBill
a89633e3ed
Remove return after unreachable
2020-06-06 15:22:22 +01:00
gingerBill
59a0bbb385
Improve termination rules checking for missing return; Make diverging procedure -> ! be terminators
2020-06-06 15:16:24 +01:00
gingerBill
a3fa647bfd
Add package sys/llvm to expose some of the LLVM intrinsics
2020-06-06 14:52:22 +01:00
gingerBill
1a4e2196bd
Fix runtime.bswap_16
2020-06-05 14:12:30 +01:00
gingerBill
d8f9daac95
Fix different endian integers for LLVM C API backend
2020-06-05 13:12:57 +01:00
gingerBill
f992e36f9a
Rename reflect.to_* to reflect.as_*
2020-06-05 10:38:38 +01:00
gingerBill
11dd971e13
Add reflect.{to_int, to_uint, to_i64, to_u64, to_f64}
2020-06-05 10:27:32 +01:00
gingerBill
5ed4bac16f
Merge pull request #676 from Tetralux/fix-temp-alloc-resize
...
Fix temporary allocator resizing
2020-06-04 23:13:41 +01:00
Tetralux
04ceb5d20c
Fix temporary allocator resizing
2020-06-04 21:49:07 +00:00
Kevin Watters
0b67de47d6
add #config to odin parser
...
Update the `core:odin` parser for the new `#config` idiom.
2020-06-04 10:48:13 -04:00
gingerBill
15c4077806
Fix WASM foreign import names
2020-06-04 00:30:44 +01:00
gingerBill
37a3abdaaa
Fix calling convention stuff with LLVM C API
2020-06-03 21:23:30 +01:00
gingerBill
ac709b8afb
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-06-03 21:10:18 +01:00
gingerBill
d80049bfd2
Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union
2020-06-03 21:10:07 +01:00
gingerBill
239f3c0418
Merge pull request #672 from foxnne/fixwrap
...
Fix wrap in core:math.
2020-06-03 14:57:43 +01:00
gingerBill
5b11a842a8
Merge pull request #668 from kevinw/patch-1
...
Remove `intrinsics` import
2020-06-03 14:56:36 +01:00
gingerBill
626b4740b1
Add wasm-ld support for wasm code generation
2020-06-03 13:12:38 +01:00
foxnne
437d5e28cd
fix wrap in core:math
2020-06-02 00:37:06 -05:00
Kevin Watters
6c7fc4212a
Remove intrinsics import
...
When using `linalg` with the `-vet` compiler switch, you get the warning/error:
`odin/core/math/linalg/specific.odin(4:8) 'intrinsics' declared but not used`
2020-06-01 18:44:47 -04:00
gingerBill
8589af1458
Improve bits.rotate_left*
2020-05-31 16:19:08 +01:00
gingerBill
bf5ce04b24
Improve rules for shifting behaviour
...
Example:
x: u64 = 123;
assert(x >> 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
a: u64 123;
assert(a << 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
2020-05-31 13:50:17 +01:00
gingerBill
8057af9e09
Fix #659 Compiler error when indexing constant slices
2020-05-31 12:20:47 +01:00
gingerBill
d8bc2030e6
Fix big_int_to_f64
2020-05-30 16:45:49 +01:00
gingerBill
5eaef091e2
Update math/bits
2020-05-30 12:24:00 +01:00
gingerBill
84fd40de77
Fix rules for recursive initialization with procedure entities; Fix executable name if not given
2020-05-30 12:23:41 +01:00
gingerBill
1d7f99cbdf
Remove mem_zero from make; Implement custom memset for windows amd64
2020-05-27 20:17:58 +01:00
gingerBill
3d4a3730b0
Add notin deprecation
2020-05-27 18:47:45 +01:00
gingerBill
1f31d573e4
Fix tokenization
2020-05-27 18:43:02 +01:00
gingerBill
237962182b
Fix tokenizing for %%
2020-05-27 18:41:10 +01:00
gingerBill
e84406a895
Move zero_size
2020-05-27 18:26:20 +01:00
gingerBill
1a0614b0d7
Improve performance of tokenization and parsing
2020-05-27 18:23:37 +01:00
gingerBill
876820789e
Add rune_is_letter_or_digit for tokenizer
2020-05-27 12:54:11 +01:00
gingerBill
4e21a4d46a
Optimize rune_is_* procedures for tokenizer
2020-05-27 12:43:49 +01:00
gingerBill
6ac0fb80a6
Minor tokenizer performance improvements
2020-05-27 12:32:11 +01:00
gingerBill
098699103d
Begin work on supporting wasm32 architecture
2020-05-25 12:46:23 +01:00
gingerBill
d6bcc25b69
Fix tokenizer for 0i #658
2020-05-24 21:43:36 +01:00
gingerBill
a2c50d3666
Fix -vet for strings
2020-05-24 17:57:55 +01:00
gingerBill
f06efffe22
Update strings case convertors to be unicode compliant
2020-05-24 17:50:27 +01:00
gingerBill
e42f7008fc
Change spaces to tabs
2020-05-24 16:40:48 +01:00
gingerBill
26c9d17040
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-24 12:52:19 +01:00
gingerBill
2be87169ef
Fix #656
2020-05-24 12:52:08 +01:00
Mikkel Hjortshøj
732c745bb3
Merge pull request #655 from ThisDrunkDane/master
...
Add case conversions by @dotbmp
2020-05-24 12:52:38 +02:00
Mikkel Hjortshoej
c035fc337f
Add case conversions by @dotbmp
2020-05-24 12:47:43 +02:00
gingerBill
cbfbff7240
Add intrinsics.type_is_comparable; Add sort.linear_search
2020-05-23 14:02:21 +01:00
gingerBill
99e6eba20f
Revert demo.odin
2020-05-23 13:57:45 +01:00
gingerBill
7d11ee605c
Add sort.binary_search (uses interpolation sort for ordered numeric types)
2020-05-23 13:57:24 +01:00
gingerBill
4671207c61
Make the using import deprecation warning an error
2020-05-23 13:39:18 +01:00
gingerBill
aa029fe8d9
Add "pure" procedure types
2020-05-23 13:38:06 +01:00
gingerBill
ef539696b9
Strip carriage return \r from raw string literals
2020-05-23 11:39:29 +01:00
gingerBill
26fe9b0212
Fix SelectorCallExpr with no return values
2020-05-22 23:41:17 +01:00
gingerBill
fd6e2ed5de
Revert demo.odin
2020-05-22 14:56:32 +01:00
gingerBill
7bd1039a49
Selector Call Expressions: x->y(123) == x.y(x, 123)
2020-05-22 14:54:30 +01:00
gingerBill
76a230372f
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-22 12:32:36 +01:00
gingerBill
86b613fb15
Remove the need for type_of, size_of, align_of, offset_of to be keywords
2020-05-22 12:32:29 +01:00
gingerBill
aacf524a47
Merge pull request #653 from lkppo/master
...
Fix the shebang portability of the build.sh script
2020-05-22 10:35:49 +01:00
Stéphane Aulery
8ad3a1f41f
Fix the shebang portability of the build.sh script
2020-05-22 11:28:17 +02:00
gingerBill
d09ac8943a
Minor fixes to improve hash map/set performance
2020-05-21 16:27:40 +01:00
gingerBill
8e63c94393
Add string.h
2020-05-21 11:10:03 +01:00
gingerBill
0b16ed7c85
Use memcmp for str_eq
2020-05-21 11:05:38 +01:00
gingerBill
89d824216a
Add extra information to -show-more-timings
2020-05-21 09:30:15 +01:00
gingerBill
3f23a0b3b0
Fix edge cases of relative pointers
2020-05-17 15:23:27 +01:00
gingerBill
7819fec0a1
Merge pull request #645 from Tetralux/llvm-noabc-obey-directive
...
LLVM C backend: Obey directives on blocks, procedures, and expressions
2020-05-16 18:15:25 +01:00
Tetralux
96ed948590
LLVM C backend: Obey directives on blocks, procedures, and expressions
...
e.g: #no_bounds_check / #bounds_check
2020-05-16 17:04:16 +00:00
gingerBill
3bd01d3a02
Merge pull request #644 from Tetralux/llvm-bounds-checks
...
Add bounds checks to LLVM C backend
2020-05-16 15:32:15 +01:00
Tetralux
c4b492fb64
Add bounds checks to LLVM C backend
2020-05-16 14:25:36 +00:00
gingerBill
e1bdaa981a
Relative pointer and relative slices
2020-05-15 18:45:24 +01:00
gingerBill
95e8668b77
Relative pointers in old backend
2020-05-15 17:52:09 +01:00
gingerBill
90adf214d7
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-15 17:37:14 +01:00
gingerBill
ff92eb9112
Relative pointers
2020-05-15 17:37:00 +01:00
gingerBill
5f08c77d8b
Merge pull request #641 from Tetralux/fix-container-arraypushelems
...
Fix container.Array.array_push_back_elems
2020-05-15 08:49:26 +01:00
Tetralux
dc236d6830
Fix container.Array.array_push_back_elems
...
We were previously using array_slice to get the storage
that we were copying the new elements into, using the current
length as the offset: `copy(data[len:], ..elems)`
However, array_slice returns a slice over `data[0:len]` -- we
were using it as if it was `data[0:cap]`.
Add array_cap_slice that does this instead. :^)
2020-05-15 03:54:32 +00:00
gingerBill
8b066b2456
Fix runtime.memset issue
2020-05-14 17:56:24 +01:00
gingerBill
218c1599b1
Add explicit context to thread_unix.odin
2020-05-14 13:48:03 +01:00
gingerBill
9b2eecb3df
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-14 13:44:34 +01:00
gingerBill
e0a242e9a1
Enforce explicit context definition for procedure calls
2020-05-14 13:44:28 +01:00
Mikkel Hjortshoej
48946fe46f
Alright, things work. Reverting broken stuff
2020-05-14 14:20:04 +02:00
Mikkel Hjortshoej
0b0e661b62
Another test sorry
2020-05-14 14:18:20 +02:00
Mikkel Hjortshoej
10c3acf37f
Remove test for webhook
2020-05-14 14:09:22 +02:00
Mikkel Hjortshoej
e377f5a329
Briefly break master to test webhook
2020-05-14 14:07:33 +02:00
gingerBill
cd4403be0c
Fix Assertion failure in ir_print_exact_value #620
2020-05-14 00:34:27 +01:00
gingerBill
f661d34049
Implement Explicit context creation #639
2020-05-14 00:13:26 +01:00
gingerBill
af1d4d6e72
Implement Allow .? operator to unwrap any union #549
2020-05-14 00:00:10 +01:00
gingerBill
f6c7a0c9b8
Fix -llvm-api memset "bug"
2020-05-13 23:51:51 +01:00
gingerBill
c2bfb221f5
Fix #561 where statements that eval to false do not show incorrect usage location
2020-05-13 23:45:55 +01:00
gingerBill
d59fced21b
#591 Improve type switch statement error for fallthrough
2020-05-13 23:33:03 +01:00
gingerBill
7c42d4ba75
( #594 ) Add #config to replace #defined; Restrict #defined within procedure bodies to remove race condition
2020-05-13 23:29:06 +01:00
gingerBill
14ce6d8ed8
Fix #632 behaviour
2020-05-13 23:09:38 +01:00
gingerBill
2630e9ced1
Fix #622 on both backends
2020-05-13 23:00:34 +01:00
gingerBill
482c687462
Fix procedure references in global compound literals in old backend
2020-05-13 22:42:15 +01:00
gingerBill
de8c1165c2
Fix procedure literal declarations at file scope with -llvm-api
2020-05-13 22:30:38 +01:00
gingerBill
d51b98a8d2
Add extra 128 bit integer procedures
2020-05-13 13:46:32 +01:00
gingerBill
6861ff47bc
Replace entity_of_ident with entity_of_node
2020-05-12 16:28:22 +01:00
gingerBill
0ba3b5c0bd
Fix bug for array-like compounds for LLVM-API
2020-05-12 14:57:37 +01:00
gingerBill
fcdfcfce19
Let -vet ignore intentional declaration shadowing #637
2020-05-12 10:31:49 +01:00
gingerBill
d49ecd9009
Merge pull request #638 from jharler/master
...
Fixed thread_pool not destroying threads
2020-05-11 17:38:05 +01:00
jharler
72a5030f3d
Fixed thread_pool not destroying threads
2020-05-11 12:32:35 -04:00
gingerBill
197a72adde
Merge pull request #616 from Tetralux/fix-sync-badopt
...
Fix potential bad optimization bug in sync.Ticket_Mutex
2020-05-10 10:37:11 +01:00
gingerBill
f043e92650
Add strconv.unquote_string and strconv.unquote_char
2020-05-09 13:58:45 +01:00
gingerBill
e3f3e715e2
Merge pull request #634 from Tetralux/enum_from_name
...
Add reflect.enum_from_name
2020-05-09 12:57:27 +01:00
gingerBill
e8f2fb58d9
Fix strconv.parse_ usage across other packages
2020-05-09 11:54:36 +01:00
Tetralux
8d2430e54d
Add reflect.enum_from_name
...
Provides a way to go from a enum value name string to an actual enum value.
```
E :: enum { A, B }
// ...
s := "B";
v, ok := enum_from_name(E, s);
assert(ok && v == E.B);
```
2020-05-09 07:30:07 +00:00
gingerBill
dc1b3cc563
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-05-08 16:09:45 +01:00
gingerBill
d52695b077
Fix constant complex arithmetic bug
2020-05-08 16:09:35 +01:00
gingerBill
6adbdb1e0e
Merge pull request #633 from Tetralux/fix-parseint-again
...
Fix parsing of single-digit numbers
2020-05-07 00:35:26 +01:00
Tetralux
7d4f9545a7
Fix parsing of single-digit numbers
2020-05-06 23:21:24 +00:00
gingerBill
4fc60601d3
Fix ABI typo
2020-05-06 20:18:43 +01:00
gingerBill
4f4c3bb03b
Add -extra-linker-flags:<string>
2020-05-06 13:41:22 +01:00
gingerBill
8434cb8951
Merge pull request #630 from Tetralux/parseint
...
Refactor parsing procedures: Return (value, ok) instead
2020-05-05 21:05:13 +01:00
gingerBill
99ebb5af3b
Support --flag as redundancy for -flag
2020-05-04 18:23:23 +01:00
gingerBill
45274868c3
Fix -subsystem:windows for normal backend
2020-05-04 18:07:49 +01:00
gingerBill
3ef9566817
Fix typo
2020-05-03 16:18:47 +01:00
gingerBill
3299d6a204
Add -ignore-vs-search
2020-05-02 18:50:38 +01:00
gingerBill
e27f5796d6
Add experimental atom op tables for llvm-backend
2020-05-02 18:45:57 +01:00
gingerBill
ba4363d678
Improve append_elem(s) logic
2020-05-02 12:09:25 +01:00
gingerBill
eb2b3572bb
Move TypeProc outside
2020-05-02 11:59:43 +01:00
gingerBill
1a9e75267b
Fix rc.exe call
2020-05-02 10:00:34 +01:00
gingerBill
dd0fb744fe
Add missing ;
2020-04-30 19:26:31 +01:00
gingerBill
70a66cd559
Add -subsystem to odin build -help
2020-04-30 17:57:21 +01:00
gingerBill
832a586b8d
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-04-30 17:48:46 +01:00
gingerBill
117ade0700
Fix errors in package win32
2020-04-30 17:48:35 +01:00
Tetralux
25f77e32ee
Fix doc comments
2020-04-29 23:35:26 +01:00
Tetralux
704ee9f851
Return (value: T, ok: bool) instead
2020-04-29 22:37:33 +01:00
Tetralux
190932935c
Refactor parse_* procedures: arbitrary bases, and return (value, rest_of_string)
2020-04-29 21:33:33 +01:00
gingerBill
a10d180d81
Merge pull request #627 from zhibog/master
...
Added #maybe to the builtin parser and ast for Unions
2020-04-25 17:49:06 +01:00
zhibog
c704de8442
Added the #maybe directive to the union struct in the AST. Also added it to the parsing code for a union.
2020-04-25 18:21:32 +02:00
gingerBill
f63b9806d2
LLVM API: Fix compound literals with constant parameters to union fields
2020-04-25 14:45:34 +01:00
gingerBill
9409f53a9b
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-04-24 20:42:57 +01:00
gingerBill
9faf292218
Fix @(export) for global variable declarations
2020-04-24 20:42:47 +01:00
Mikkel Hjortshøj
92f5f86193
Remove push: on nightly
2020-04-23 22:38:54 +02:00
Mikkel Hjortshøj
1e711fa5a5
Merge pull request #625 from ThisDrunkDane/nightly-build
...
Improve nightly builds
2020-04-23 22:38:22 +02:00
Mikkel Hjortshoej
51b346753a
Github actions apparently doesn't support YAML comments
2020-04-23 22:30:44 +02:00
Mikkel Hjortshoej
b63aa0520a
Remove the LLVM-C.lib from nightlies and include LLVM-C.dll
2020-04-23 22:30:07 +02:00
Mikkel Hjortshoej
04e106e06a
Test push
2020-04-23 22:17:49 +02:00
Mikkel Hjortshoej
5d42a6de6e
Remove llvm-binaries.zip from artifacts
2020-04-23 22:17:27 +02:00
Mikkel Hjortshoej
bb3e0fa03f
Add sizeInBytes of zip files to nightly.json generation
2020-04-23 22:16:31 +02:00
Tetralux
e7e936f480
Merge branch 'master' into fix-sync-badopt
2020-04-22 06:12:41 +01:00
gingerBill
026bb8ed6f
Remove unused headers
2020-04-21 23:26:59 +01:00
gingerBill
cbc3800797
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-04-21 23:26:09 +01:00
gingerBill
4236e870d7
Fix type assertion bug #619
2020-04-21 23:26:02 +01:00
gingerBill
b725ae5ae0
Merge pull request #617 from Tetralux/dep-yield-processor
...
Rename `yield_processor` to `cpu_relax`
2020-04-21 18:07:04 +01:00
Tetralux
3afa2736b7
Fix potential bad optimization bug in sync.Ticket_Mutex
...
When locking, we were not loading m.serving atomically and so the optimizer
could have hoisted the check out of the loop, thus resulting in an infinite loop.
2020-04-21 17:04:29 +00:00
Tetralux
8dd1b61aa2
sync.yield_processor -> sync.cpu_relax; have it call intrinsics.cpu_relax
2020-04-21 16:07:18 +00:00
gingerBill
f5a1d8f2b5
Merge pull request #614 from Tetralux/patch-1
...
Remove outdated comment
2020-04-21 15:35:24 +01:00
Tetralux
d3f2f94800
Remove outdated comment
...
This is what I get for removing the ability to provide a stack at the last minute.... 🤣
2020-04-21 15:22:42 +01:00
gingerBill
f141e2868d
container.Set
2020-04-20 00:12:01 +01:00
gingerBill
400d6014d0
container.Small_Array
2020-04-19 23:57:57 +01:00
gingerBill
ab6947b2c7
container.Small_Array
2020-04-19 23:57:40 +01:00
gingerBill
52bbdefec4
container.Map
2020-04-19 23:43:02 +01:00
gingerBill
8ee67e41f4
Fix #optional_ok; Fix container.Array
2020-04-19 23:08:50 +01:00
gingerBill
0af2b38225
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-04-19 21:45:14 +01:00
gingerBill
97f7a558fa
#optional_ok tag for procedures
2020-04-19 21:45:04 +01:00
Mikkel Hjortshøj
ab7c75860e
Merge pull request #607 from ThisDrunkDane/nightly-build
...
Use b2 upload-file instead of b2 sync for nightly builds
2020-04-19 21:54:17 +02:00
Mikkel Hjortshoej
680d723c77
Remove push
2020-04-19 21:44:45 +02:00
Mikkel Hjortshoej
8eda24f2d1
Actually include script to delete binaries
2020-04-19 21:38:59 +02:00
Mikkel Hjortshoej
3dac1c34fa
Script to delete files older than x days
2020-04-19 21:34:04 +02:00
Mikkel Hjortshoej
7fddac2c36
Fix typo in nightly.yml
2020-04-19 18:06:20 +02:00
Mikkel Hjortshoej
a55975bd5a
Testing
2020-04-19 18:00:54 +02:00
gingerBill
2c91c21021
Merge pull request #610 from zhibog/master
...
Add bool flag to AST data in the parser in the core library
2020-04-18 20:43:21 +01:00
zhibog
3a1bee19a9
Added a bool flag to the Block_Stmt struct to have information whether or not 'do' was used vs brackets in the AST
2020-04-18 21:34:14 +02:00
gingerBill
872e97dba6
Merge pull request #609 from hasenj/osx-consts
...
Fix darwin open flags and mode
2020-04-18 19:20:42 +01:00
Hasen Judy
705984f828
Fix darwin open flags and mode
2020-04-19 01:39:22 +09:00
gingerBill
aa620e8ea1
Fix Procedure value printing in ir.cpp
2020-04-17 16:20:50 +01:00
gingerBill
1addee32b5
package container with Queue and Array
2020-04-17 15:26:50 +01:00
gingerBill
92402603b9
Change find_or_generator_context_ptr behaviours
2020-04-17 14:02:45 +01:00
gingerBill
4438b3e7af
Fix LLVM API backend for procedure "constant" values
2020-04-17 13:50:28 +01:00
gingerBill
602a651613
Fix name mangling for @(private) entities
2020-04-15 21:58:16 +01:00
Mikkel Hjortshoej
d0cee15317
Remove on:push in nightly.yml
2020-04-15 20:44:47 +02:00
Mikkel Hjortshoej
df5626cc1f
Pass the bucket to /ci/create_nightly_json.py
2020-04-15 20:13:44 +02:00
Mikkel Hjortshoej
2dcc986c4c
Update /ci/build_ci.bat
2020-04-15 20:11:00 +02:00
Mikkel Hjortshoej
550df8711f
Fix typo in upload-create-nightly.sh
2020-04-15 20:04:43 +02:00
gingerBill
1e321cd48c
Fix reflect.capacity and reflect.index
2020-04-15 19:00:05 +01:00
Mikkel Hjortshoej
020856d91a
Fix macos artifact typo
2020-04-15 19:59:00 +02:00
Mikkel Hjortshoej
1bd0e09ae1
Upload to nightly path and echo out some info
2020-04-15 19:58:11 +02:00
gingerBill
dbaf8568d6
Fix reflect.length
2020-04-15 18:56:19 +01:00
Mikkel Hjortshoej
802a776330
Use the correct path during upload
2020-04-15 19:49:37 +02:00
Mikkel Hjortshoej
9170c875e1
chmod +x the script before execution
2020-04-15 19:44:26 +02:00
Mikkel Hjortshoej
5002b71670
use b2 upload-file instead of b2 sync
2020-04-15 19:38:50 +02:00
gingerBill
f229084baa
Basic polymorphic named procedure parameters for procedures and records
2020-04-13 15:48:56 +01:00
gingerBill
f09b6a4c90
Simplify compiler's Map and create a StringMap specifically for strings
2020-04-13 13:02:30 +01:00
gingerBill
65a2125dba
Add -build-mode=obj
2020-04-13 12:00:40 +01:00
gingerBill
9e698b720f
Change behaviour for zero-sized value types of array-related types; Fix make behaviour to always zero memory
2020-04-12 10:41:44 +01:00
gingerBill
5157619eb7
Support endian specific float on -llvm-api; fix unary - for endian floats
2020-04-11 21:51:43 +01:00
gingerBill
90593fe6ae
Endian specific floating point types (e.g. f32be)
2020-04-11 21:34:55 +01:00
Mikkel Hjortshøj
16b4178b8a
Merge pull request #606 from ThisDrunkDane/nightly-build
...
CI for nightly builds
2020-04-11 21:52:45 +02:00
Mikkel Hjortshoej
8f2b848698
Make the json for nightly have friendly URLs
2020-04-11 21:48:44 +02:00
Mikkel Hjortshøj
9655b61c11
Setup nightly.yml to run everyday at 20:00 UTC
2020-04-11 21:47:35 +02:00
Mikkel Hjortshoej
9b9a4fcf22
Python script for creating json
2020-04-11 21:01:41 +02:00
gingerBill
a736d0e83f
Fix @force on non-windows platforms
2020-04-11 19:40:01 +01:00
gingerBill
7ba339e6bd
Fix link_name for variables
2020-04-11 19:34:29 +01:00
gingerBill
baf5b9edc3
Add runtime.bswap_* required for -llvm-api
2020-04-11 19:26:16 +01:00
Mikkel Hjortshoej
a615402d7c
Start on json script
2020-04-11 19:55:20 +02:00
Mikkel Hjortshøj
c9bec10a8e
Setup POC nightly.yml
2020-04-11 19:41:25 +02:00
Mikkel Hjortshøj
df80e8752b
Update nightly.yml
2020-04-11 17:36:30 +02:00
Mikkel Hjortshøj
2df0532b17
Create nightly.yml
2020-04-11 17:32:21 +02:00
gingerBill
62dc99dbef
Begin to make the -llvm-api more general
2020-04-10 19:52:17 +01:00
gingerBill
b925ad5927
Update README.md
2020-04-10 10:27:36 +01:00
gingerBill
090579d6b5
Update README.md
2020-04-10 10:27:15 +01:00
gingerBill
29a3cb25d3
Add extra guards for window-only performance checking
2020-04-07 11:47:28 +01:00
gingerBill
7ff690500a
Fix psapi.h to be windows only
2020-04-07 11:41:55 +01:00
gingerBill
d0b913dad1
Add extra internal memory analysis
2020-04-06 12:17:54 +01:00
gingerBill
d659e679fd
Fix defer after return for -llvm-api
2020-04-06 12:17:27 +01:00
gingerBill
ae97c1111a
Fix -llvm-api for typeid comparison with a Type itself
2020-04-06 11:38:53 +01:00
gingerBill
f38d7b02f3
Fix phi node check with untyped types
2020-04-05 14:20:26 +01:00
gingerBill
5e706bab56
Fix typeid comparison bug in ir.cpp
2020-04-04 21:23:11 +01:00
gingerBill
b362ce9a22
Fix selector expressions for map[unknown-key] expressions for -llvm-api
2020-04-04 20:56:56 +01:00
gingerBill
9961ad8e48
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-04-04 19:46:00 +01:00
gingerBill
b54b5aabac
Fix crash on aliasing compiler-only packages (e.g. intrinsics) with _ at the global scope.
2020-04-04 19:45:54 +01:00
Mikkel Hjortshøj
d214c45fe5
Merge pull request #603 from joesycalik/win32-updates
...
Added to core:sys win32 package
2020-04-04 15:51:34 +02:00
gingerBill
3f638f92e2
Fix -vet warning in core.odin for intrinsics not being used
2020-04-04 13:48:53 +01:00
gingerBill
b0d668d254
Fix math.atan
2020-04-04 13:02:39 +01:00
gingerBill
488282409f
Fix shadowing for -vet
2020-03-30 15:22:42 +01:00
gingerBill
d3c2191cf7
Fix formatting
2020-03-30 12:38:09 +01:00
vassvik
dd13cf637e
Fix linalg.euler_angles_from_quaternion
2020-03-30 13:29:01 +02:00
gingerBill
0804be5d81
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-03-30 12:21:51 +01:00
gingerBill
3c189d2cf6
Add basic support for Python-style {} printf formatting
2020-03-30 12:21:44 +01:00
Joe
c83592629d
Fixed duplicated WHITENESS value in BLACKNESS constant
2020-03-29 18:10:10 -04:00
Joe
2e3706e447
-Win32-
...
New
- Constants: WHITENESS & BLACKNESS, and WM_PAINT
- Methods: pat_blt, register_class_a, register_class_w, message_box_a, message_box_w, begin_paint, and end_paint
- Structs: Wnd_Class_A, Wnd_Class_W, Paint_Struct
Modified
- WM_INPUT : Capitalized alphabetical values for consistency with other values
2020-03-29 17:06:09 -04:00
gingerBill
1524852ffc
Merge pull request #600 from kevinw/master
...
Add a missing space after /LIBPATH linker options.
2020-03-29 14:32:42 +01:00
Kevin Watters
957e6f7f08
Add a missing space after /LIBPATH linker options.
2020-03-28 21:05:32 -04:00
gingerBill
1b3ee7153c
Fix #599 - llvm-api GEP for structs with custom alignment
2020-03-28 16:08:14 +00:00
gingerBill
bda5e8cc66
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-03-28 15:42:53 +00:00
gingerBill
6d6f8f8da9
LLVM API fixes: for in ^map; complex/quaternion negation
2020-03-28 15:42:46 +00:00
Mikkel Hjortshøj
dca6c451da
Merge pull request #598 from ThisDrunkDane/master
...
Switch from now removed context.stdout/stderr to os.stdout/stderr
2020-03-28 14:14:20 +01:00
Mikkel Hjortshoej
a6c8dcdd21
Switch from now removed context.stdout/stderr to os.stdout/stderr
2020-03-28 14:13:47 +01:00
gingerBill
b98a4c6d69
Fix #597
2020-03-27 13:33:31 +00:00
gingerBill
4be385d648
Add more helpers to package reflect
2020-03-27 13:30:22 +00:00
gingerBill
6bbecbe895
Merge pull request #595 from odin-lang/llvm-integration
...
LLVM C API Integration
2020-03-26 17:41:38 +00:00
gingerBill
b21993a1c4
Allow ability to reference compound literals like C99 for -llvm-api
2020-03-26 17:33:54 +00:00
gingerBill
dd69fcba07
Merge branch 'master' into llvm-integration
2020-03-26 15:56:55 +00:00
gingerBill
7909872877
Allow referencing a compound literal to act like C99
2020-03-26 15:56:08 +00:00
gingerBill
0a920b5439
Fix map references in selector expressions
2020-03-25 15:55:00 +00:00
gingerBill
921ee82c97
Fix range statements for enumerated arrays without an element value but with an index
2020-03-25 15:11:35 +00:00
gingerBill
b7893082ce
Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil
2020-03-24 15:51:17 +00:00
gingerBill
6bfe9b6656
Merge branch 'master' into llvm-integration
2020-03-24 15:48:57 +00:00
gingerBill
da703edbf4
Allow map indices to be referenced &m[key] and return a valid pointer if it exists otherwise nil
2020-03-24 15:48:31 +00:00
gingerBill
796331fea6
Support by-reference semantics in for value_ref, i in &some_array and for key, value_ref in &some_map
2020-03-24 15:33:34 +00:00
gingerBill
820095ddac
Merge branch 'master' into llvm-integration
2020-03-24 15:29:44 +00:00
gingerBill
d57fbf48f0
Support by-reference semantics in for value_ref, index in &some_array and for key, value_ref in &some_map
2020-03-24 15:28:58 +00:00
gingerBill
53c842e9ba
Change to new by-reference semantics for switch v in &value
2020-03-24 14:43:28 +00:00
gingerBill
1e375ba8de
Merge branch 'master' into llvm-integration
2020-03-24 14:31:09 +00:00
gingerBill
5cbb266ef5
Change behaviour of switch v in &value to make v have by-reference semantics
2020-03-24 14:29:54 +00:00
gingerBill
0730e01b24
Merge branch 'master' into llvm-integration
2020-03-22 20:57:04 +00:00
gingerBill
dfc63dcb60
Fix for in for pointer to map expressions
2020-03-22 20:56:46 +00:00
gingerBill
8093062e3b
Wrap all LLVM C includes
2020-03-19 15:36:13 +00:00
gingerBill
9524739dfc
Revert demo.odin
2020-03-19 15:31:05 +00:00
gingerBill
054e018e23
Remove dead stuff from build.bat
2020-03-19 15:30:10 +00:00
gingerBill
3d81ad46d2
Change demo.odin to default
2020-03-19 15:29:32 +00:00
gingerBill
ed4d21045b
Add LLVM_BACKEND_SUPPORT macro to make the backend optional
2020-03-19 15:14:31 +00:00
gingerBill
93955a0fd8
Remove context.std* parameters; Fix unary boolean not
2020-03-19 15:03:02 +00:00
gingerBill
fc0002ab67
Fix enum type info generation
2020-03-19 12:28:39 +00:00
gingerBill
04fe23a3c8
Have different categories for optimization passes
2020-03-19 10:57:14 +00:00
gingerBill
1707e004ec
Merge branch 'llvm-integration' of https://github.com/odin-lang/Odin into llvm-integration
2020-03-15 14:37:46 +00:00
gingerBill
5169dc07c7
Fix lb_add_proc_attribute_at_index
2020-03-15 14:37:39 +00:00
gingerBill
18fb6a4be4
Merge branch 'master' into llvm-integration
2020-03-15 14:31:26 +00:00
gingerBill
8dba0e332c
Fix #590
2020-03-15 14:29:45 +00:00
gingerBill
3951b93d0a
Fix branch statements within inline for blocks (partial hack)
2020-03-15 14:27:54 +00:00
gingerBill
10bac2445b
Fix ir_print for byval types
2020-03-13 16:48:10 +00:00
gingerBill
06e364b9bd
Apply byval to sret for System V ABI
2020-03-13 08:52:23 +00:00
gingerBill
ce90509a07
Add initial -mem2reg pass to opt
2020-03-13 00:04:03 +00:00
gingerBill
a0d0e93475
Fix os.read_entire_file
2020-03-12 23:45:46 +00:00
gingerBill
2ce1f4ba9f
Revert os_windows.odin behaviour
2020-03-12 23:37:24 +00:00
gingerBill
a985449c31
Fix os_windows.h
2020-03-12 23:24:30 +00:00
gingerBill
6abc93ad84
Fix os.read for windows
2020-03-12 23:22:01 +00:00
gingerBill
a9bc07dbff
Merge pull request #586 from Tetralux/fix-reading
...
Fix os.read / os.read_entire_file on Windows
2020-03-12 22:35:12 +00:00
gingerBill
da283d5a7f
Add byval
2020-03-12 22:33:49 +00:00
Tetralux
1181d7cf90
Fix os.read / os.read_entire_file
...
- DWORDs are NOT i32
- os.read didn't correctly read as much as it could
2020-03-12 22:31:00 +00:00
gingerBill
2a2d3273ea
Add @require for global variables
2020-03-12 14:40:13 +00:00
gingerBill
775e6caf31
Merge pull request #583 from machinamentum/llvm-integration
...
LLVM: speed improvement changes.
2020-03-09 08:46:27 +00:00
Joshua Huelsman
4468ddf8f8
LLVM: speed improvement changes.
2020-03-09 03:21:08 -04:00
gingerBill
bf0c6f5a30
Fixes for constants and nil parameters
2020-03-08 19:38:50 +00:00
gingerBill
d1e670335f
Fix lb_find_or_add_entity_string_byte_slice
2020-03-08 18:50:10 +00:00
gingerBill
c6c6c56ba9
Fix mem.set for LLVM C API
2020-03-08 18:44:45 +00:00
gingerBill
d4e95282c2
Fix llvm.memset for both backends
2020-03-08 18:42:30 +00:00
gingerBill
5a02ebe2c8
Fix foreign import dependencies; Fix lbParamPass_Integer ABI
2020-03-08 17:57:46 +00:00
gingerBill
dae817e5ab
Integrate linker code with the new LLVM API backend
2020-03-08 17:44:08 +00:00
gingerBill
28502ba53b
Fix context system; add more to -show-more-timings for LLVM API; Add ODIN_USE_LLVM_API global constant
2020-03-08 12:34:36 +00:00
gingerBill
8dc74a004c
Fix nested type declarations name generation, to be internally consistent
2020-03-08 11:46:05 +00:00
gingerBill
c584456a21
Fix logical binary expressions
2020-03-08 10:43:00 +00:00
gingerBill
c74d8405ec
Merge branch 'master' into llvm-integration
2020-03-08 10:13:19 +00:00
gingerBill
e0a370f8f1
Remove adding to path in shell.bat
2020-03-08 10:12:56 +00:00
gingerBill
4cf70f360b
Add clone for ast.Ternary_If_Expr and ast.Ternary_When_Expr
2020-03-07 21:41:27 +00:00
gingerBill
a83d9f59f6
Fix typo in parser.odin
2020-03-07 21:12:52 +00:00
gingerBill
5d14189a18
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-03-07 16:20:04 +00:00
gingerBill
fb686bdebd
Remove the need for parapoly to print an enum as a string
2020-03-07 16:19:55 +00:00
gingerBill
19b9cb7524
Merge pull request #575 from Tetralux/patch-2
...
Fix mem.align_backward when pointer is already aligned
2020-03-07 10:46:19 +00:00
gingerBill
f92334a769
Basic functionality, except for map and correct nested typename mangling
2020-03-07 10:38:14 +00:00
gingerBill
4ee936ab8d
Merge pull request #581 from terickson001/linux_stat_fix
...
Linux stat fix
2020-03-06 15:42:05 +00:00
gingerBill
0c21939600
Merge pull request #579 from powerc9000/patch-1
...
Fix issues with stat struct.
2020-03-06 15:41:54 +00:00
Tyler Erickson
f6f2ab2f25
Fixed bad merge
2020-03-05 19:29:32 -08:00
Tyler Erickson
9d163fede8
Merge branch 'master' of https://github.com/odin-lang/Odin into linux_stat_fix
2020-03-05 16:52:34 -08:00
Tyler Erickson
bb026c99a9
Merged with master
2020-03-05 16:49:53 -08:00
gingerBill
8d2ad0da0e
Fill in more of the llvm_backend code generation
2020-03-05 22:01:07 +00:00
gingerBill
db7a3ffd2a
Merge branch 'master' into llvm-integration
2020-03-05 21:12:16 +00:00
gingerBill
c213d72ec6
Fix #580 defer bug
2020-03-05 20:58:59 +00:00
gingerBill
01b1385672
Disable tmp_block behaviour for ir_find_or_generate_context_ptr
2020-03-05 20:36:53 +00:00
gingerBill
e92fdb4a99
x if cond else y and x when cond else y expressions
2020-03-05 20:34:30 +00:00
Tyler Erickson
2817bab494
Fix os_linux stat
2020-03-05 12:13:22 -08:00
gingerBill
7d93dd6024
Move module pass to after all function passes
2020-03-05 19:00:23 +00:00
gingerBill
e1da631d26
General functionality without context
2020-03-04 22:09:58 +00:00
gingerBill
6151fdb324
Merge branch 'master' into llvm-integration
2020-03-04 19:27:01 +00:00
gingerBill
2fe0eaf2ad
Fix formatting
2020-03-04 13:10:39 +00:00
Clay Murray
85f2f4aa88
Fix issues with stat struct.
...
The stat struct was the format for the 64 bit version of stat. So we need to call stat64 to get the proper data.
Also we need to use _File_Time instead of File_Time because it is a compound value.
These changes were tested and work on my computer, MacOS 64 bit.
2020-03-03 19:42:20 -07:00
gingerBill
3f63e12198
Add -subsystem:console and -subsystem:windows flags for windows
2020-03-02 18:54:56 +00:00
gingerBill
10cde925ca
Add checks for pre-existing type declarations.
2020-03-02 18:48:52 +00:00
gingerBill
56240240f6
Range Statement support
2020-02-29 14:29:47 +00:00
gingerBill
f83e1b8b0a
Fix any type and casting to any; Fix switch statement
2020-02-29 12:24:52 +00:00
gingerBill
a27c68f526
Type_Info initialization
2020-02-29 11:12:37 +00:00
gingerBill
8ec5987ae1
Merge branch 'master' into llvm-integration
2020-02-29 09:55:25 +00:00
gingerBill
408fa027af
Merge pull request #576 from Tetralux/patch-5
...
Fix encoding/base64 encoding null bytes incorrectly
2020-02-29 09:53:55 +00:00
gingerBill
5e903ed2ff
Merge pull request #537 from Tetralux/fix-heap-alloc
...
Fix heap allocator alignment on all platforms
2020-02-29 09:49:24 +00:00
gingerBill
ce20604e3c
Fix #578
2020-02-29 09:35:41 +00:00
Tetralux
92e1c71dd6
Fix encoding/base64 encoding null bytes incorrectly
...
Fixes #574 .
Thanks @jroatch!
2020-02-28 14:52:16 +00:00
Tetralux
0190f90979
Fix mem.align_backward when pointer is already aligned
2020-02-28 12:22:30 +00:00
gingerBill
3d74c2f6c0
Add proc(#const x: Type) to enforce a constant parameter (but not polymorphic) to a procedure
2020-02-26 22:53:40 +00:00
gingerBill
1596bca92d
Add intrinsics.cpu_relax
2020-02-26 22:29:12 +00:00
gingerBill
470508adbc
Clean-up initialization code
2020-02-26 22:05:52 +00:00
gingerBill
8f42958ba3
Fix __dynamic_array_reserve
2020-02-26 12:58:22 +00:00
gingerBill
4d7270cec9
Fix __dynamic_array_reserve to allow for zero sized elements
2020-02-26 12:55:56 +00:00
gingerBill
b13423d7f7
Global variable initialization support
2020-02-23 16:25:11 +00:00
gingerBill
703404a54d
Merge branch 'master' into llvm-integration
2020-02-23 10:55:41 +00:00
gingerBill
15f5c85379
Fix comparison against nil for union #maybe pointers
2020-02-23 10:55:09 +00:00
gingerBill
e197af766d
Merge branch 'master' into llvm-integration
2020-02-23 10:39:57 +00:00
gingerBill
10fe5e97b3
Merge pull request #541 from Tetralux/getcwd
...
Add os.get_current_directory / os.set_current_directory
2020-02-23 10:39:21 +00:00
gingerBill
5073fcd39e
Improve error message on using with procedure parameters #568
2020-02-23 10:37:27 +00:00
gingerBill
a72ac6f841
Fix #572
2020-02-23 10:26:49 +00:00
gingerBill
8a67775149
Fix #571
2020-02-23 10:20:12 +00:00
gingerBill
85e331d5e2
Fix #566
2020-02-23 10:13:42 +00:00
gingerBill
81b00c7a3e
Fix #563
2020-02-23 10:11:43 +00:00
gingerBill
49ecd73406
Merge pull request #562 from Tetralux/string-compare
...
Fix #552 : Fix strings.compare for empty strings and different-length strings.
2020-02-23 10:08:50 +00:00
gingerBill
2180f4a475
Basic work on obj generation
2020-02-23 10:04:25 +00:00
Tetralux
1f0c1943da
Fix #552 .
...
- Fix comparisons involving one or more empty string.
- Fix comparisons against two strings of different lengths.
2020-02-12 11:25:12 +00:00
Mikkel Hjortshøj
0b7711684b
Delete dockerimage.yml
...
My bad
2020-02-11 21:53:45 +01:00
Mikkel Hjortshøj
9821b2be25
Create dockerimage.yml
2020-02-11 21:52:10 +01:00
Mikkel Hjortshøj
49b42f585c
Merge pull request #560 from ThisDrunkDane/master
...
Enhance logger interface with 'f' and not 'f' variants, also move level detection out
2020-02-10 11:55:49 +01:00
Mikkel Hjortshoej
9d5692ae68
Enhance logger interface with 'f' and not 'f' variants, also move level detection out
2020-02-10 01:26:04 +01:00
gingerBill
bfda101686
Get basic IR code generation working properly
2020-02-10 00:14:43 +00:00
vassvik
6d67567453
Fix linalg.matrix_mul_vector.
...
Incorrect index.
2020-02-09 18:47:02 +01:00
gingerBill
35711a400c
Anonymous procedure literal support
2020-02-08 12:49:38 +00:00
gingerBill
66da96284a
Add defer statement for LB
2020-02-07 00:01:44 +00:00
gingerBill
7d9600b740
Ternary Expr; lbAddr extra; Phi node support
2020-02-06 23:33:41 +00:00
vassvik
0c09cb9c12
Fix math.acos and math.asin, add f64 overloads.
2020-02-06 13:35:55 +01:00
gingerBill
09e1cf0737
IfStmt
2020-02-05 23:41:10 +00:00
gingerBill
992858b687
Add ReturnStmt
2020-02-05 22:39:23 +00:00
gingerBill
b555b0083a
Slowly add more statements and expressions; Add header file
2020-02-05 20:18:19 +00:00
Mikkel Hjortshøj
25feb507a4
Merge pull request #556 from oskarnp/issue-555
...
Fix #555
2020-02-05 21:03:36 +01:00
Oskar Nordquist
0b299cb8b4
Fix https://github.com/odin-lang/Odin/issues/555
2020-02-05 20:48:18 +01:00
gingerBill
fbe2366af3
Merge pull request #554 from terickson001/merge-sort-proc
...
Removed 'where' clause from merge_sort_proc
2020-02-04 18:46:28 +00:00
Tyler Erickson
391e2a5120
Removed 'where' clause from merge_sort_proc
2020-02-03 19:20:12 -08:00
gingerBill
0103cedad7
Port code for lb_build_call_expr
2020-02-02 23:36:15 +00:00
gingerBill
d56807095a
Implement constant value generation from ExactValue
2020-02-02 18:33:13 +00:00
gingerBill
5dc82c2720
Correctly generate LLVM types from Odin types.
2020-02-02 12:34:49 +00:00
gingerBill
5f1b397a05
Use lbValue to represent values everywhere
2020-02-01 23:52:22 +00:00
gingerBill
6ed6a91a64
Begin LLVM C API integration
2020-02-01 22:50:57 +00:00
gingerBill
0f399a7294
Add union #maybe
2020-02-01 11:10:28 +00:00
gingerBill
4bcb667e97
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-31 23:34:08 +00:00
gingerBill
7e6454b2f7
Add odin [command] -help (not requiring a file to be passed)
2020-01-31 23:34:00 +00:00
gingerBill
357e72654d
Merge pull request #546 from thebirk/patch-1
...
Update README.md to use Odin syntax highlighting instead of Go.
2020-01-31 09:46:47 +00:00
Aleksander Birkeland
e9f3ebba13
Update README.md to use Odin syntax highlighting instead of Go.
2020-01-30 01:01:01 +01:00
gingerBill
3a30f9fd71
Create .gitattributes
2020-01-29 12:04:54 +00:00
gingerBill
7a4ec48389
Fix missing allocator
2020-01-26 21:10:56 +00:00
gingerBill
a101e0d7ba
Add utf8.string_to_runes utf8.runes_to_string
2020-01-26 20:55:46 +00:00
gingerBill
64f5c9ab58
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-26 20:44:32 +00:00
gingerBill
0ee5a07d01
Add package unicode letter.odin
2020-01-26 20:44:27 +00:00
gingerBill
d658a8fca5
Merge pull request #545 from Tetralux/patch-2
...
Fix `make(map[K]V, 0)` by ensuring `reserve` always sets an allocator
2020-01-26 16:19:50 +00:00
Tetralux
abe8789890
Fix make(map[K]V, 0) by ensuring reserve always sets an allocator
...
Currently, `make(map[K]V, 0)` asserts, because trying `reserve` zero items does not set the allocator; it early-outs.
`__dynamic_map_reserve` assumed that `__dynamic_array_reserve` would always set the allocator - even if given a desired capacity of `0`.
Rather than making `__slice_resize` just _also_ set the default allocator if there isn't one, this makes `__dynamic_array_reserve` always set the allocator, even if it is about to early out.
This is because users are lead to understand that `append` will set the allocator if one is not already set - `reserve` should work the same way.
2020-01-26 01:03:14 +00:00
Tetralux
a4b60b78c8
Fix heap allocator alignment on all platforms
2020-01-22 12:03:16 +00:00
Tetralux
66d1656367
Add os.get_current_directory / os.set_current_directory
2020-01-20 14:28:31 +00:00
gingerBill
14c4fed94c
v0.12.0
2020-01-18 15:32:15 +00:00
gingerBill
c3205316ed
Remove debug printing
2020-01-18 14:53:53 +00:00
gingerBill
b542ef273d
Begin work on -target:windows_386
2020-01-18 14:44:53 +00:00
gingerBill
404132de17
Fix microsoft_craziness.h to work correctly
2020-01-18 12:36:18 +00:00
gingerBill
cd43f4c94c
Add suggestions for indexing constant values with a variable index
2020-01-18 12:09:26 +00:00
gingerBill
23ff98dea0
Fix microsoft_craziness.h
2020-01-18 12:08:45 +00:00
gingerBill
c3a8e232a5
Add new intrinsics for polymorphic records:
...
type_is_specialized_polymorphic_record, type_is_unspecialized_polymorphic_record, type_polymorphic_record_parameter_count, type_polymorphic_record_parameter_value
2020-01-18 11:27:41 +00:00
gingerBill
7f89f6b582
Add intrinsics.type_is_specialization_of
2020-01-17 23:30:38 +00:00
gingerBill
159150c6d9
Allow not_in as keyword over notin, but still allow notin to work
2020-01-16 10:00:14 +00:00
gingerBill
527b39ce2b
Merge remote-tracking branch 'origin/master'
2020-01-16 09:07:52 +00:00
gingerBill
5af3c7b0e8
Fix constant slice checking, again
2020-01-16 09:05:17 +00:00
gingerBill
5db4bd9944
Fix #536
2020-01-15 12:01:29 +00:00
gingerBill
20b410f149
Fix #540
2020-01-15 11:56:42 +00:00
gingerBill
ae7cbd5171
Add debug info for enumerated arrays
2020-01-14 17:37:45 +00:00
gingerBill
04f7225ea5
Exact value zero value for T{} of basic types
2020-01-14 17:36:37 +00:00
gingerBill
f0c6f29f82
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-12 13:53:57 +00:00
gingerBill
7d9a9a2283
Add extra check for opaque types
2020-01-12 13:53:51 +00:00
gingerBill
ba85e432e7
Fix Proc Type ABI printing on System V
2020-01-12 13:43:45 +00:00
gingerBill
cfba29002a
Add extra set_procedure_abi_types sanity checks in IR
2020-01-11 20:29:46 +00:00
gingerBill
11c7b6a2e4
Fix len of type bug
2020-01-11 20:26:36 +00:00
gingerBill
47f9876b36
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-11 20:20:20 +00:00
gingerBill
ff31f9a900
Fix @thread_local IR printing
2020-01-11 20:19:52 +00:00
gingerBill
ebc4867514
Fix #521 Explicit union tag values
2020-01-11 20:16:42 +00:00
gingerBill
e1ccba3de5
Improve runtime/default_allocators.odin
2020-01-11 20:12:50 +00:00
gingerBill
28570f8fa4
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-11 20:11:47 +00:00
gingerBill
24bd370e1b
Fix Panic with runtime.type_info_base #532
2020-01-11 20:11:39 +00:00
Mikkel Hjortshøj
3e67ae7339
Merge pull request #534 from ThisDrunkDane/fix-log-mistake
...
Fix mistake in .Short_File_Path option in file_console_logger.odin
2020-01-09 19:19:23 +01:00
Mikkel Hjortshoej
0e52c37865
Don't change delimiter as location has changed to be unified no matter the platform
2020-01-08 21:29:46 +01:00
gingerBill
d520b9a1ba
Fix typo
2020-01-05 12:49:32 +00:00
gingerBill
5c7d6fcfd0
Improve minimum dependency for complex numbers and quaternion numbers.
2020-01-04 18:04:12 +00:00
gingerBill
5ae924f988
Make "none" calling convention ignore return_by_pointer flag
2020-01-04 12:42:16 +00:00
gingerBill
cae1e02593
Add extra in set_procedure_abi_types ir_print.cpp
2020-01-04 12:10:28 +00:00
gingerBill
b09297da81
Remove -Wno-writable-strings
2020-01-04 10:59:12 +00:00
gingerBill
9abdfaaf6c
Merge pull request #531 from Tetralux/fix-make-and-reserve
...
Fix make and reserve
2020-01-03 10:51:42 +00:00
Tetralux
b32ef9e47b
Fix make and reserve
...
- Set the allocator, even if memory allocation fails.
Right now it doesn't, which means that if allocation fails, it'll use
the context allocator instead. This memory will be leaked if the user
doesn't understand that this happened.
- Only set len and cap of the array returned from make iif the memory allocation
succeeded.
This means that reserve will return false if you do this:
```
a := make([dynamic]int, failing_allocator);
if !reserve(&a, 5) do return; // or whatever indicates failure
```
2020-01-03 10:40:45 +00:00
gingerBill
b8324b0776
Fix behaviour for make to return nil when alloc returns nil
2020-01-03 10:17:30 +00:00
gingerBill
d0ca045586
Merge pull request #530 from KTRosenberg/unix_yield_sem_fix
...
Fixes for yielding and semaphore posting on unix
2020-01-03 09:50:12 +00:00
KTRosenberg
673879d1d2
added note about pthread_yield
2020-01-02 16:44:30 -05:00
KTRosenberg
5d1c9583cb
added the demo to the gitignore
2020-01-02 16:42:34 -05:00
KTRosenberg
d017b5de9d
replaced pthread_yield with ssched_yield, fixed semaphore post:q
2020-01-02 16:25:48 -05:00
gingerBill
93ead4bcb3
Fix typo
2020-01-02 15:41:32 +00:00
gingerBill
bbe9b4dee0
Merge branch 'master' of https://github.com/odin-lang/Odin
2020-01-02 15:07:58 +00:00
gingerBill
3bd00fd6b7
Add thread.Pool with example in demo.odin; Update linalg to support handness changes for projection matrices
2020-01-02 15:07:12 +00:00
gingerBill
83fec387d4
Merge pull request #529 from Tetralux/patch-1
...
Fix `append_string`
2020-01-02 11:39:20 +00:00
Tetralux
f6f10d10e8
Fix append_string
2020-01-02 11:38:25 +00:00
gingerBill
16a7c55334
Add x y z w fields to quaternion types; Improve linalg quaternion mathematics
2020-01-01 16:14:00 +00:00
gingerBill
e9e2ab240d
Merge pull request #528 from oskarnp/foreign-dylib-fix
...
Fix dylib foreign import
2020-01-01 10:42:09 +00:00
oskarn
842281ddd3
Fix dylib foreign import
2020-01-01 11:36:42 +01:00
gingerBill
978d7fcb99
Fix typeid information for enumerated arrays
2019-12-31 16:54:50 +00:00
gingerBill
b267a5964d
Fix memset for unix
2019-12-31 14:28:01 +00:00
gingerBill
b288613307
Add extra check for ZeroInit instruction
2019-12-31 14:21:16 +00:00
gingerBill
4591353724
Use naive definition of memset for !windows
2019-12-31 14:17:21 +00:00
gingerBill
13107628f8
Make mem.set use llvm.memset.p0i8.iXX
2019-12-31 14:09:51 +00:00
gingerBill
c407687a4c
Fix new changes to runtime for unix
2019-12-31 14:04:19 +00:00
gingerBill
5a50ab7a99
Add new runtime files.
2019-12-31 13:54:42 +00:00
gingerBill
4578544007
Merge pull request #526 from sci4me/unix-dynlib
...
Implement dynlib core library for unix/darwin
2019-12-31 13:22:48 +00:00
gingerBill
bdfef08214
Fix typos in demo.odin
2019-12-31 12:54:19 +00:00
gingerBill
42678848b2
Rename math/bits package name to math_bits
2019-12-31 12:27:31 +00:00
gingerBill
ab52f8d795
Move definition of mem.Allocator and log.Logger to package runtime, to reduce import cycle magic
2019-12-31 12:15:19 +00:00
Scitoshi Nakayobro
d79ee7d530
Implement dynlib core library for unix/darwin; not 100% about the build tags
2019-12-30 19:09:59 -05:00
gingerBill
7e271310ff
Fix constant out of bounds bug
2019-12-29 22:53:37 +00:00
gingerBill
f24de51c65
Add _tls_index and _fltused for windows -no-crt
2019-12-29 21:28:50 +00:00
gingerBill
2252d992d7
Add -disable-assert to disable the code generation of the built-in run-time 'assert' procedure
2019-12-29 21:10:27 +00:00
gingerBill
2d70a784d1
Add quaternion_look_at orientation procedure to package math/linalg
2019-12-29 20:35:27 +00:00
gingerBill
a8a4dc1eb1
Make default context.temp_allocator thread safe when using package thread
2019-12-29 18:08:48 +00:00
gingerBill
9e9e905431
Add @(private="file") and @(private="package")
2019-12-29 15:39:20 +00:00
gingerBill
8ee41c20af
Add more to package math
2019-12-28 23:48:15 +00:00
gingerBill
11c705508d
Split linalg into general and specific parts
2019-12-28 23:09:43 +00:00
gingerBill
267ae0b4a2
Disallow enumerated array literals without field = value
2019-12-28 23:07:54 +00:00
gingerBill
1bc6e6a7cc
Add linalg.vector_lerp, linalg.vector_unlerp
2019-12-28 23:07:31 +00:00
gingerBill
33a458c520
Update package math/linalg
2019-12-28 23:00:13 +00:00
gingerBill
6a7ccd8c0a
Add new procedures for package math: atan2, asin, acos, atan, sin_bit, ldexp
2019-12-28 18:12:27 +00:00
gingerBill
9ba2926e7e
Fix enumerated array contiguous error
2019-12-28 16:31:15 +00:00
gingerBill
a50b2d5d04
Fix enumerated array literal check
2019-12-28 14:05:55 +00:00
gingerBill
7f9626e5c7
Improve 'cannot slice' error message
2019-12-27 17:53:05 +00:00
gingerBill
7140c95c55
Fix slicing of pointer to array
2019-12-27 17:47:55 +00:00
gingerBill
ceef5db547
Support for and inline for for enumerated arrays
2019-12-27 17:16:43 +00:00
gingerBill
5ec8dd166a
Add #partial tag for enumerated arrays to prevent common errors using non-contiguous enumerations
2019-12-27 16:55:32 +00:00
gingerBill
80a32a8182
Fix missing case
2019-12-27 16:01:58 +00:00
gingerBill
c2b3056094
Fix enumerated array compound literals IR
2019-12-27 15:53:35 +00:00
gingerBill
f99f351e01
Add constant literal expressions
2019-12-27 15:49:52 +00:00
gingerBill
880c7f01a8
Fix array lengths with enum value counts.
2019-12-27 13:55:18 +00:00
gingerBill
10f0961184
Enumerated arrays [Enum_Type]Elem_Type
2019-12-27 12:51:02 +00:00
gingerBill
eea403d0ab
Fix #514
2019-12-27 10:18:32 +00:00
gingerBill
2cc5c4eed3
Fix https://github.com/odin-lang/Odin/issues/522
2019-12-27 10:11:13 +00:00
gingerBill
f308d8d73e
Merge pull request #520 from SrMordred/memcpy
...
minor details ;)
2019-12-26 12:09:44 +00:00
Patric Dexheimer
ff0bc3ccad
minor details ;)
2019-12-24 11:50:26 -03:00
gingerBill
072979c6d2
Merge pull request #519 from Tetralux/remove-prints
...
remove errorneous prints
2019-12-24 12:54:00 +00:00
Tetralux
a3d2c40da0
whoops
2019-12-24 12:51:27 +00:00
gingerBill
5b1312342e
Fix runtime.mem_copy_non_overlapping to be like C's memcpy
2019-12-24 08:07:43 +00:00
gingerBill
85e31e1b69
Fix os.open
2019-12-23 18:10:09 +00:00
gingerBill
fb0fb4767b
Merge pull request #517 from SSStormy/fix-os-linux-fs-stuffs
...
Unix: Fix improper _unix_open binding; make write_entire_file set sane file permissions.
2019-12-23 18:07:59 +00:00
Justas Dabrila
38a9a2b7fc
Linux: write_entire_file sets 644 permissions on open.
2019-12-23 16:35:10 +02:00
Justas Dabrila
005c6af302
Fix improper _unix_open binding that was ignoring the mode arg
2019-12-23 16:34:20 +02:00
gingerBill
1d14b3059e
Fix Internal Compiler Error: Type_Info for 'XXX' could not be found #507
2019-12-22 14:16:56 +00:00
gingerBill
cc2fa8f756
Fix thread/thread_unix.odin to use the new switch conventions
2019-12-22 12:11:54 +00:00
gingerBill
d1c9fd4e01
Implement #complete switch by default, replace with #partial switch #511
2019-12-22 12:03:48 +00:00
gingerBill
4593730632
Fix Trying to get a pointer to a struct field that does not have a size generates an LLVM error #509
2019-12-22 11:40:30 +00:00
gingerBill
f62a0891bd
Fix Crash when compiling for loop with parens around array expression #506
2019-12-22 11:33:33 +00:00
gingerBill
4f2d4716ad
Fix Internal error when accessing polymorphic struct parameters (also provide suggestions?) #513
2019-12-22 10:40:34 +00:00
gingerBill
022b793a7d
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-12-22 10:28:55 +00:00
gingerBill
7267004a55
Remove import "core:runtime" in integers.odin to make -vet happy
2019-12-22 10:28:48 +00:00
vassvik
786c9dfe07
Add the ability to toggle release mode externally when calling build.bat
...
The following cases builds Odin with optimizations:
build.bat 1
build.bat release
Any other options, or the lack thereof, will build without optimizations.
2019-12-22 11:19:42 +01:00
gingerBill
81b24594ce
Add udivmod128.odin
2019-12-21 19:49:09 +00:00
gingerBill
995ba0df9a
Fix using on array in struct
2019-12-21 14:42:08 +00:00
gingerBill
08392d885e
Add strconv/integers.odin
2019-12-21 14:01:29 +00:00
gingerBill
d462dbb5be
Deprecate using import
2019-12-21 12:11:16 +00:00
gingerBill
19c32ecb81
Add extra to -help output
2019-12-21 11:27:55 +00:00
gingerBill
494b1e7eaa
Add -help which prints information about the compiler flags
2019-12-21 11:22:46 +00:00
gingerBill
c43d17bfec
Merge pull request #505 from Tetralux/patch-2
...
Fix mem.Arena
2019-12-16 08:05:39 +00:00
Tetralux
c9723e2dc0
Fix mem.Arena
2019-12-15 21:36:40 +00:00
gingerBill
4ba579bc25
Also allow #no_bounds_check on an expression #499
2019-12-15 11:41:21 +00:00
gingerBill
58d4d424c6
Replace #vector[N]T with #simd[N]T to reduce confusion #498
2019-12-15 11:30:09 +00:00
gingerBill
89ccb5b99f
Add assert into scratch_allocator_proc to prevent initialization cycles #504
2019-12-15 11:20:06 +00:00
gingerBill
7f5021c8e9
Disallow procedure calls with an associated deferred procedure to be used in logical binary expressions (short-circuiting)
2019-12-15 11:10:50 +00:00
gingerBill
8bec324779
Fix Duplicate integer switch case values incorrectly consider its absolute value #502
...
(Hashing proc was wrong for big ints)
2019-12-15 09:56:11 +00:00
gingerBill
e6f26b9931
Fix Unable to initialize a typeid field in a struct literal #501
2019-12-15 09:48:05 +00:00
gingerBill
b8c534eba9
Merge pull request #500 from SSStormy/fix-string_to_enum_value
...
Fix 'fmt.string_to_enum_value' not compiling
2019-12-15 09:38:37 +00:00
Justas Dabrila
95d3f43e15
Fix 'string_to_enum_value' not compiling
2019-12-14 01:08:47 +02:00
vassvik
2d97e1dee3
Fix NaN checks in core:math.classify
...
Currently the classify procedures checks for NaNs using the check `x != x`, which is always false for NaNs and therefore that case is never entered. Using `!(x == x)` will work on the other hand.
2019-12-12 19:12:12 +01:00
gingerBill
be2dfd42fd
Merge pull request #493 from ThisDrunkDane/master
...
Fix #399 by removing unused parameter
2019-12-08 14:35:18 +00:00
Mikkel Hjortshoej
851118faf4
Fix #399 by removing unused parameter
2019-12-08 02:09:03 +01:00
gingerBill
53cd7a3d0c
Fix transmute from uintptr to/from proc
2019-12-07 15:44:28 +00:00
gingerBill
f170648629
Fix issue with -thread-count flag with <= 0 count
2019-12-03 18:23:14 +00:00
gingerBill
42def957d5
Fix append_elem_string, again
2019-12-03 09:35:24 +00:00
gingerBill
6433a0d31e
Fix append_elem_string
2019-12-03 09:16:11 +00:00
gingerBill
359e5d9e15
Fix append_elem_string
2019-12-03 09:07:15 +00:00
gingerBill
e229885b2b
Remove addressing mode Addressing_Immutable
2019-12-01 19:11:00 +00:00
gingerBill
ee78374281
Fix typo
2019-12-01 18:57:43 +00:00
gingerBill
ebe152a155
Disable aligned heap allocations hack in os.heap_allocator_proc
2019-12-01 18:53:27 +00:00
gingerBill
46582a45bd
Fix IR string interning type
2019-12-01 18:18:03 +00:00
gingerBill
6b5ea011e7
Add strings.ptr_from_string
2019-12-01 18:06:49 +00:00
gingerBill
9503440eb0
Add strings.unsafe_string_to_cstring
2019-12-01 17:45:07 +00:00
gingerBill
3fa4c5043a
Fix crash caused by not checking for correct SOA kind on polymorphic parameters
2019-12-01 16:05:48 +00:00
gingerBill
9db81498d8
Make the string type elements "immutable", akin to char const * in C
...
Allows for extra security and optimization benefits
2019-12-01 14:10:59 +00:00
gingerBill
7fbe0a6f23
Fix nil comparisons for soa slices and dynamic arrays
2019-12-01 11:56:08 +00:00
gingerBill
3fd5c3cd85
Merge pull request #458 from Tetralux/linux-threads
...
Implement core:thread and core:sync on Unix using pthreads
2019-12-01 11:33:23 +00:00
Tetralux
99121d6ff2
Implement core:thread and core:sync on Unix using pthreads
...
Also do some cleanup and refactoring of the thread, sync and time APIs.
- remove 'semaphore_release' because 'post' and 'wait' is easier to understand
- change 'semaphore_wait' to '*_wait_for' to match Condition
- pthreads can be given a stack, but doing so requires the user to set up the guard
pages manually. BE WARNED. The alignment requirements of the stack are also
platform-dependant; it may need to be page size aligned on some systems.
Unclear which systems, however. See 'os.get_page_size', and 'mem.make_aligned'.
HOWEVER: I was unable to get custom stacks with guard pages working reliably,
so while you can do it, the API does not support it.
- add 'os.get_page_size', 'mem.make_aligned', and 'mem.new_aligned'.
- removed thread return values because windows and linux are not consistent; windows returns 'i32'
and pthreads return 'void*'; besides which, if you really wanted to communicate how the
thread exited, you probably wouldn't do it with the thread's exit code.
- fixed 'thread.is_done' on Windows; it didn't report true immediately after calling 'thread.join'.
- moved time related stuff out of 'core:os' to 'core:time'.
- add 'mem.align_backward'
- fixed default allocator alignment
The heap on Windows, and calloc on Linux, both have no facility to request alignment.
It's a bit of hack, but the heap_allocator now overallocates; `size + alignment` bytes,
and aligns things to at least 2.
It does both of these things to ensure that there is at least two bytes before the payload,
which it uses to store how much padding it needed to insert in order to fulfil the alignment
requested.
- make conditions more sane by matching the Windows behaviour.
The fact that they were signalled now lingers until a thread tries to wait,
causing them to just pass by uninterrupted, without sleeping or locking the
underlying mutex, as it would otherwise need to do.
This means that a thread no longer has to be waiting in order to be signalled, which
avoids timing bugs that causes deadlocks that are hard to debug and fix.
See the comment on the `sync.Condition.flag` field.
- add thread priority: `thread.create(worker_proc, .High)`
2019-12-01 00:46:23 +00:00
gingerBill
0c0c83ee29
Disable find_visual_studio_and_windows_sdk_utf8 temporarily
2019-11-28 21:07:06 +00:00
gingerBill
b75d59d6e0
Make sort.merge_sort in place; Add sort.heap_sort
2019-11-27 16:06:07 +00:00
gingerBill
71c8a3456e
Update package odin/parser for #soa and #vector
2019-11-27 15:23:54 +00:00
gingerBill
37e3e081c6
Update microsoft_craziness.h to work correctly with the rest of the codebase (and not use WIN32_LEAN_AND_MEAN)
2019-11-27 15:18:32 +00:00
gingerBill
5ea9fc3fb0
Merge pull request #478 from castano/auto-search-sdk
...
Allow running Odin compiler without using visual studio command prompt or setting up environgment variables.
2019-11-26 22:29:08 +00:00
Mikkel Hjortshøj
53f65224f6
Merge pull request #459 from zhibog/master
...
Base32 added for core:encoding
2019-11-26 19:45:52 +01:00
gingerBill
902d313c6a
Fix issue with os.write on *nix with writing nothing
2019-11-24 10:08:08 +00:00
gingerBill
45d844f9d2
Disable #soa compound literals
2019-11-21 20:05:45 +00:00
gingerBill
9b58781122
#soa[dynamic]Type (Experimental)
2019-11-21 19:36:07 +00:00
gingerBill
b74f8f2047
Fix SOA entity usage error on -vet
2019-11-21 18:21:27 +00:00
gingerBill
88c90cf99a
Update demo.odin
2019-11-21 14:41:33 +00:00
gingerBill
321dcc60e3
Update fmt.odin
2019-11-21 14:41:12 +00:00
gingerBill
400f12f31f
Update demo.odin
2019-11-21 14:23:59 +00:00
gingerBill
2c5a84bb78
#soa[]Type (Experimental)
2019-11-21 00:07:21 +00:00
gingerBill
e01d8a04a9
Fix String causes a crash when used in a polymorphic type #483
2019-11-20 22:07:12 +00:00
gingerBill
69afa33fa5
Fix Implicit Selector Expressions do not work at the global/package scope #484
2019-11-20 21:56:37 +00:00
gingerBill
44e0e96612
Prepare SOA Struct code for slices and dynamic arrays *to be implemented*
2019-11-19 23:54:36 +00:00
gingerBill
0839dccfdc
Fix Compiler panic with SIMD Vector debug information #481
2019-11-19 23:24:49 +00:00
zhibog
2484f4d04b
Removed CSV stuff.
2019-11-17 20:09:00 +01:00
gingerBill
d22e5b697d
Add new #soa and #vector syntax
2019-11-17 10:30:37 -08:00
gingerBill
301ee664e9
Add Handmade Seattle 2019 Demos
2019-11-16 06:59:48 -08:00
gingerBill
9b4d4a2c61
Minor fix to os.write on darwin
2019-11-16 06:59:14 -08:00
gingerBill
d9647174a3
Merge pull request #479 from ThisDrunkDane/master
...
Fix CI badge on README.md
2019-11-14 22:57:08 +00:00
gingerBill
4d29b64196
Merge pull request #475 from hasenj/reverse
...
fix string reversal
2019-11-14 22:52:01 +00:00
gingerBill
8be1b2e1b1
Merge pull request #476 from castano/symlink-fix
...
Add support for running odin through a symlink.
2019-11-14 22:50:17 +00:00
Mikkel Hjortshoej
b85258a9fc
Add event query param to CI badge
2019-11-14 14:47:01 -08:00
gingerBill
07897ed78e
Fix System V bitcast/transmute bug
2019-11-14 14:45:23 -08:00
Mikkel Hjortshoej
8115386217
Add branch query to CI badge
2019-11-14 14:39:11 -08:00
castano
f8dd4816ff
Integrate microsoft_craziness better.
2019-11-14 09:30:05 -08:00
castano
928a445a14
Fix definition. GB_SYSTEM_WINDOWS is not defined yet. Ideally microsoft_crazines.h should be included after common, but conflicts with defer macro.
2019-11-14 09:29:59 -08:00
castano
42cd78497a
Use Jon's single file lib to find the latest compiler and SDK paths instead of relying on environment variables.
...
This allows you to run the odin compiler without having to use the visual studio command prompt or setting up environment variables. It would be nice to not rely on the automatic search exclusively, but allow specifying the desired compiler or SDK version.
This change introduces various library dependencies in order to interact with COM objects. Not sure if there's a way around that.
2019-11-14 09:29:45 -08:00
castano
813f5d211f
Fix linux build.
2019-11-14 09:22:37 -08:00
castano
71d129a709
Add support for running odin through a symlink. Use realpath when obtaining root dir.
2019-11-14 00:50:26 -08:00
Hasen Judy
c35762528c
fix string reversal
2019-11-13 23:36:52 +09:00
gingerBill
aa796a1032
v0.11.1
2019-11-12 21:20:40 +00:00
gingerBill
5bf71ba75c
big_int addition overflow rules
2019-11-11 22:47:25 +00:00
gingerBill
967981aacd
Add -show-more-timings
2019-11-10 21:49:02 +00:00
gingerBill
33d05a07de
Fix big_int_or and big_int_xor
2019-11-10 20:06:04 +00:00
gingerBill
8da8301b09
Fix big subtraction for very large numbers on edges of overflow.
2019-11-10 19:55:26 +00:00
gingerBill
536cceeef9
Add intrinsics.type_is_unsigned
2019-11-10 18:51:21 +00:00
gingerBill
098684a6fe
Add 128-bit random procedures to package math/rand
2019-11-10 18:47:16 +00:00
zhibog
694ee02247
Missed one
2019-11-09 18:06:33 +01:00
zhibog
0451c88ab6
Fixed indenting
2019-11-09 18:04:30 +01:00
gingerBill
2ef7bfc06e
Remove debug message
2019-11-09 10:45:03 +00:00
gingerBill
7bfdb4f9f4
Fix Compile time assert on non-constant boolean parameters #467
2019-11-09 10:44:42 +00:00
gingerBill
0a35b13411
Fix inline for bug for #468
2019-11-09 10:24:27 +00:00
zhibog
803f6a6651
Added procs to read and write just the data, without any file loading / writing
2019-11-08 22:17:24 +01:00
zhibog
672cfd51c3
Added names to return values
2019-11-08 20:21:18 +01:00
zhibog
80cdf8b6a8
Should be row_count obviously
2019-11-08 20:16:56 +01:00
zhibog
dc2d5239c5
Removed comments regarding RFC test vectors
2019-11-08 20:06:58 +01:00
gingerBill
dacfc9de15
Fix //+build for ! e.g. //+build !windows amd64, linux !amd64
2019-11-05 20:09:09 +00:00
gingerBill
689aa4d734
Fix //+build system
2019-11-05 20:02:11 +00:00
gingerBill
8a46b493fd
Fix Slice passed incorrectly in LLVM IR to procedure called via procedure pointer #465
2019-11-05 19:40:08 +00:00
gingerBill
86abdc0603
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-11-05 19:37:30 +00:00
gingerBill
a634444f99
Fix "Polymorphic parameter declared in return type doesn't compile #464 " by giving a conversion error (code wasn't handling polymorphic result types as intended)
2019-11-05 19:37:19 +00:00
vassvik
04a25b11ad
Fix incorrect math.linalg.cross3 indices.
2019-11-04 17:39:26 +01:00
gingerBill
40546fbde2
Use runtime.mem_copy in package me
2019-11-03 19:59:41 +00:00
gingerBill
c1176c2bcb
Fix typeid comparison bug; Add extra messages for pointer address errors
2019-11-03 19:49:21 +00:00
gingerBill
57853fe1b1
Add SOA Struct Layout (experimental) to demo.odin
2019-11-03 12:52:13 +00:00
gingerBill
013b3b9fb3
Fix for -vet
2019-11-03 11:42:00 +00:00
gingerBill
dc0f04e53b
Fix typo in fmt
2019-11-03 00:50:47 +00:00
gingerBill
40606d9272
Fix fmt printing of anonymous SOA structs
2019-11-03 00:47:27 +00:00
gingerBill
ebf7926fa4
SOA support of Structures and Arrays; Runtime information for SOA structs; fmt printing support for SOA structs
2019-11-03 00:32:22 +00:00
gingerBill
dfb3101ecf
SOA Struct support intrinsics.soa_struct
2019-11-02 21:08:51 +00:00
gingerBill
e3d3a81617
multivalued procedure calls allows in for in to allow a pseudo-iterator; @thread_local for variables in procedure
2019-11-02 16:36:46 +00:00
gingerBill
dbdbbcd60f
Fix range in statement bug caused by incorrectly assigned addressing mode #461
2019-11-02 10:57:42 +00:00
gingerBill
f9aaff99c6
Fix linalg.mul; add linalg.Matrix1xN
2019-11-02 10:30:11 +00:00
zhibog
4b718aae75
Added an implementation for reading and writing csv files
2019-11-01 22:35:46 +01:00
zhibog
20db0e7f09
Added Base32 + official test vectors from the RFC
2019-11-01 22:35:09 +01:00
zhibog
614ea5c168
Added official test vectors from the RFC
2019-11-01 22:34:19 +01:00
gingerBill
57565b78a6
v0.11.0
2019-11-01 19:45:39 +00:00
gingerBill
b5b085914a
Merge pull request #404 from hazeycode/master
...
Impl time for macOS
2019-11-01 19:44:50 +00:00
Chris Heyes
044e64beb0
Add missing foreign import to time_darwin
2019-11-01 19:39:26 +00:00
Chris Heyes
adca5b57cd
Move time code from os to time package
2019-11-01 19:33:48 +00:00
gingerBill
3b898e5224
Add @force to foreign import
2019-11-01 19:26:22 +00:00
Chris Heyes
153e7525b5
Merge remote-tracking branch 'upstream/master'
2019-11-01 19:18:33 +00:00
gingerBill
44a303e577
Add dummy packages purely for documentation of builtin and intrinsics
2019-11-01 19:00:23 +00:00
gingerBill
d63878d0dd
Merge pull request #437 from nakst/master
...
updated os_essence.odin
2019-11-01 10:20:29 +00:00
gingerBill
a20c31d6b5
Fix polymorphic record parameter determination bug caused by polymorphic constants not being handled correctly #447
2019-10-31 22:58:38 +00:00
gingerBill
560bdc339b
Fix stack overflow bug caused by polymorphic record with polymorphic constant parameters. #447
...
DOES NOT FIX THE UNDERLYING BUG
2019-10-31 22:39:12 +00:00
gingerBill
01dfb1dac8
Fix double calling of lhs of logical binary expressions
2019-10-31 20:17:50 +00:00
gingerBill
ee8d3e03f8
Delay determination of procedure abi types until as late as possible to prevent type undetermination in self-referential data types #454
2019-10-31 18:25:39 +00:00
gingerBill
4aad45e3e7
Merge pull request #453 from kevinw/master
...
Remove unused variables in utf8.odin.
2019-10-29 11:47:37 +00:00
gingerBill
fe5c642d9f
Fix runtime.cstring_len
2019-10-29 08:47:05 +00:00
Kevin Watters
b5fdb3f855
Remove unused variables in utf8.odin.
2019-10-28 11:13:47 -04:00
gingerBill
416ff149bd
Fix procedure group "best fit" algorithm for polymorphic procedures
2019-10-27 19:42:21 +00:00
gingerBill
233c6e2d3a
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-10-27 18:43:53 +00:00
gingerBill
a29a6d9285
Fix typos in package linalg; Fix norm_float64 in package rand
2019-10-27 18:43:40 +00:00
Mikkel Hjortshøj
a7a31e4c23
Set CI shell on windows to cmd.exe
2019-10-27 18:12:23 +01:00
Mikkel Hjortshøj
72cad591bd
Update ci.yml
2019-10-27 18:07:14 +01:00
Mikkel Hjortshøj
684bf7aa61
Update ci.yml
2019-10-27 18:04:14 +01:00
Mikkel Hjortshøj
d760b95e4f
Update ci.yml
2019-10-27 18:02:39 +01:00
gingerBill
5e81fc72b9
New package math and package math/linalg
2019-10-27 10:35:35 +00:00
gingerBill
0977ac111a
Fix typo in package utf8; add wchar_t to package c
2019-10-27 08:34:20 +00:00
gingerBill
2db16d6a32
Add for package utf8: rune_at_pos, rune_string_at_pos, rune_at, rune_offset
2019-10-26 15:05:36 +01:00
gingerBill
5aa46d31b2
Move package decimal to be a subpackage of package strconv
2019-10-26 14:46:21 +01:00
gingerBill
14e8b299b7
Fix slice and dynamic array lengths determined from ranged compound literals
2019-10-26 14:43:06 +01:00
gingerBill
c7cb754514
Fix typos
2019-10-26 14:37:27 +01:00
gingerBill
a5e42a0465
Add ranged_fields_for_array_compound_literals
2019-10-26 14:36:28 +01:00
gingerBill
d808f9eccf
Add range_cache.cpp
2019-10-26 14:29:04 +01:00
gingerBill
1734eb949f
Update utf8.accept_sizes to use ranged fields
2019-10-26 14:18:38 +01:00
gingerBill
7fae890ef9
Allow ranges for array-like compound literals
2019-10-26 14:06:29 +01:00
gingerBill
94879ed149
Fix Compiler assertion when applying using to _ procedure parameter. #451
2019-10-26 12:14:04 +01:00
gingerBill
2c75fe2314
Allow for cycles in record polymorphic parameters but not in actualized fields
2019-10-26 11:50:42 +01:00
gingerBill
1da0668653
Add utf8.rune_index
2019-10-26 11:50:01 +01:00
gingerBill
c60fb10a6a
Move old demos and old stuff to /misc
2019-10-26 10:40:17 +01:00
gingerBill
7140f42915
Modify runtime to reduce dependencies on other packages
2019-10-23 21:43:13 +01:00
gingerBill
ad92fbfd4e
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-10-23 21:42:42 +01:00
gingerBill
1416946757
Add token.odin
2019-10-23 21:42:28 +01:00
gingerBill
6a8c4ee04c
Merge pull request #450 from ThisDrunkDane/master
...
Setup Github Actions instead of Travis and Appveyor
2019-10-21 22:17:05 +01:00
Mikkel Hjortshøj
516df9123d
Update README.md
2019-10-21 23:08:16 +02:00
Mikkel Hjortshøj
818d6dbbea
Update README.md with new CI badge
2019-10-21 23:05:18 +02:00
Mikkel Hjortshoej
286c5b7b24
Remove old CI runners
2019-10-21 23:01:32 +02:00
Mikkel Hjortshøj
c0e8113f6f
Add github CI action
2019-10-21 23:00:24 +02:00
gingerBill
e15dfa8eb6
Fix missing check for zero elements
2019-10-20 18:26:30 +01:00
gingerBill
f12ded54f2
Support for named indices for array-like compound literals {3 = a, 1 = b}
2019-10-20 13:11:28 +01:00
gingerBill
b4951c9b39
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-10-20 10:50:30 +01:00
gingerBill
9f0a28017d
Fix typo in string_to_string16 #444
2019-10-20 10:50:18 +01:00
Mikkel Hjortshøj
d7c8a3a9dd
Merge pull request #445 from Tetralux/patch-2
...
Clarify that you can pass a directory to `odin build`
2019-10-19 18:57:23 +02:00
Tetralux
10b109e25f
Clarify that you can pass a directory to odin build
...
Changes the usage information to this:
```
D:\Software\odin\odin.exe is a tool for managing Odin source code
Usage:
D:\Software\odin\odin.exe command [arguments]
Commands:
build compile .odin file, or directory of .odin files, as an executable.
one must contain the program's entry point, all must be in the same package.
run same as 'build', but also then runs the newly compiled executable.
check parse and type check .odin file
query parse, type check, and output a .json file containing information about the program
docs generate documentation for a .odin file
version print version
```
2019-10-19 17:55:05 +01:00
gingerBill
2afe4bea67
Add instrincs.type_is_valid_map_key
2019-10-15 22:43:04 +01:00
gingerBill
12ae5ed09e
Fix missing typeid conversion case for variadic parameters
2019-10-15 20:47:27 +01:00
gingerBill
0bdc3b4f21
Fix Values coerce to typeid #443
2019-10-15 17:54:37 +01:00
gingerBill
eaabb888d4
Update Odin Logo
2019-10-15 17:42:55 +01:00
gingerBill
b53fe14c22
Change error to syntax_error in parser
2019-10-13 16:06:41 +01:00
gingerBill
45683703ea
Fix System V for certain structs
2019-10-13 14:29:56 +01:00
gingerBill
03053a18ce
Fix IR generation bug for nested foreign procedure declaration
2019-10-13 12:51:47 +01:00
gingerBill
2a6d9e8927
#panic; Minor change to demo.odin; Fix #assert bug at file scope
2019-10-13 12:38:23 +01:00
gingerBill
fa81061db0
Minor fix to Odin types with System V ABI
2019-10-10 21:50:20 +01:00
gingerBill
39b3c8c80f
Update System V ABI to for more Odin types
2019-10-10 21:39:46 +01:00
gingerBill
3139151935
Minor fix to systemv_distribute_struct_fields
2019-10-10 21:24:32 +01:00
gingerBill
672a8f5dbd
Add Odin types for System V ABI
2019-10-10 21:13:06 +01:00
gingerBill
8672ff1c55
Fix typo in System V ABI determination
2019-10-10 20:57:31 +01:00
gingerBill
abfa894566
Fix general IR parameter case
2019-10-10 20:52:07 +01:00
gingerBill
5b52fed268
Correct (experimental) System V AMD64 ABI support
2019-10-10 20:41:16 +01:00
Mikkel Hjortshøj
94a638b436
Update README.md
...
Remove license badge (Github shows it themselves now) and add discord badge
2019-10-10 11:10:10 +02:00
gingerBill
1b8c3ca22a
Fix typos and make demo work with -vet
2019-10-08 20:28:45 +01:00
gingerBill
71b32ae117
Update demo.odin
2019-10-06 19:20:00 +01:00
gingerBill
939459b635
Change implicit semicolon rules for record types within procedure bodies; Update package odin/*
2019-10-06 19:16:55 +01:00
gingerBill
562b518394
Change print*_err to eprint* in core library
2019-10-06 18:54:29 +01:00
gingerBill
d62503d031
Change precedence for in and notin to match + - | ~
2019-10-06 18:14:02 +01:00
gingerBill
4e8a801b35
strings.split; strings.index; eprint* over print*_err;
2019-10-06 18:13:15 +01:00
gingerBill
e1b711b3b3
Update demo.odin with more information
2019-10-06 15:07:16 +01:00
gingerBill
6c69e8c043
Make typeid semantics consistent across variables and constants
2019-10-06 14:55:25 +01:00
gingerBill
7fa2d25eea
Fix #complete switch with pointer case doesn't compile #416
2019-10-05 10:22:41 +01:00
gingerBill
dae514a2c9
Fix Using any in if statement asserts compiler #441
2019-10-05 09:40:05 +01:00
gingerBill
068993a819
Remove os_osx.odin
2019-10-01 20:55:15 +01:00
gingerBill
66ae4e5afc
Change ODIN_OS string for osx from "osx" to "darwin" to allow for other platforms
2019-10-01 20:38:50 +01:00
gingerBill
218d1131e8
Change how foreign imports work for mac
2019-09-29 09:25:33 +01:00
gingerBill
f4f6e9ad49
Fix -debug crash on windows caused by missing debug info for files.
2019-09-25 21:07:56 +01:00
gingerBill
48ab7f876c
Fix Implicit Selector Expressions do not work for parameteric struct parameters. #438
2019-09-25 20:52:47 +01:00
nakst
1e53a6fa96
updated os_essence.odin
2019-09-18 16:19:19 +01:00
gingerBill
4cef160c87
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-09-17 19:47:13 +01:00
gingerBill
68582c5ad1
Add suggestions to errors on casts and assignments.
2019-09-17 19:47:04 +01:00
gingerBill
a9a2dafca5
Merge pull request #430 from nakst/master
...
New Essence OS layer; cross-compiling improvements
2019-09-09 14:39:35 +01:00
gingerBill
da3467c25f
Merge pull request #434 from odin-lang/ThisDrunkDane-patch-1
...
Make `odin run` return the process exit code
2019-09-08 20:28:10 +01:00
gingerBill
5fc42bf9c9
Update demo.odin
2019-09-08 19:15:12 +01:00
gingerBill
42bbd31df1
Disallow where clauses on non-polymorphic records
2019-09-08 19:03:57 +01:00
gingerBill
c7cc38b7d8
Remove assert
2019-09-08 15:47:57 +01:00
gingerBill
4afc78efc6
Add where clauses to struct and union
2019-09-08 12:12:41 +01:00
Mikkel Hjortshøj
bc34083c9c
Also return on unix
2019-09-08 01:10:54 +02:00
Mikkel Hjortshøj
08dd8414c1
Make odin run return the process exit code
2019-09-08 01:09:04 +02:00
gingerBill
d54255505a
Fix Compiler does not complain about missing semicolon #433
2019-09-04 18:10:02 +01:00
gingerBill
d4914c3546
Fix Ir panic on using append() from within anonymous function #432
2019-09-04 18:06:02 +01:00
gingerBill
772c8779fa
Clean up thread pool code
2019-09-03 22:11:21 +01:00
gingerBill
c92b2e9612
Fix semaphore posting
2019-09-03 21:17:46 +01:00
gingerBill
1af143b749
Fix debug mode for build.bat
2019-09-02 21:16:17 +01:00
gingerBill
1370c10d1b
Fix Converting addresses to function pointers produces llvm-opt error #431
2019-09-02 18:59:07 +01:00
gingerBill
1348d8a8cd
Improve thread pool (volatile hints, etc)
2019-09-02 18:49:23 +01:00
gingerBill
495aaacb81
Fix build.bat
2019-09-02 18:35:00 +01:00
nakst
22e982c8fb
New Essence OS layer; cross-compiling improvements
2019-09-02 16:46:50 +01:00
gingerBill
6d614ef07c
Remove thread naming on thread pool
2019-09-01 23:16:01 +01:00
gingerBill
723f351a6d
Remove custom allocator for thread pool
2019-09-01 23:13:29 +01:00
gingerBill
c93872cc13
Thread pool fixes
2019-09-01 22:57:53 +01:00
gingerBill
97dece15d7
Minor changes
2019-09-01 22:18:55 +01:00
gingerBill
657103c4cf
ThreadPool for the parser
2019-09-01 20:02:39 +01:00
gingerBill
b9d3129fb3
where clauses for procedure literals
2019-08-31 20:13:28 +01:00
gingerBill
b311540b16
Make require_results an attribute rather than a suffix tag for procedures
2019-08-31 14:48:56 +01:00
gingerBill
07ced1cf0e
Fix variable dependency ordering issues caused by procedure literals
2019-08-31 11:12:41 +01:00
gingerBill
a1d4ea7718
Merge pull request #425 from thebirk/parser-threading
...
Fixed parser creating a new thread for each file.
2019-08-29 20:44:48 +01:00
thebirk
f921a91fc8
Properly removed the semaphore.
2019-08-29 20:35:12 +02:00
thebirk
4dade34603
Removed unused semaphore on Parser.
2019-08-29 20:34:09 +02:00
thebirk
d76249d90b
Cleaned up parse_packages and the worker proc.
2019-08-29 20:27:38 +02:00
gingerBill
d118fc569a
Add intrinsincs.type_is_quaternion
2019-08-29 16:45:36 +01:00
gingerBill
2dc39a5cbd
Improve demo.odin
2019-08-29 15:25:46 +01:00
gingerBill
c89fc35e94
Fix global variable initialization ordering
...
(related to #427 )
2019-08-29 14:36:42 +01:00
gingerBill
614d209824
Add debug information for quaternion types ( fixes #428 )
2019-08-29 10:39:03 +01:00
gingerBill
f1a7b31209
Fix nested raw_union with using #428
2019-08-28 13:34:55 +01:00
thebirk
6a8b3fee38
Removed gb_thread_set_name because it segfaults on linux.
2019-08-26 20:23:52 +02:00
thebirk
4551521b2c
Im just trying things at this point, Bill should just squash this PR at merge time ;)
2019-08-26 19:51:33 +02:00
thebirk
97dfcffa76
Fixed error where the parser would end early.
2019-08-26 19:09:52 +02:00
gingerBill
6d3feb4531
Fix typo in tokenizer (no actual bug)
2019-08-26 16:18:26 +01:00
thebirk
c44d25d14f
Fixed parser creating a new thread for each file.
2019-08-26 16:47:41 +02:00
gingerBill
25dd00cd0b
Add complex/quaternion raw layouts to mem/raw.odin
2019-08-26 14:40:04 +01:00
gingerBill
01c10aa944
inline for loops (only for 'in' based for loops)
2019-08-26 13:54:35 +01:00
gingerBill
4908d1ebdd
Update odin_tokenizer to support quaternion literals
2019-08-26 11:56:04 +01:00
gingerBill
7bc146e6fd
Built-in Quaternions (Not just an April Fool's Joke any more)
2019-08-26 11:33:05 +01:00
gingerBill
59ab51acec
Fix typo
2019-08-23 11:54:23 +01:00
gingerBill
cf23954297
Improve #assert to show the procedure and signature it was called with; Allow the ability to print ExactValue correct now.
2019-08-23 11:51:04 +01:00
gingerBill
d1cc6534cd
Remove the rule that made any declaration prefixed with an underscore private to that package.
2019-08-23 10:32:05 +01:00
gingerBill
1b454c7ded
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-08-23 10:24:25 +01:00
gingerBill
150d4e343d
Fix ~(1 << x) type inference bug
2019-08-23 10:24:18 +01:00
gingerBill
28ada801a0
Merge pull request #419 from zhibog/master
...
Added an implementation for Base64. Also provides the ability to supp…
2019-08-16 19:42:03 +01:00
zhibog
a7676bff6e
Added an implementation for Base64. Also provides the ability to supply your own alphabet and decoding table.
2019-08-15 22:05:06 +02:00
gingerBill
4369298e96
Add reflect/types.odin
2019-08-13 23:21:51 +01:00
gingerBill
a58c29582e
Add new stuff to package reflect; fix -vet for odin_parser
2019-08-13 23:21:33 +01:00
gingerBill
3ad20a2d2d
Remove package types and merge with package reflect
2019-08-13 22:59:07 +01:00
gingerBill
b86dfa7af7
Fix compiler crash with #defined #417
2019-08-13 22:51:04 +01:00
gingerBill
980890ee8a
Make -vet happy on *nix
2019-08-13 22:39:53 +01:00
gingerBill
0a63690b39
Fix typo in ? array lengths error
2019-08-13 22:34:02 +01:00
gingerBill
0076a4df62
Fix compound literal printing for structs with custom alignment requirements
2019-08-13 22:33:05 +01:00
gingerBill
4c065a7e99
Keep -vet happy
2019-08-13 22:27:52 +01:00
gingerBill
04036aba9c
package reflect; fix substring type bug; fix scoping rules for using on procedure parameter
2019-08-11 23:58:49 +01:00
gingerBill
b08aa857b3
Remove dead keywords in odin_token
2019-08-09 23:01:22 +01:00
gingerBill
2d26278a65
Make structs with the same fields but with different tags distinct types
2019-08-09 22:52:19 +01:00
gingerBill
27a3c5449a
Fix global variable initialization for certain types.
2019-08-09 22:35:48 +01:00
gingerBill
9c63212824
Struct field tags
2019-08-09 21:59:58 +01:00
gingerBill
65d41d4248
Fix bit_field comparison against nil #414
2019-08-09 20:31:11 +01:00
gingerBill
b04231dd95
Improve implementation of intrinsics.type_* procedures
2019-08-04 14:54:23 +01:00
gingerBill
37633c1d2a
intrinsics.type_* constant evaluation procedures
2019-08-04 11:02:00 +01:00
gingerBill
5877017d30
Add error message for non-constant polymorphic name parameters
2019-08-03 10:15:31 +01:00
gingerBill
132fdf14b8
Fix min, max, clamp final type bug
2019-08-03 10:07:09 +01:00
gingerBill
e7d3001dd1
Fix constant default value error #408 (typo)
2019-07-29 18:33:06 +01:00
gingerBill
f163181204
Add extra hints for LLVM for implicit reference parameters
2019-07-29 10:43:07 +01:00
gingerBill
2c5c8192f8
Fix parsing for procedure literals expression statements; improve assert performance; other minor fixes
2019-07-28 22:58:56 +01:00
gingerBill
162c87b1b8
Minor code clean-up
2019-07-28 18:44:50 +01:00
gingerBill
77734ea967
Improve the performance of simple array comparisons
2019-07-27 11:59:50 +01:00
gingerBill
912fc2890b
Fix array comparisons and fix f32 literal LLVM issue regarding accurate representation
2019-07-27 11:33:22 +01:00
gingerBill
14059583cd
Fix array comparisons
2019-07-27 10:44:40 +01:00
gingerBill
f3bffb9810
Improvement to the Odin calling conventions to pass certain things by "implicit reference" (const & in C++)
2019-07-27 10:20:11 +01:00
gingerBill
540730c0be
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-07-27 00:45:44 +01:00
gingerBill
40f0e74b8c
Change scoping rules to allow for shadowing of procedure parameters but not named return values
2019-07-27 00:45:36 +01:00
Mikkel Hjortshøj
5ca0cd60d0
Merge pull request #406 from JoshuaManton/master
...
Fix `scale_f32` and `scale_vec3` returning the wrong variable
2019-07-20 22:21:58 +02:00
Joshua Mark Manton
96f0a08725
Fix scale_f32 and scale_vec3 from returning the wrong variable.
2019-07-20 13:15:51 -07:00
Chris Heyes
d85893954d
Impl time for macOS
2019-07-16 23:49:53 +01:00
gingerBill
d26033eb23
Revert demo.odin
2019-07-15 22:41:25 +01:00
gingerBill
c7a70be824
Fix __get_map_key
2019-07-15 22:38:51 +01:00
gingerBill
08c490d9ac
Fix bounds checking on slices for constant parameters
2019-07-15 22:26:51 +01:00
gingerBill
8ee7ee7120
Fix core library for the new procedure parameter addressing mode
2019-07-15 22:16:27 +01:00
gingerBill
d471a59041
IR fix array comparisons
2019-07-15 21:32:38 +01:00
gingerBill
f25818e923
Make procedure parameters just named values rather than copied variables
2019-07-15 21:18:37 +01:00
gingerBill
3d531be711
Improve type hinting for named parameters in call expressions
2019-07-13 15:38:50 +01:00
gingerBill
56d365a4e7
Improve type inference for procedure group parameters
2019-07-13 13:34:21 +01:00
gingerBill
308300c1fc
Add extra error handling for parsing slices
2019-07-09 11:18:50 +01:00
gingerBill
927d6814f2
slice_data_cast
2019-07-09 11:09:46 +01:00
gingerBill
7c99f52187
Add minimum requirement of 2 variants for #no_nil
2019-07-09 10:49:45 +01:00
gingerBill
4ab9edeb53
union #no_nil
2019-07-09 10:28:13 +01:00
gingerBill
c5b3d7a736
Update package odin_parser
2019-07-07 16:20:58 +01:00
gingerBill
d7172e168e
Fix target list branch rules for name-labelled block/if statements
2019-07-07 16:06:41 +01:00
gingerBill
d99ffe604f
Fix unions with zero variants
2019-07-07 14:38:11 +01:00
gingerBill
b77c79294c
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-07-07 14:14:36 +01:00
gingerBill
8e722274f0
Disallow blank identifier polymorphic types $_
2019-07-07 14:14:28 +01:00
gingerBill
ebe7fc23a5
Merge pull request #400 from asmoaesl/patch-1
...
Correct two typos
2019-06-29 12:09:46 +01:00
Luke I. Wilson
4d40f564ef
Correct two typos
2019-06-28 20:42:59 -05:00
gingerBill
fd62959bf4
Fix procedure constant declaration value type assignment checking
2019-06-21 23:11:14 +01:00
gingerBill
8b8cada33e
Fix procedure group compiler assert with no matching arguments #393
2019-06-21 22:55:00 +01:00
gingerBill
aaa24894b6
Fix double-pointer indexing bug #396
2019-06-21 22:50:29 +01:00
gingerBill
2af19c496e
Fix comparison for bit field values #386
2019-06-21 22:48:37 +01:00
gingerBill
fea34b32ea
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-06-21 22:40:20 +01:00
gingerBill
b891c0feab
Fix ranges in switch statement for strings
2019-06-21 22:40:11 +01:00
gingerBill
9f039c323e
Update FUNDING.yml
2019-06-20 09:29:18 +01:00
gingerBill
b0dd3ac599
v0.10.0
2019-06-02 12:27:36 +01:00
gingerBill
b38a8cfb12
Move internal 128-bit stuff to a windows specific file
2019-06-01 12:26:54 +01:00
gingerBill
4c79b52867
Update README.md
2019-05-30 18:08:35 +01:00
gingerBill
6dba05b00d
Update README.md
2019-05-30 18:07:54 +01:00
gingerBill
32a29d627a
Create FUNDING.yml
2019-05-30 17:42:15 +01:00
gingerBill
caf9bc6be9
Pedantic conversions on query data
2019-05-29 16:59:28 +01:00
gingerBill
654740d5b1
Fixes to ABI
2019-05-29 16:49:26 +01:00
gingerBill
b894e2b378
Fix bit set size with 128-bit integers
2019-05-28 20:57:02 +01:00
gingerBill
c40acd008e
Add i128/u128 support for bit sets
2019-05-28 20:53:56 +01:00
gingerBill
3d2279fba0
Support 128-bit integers i128 u128
2019-05-28 20:27:45 +01:00
gingerBill
2b080dbbc2
sync_atomic_* make most ordering parameters compile-time constant
2019-05-28 15:57:06 +01:00
gingerBill
9cadd58465
Improve tokenizer slightly
2019-05-28 14:44:32 +01:00
gingerBill
65e9b4d5f0
Update parsers
2019-05-28 12:55:55 +01:00
gingerBill
fb3d73cb20
Make core library use a..<b rather than doing a..b-1
2019-05-28 12:52:20 +01:00
gingerBill
222941727f
Add ..< operator for ranges; Add extra checking for bit set assignments
2019-05-28 12:45:20 +01:00
gingerBill
5697d6df74
-go-to-definitions (OGTD file format)
2019-05-26 15:16:45 +01:00
gingerBill
426c1ed6f4
-compact flag for 'odin query'
2019-05-25 20:28:49 +01:00
gingerBill
458ec5922e
odin query
...
Output .json file containing information about the program
2019-05-25 20:24:19 +01:00
gingerBill
f5fdd031f9
Fix polymorphic procedure return by pointer values #374
2019-05-19 10:45:27 +01:00
gingerBill
ceb58ae04f
Change import name rules
2019-05-19 10:01:35 +01:00
gingerBill
868603f617
Merge pull request #375 from Zilarrezko/master
...
make_builder function now properly uses given allocator
2019-05-19 09:55:03 +01:00
Zilarrezko
d2faa9bef1
make_builder function now properly uses given allocator
2019-05-18 18:57:34 -07:00
gingerBill
b1663a14e9
Add an error for C-style pointer selector expressions using '->' when parsing
2019-05-09 22:59:17 +01:00
gingerBill
3fc60930e6
Fix constant representability rules
2019-05-09 22:46:50 +01:00
gingerBill
665734f04f
Fix package odin/parser
2019-05-09 16:35:35 +01:00
gingerBill
16f3bc2c0b
Allow comparisons with bit field values
2019-05-09 13:18:57 +01:00
gingerBill
71a733e3b5
Allow booleans to be assigned to a 1-bit bit field value
2019-05-09 13:04:15 +01:00
gingerBill
a66612e8ae
Remove test code
2019-05-09 11:07:26 +01:00
gingerBill
00c0ce45b3
Fix bug with clamp
2019-05-06 18:29:22 +01:00
gingerBill
ab0afa548b
Fix ||= and &&=
2019-05-06 11:32:35 +01:00
gingerBill
ea1690b7a1
Improve type inference for variadic parameters
2019-05-04 14:01:04 +01:00
gingerBill
a5ff983266
Fix parapoly related bugs #370
2019-05-04 13:11:56 +01:00
gingerBill
a46a1f5f34
Minor change to bit_field assignment rules
2019-05-04 13:02:15 +01:00
gingerBill
40135cbc66
Add float64_range and float32_range to package math/rand
2019-04-28 20:35:14 +01:00
gingerBill
c61fd3a70a
Modify type_set_offsets to patch minor bug
2019-04-28 20:34:51 +01:00
gingerBill
45fbc4e8c5
Add #load to package odin/parser
2019-04-21 22:36:52 +01:00
gingerBill
9ce8f124bb
Slight change to determine_path_from_string rules
2019-04-20 16:52:09 +01:00
gingerBill
63bbb9b62f
Change the file name rules for imports (use / rather than \ on windows)
2019-04-20 16:47:28 +01:00
gingerBill
56c4039e72
#load directive (request from #368 ) (Basic implementation)
2019-04-20 15:05:35 +01:00
gingerBill
0755dfbd5d
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-04-19 11:39:12 +01:00
gingerBill
2780f82f30
Fix is_operand_value to support more addressing modes
2019-04-19 11:39:01 +01:00
Jeroen van Rijn
5dcb5c2ba3
Merge pull request #367 from kevinw/fix-json-parsing
...
Fix some JSON parsing bugs.
2019-04-06 16:35:46 +02:00
Jeroen van Rijn
9d552d04ea
Merge pull request #358 from kevinw/master
...
Fix some -vet warnings; change import to core:math/bits
2019-04-06 16:34:01 +02:00
Kevin Watters
88e1b93786
Fix som JSON parsing bugs.
...
- Single digit integer keys `{"a": 5}`
` Negative float keys `{"b": -42.0}`
2019-04-06 09:24:53 -04:00
Kevin Watters
62f5eb5bca
Fix som JSON parsing bugs.
...
- Single digit integer keys `{"a": 5}`
` Negative float keys `{"b": -42.0}`
2019-04-06 09:19:09 -04:00
Kevin Watters
6ab471ff87
Merge branch 'master' of github.com:odin-lang/Odin
2019-04-06 08:41:56 -04:00
Jeroen van Rijn
155b138aa4
call_external_process cleanup
2019-04-05 13:18:50 +02:00
Jeroen van Rijn
a730b04bf1
Add helpers to launch process and open website.
2019-04-05 13:02:49 +02:00
Kevin Watters
957e1e1f07
Merge branch 'master' of github.com:odin-lang/Odin
2019-04-01 09:34:25 -04:00
gingerBill
133f88406f
The Proposal Process
2019-03-31 23:50:56 +01:00
gingerBill
ecd2eacd75
Remove dead keywords; Fix min and max for enum types
2019-03-31 22:35:05 +01:00
gingerBill
2614830c69
Minor code organization change
2019-03-31 18:29:57 +01:00
Kevin Watters
381fbd3daf
Merge branch 'master' of github.com:odin-lang/Odin
2019-03-31 12:03:22 -04:00
gingerBill
dd9113786c
Remove -keep-temp-files from the build.bat
2019-03-31 13:06:01 +01:00
gingerBill
1354f53d02
Remove derived from context; Fix parsing issue for typeid specializations in record parameters; Fix runtime printing of types
2019-03-31 11:58:54 +01:00
gingerBill
564e85ee29
Modify ir_generate_array name logic slightly
2019-03-31 11:22:27 +01:00
gingerBill
ef04d13337
Use context for assert-based things.
2019-03-30 15:10:40 +00:00
gingerBill
68d4bde82f
Overrideable stdin, stdout, stderr at the context level
2019-03-30 14:51:42 +00:00
gingerBill
a019059975
Fix -vet for demo.odin
2019-03-30 10:52:53 +00:00
gingerBill
7580ec494b
Disallow ambiguous singularly variadic polymorphic parameters #361
2019-03-30 10:43:53 +00:00
gingerBill
a9b20c29b1
Fix slicing issue; Change path of math/bits in package json #363
2019-03-30 10:17:31 +00:00
Kevin Watters
76a2807b56
Remove unused import from demo.odin.
2019-03-26 11:20:49 -04:00
Kevin Watters
14ff561f6c
Merge branch 'master' of github.com:odin-lang/Odin
2019-03-26 11:17:58 -04:00
gingerBill
1fd677b42e
Remove *_remove from demo and use built-in versions
2019-03-25 21:29:21 +00:00
gingerBill
6b18b90222
Fix possible buffer overflows in package strconv
2019-03-25 21:26:23 +00:00
gingerBill
9e6d488063
Modify slice_expr_error_* logic to change depending on which parameters are passed
2019-03-25 21:20:12 +00:00
gingerBill
4a15689776
Remove bounds checks for slice expressions with both indices empty
2019-03-25 21:00:45 +00:00
gingerBill
c785c3569f
Fix runtime.*_expr_error error
2019-03-25 20:42:47 +00:00
Kevin Watters
e6f9b4fb11
Fix some -vet warnings; change import to core:math/bits
2019-03-25 09:23:46 -04:00
gingerBill
b978959fae
Improve package strconv
2019-03-24 20:58:01 +00:00
gingerBill
8b09ab6fe7
Move core:bits to core:math/bits
2019-03-24 20:39:01 +00:00
gingerBill
2347dca9d9
Improve package math/rand
2019-03-24 20:36:39 +00:00
gingerBill
2ada90e094
Improve a tokenizer error message; Add extra tokens for in and notin for fun!
2019-03-24 19:12:41 +00:00
gingerBill
a137a06b00
Allow implicit selectors to unions with only one enum variant
2019-03-24 12:14:45 +00:00
gingerBill
b1684fe455
@(private) for foreign blocks; Improve foreign signature similarity rules
2019-03-24 11:58:26 +00:00
gingerBill
886054f0f8
Add error message for when trying to assign a type to a variable.
2019-03-22 13:55:29 +00:00
gingerBill
0e1cfa5a0a
Disallow casting to and from cstring/pointers
...
TODO: get a better error message
2019-03-19 20:34:06 +00:00
gingerBill
400558abcd
Fix fmt.println a rawptr causes access violation #356
2019-03-19 20:27:29 +00:00
gingerBill
d75634ff5e
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-03-19 20:22:32 +00:00
gingerBill
0c04b9398a
Fix bug with assigning certain integers to a bit_field #353
2019-03-19 20:22:25 +00:00
Brendan Punsky
e3d1d1d85c
Merge branch 'master' into master
2019-03-18 17:22:57 -04:00
Brendan Punsky
b6ea7b7418
Fix temp allocation on linux
2019-03-18 17:19:21 -04:00
Brendan Punsky
7426f3b092
Fix null termination detection, win32 namespacing
2019-03-18 17:11:17 -04:00
Brendan Punsky
299c299dff
Add linux support
2019-03-18 17:07:36 -04:00
Jeroen van Rijn
290c111206
Merge pull request #355 from mattt-b/master
...
Replace calls to deprecated string functions on linux
2019-03-18 15:27:07 +01:00
matt
314d5a778e
Replace calls to deprecated string functions on linux
2019-03-18 07:13:52 -07:00
Jeroen van Rijn
dc706d8a6b
Vet CEL
2019-03-17 23:27:13 +01:00
gingerBill
a6fb2dd587
Fix Erroneous redeclaration error with using import #354
2019-03-17 20:43:54 +00:00
gingerBill
4e93b70f8a
Fix bit_field scoping bug
2019-03-17 14:48:32 +00:00
gingerBill
1eaa47ebae
Fix using import behaviour - #352
2019-03-17 13:03:39 +00:00
gingerBill
3a31444656
Minor changes to fmt of auto deferencing
2019-03-16 11:00:37 +00:00
gingerBill
f7efaf2ba2
fmt.printf support for pointer to container (one level deep)
2019-03-16 00:10:57 +00:00
gingerBill
14c6f2f258
Add extra pointer printing options to fmt.printf
2019-03-15 23:49:47 +00:00
gingerBill
231f3cc15a
%h support in fmt.printf for hexadecimal floats
2019-03-15 23:22:05 +00:00
gingerBill
332e598357
%e and %g support in fmt.printf
2019-03-15 23:13:06 +00:00
gingerBill
716373836c
Disallow attributes on alias declarations
2019-03-15 19:01:36 +00:00
gingerBill
fdb60b2d51
Improve package strings
2019-03-15 18:30:39 +00:00
gingerBill
885c5dc8b7
Fix issue with deferred_* attributes
2019-03-15 16:39:49 +00:00
gingerBill
394baa9ddd
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-03-15 15:41:15 +00:00
gingerBill
3d86fc2f2f
Minor adjustments
2019-03-15 15:41:06 +00:00
Jeroen van Rijn
61b07335d8
Fix build error on !Windows.
2019-03-15 07:37:20 +01:00
gingerBill
712744ef36
Fix ir_copy_value_to_ptr usage in ir_emit_call #350
2019-03-14 23:41:48 +00:00
gingerBill
dbcd49acfc
Add -pdb-name for custom names of PDBs
2019-03-14 23:26:32 +00:00
gingerBill
291bf0c143
Fix #raw_union bug caused by typo #349
2019-03-14 23:25:55 +00:00
Brendan Punsky
e398c074db
Fix typo
2019-03-13 18:37:01 -04:00
Brendan Punsky
eadb66c9ef
Merge branch 'master' into master
2019-03-13 16:45:46 -04:00
Brendan Punsky
9d7e1c17cc
Update kernel32.odin
...
Add Win32 path functions
2019-03-13 16:44:11 -04:00
Brendan Punsky
775b544326
Update path_windows.odin
...
Updated `long`, `short`, `full`, `current` to be cleaner, use `win32` for platform procs, and `strings.trim_null` to clean resulting strings
2019-03-13 16:40:26 -04:00
Brendan Punsky
da26e14959
Update path.odin
...
Fix allocator usage for `rel_current` and `rel_between`
2019-03-13 16:38:02 -04:00
gingerBill
bdab5e00da
Minor code clean up
2019-03-11 19:52:40 +00:00
gingerBill
e781056df1
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-03-11 09:32:24 +00:00
gingerBill
b08d944c33
Fix typo in demo.odin
2019-03-11 09:32:15 +00:00
Jeroen van Rijn
4f24f1172e
Stylistic improvements to new comdlg helpers.
2019-03-09 13:48:48 +01:00
Jeroen van Rijn
4446a1431a
Merge pull request #348 from Kelimion/master
...
Add win32.get_cwd for current working directory and convenience functions for open + save dialogs.
2019-03-09 12:51:14 +01:00
Jeroen van Rijn
090937f8af
Add convenience functions for open + save dialogs.
2019-03-09 12:45:17 +01:00
Jeroen van Rijn
d852b0c948
Add win32.get_cwd to return the current working directory
2019-03-09 11:08:50 +01:00
gingerBill
007a7989b8
Add implicit selector expression examples to demo.odin
2019-03-06 20:06:37 +00:00
gingerBill
5c04800831
Add type inference to index expressions for maps
2019-03-06 20:01:46 +00:00
gingerBill
c634d4a96d
Using implicit selector expressions in the core library
2019-03-06 19:13:50 +00:00
gingerBill
c67ea97845
Add implicit selector expressions for in/notin
2019-03-06 19:08:37 +00:00
gingerBill
15d3f4c190
Allow implicit selector expressions in switch statements
2019-03-06 16:23:50 +00:00
gingerBill
1b3ec66fa2
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-03-06 16:19:55 +00:00
gingerBill
ad3b6ab718
Implicit Selector Expressions: .A
2019-03-06 16:19:47 +00:00
Jeroen van Rijn
8c618225bf
Merge pull request #347 from Kelimion/master
...
Fix typo in `cel` tokeniser.
2019-03-04 13:46:51 +01:00
Jeroen van Rijn
1f5ab0b5f1
Fix typo in cel tokeniser.
2019-03-04 13:41:47 +01:00
gingerBill
1652d5033b
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-03-03 12:09:06 +00:00
gingerBill
9b4b20e8b1
package dynlib
2019-03-03 12:08:26 +00:00
Jeroen van Rijn
8fb8b5ed7e
Merge pull request #346 from Kelimion/fix-issue-345
...
Fix #345 : panic when using enum as map key
2019-03-03 13:00:00 +01:00
Jeroen van Rijn
7bd86bb3ec
well, that was a stupid copy/paste bug
2019-03-02 13:24:11 +01:00
Jeroen van Rijn
b6d6eb6ae2
Fix #345 : Panic when using enum as map key
...
Also add a little map demo.
2019-03-02 13:21:01 +01:00
Jeroen van Rijn
a126d2ba16
Merge remote-tracking branch 'upstream/master' into fix-issue-345
2019-03-02 12:31:45 +01:00
Jeroen van Rijn
6faab8e47a
Fix #345 : panic when using enum as map key
2019-02-26 13:51:56 +01:00
gingerBill
76a6757ee9
Add os.file_size_from_path
2019-02-25 18:03:44 +00:00
gingerBill
0c8746ada6
Add support for custom keywords in core:odin/* packages
2019-02-25 12:41:43 +00:00
gingerBill
a0c81c79ad
Fix bugs: Array Literals with constant elements; IR printing of raw procedure types
2019-02-24 10:30:58 +00:00
gingerBill
cdfaa643cc
Reimplement -collection; remove static from Odin tokenizer/parser in core library
2019-02-23 23:30:03 +00:00
gingerBill
989cc893ef
FIX TYPO!
2019-02-23 23:25:46 +00:00
gingerBill
2878cd8241
New build flag: -define:foo=123
2019-02-23 23:21:27 +00:00
gingerBill
a9ab90bd24
Make static an attribute rather than a keyword prefix
2019-02-23 22:17:27 +00:00
gingerBill
e551d2b25e
Replace foreign export {} with @export
2019-02-23 21:39:47 +00:00
gingerBill
38ae2e9efa
Allow basic arithmetic operations for vectors
2019-02-23 18:05:41 +00:00
gingerBill
684945ea57
Fix calling conventions for simd vector types
2019-02-23 17:45:30 +00:00
gingerBill
4c51384ad6
intrinsics.vector type (Experimental)
2019-02-23 16:44:16 +00:00
gingerBill
64bd884d94
Add "none" calling convention
2019-02-23 14:42:44 +00:00
gingerBill
a07232ea63
Fix missing break in switch statement for deferred_in in the IR
2019-02-23 14:11:48 +00:00
gingerBill
79b585ada8
Add minor additions to mem, sync, and sys/win32
2019-02-21 21:45:33 +00:00
gingerBill
f917935f9d
Disallow compound literals for struct #raw_union (fix)
2019-02-19 10:04:36 +00:00
Brendan Punsky
222e5c8ae9
Delete path_linux.odin
...
Delete useless path_linux.odin stub
2019-02-14 20:25:13 -05:00
gingerBill
dbd0638853
Fix untyped ternary string IR conversion
2019-02-14 11:11:05 +00:00
Brendan Punsky
772dc47f55
Oops, I forgot to stage core/strings/strings.odin
2019-02-12 17:30:46 -05:00
Brendan Punsky
0777351482
Added path lib "core:path", as well as single- and multiple-splitset string split proc variants to "core:string"
2019-02-12 17:27:54 -05:00
gingerBill
53d8216311
Reorganize package mem
2019-02-10 22:15:34 +00:00
gingerBill
6a0c3d5599
Add default_parser procedure to package odin_parser
2019-02-10 22:05:18 +00:00
gingerBill
9647fb2a4b
Add Stack and Small_Stack allocators to package mem
2019-02-10 22:04:58 +00:00
gingerBill
42f936742e
Add extra dead code elimination
2019-02-10 21:23:02 +00:00
gingerBill
e2d4667639
Fix data layout issue on Windows; Remove unused loads in SSA
2019-02-10 20:51:19 +00:00
gingerBill
b74d828af7
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-02-09 22:34:37 +00:00
gingerBill
e16409f88a
Fix package odin_parser bugs
2019-02-09 22:34:27 +00:00
thebirk
6571f07c7e
Fixed typo in copy_sign_f64.
2019-02-08 12:58:30 +01:00
gingerBill
4b7a09b92e
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-02-06 22:45:04 +00:00
gingerBill
26fb1fa18c
Fix lead_comment issue is package odin_parser
2019-02-06 22:44:54 +00:00
Mikkel Hjortshøj
24c43d33bb
Export LLVM path on macOS (CI)
2019-02-06 19:08:32 +01:00
Mikkel Hjortshøj
7343f0c7ff
Fix recursive variable in makefile on macOS
2019-02-06 18:56:02 +01:00
Mikkel Hjortshøj
3c8cda514b
Fix makefile for macOS
2019-02-06 18:49:21 +01:00
gingerBill
bc954df80e
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-02-06 16:07:32 +00:00
gingerBill
e1ae359a77
Replace redundant code
2019-02-06 16:06:48 +00:00
Mikkel Hjortshoej
c9602953aa
last fixes to bats and README
2019-02-06 15:53:40 +01:00
Mikkel Hjortshoej
0185b43c2f
Create CI files
2019-02-06 15:53:40 +01:00
gingerBill
bc5c37ebb1
Extra checks to reduce mem.zero calls
2019-02-06 13:47:52 +00:00
gingerBill
0133dd9034
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-02-06 13:33:52 +00:00
gingerBill
a194aa5a9e
Minimize mem.zero use
2019-02-06 13:33:31 +00:00
gingerBill
766f3e259f
Merge pull request #334 from odin-lang/ThisDrunkDane-patch-1
...
Add issue templates
2019-02-05 22:21:27 +00:00
Mikkel Hjortshøj
6092cc0497
Add issue templates
2019-02-05 21:19:56 +01:00
gingerBill
fa5d00521b
Remove inline from many of the mem.* procedures
2019-02-04 12:15:51 +00:00
gingerBill
d1e29400d3
Merge pull request #331 from thebirk/fix-out-linux
...
Fixed macOS not compiling
2019-02-02 23:14:26 +00:00
gingerBill
2dc7aaec82
Merge pull request #332 from thebirk/fix-big-string-printing
...
Fix #322 , now correctly printing big strings.
2019-02-02 23:14:08 +00:00
thebirk
b7242f9d4b
Fix #322 , now correctly printing big strings.
2019-02-02 00:11:41 +01:00
thebirk
7ea7fc10db
Fixed macOS not compiling.
2019-02-01 15:33:27 +01:00
gingerBill
141da818ba
Merge pull request #330 from thebirk/fix-out-linux
...
Fixed -out dropping extension on linux. Issue #305
2019-02-01 14:25:36 +00:00
thebirk
dc3d62d437
Fixed -out dropping extension on linux.
2019-02-01 15:12:20 +01:00
gingerBill
dee28d998f
Allow for @indent for attributes that don't require any parameters; Add -ignore-unknown-attributes
2019-01-30 14:24:14 +00:00
gingerBill
96ef6aa7f3
Merge pull request #327 from Tetralux/tet/pass-args-to-run
...
Provide a way to pass arguments to compiled executable during 'odin run program.odin'.
2019-01-29 22:12:01 +00:00
gingerBill
238a40321a
inline certain mem.* procedures
2019-01-29 22:08:48 +00:00
gingerBill
1aea59a0fc
Fix typo in parser.cpp
2019-01-29 21:53:36 +00:00
gingerBill
c6dee52abe
Finish up package odin_parser
2019-01-29 21:53:16 +00:00
Tetralux
1e180d611d
Allow 'odin run program.odin -- <args-for-program.exe>
2019-01-28 17:58:48 +00:00
gingerBill
e452765d28
Patch minor IR bug
2019-01-28 12:13:37 +00:00
gingerBill
2b80683fc7
Vet odin/* packages
2019-01-27 19:01:33 +00:00
gingerBill
5f840ea2fc
package odin_parser
2019-01-26 20:17:03 +00:00
gingerBill
c72427fd1e
package odin_parser
2019-01-26 20:14:06 +00:00
gingerBill
44b959648c
Pass any and union "by pointer" to make the tag a pointer
2019-01-26 20:13:43 +00:00
gingerBill
a96bf08266
Fix tokenizer.odin bugs
2019-01-24 21:40:09 +00:00
gingerBill
ebaf48c07d
Fix subtyping rules for heavily nested using in structs
2019-01-24 21:17:30 +00:00
gingerBill
c197a27185
Merge branch 'master' of https://github.com/odin-lang/Odin
2019-01-24 15:53:27 +00:00
gingerBill
5ccccf8816
Add package odin/token; package odin/tokenizer
2019-01-24 15:53:17 +00:00
gingerBill
345e790f52
Remove dead code
2019-01-24 15:52:51 +00:00
gingerBill
fd529b97be
Merge pull request #324 from Tetralux/tet/ptr-endianness
...
Fix assert when printing IR of pointer with endianness
2019-01-18 14:24:19 +00:00
Jeroen van Rijn
be1a3488a4
Initial support for GetVersionExA
2019-01-18 13:37:40 +01:00
Tetralux
46c610d6e5
Fix printing IR of integer as a pointer with endianness.
...
When converting an integer value into a pointer and writing out the IR
for it in 'ir_print_exact_value', 'is_type_integer_endian_{little,big}'
did not correct handle being asked about pointer types.
They now reply with whether the endianness of 'uintptr' matches the
endianness being asked about.
2019-01-16 17:22:25 +00:00
gingerBill
db2eff6847
Fix typo in json/parser.odin
2019-01-14 20:44:27 +00:00
gingerBill
e047d9eb5e
Update package json parser to store the end position on the values
2019-01-14 15:51:52 +00:00
gingerBill
3113e8c892
Minimize buffer size for write_u64 and write_i64
2019-01-13 21:40:18 +00:00
gingerBill
19e37c852e
Change deferred_* scoping behaviour for if
2019-01-13 20:51:26 +00:00
gingerBill
8fc24fd6f2
Replace deferred with deferred_none, deferred_in, deferred_out
2019-01-13 19:34:08 +00:00
gingerBill
493f11521d
Check for _ for import names too
2019-01-13 17:44:38 +00:00
gingerBill
3363e2c199
Change import name determination rules
...
Use custom name if given, then directory name, then the package name
2019-01-13 11:54:25 +00:00
gingerBill
cf94d1735d
Add extra explicit entity usage
2019-01-13 11:24:03 +00:00
gingerBill
d9245a6af3
Update Makefile to reflect build.sh
2019-01-13 11:19:01 +00:00
gingerBill
d453b9a5b1
Fix checking _ constant declarations with a procedure
2019-01-10 11:22:52 +00:00
gingerBill
5af20aa467
Make encoding/json use []byte rather than string
2019-01-07 23:08:38 +00:00
gingerBill
cd2c4c02e1
Merge pull request #320 from thebirk/add-diff-to-time
...
Added diff() to core:time.
2019-01-07 15:52:33 +00:00
gingerBill
6c21e99832
json.marshal
2019-01-06 23:32:50 +00:00
gingerBill
08598b9425
Support NaN and Infinity for JSON5
2019-01-06 22:25:02 +00:00
gingerBill
6295f6747f
strings.write_quoted_string
2019-01-06 22:16:14 +00:00
gingerBill
64f84ef9a3
fmt.printf("%q", str); (quotes strings)
2019-01-06 22:11:45 +00:00
gingerBill
d1b9f3ac74
package json; JSON5 support
2019-01-06 21:48:13 +00:00
gingerBill
d732a51587
Add json.is_valid file
2019-01-06 20:44:52 +00:00
gingerBill
9487f8c92e
Add json.is_valid
2019-01-06 20:44:39 +00:00
gingerBill
c5def60224
Begin work on package json
2019-01-06 20:37:12 +00:00
thebirk
ca2220214e
Added diff() to core:time.
2019-01-06 19:40:57 +01:00
gingerBill
6e6a053823
Add strings.destroy_builder
2019-01-06 17:59:42 +00:00
gingerBill
686e0ef3d1
Merge pull request #319 from mattt-b/master
...
Vet time_linux
2019-01-06 15:22:21 +00:00
gingerBill
594238a86c
Reorganize fmt and strings; Replace fmt.String_Buffer with strings.Builder
2019-01-06 14:41:42 +00:00
matt
c60766f8e6
Vet time_linux
2019-01-06 05:25:27 -07:00
gingerBill
5acea1bceb
Source_Code_Location.hash; %#v printing for Source_Code_Location; allow typeid for map keys
2019-01-05 15:56:47 +00:00
gingerBill
aac643f476
Remove debug printing text
2019-01-05 11:30:13 +00:00
gingerBill
37edbfeb74
Add missing types for min dep
2019-01-05 11:18:43 +00:00
gingerBill
51da3e469b
Add win32 cursor stuff
2019-01-05 11:16:14 +00:00
gingerBill
9156af2bab
Add missing types to minimum dependency checking
2019-01-05 11:15:23 +00:00
gingerBill
3a18ae3978
Remove alignment experiment
2019-01-04 17:39:20 +00:00
gingerBill
f294c1adee
ir_print: Ignore load's align
...
(experimental idea as it might not be needed)
2019-01-04 10:39:39 +00:00
gingerBill
bb93a8b131
Fix TODO ParameterValue_Location
2019-01-04 10:19:39 +00:00
gingerBill
5bfe5ad82e
Remove unused directive
2019-01-03 12:21:11 +00:00
gingerBill
dd28fe6e82
Update CEL
2019-01-03 00:12:24 +00:00
gingerBill
cda0f4d8f3
Fix using struct cycle check
2019-01-02 23:55:21 +00:00
gingerBill
0546b5c218
Add sys/win32/comdlg32.odin
2019-01-02 20:51:48 +00:00
gingerBill
61a3e50d1b
Reorganize sys/win32
2019-01-02 19:17:27 +00:00
gingerBill
75aeb02c39
Merge pull request #315 from thebirk/fix-bud-for-lazy-bill
...
Fixed bug for Bill because he is a lazy boi.
2019-01-02 15:20:35 +00:00
thebirk
a32f024d94
Fixed bug for Bill because he is a lazy boi.
2019-01-02 16:18:55 +01:00
gingerBill
37d993c417
Merge pull request #314 from thebirk/int_from_arg_fix
...
Fixed int_from_arg not consuming argument.
2019-01-02 15:01:45 +00:00
thebirk
bcbb59dc11
Fixed int_from_arg not consuming argument.
2019-01-02 15:56:35 +01:00
gingerBill
c1ec45dc0a
Update sys/win32; Add Menu stuff
2019-01-01 20:18:48 +00:00
gingerBill
0778d18bc7
Fix using with bit_field
2019-01-01 15:11:54 +00:00
gingerBill
d7e9b8d374
Update README.md
2019-01-01 14:06:15 +00:00
gingerBill
f647187e53
Fix defer on branching with new scoping rules
2019-01-01 11:59:09 +00:00
gingerBill
9dabbc2c95
Add entity use when using is applied to a variable declaration
2018-12-31 16:43:58 +00:00
gingerBill
4167168c63
Fix vetting
2018-12-31 16:37:27 +00:00
gingerBill
aa156e4bfc
Vet demo.odin
2018-12-31 15:51:53 +00:00
gingerBill
1c9656aedb
Vet core library
2018-12-31 15:50:49 +00:00
gingerBill
8b2f902f3d
Fix parsing issue with stray } and case at the file scope
2018-12-31 15:20:47 +00:00
gingerBill
bbece7e910
Remove some unneeded zero emits
2018-12-31 13:00:55 +00:00
gingerBill
e5f188241c
Move error handling for bounds checking into separate procedures (eliminate caching issues)
2018-12-31 11:41:56 +00:00
gingerBill
6d3203c11b
Remove useless assertion in find_import_path
2018-12-30 15:40:45 +00:00
gingerBill
5ba3d90893
Fix os_windows.odin bugs
2018-12-30 14:43:39 +00:00
gingerBill
894f267bbf
Merge pull request #311 from mattt-b/master
...
Fix bugs and inconsistencies with linux versions of os package
2018-12-30 09:50:00 +00:00
matt
e084799b31
Fix bugs and inconsistencies with linux versions of os package
2018-12-30 02:06:41 -07:00
gingerBill
3ba3421f5f
Fix static procedure name mangling
2018-12-29 19:57:25 +00:00
gingerBill
2bbad5903f
Add static to fix_advance_to_next_stmt
2018-12-28 13:32:59 +00:00
gingerBill
a240a3d146
static variable declarations (Experimental)
2018-12-28 13:31:06 +00:00
gingerBill
775f1e2c95
Fix default parameter assignment checking
2018-12-28 11:20:31 +00:00
gingerBill
7c982b6e10
min & max for types
2018-12-27 12:12:14 +00:00
gingerBill
cc14180e9d
Update README.md
2018-12-27 10:51:15 +00:00
gingerBill
b2d40680c8
Fix join and concatenate to use the supplied allocator
2018-12-26 19:38:05 +00:00
gingerBill
8662df2b7f
Update package strings
2018-12-26 19:33:56 +00:00
gingerBill
6abbc9f1b5
Merge pull request #310 from mattt-b/master
...
Fix os.open on linux/osx
2018-12-26 17:37:20 +00:00
gingerBill
66a9fde12c
Remove #[...] attribute syntax.
...
(Not really worth the change)
2018-12-26 16:23:25 +00:00
gingerBill
eb5af2876a
Support #[...] as an alternative attribute syntax
...
(Experimentation between `@()` and `#[]`)
2018-12-26 12:19:12 +00:00
gingerBill
1f2fdddc6d
Support #! comments
2018-12-26 12:00:16 +00:00
matt
0bcf53b513
Fix os.open on linux/osx
2018-12-26 04:31:12 -07:00
gingerBill
956dd26aa0
Fix race condition; Change for in addressing mode
2018-12-24 16:11:24 +00:00
gingerBill
b504d6e12a
notin operator
2018-12-21 11:34:15 +00:00
gingerBill
b4e83a430a
Add card procedure to measure cardinality of a bit_set
2018-12-21 10:31:10 +00:00
gingerBill
e3d7e6f76a
Fix typo in modf_f32
2018-12-20 18:11:27 +00:00
gingerBill
5c3dc30dc0
More correct floor and ceil procedures.
2018-12-20 10:54:56 +00:00
gingerBill
c508e46ed9
Merge pull request #308 from hasenj/master
...
fix missing declaration in osx
2018-12-18 13:05:44 +00:00
Hasen Judy
9d85f236b8
fix missing declaration in osx
2018-12-18 21:47:23 +09:00
gingerBill
3a05a2e562
Fix not for bit sets
2018-12-17 13:12:48 +00:00
gingerBill
68384a452f
Fix scoping determination for IR
2018-12-17 11:36:15 +00:00
gingerBill
34b6486361
Fix constant out of bounds bug
2018-12-15 22:30:52 +00:00
gingerBill
1ce90b2166
Remove weird bit_set shorthand; Add extra type hinting
2018-12-15 21:46:27 +00:00
gingerBill
9d6666f333
Disallow casting between cstring and []u8
2018-12-14 21:58:12 +00:00
gingerBill
d29335ecec
Add deferred procedure associations to demo.odin
2018-12-14 21:17:32 +00:00
gingerBill
95873e66ab
deferred procedure attribute
2018-12-14 21:05:02 +00:00
gingerBill
b7eebe5d00
Fix polymorphic record types with constant value parameters
2018-12-14 18:36:06 +00:00
gingerBill
57d4333ed3
Fix polymorphic procedure generation with debug information
2018-12-14 15:45:14 +00:00
gingerBill
26f11f12ab
Fix polymorphic type parameter argument count checking #298
2018-12-14 15:05:26 +00:00
gingerBill
0b6fc19fb0
Allow polymorphic cast on fields with _ #302
2018-12-14 14:57:04 +00:00
gingerBill
f2dae7023f
Fix polymorphic cast with pointers #303
2018-12-14 14:53:31 +00:00
gingerBill
f36775ffd8
Add endian specific integers to ir_debug_encoding_for_basic #307
2018-12-14 14:46:26 +00:00
gingerBill
8702a8a477
Merge pull request #299 from CaptainKraft/master
...
Add the missing INVALID_HANDLE so that the demo will build and run on Linux
2018-12-14 14:44:34 +00:00
gingerBill
47e31c3de8
Remove return value from append
2018-12-14 14:40:27 +00:00
gingerBill
b1d0d82254
Fix #raw_union bug #306
2018-12-14 14:38:38 +00:00
gingerBill
542e524a87
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-12-14 14:35:48 +00:00
gingerBill
b54c35639b
Fix issue with mixture of named and unnamed parameters for a struct literal
2018-12-14 14:35:23 +00:00
CaptainKraft
cfcb0514bf
Add the missing INVALID_HANDLE so that the demo will build and run on Linux.
2018-12-09 20:52:03 -06:00
Mikkel Hjortshoej
1a6b7f9945
set time_linux IS_SUPPORTED to true
2018-12-08 21:12:01 +01:00
Mikkel Hjortshoej
03957cee64
Merge branch 'log_pr'
2018-12-08 21:08:27 +01:00
Jeroen van Rijn
1584260886
Add Linux support for core:time
...
In addition to sleep() and now(), it also defines nanosleep(), boot_time() and seconds_since_boot()
2018-12-08 20:39:33 +01:00
Mikkel Hjortshoej
a565d842da
Copy instead of loop
2018-12-08 16:12:20 +01:00
Mikkel Hjortshoej
411d1450b0
Add timestamp support using the new core:time
2018-12-08 16:02:33 +01:00
Mikkel Hjortshoej
984fa1c672
remove ident from logger struct
2018-12-08 15:32:53 +01:00
Mikkel Hjortshoej
12c810f85d
Add a file-, console- and multi-logger
2018-12-08 15:32:53 +01:00
gingerBill
3bf01c8498
package time (windows only at the moment)
2018-12-08 14:32:00 +00:00
gingerBill
d05837ab6d
Labels for block and if statements (break only)
2018-12-08 14:12:52 +00:00
gingerBill
4369a1714e
Fix automatic subtype casting bug
2018-12-08 13:31:25 +00:00
gingerBill
13f084a219
Fix foreign export #294
2018-12-08 11:45:08 +00:00
gingerBill
4205f0f0b1
Remove dummy testing code
2018-12-08 11:26:13 +00:00
gingerBill
bd62bceca6
Fix BigInt normalization issue #293
2018-12-08 11:25:35 +00:00
gingerBill
ff6ec860b3
Fix typo
2018-12-08 11:06:32 +00:00
gingerBill
2bf60d3337
Merge pull request #291 from dimenus/master
...
fixed typo in 'GetMonitorInfoA' & added additional window styles
2018-12-08 11:05:59 +00:00
dimenus
f288614eaf
style fixes & PR changes
2018-12-06 11:44:59 -06:00
dimenus
9761d54c24
added win32 vk codes
2018-12-05 14:37:47 -06:00
dimenus
3794914478
fixed typo in 'GetMonitorInfoA' & added additional window styles
2018-12-05 11:13:43 -06:00
gingerBill
3e11b4fe1e
Reorganize decl attribute code
2018-12-04 21:02:12 +00:00
gingerBill
50c3f4d74e
Add package encoding/cel
2018-12-03 20:26:10 +00:00
gingerBill
304c7594cd
Ignore ir_emit_byte_swap for constant values
2018-12-02 20:59:08 +00:00
gingerBill
d02b050850
Fix typos for OS X debug builds
2018-12-02 19:39:21 +00:00
gingerBill
17b0e3a1a1
Fix bit sets with custom endian underlying type
2018-12-02 19:27:42 +00:00
gingerBill
28583bfff8
Change procedure group syntax from proc[] to proc{}; deprecate proc[] (raises warning currently)
2018-12-02 18:01:03 +00:00
gingerBill
b2df48dadb
Fix typo for little endian integers
2018-12-02 16:14:57 +00:00
gingerBill
04a853c6fe
Fix double declarations of bswaps in LLVM IR
2018-12-02 16:02:00 +00:00
gingerBill
84f0c975b5
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-12-02 15:54:04 +00:00
gingerBill
00161023cd
Endian specific integers: e.g. i32 i32le i32be
2018-12-02 15:53:52 +00:00
gingerBill
7f063eb5e7
Add new demonstration for Packages, Bit Sets, and cstring
2018-12-02 13:18:55 +00:00
gingerBill
784c48c9e3
Redefine how union tag size is calculated to match alignment of the union
2018-11-29 23:00:16 +00:00
gingerBill
008d8f25c8
Fix assertion on union assignment in compound literal
2018-11-29 22:50:08 +00:00
gingerBill
7ffcf34dca
Modify how custom alignment is printed for LLVM IR
2018-11-29 22:47:08 +00:00
gingerBill
f3a4904f21
Hack: union compound literal fix
2018-11-29 22:23:30 +00:00
gingerBill
3aec78b1d4
Lock on possible race condition in parser
2018-11-29 20:27:48 +00:00
gingerBill
a3e6e8d304
Allow single field struct #raw_union
2018-11-29 19:46:45 +00:00
gingerBill
a747c03f29
Fix #complete switch on pointers to unions #286
2018-11-29 18:36:45 +00:00
gingerBill
2301ae157c
Fix recursive loop bug for is_type_polymorphic
2018-11-28 16:47:20 +00:00
gingerBill
d3c7d6d485
Fix #284
2018-11-26 10:55:15 +00:00
gingerBill
9b063ad9a3
Fix poly proc determination by cloning the signature node
2018-11-25 17:57:49 +00:00
gingerBill
c2f9bf489e
Fix debug information for entities without an associated identifier
2018-11-25 17:31:53 +00:00
gingerBill
e496b95881
Subset and superset operators for bit_set: < <= > >=
2018-11-25 16:19:17 +00:00
gingerBill
444f4f446a
-vet flag to do basic vetting of code
2018-11-25 14:14:58 +00:00
gingerBill
41ad896f3f
Update README.md
2018-11-25 11:21:11 +00:00
gingerBill
0a4b88f9a6
Fix Issue with referencing a polymorphic struct in another package referencing itself #283
2018-11-25 10:35:49 +00:00
gingerBill
4c2f03b1f2
Fix compile time bounds check test
2018-11-23 10:38:17 +00:00
gingerBill
52dcaeb1e9
Fix transmute with cstring and integers
2018-11-22 20:59:24 +00:00
gingerBill
f96fbc94c8
v0.9.0 Release
2018-11-22 10:25:01 +00:00
gingerBill
bb62bed981
Remove assert that should have never been there
2018-11-22 09:53:08 +00:00
gingerBill
bc6b8c5332
Remove dead code
2018-11-22 09:52:25 +00:00
gingerBill
6ab6447791
Fix is_type_polymorphic infinite recursion bug
2018-11-22 09:41:08 +00:00
gingerBill
f61c4715c1
Allow opaque to be polymorphic
2018-11-17 10:08:06 +00:00
gingerBill
3061bc8478
Fix error with polymorphic structs #279
2018-11-17 10:05:35 +00:00
gingerBill
d035d48c8e
Fix issue #280
2018-11-17 09:45:52 +00:00
gingerBill
b55b1ffe14
opaque keyword and type
2018-11-11 17:08:30 +00:00
gingerBill
620d5d34f7
Fix issue with complication of -debug that is caused sometimes due to lambda procedures.
2018-11-11 11:44:55 +00:00
gingerBill
f9654b6c36
Fix package usage with when on import #278
2018-11-07 16:11:14 +00:00
gingerBill
6659ceb551
Allow comparisons of cstring; Add resize
2018-10-31 10:04:30 +00:00
gingerBill
5aa591d884
Fix debug info issue
2018-10-29 22:16:43 +00:00
gingerBill
efe91b1f91
Disable debug info for bit fields
2018-10-29 18:10:44 +00:00
gingerBill
7c99884afb
Fix CompositeType for zero length arrays
2018-10-29 12:52:41 +00:00
gingerBill
dfd7a194ed
Fix big int shifts of 0
2018-10-28 09:32:59 +00:00
gingerBill
2ddb27869b
Built-in procedure #defined
2018-10-27 18:44:28 +01:00
gingerBill
5c608b01ba
Place optimization level flag in condition again; -memcpyopt -die only in non-debug builds
2018-10-24 10:19:01 +01:00
gingerBill
2bd85e764e
Merge pull request #260 from lachsinc/master
...
[WIP] Provide llvm with more debug info (for Visual Studio debugger support)
2018-10-24 09:40:05 +01:00
gingerBill
822e4894f2
Minor logic change for reserved package names
2018-10-20 21:19:40 +01:00
gingerBill
ce2e23849e
Fix context initialization
2018-10-20 16:34:56 +01:00
gingerBill
099995e7dd
Add basics for context-based Logger
2018-10-20 13:02:30 +01:00
gingerBill
72f4186b21
Fix atomic.odin
2018-10-20 12:55:48 +01:00
gingerBill
3742d9e7e9
Move atomic intrinsics to the new built-in package intrinsics
2018-10-20 10:44:02 +01:00
gingerBill
4ac1218bf8
sync atomics "wrapper" procedures
2018-10-17 21:43:05 +01:00
gingerBill
b171cc41e6
__atomic_* "intrinsics" using LLVM instructions
2018-10-17 21:16:01 +01:00
gingerBill
efc3a9e69d
Merge pull request #274 from hazeycode/fix/245
...
Use name of source file as output_name
2018-10-17 15:29:56 +01:00
gingerBill
307c58d908
Fix compilation error #272
2018-10-17 15:27:36 +01:00
Chris Heyes
ae02e9c34a
Use name of source file as output_name
2018-10-16 23:56:19 +01:00
Chris Heyes
139fa55c27
Merge pull request #1 from hazeycode/fix/272
...
Fix syntax error in core/os/os_linux.odin
2018-10-16 19:30:02 +01:00
Chris Heyes
562bb6e4c4
Fix syntax error in core/os/os_linux.odin
2018-10-15 21:24:42 +01:00
gingerBill
ef2931d4a5
Remove AstTypeType
2018-10-13 14:07:00 +01:00
gingerBill
2d4aa2be6d
Remove type as being a keyword
2018-10-13 14:04:34 +01:00
gingerBill
42b42db675
Add unimplemented and unreachable procedures; make os.exit a diverging procedure
2018-10-13 13:19:52 +01:00
gingerBill
73e9dbbf8c
switch on typeid with type cases
2018-10-13 11:07:56 +01:00
gingerBill
0971a59493
Update runtime printing code
2018-10-11 18:19:29 +01:00
gingerBill
627c91124a
Merge pull request #271 from Breush/267-bugfix-linux-heap-alloc-zero
...
Fixed heap alloc not allowing empty structs on Linux
2018-10-09 21:49:14 +01:00
Alexis Breust
4eba717281
Fixed heap alloc not allowing empty structs on Linux - Fixes #267
2018-10-09 08:34:48 +02:00
gingerBill
9623e5e032
Merge pull request #270 from Breush/263-bugfix-leading-zeros-count
...
Replaced __builtin_clz by long long version
2018-10-08 09:39:43 +01:00
Alexis Breust
805cc48f03
Replaced __builtin_clz by long long version - Fixes #268
2018-10-08 08:23:50 +02:00
lachsinc
d894fb3708
Cleanup comments.
2018-10-06 09:09:12 +10:00
lachsinc
b6ca913cff
Cleanup hack as all types appear to be handled!..
2018-10-06 08:58:39 +10:00
lachsinc
39db428603
Add complex debug info.
2018-10-05 17:10:58 +10:00
lachsinc
992502f03b
Add debug info for proc ptrs.
2018-10-05 16:49:48 +10:00
lachsinc
edc3a9392a
Cleanup.
2018-10-05 15:03:13 +10:00
lachsinc
f881ebd007
Cleanup unused AllProcs.
2018-10-05 14:51:08 +10:00
lachsinc
11ea03d2e8
Tuple debug info (untested). Generated locals now flow through debug info.
2018-10-05 14:33:39 +10:00
lachsinc
99b4d59f44
Add arg # for proc param locals.
2018-10-05 12:57:06 +10:00
lachsinc
dfeefc5179
Fix dgb.declare using different location to it's associated instructions.
2018-10-05 12:46:53 +10:00
lachsinc
ab46406f4d
Fix debug info for unnamed aggregate types.
2018-10-05 12:27:36 +10:00
lachsinc
48ad147818
Cleanup; Move enums/globals di inside CompileUnit. Minor comment cleanup.
2018-10-04 14:09:17 +10:00
lachsinc
79d49f1955
Lexical block debug info.
2018-10-04 13:43:52 +10:00
lachsinc
1ccc8700e4
bit_set / bit_field debug info.
2018-10-02 10:06:48 +10:00
lachsinc
f38d70a235
Cleanup.
2018-10-01 01:21:15 +10:00
lachsinc
b37b7a0f72
Cleanup.
2018-10-01 01:10:22 +10:00
lachsinc
f8d7f42208
Minor cleanup.
2018-10-01 00:17:42 +10:00
lachsinc
db0756a119
Stepping working. Cleanup.
2018-10-01 00:02:41 +10:00
gingerBill
1a4e25f141
Prefix runtime procedures
2018-09-29 21:09:19 +01:00
lachsinc
79ade6ac7b
Add various debug location stuff.
2018-09-30 04:47:21 +10:00
lachsinc
ecce1d9974
Add debug location stack.
2018-09-30 04:24:24 +10:00
gingerBill
834308d8ce
Fix using import override "bug"
2018-09-29 13:07:46 +01:00
lachsinc
9e73189d63
Tagged union debug info. Aggregate type fixes (unions inside structs etc.).
2018-09-27 21:50:57 +10:00
lachsinc
11bddf270c
Cleanup debug info 'name' stuff.
2018-09-27 18:34:59 +10:00
lachsinc
0818a272e2
Cleanup hardcoded bytes to bits
2018-09-27 17:55:37 +10:00
lachsinc
9750b1162a
Cleanup.
2018-09-27 01:34:15 +10:00
lachsinc
3106aaaa3d
Fix pointers to all things debug info. Cleanup param order. Make scope/file optional for relevent types.
2018-09-27 00:02:35 +10:00
lachsinc
d31d4c9bd6
(Basic) Map debug info support. Minor slice fix.
2018-09-26 07:51:16 +10:00
lachsinc
6993777d36
Slices. Fix dynamic array data ptr size.
2018-09-26 06:04:33 +10:00
lachsinc
54c044ee09
Add support for any. Fix rawptr debug type.
2018-09-26 05:43:58 +10:00
lachsinc
2e5cecf9e6
Cleanup dynamic array/string bloat.
2018-09-26 04:01:16 +10:00
lachsinc
7acb49eefb
Cleanup comments/todos.
2018-09-26 02:17:05 +10:00
lachsinc
0f6c1f3482
Add debug info for globals. Misc debug info cleanup.
2018-09-26 02:01:03 +10:00
lachsinc
1ee0fe7457
Add DebugInfoArray as separate debug info type. Minor cleanup of various debug infos.
2018-09-25 21:24:15 +10:00
gingerBill
1a18481d8b
Fix context assignment with selector expressions
2018-09-24 12:04:26 +01:00
gingerBill
28c61c0f5d
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-09-24 10:22:33 +01:00
gingerBill
597fb452b1
Minor fixes
2018-09-24 10:22:22 +01:00
lachsinc
5961a63880
Expose dynamic array data/len/cap debug info. Minor cleanup of odin string debug info.
2018-09-19 13:16:56 +10:00
lachsinc
cce5e595e5
String debug info. Minor cleanup of derived / composite debug info output.
2018-09-19 01:52:08 +10:00
lachsinc
e7d72f6848
Static array debug info. Temporary dynamic array debug info (pointer to data, no len/cap info provided yet).
2018-09-18 23:21:44 +10:00
lachsinc
7dcad45e0d
Add proper procedure type support (return types and param proc signature)
2018-09-18 21:28:28 +10:00
lachsinc
3772ea6ae1
Enum debug info support.
2018-09-18 20:12:36 +10:00
lachsinc
2cc2eb1ec0
Fix stepping/jumping between procedures/files.
2018-09-18 18:10:03 +10:00
lachsinc
8a789e33b0
Remove llc/opt hack. XX.bc now contains useful debug info thanks to removal of optimization flags in debug builds.
2018-09-18 14:17:43 +10:00
lachsinc
2f86f8f8e0
Provide llvm ir with more debug info (for Visual Studio debugger support).
2018-09-18 10:50:56 +10:00
gingerBill
02f9a27f46
Merge pull request #264 from lunaticLipid/master
...
Remove reference to the runtime package within itself
2018-09-16 22:26:34 +01:00
Lipid
6cb605a025
Remove reference to the runtime package within itself
2018-09-16 08:19:33 +02:00
gingerBill
9f3e42e4ef
Fix delete_key #262
2018-09-15 11:21:02 +01:00
gingerBill
71d987bd2e
Fix runtime proc names; Change calling convention of context parameter
2018-09-15 10:46:46 +01:00
gingerBill
637899467c
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-09-15 10:14:40 +01:00
gingerBill
5bdb424c6b
context.allocator = a; Remove __ from runtime procs; improve division for complex numbers
2018-09-15 10:14:24 +01:00
gingerBill
c62cfddb9c
Merge pull request #263 from hasenj/master
...
fix macos thread_count value
2018-09-14 17:48:34 +01:00
Hasen Judy
14a4c28f8f
fix macos thread_count value
2018-09-15 01:46:50 +09:00
gingerBill
f1e1814ff9
Syntactic sugar for anonymous enum within a bit set
2018-09-11 12:10:32 +01:00
gingerBill
b468cf141b
Fix are_types_identical for bit_set
2018-09-11 11:14:46 +01:00
gingerBill
787ea1feba
Fix polymorphic constant parameters for procedures
2018-09-11 11:09:42 +01:00
gingerBill
91477e9e69
Allow for optional ok for return
2018-09-11 10:55:30 +01:00
gingerBill
cfd0dfd2bf
Remove assertion from constant parameter
2018-09-10 21:56:16 +01:00
gingerBill
46b1868185
Constant polymorphic names
2018-09-10 14:21:19 +01:00
gingerBill
4c4de1d6c4
Fix cloning of auto_cast Ast
2018-09-10 08:50:20 +01:00
gingerBill
c8b30de771
Update compiler flags for build.bat
2018-09-09 15:06:04 +01:00
gingerBill
4f3837f0e6
Procedure inlining on call site
2018-09-09 14:46:28 +01:00
gingerBill
76848e8807
Disallow inline for recursive procedures
2018-09-09 13:58:23 +01:00
gingerBill
12902821d6
Make diverging procedure types different from ones without a return type
2018-09-09 13:48:33 +01:00
gingerBill
f5549f6bde
Make panic a diverging procedure
2018-09-08 12:17:16 +01:00
gingerBill
3825eab989
Diverging procedures proc() -> ! (no return)
2018-09-08 12:16:03 +01:00
gingerBill
3cd6ae311d
Parametric polymorphic union type
2018-09-08 12:02:25 +01:00
gingerBill
26cfc0257d
Fix array_ordered_remove typo
2018-09-08 10:44:18 +01:00
Ginger Bill
1d31eabb6e
Fix minor parsing issue for polymorphic identifiers
2018-09-04 13:47:24 +01:00
Joshua Mark Manton
8cd2797b2e
Fixed core library bugs after recent changes. ( #257 )
...
* Fix `delete_map` calling `delete_dynamic_array` instead of `delete_slice for its hashes.
* Removed print statements from `__dynamic_map_rehash`
2018-09-02 22:18:32 +02:00
gingerBill
11f5236434
Add $T: typeid/[]$E; Deprecate T: type/[]$E
...
`type` as a keyword will soon be removed in favour of polymorphic names (identifiers) in procedures
2018-09-02 16:33:54 +01:00
gingerBill
220485a2d2
typeid as keyword (ready to implement polymorphic name parameters)
2018-09-02 15:56:36 +01:00
gingerBill
eb274cf316
Remove test code
2018-08-30 19:33:16 +01:00
gingerBill
aa542980ce
Change memory layout of map to be 3 words smaller
2018-08-30 19:14:10 +01:00
gingerBill
e0240c186f
Rename buffer entity
2018-08-30 12:53:07 +01:00
gingerBill
ae58502a21
Make free_all built-in
2018-08-30 12:21:16 +01:00
gingerBill
6a3697279c
Place assertf and printf to package fmt
2018-08-30 12:10:16 +01:00
gingerBill
c19ec5d65d
Fix delete for dynamic array and map
2018-08-30 12:00:51 +01:00
gingerBill
15dca449c9
Add assertf and panicf
2018-08-30 11:46:57 +01:00
gingerBill
dda985f49d
Add extra nil check for assert and panic
2018-08-30 11:16:06 +01:00
gingerBill
12256beeb2
Prevent other parameters being the default value
2018-08-30 11:12:57 +01:00
gingerBill
0858ae2024
Add utf8_to_ucs2 for package win32 so that the wide procedures can used by default
2018-08-30 10:59:46 +01:00
gingerBill
6c18864291
Add default_assertion_failure_proc to the minimum dependency build
2018-08-29 21:15:11 +01:00
gingerBill
ae57284912
Add Assertion_Failure_Proc to context
2018-08-29 21:10:13 +01:00
gingerBill
001837e6bb
Temporary allocator for context
2018-08-29 19:55:55 +01:00
gingerBill
28523f17e2
Add default allocator to allocation related procedures e.g. alloc, free, delete, make
2018-08-28 20:14:56 +01:00
gingerBill
ae2af8315e
Allow for default parameters that are non-constant entities, but not any non-constant expression
2018-08-28 20:03:27 +01:00
gingerBill
adbb3bb75f
Add -lld flag for using "bin\lld-link.exe" on Windows
2018-08-28 19:28:34 +01:00
gingerBill
6181c4edb3
Update
2018-08-28 19:26:05 +01:00
gingerBill
830c194da5
Allow enums for array lengths
2018-08-26 18:23:17 +01:00
gingerBill
1830c1e57c
Allow bitwise operation on enums
2018-08-26 18:05:59 +01:00
gingerBill
e5735af6d6
Disable for in over cstring
2018-08-26 15:10:23 +01:00
gingerBill
a6b0ae71b2
Remove assert
2018-08-26 10:56:33 +01:00
gingerBill
3365baee8f
runtime.Typeid_Bit_Field layout to store more information into the typeid
2018-08-25 12:11:48 +01:00
gingerBill
cc88dd0b71
Allow for variadic min max procs
...
Request #252
2018-08-25 11:12:52 +01:00
gingerBill
f050bfe872
Fix comparisons with union
2018-08-25 10:39:19 +01:00
gingerBill
ab71acc3a5
Disable abs for arrays #254
2018-08-25 10:27:44 +01:00
gingerBill
0a85d1af6b
Improve error messages for using on fields
2018-08-24 22:28:00 +01:00
gingerBill
68adadb01a
Allow using in structs on arrays with count <= 4
2018-08-24 22:12:30 +01:00
gingerBill
d56f458d11
Fix file scope #assert
2018-08-24 17:42:13 +01:00
gingerBill
a65eadee63
Fix for in enum iteration
2018-08-22 18:56:41 +01:00
gingerBill
16dfae62bc
Allow casting to and from rawptr and cstring #249
2018-08-22 15:19:04 +01:00
gingerBill
fe680a8b1f
Fix default return values #250
2018-08-22 15:17:29 +01:00
gingerBill
54fe9f3eb1
Improve min dep for min/max/abs/clamp
2018-08-21 21:43:38 +01:00
gingerBill
cbc6c2666b
Improve proc group scoring algorithm
2018-08-21 14:11:18 +01:00
gingerBill
a4d0ac1802
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-08-20 19:20:44 +01:00
gingerBill
0dc29a7208
Implement suggestions from #247
2018-08-20 19:20:28 +01:00
gingerBill
a9321bc73f
Update README.md
2018-08-20 10:27:48 +01:00
gingerBill
e3f0ab7c3d
Parallelize parser on *nix
2018-08-19 10:58:57 +01:00
gingerBill
5643ea1ba2
Fix typo
2018-08-19 10:56:23 +01:00
gingerBill
3b6523fbd9
Fix gbMutex for *nix
2018-08-19 10:34:31 +01:00
gingerBill
ffc4f01470
All enums in array indices
2018-08-17 19:38:15 +01:00
gingerBill
e326f41d16
Fix demo
2018-08-17 15:26:29 +01:00
gingerBill
1d0ac72e4a
Disable non-comparison operations for enum (use bit_set for flags)
2018-08-17 15:24:44 +01:00
gingerBill
b216e44870
Add underlying type for bit_set
2018-08-17 15:11:41 +01:00
gingerBill
7d39b26cf4
Minor refactor
2018-08-16 20:52:46 +01:00
gingerBill
884d5fed9f
bit_set['A'..'Z'], bit_set[0..8]
2018-08-16 15:16:57 +01:00
gingerBill
ec84188597
Fix typos in parser
2018-08-16 10:30:44 +01:00
gingerBill
85ac95f81b
Constant evaluation for in expression for bit_sets
2018-08-16 00:07:26 +01:00
gingerBill
042550cf87
Fix default value bug
2018-08-15 19:36:32 +01:00
gingerBill
b3ebff715a
Fix defer ir bug
2018-08-15 15:44:41 +01:00
gingerBill
1ee60663bb
Fix issue #244 with constant array comparisons
2018-08-14 19:43:36 +01:00
gingerBill
59da98d3f0
Improve type hinting for compound literals
2018-08-14 19:39:28 +01:00
gingerBill
2d41a42f61
Cleaning type hinting for assignments
2018-08-14 19:33:42 +01:00
gingerBill
e1e4a916a5
Fix demo and improve type hinting
2018-08-14 19:29:31 +01:00
gingerBill
71f94bff76
Minor sanity features for bit_set
2018-08-14 19:22:48 +01:00
gingerBill
c7d6467cfa
Fix assigning issue for bit sets
2018-08-14 18:43:47 +01:00
gingerBill
79a3c0b36c
Fix bit_set range
2018-08-14 18:35:14 +01:00
gingerBill
966249c10a
bit_set constants
2018-08-14 18:32:34 +01:00
gingerBill
acc010cba5
Add bit_set type
2018-08-14 17:07:56 +01:00
gingerBill
89f4e7a8db
-no-crt flag for windows amd64
2018-08-13 01:22:14 +01:00
gingerBill
55f4eabecd
Fix map addressing mode bug
2018-08-10 18:22:37 +01:00
gingerBill
d0fc9aa069
Allow for '\"'
2018-08-10 17:48:29 +01:00
gingerBill
8be9b5082c
Fix default make parameters for dynamic arrays
2018-08-09 18:15:49 +01:00
gingerBill
708907df31
auto_cast for named parameters
2018-08-09 17:59:18 +01:00
gingerBill
70586b1cf8
auto_cast prefix for procedure parameters
2018-08-09 17:58:11 +01:00
gingerBill
877a78d6ba
Fix make error messages
2018-08-08 23:07:51 +01:00
gingerBill
3928614326
Merge pull request #241 from thebirk/fix-sh-main-not-found
...
Fixed 'sh: main: command not found' error on linux.
2018-08-08 22:41:42 +01:00
thebirk
5e5f5bfa8d
Fixed 'sh: main: command not found' error on linux.
2018-08-08 17:48:17 +02:00
gingerBill
3a1a7b40f9
Add runtime messages for make for the len/cap parameters
2018-08-08 13:04:40 +01:00
gingerBill
835d7dcab2
make as a user-level procedure rather than a built-in procedure
2018-08-08 13:04:40 +01:00
gingerBill
28816dc491
Fix parenthesis warning on clang
2018-08-08 13:04:40 +01:00
gingerBill
ccdc3438be
Refactor handle_parameter_value code
2018-08-06 00:26:38 +01:00
gingerBill
60711dd355
Refactor default parameter values
2018-08-05 23:57:34 +01:00
gingerBill
fad3947e26
Add *with_allocator procedures to mem
2018-08-05 23:40:19 +01:00
gingerBill
d8e5b2d1a4
Fix cstring cast operation
2018-08-05 19:07:03 +01:00
gingerBill
2d26ad0226
Remove opengl package
2018-08-05 19:01:15 +01:00
gingerBill
45d3c6c0d3
Fix cstring to string conversion
2018-08-05 18:58:35 +01:00
gingerBill
c6bffd7c35
Change build.bat to use release_mode=1 by default
2018-08-05 10:37:09 +01:00
gingerBill
462d81430c
Fix map runtime issue regarding erasing a key
2018-08-05 10:31:20 +01:00
gingerBill
d3cada5bd6
Change rules for how context and defer interact
2018-08-04 23:46:46 +01:00
gingerBill
cdbf831a7a
Replace context <- c {} with context = c;. context assignments are scope based
2018-08-04 23:14:55 +01:00
gingerBill
0718f14774
Reduce number of range and slice operators #239
...
Replace .. and ... with : and ..
2018-08-01 21:34:59 +01:00
gingerBill
a6fe656f21
foreign import x {"foo.lib", "bar.lib"}
2018-07-29 20:56:09 +01:00
gingerBill
dc5da7933a
Add older demos
2018-07-29 11:36:24 +01:00
gingerBill
96fc9138d4
Do using Foo :: enum at the type_decl stage
2018-07-29 11:29:20 +01:00
gingerBill
6512a3e5f2
using Foo :: enum {A, B, C}; len(Foo)
2018-07-29 10:50:15 +01:00
gingerBill
49f2124df0
Support larger integer literals to work with the new BigInt system
2018-07-29 10:22:17 +01:00
gingerBill
a11d6e696a
expand_to_tuple for fixed arrays
2018-07-28 20:56:27 +01:00
gingerBill
1705ba8069
Fix typos
2018-07-28 19:44:00 +01:00
gingerBill
8d2c4a78a1
Merge pull request #238 from odin-lang/big-int
...
Big int
2018-07-28 18:39:15 +01:00
gingerBill
8504ff920b
Correctly handle bitwise operations for negative BigInt
2018-07-28 18:36:45 +01:00
gingerBill
e34a9e6185
Fix big_int_shr
2018-07-28 00:48:36 +01:00
gingerBill
c3c7834246
BigInt support in the constant system
2018-07-28 00:41:31 +01:00
gingerBill
1ab40d8600
Merge pull request #237 from lunaticLipid/master
...
Add mat3_mul and generic transpose to math.odin
2018-07-17 08:25:21 +01:00
Lipid
92ce02dab0
Fix indent characters
2018-07-16 20:30:49 +02:00
Lipid
8abe9ef507
Add mat3_mul and generic transpose to math.odin
2018-07-16 20:27:29 +02:00
gingerBill
d0e04bf569
Merge pull request #236 from hasenj/master
...
Fix build errors on osx
2018-07-14 19:39:11 +01:00
Hasen Judy
b92599879a
free -> delete in os_osx and os_linux
2018-07-13 11:25:46 -06:00
gingerBill
0e91298fd1
Rename free to delete for non pointer types
2018-07-08 11:03:56 +01:00
gingerBill
e515220694
Improve array arithmetic inlining
2018-07-08 10:15:46 +01:00
gingerBill
a55683d287
Remove allocator parameters in ir.cpp
2018-07-07 11:29:45 +01:00
gingerBill
fa4e95105f
Loop array arithmetic on large arrays
2018-07-07 11:13:20 +01:00
gingerBill
1e01085ef7
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-07-07 08:12:48 +01:00
gingerBill
04a1f869b5
Fix when statements within a foreign block
2018-07-07 08:11:31 +01:00
Morten Vassvik
e04ba7530d
Updated makefile to run demo package instead of demo.odin
2018-07-05 15:48:55 +02:00
Morten Vassvik
ea055f1465
Surrounded explicit link paths (.a and .so) and the exe path for 'odin run' in quotes, so that it works in paths containing characters that must be escaped (like spaces)
2018-07-05 15:46:11 +02:00
Morten Vassvik
3b2c867817
Replaced CLOCK_PROCESS_CPUTIME_ID with CLOCK_MONOTONIC in calls to clock_gettime and clock_getres to make timings on calling external executables accurate instead of showing them taking negligible time on linux.
2018-07-04 21:04:48 +02:00
gingerBill
3de23eb0bf
Merge pull request #233 from zangent/master
...
Make macOS builds work again
2018-07-02 08:57:22 +01:00
Zachary Pierson
5de3b07e2b
Made os_osx.odin use the new-style runtime.args__ and added read_directory for macOS
2018-07-02 02:50:08 -05:00
gingerBill
c0ca4d4635
Uncomment code
2018-07-01 18:31:31 +01:00
gingerBill
efe4b71bae
Fix build.sh
2018-07-01 17:17:31 +01:00
gingerBill
bc37bd5429
Merge branch 'packages' of https://github.com/odin-lang/Odin into packages
2018-07-01 17:14:43 +01:00
gingerBill
5f20e04259
Fix on *nix
2018-07-01 17:14:22 +01:00
gingerBill
9bef5ec01a
Fix anonymous procedures
2018-07-01 16:21:32 +01:00
gingerBill
cdf873542b
Add read_directory for linux
2018-06-21 08:39:52 +01:00
gingerBill
4742690dec
Fix is_excluded_target_filename
2018-06-21 08:39:07 +01:00
gingerBill
3a16f1e854
Minor style change
2018-06-17 22:25:28 +01:00
gingerBill
877400dd12
Scope to use flags rathers than booleans
2018-06-17 22:22:30 +01:00
gingerBill
a4e3201113
Minor cleanup for builtin scope/pkg
2018-06-17 22:07:27 +01:00
gingerBill
a99cc2fd70
Clean up import lookup code
2018-06-17 21:50:40 +01:00
gingerBill
5fe4c33d0e
Allow importation of core:builtin to get built-in entities
2018-06-17 21:46:37 +01:00
gingerBill
4d9d38cc28
Move TypeAndValue to Ast from Map
2018-06-17 16:35:22 +01:00
gingerBill
5b71ffd4f9
Rename clone_ast_node to clone_ast
2018-06-17 11:03:26 +01:00
gingerBill
c2ca24a486
Big renaming: AstNode to Ast
2018-06-17 10:58:59 +01:00
gingerBill
e5aff6fd6d
Minimize AstNode size
2018-06-17 10:48:50 +01:00
gingerBill
3eb8aa8268
Modify CommentGroup parsing
2018-06-17 10:29:20 +01:00
gingerBill
6d1c32eb77
Add escape code for ESC \e
2018-06-15 23:13:26 +01:00
gingerBill
ba776a3c9f
Fix bitwise not for signed integers
2018-06-15 23:01:12 +01:00
gingerBill
cd7e260f4e
Fix cyclic polymorphic procedure usage and improve its error message
2018-06-15 22:49:06 +01:00
gingerBill
ba67e474d3
Make source code compile with 32 bit (but not build 32 bit code)
2018-06-15 21:46:03 +01:00
gingerBill
b92a8c513e
Modify how build settings are handled
2018-06-15 21:38:22 +01:00
gingerBill
13572aeef0
Fix gb.h
2018-06-15 20:26:39 +01:00
gingerBill
5081ea1a0c
Fix type aliasing comparison; Fix gb_utf8_decode
2018-06-15 19:59:35 +01:00
gingerBill
e9e7ce2606
Allow .allocator for dynamic arrays; Add mem.Pool
2018-06-12 19:10:14 +01:00
gingerBill
915dcb0c28
Fix min dependency check
2018-06-11 22:57:40 +01:00
gingerBill
8236c6d4b7
Allow for base enum type with an enum declaration
2018-06-11 22:50:13 +01:00
gingerBill
555fe37ad8
Remove the need for a look ahead
2018-06-11 18:06:58 +01:00
gingerBill
881f667558
Change how context <- is parsed to remove the need for a look-ahead
2018-06-11 18:02:04 +01:00
gingerBill
0a99595efe
Remove using in stuff
2018-06-11 17:34:57 +01:00
gingerBill
268491b224
Use global arena for AstNode allocations
2018-06-09 19:53:06 +01:00
gingerBill
49ea9ed722
Entity aliasing clean up
2018-06-09 10:08:17 +01:00
gingerBill
d7108416c9
Remove dead code
2018-06-07 23:52:13 +01:00
gingerBill
b136630856
Fix type info generation for empty structs
2018-06-07 23:24:37 +01:00
gingerBill
fa6f31186a
Merge pull request #228 from shuaDev/shwadev-packages
...
Fix some core lib errors on packages branch
2018-06-03 21:09:57 +01:00
gingerBill
b027b1d60f
Fix min type info for polymorphic procedures and named types
2018-06-03 21:09:08 +01:00
Joshua Mark Manton
7ed1d931cb
fix quick_sort_proc calling quick_sort instead of recursively calling itself
2018-06-03 11:27:57 -07:00
Joshua Mark Manton
2570296b01
fix core opengl ODIN_OS reference and pointer math stuff
2018-06-03 11:25:46 -07:00
Joshua Mark Manton
f0a4526250
Fix alloc.odin using old raw file
2018-06-03 11:22:42 -07:00
gingerBill
c39332c7e7
Revert name mangling
2018-06-03 19:18:47 +01:00
gingerBill
3f4b6b22dc
Change our IR name mangling rules
2018-06-03 17:55:13 +01:00
gingerBill
e0549df03e
Fix minor possible issue
2018-06-03 17:44:10 +01:00
gingerBill
e46662a546
Rename os.default_allocator to os.heap_allocator
2018-06-03 16:40:58 +01:00
gingerBill
360a74e2fe
Merge pull request #226 from BrettRToomey/packages
...
Dsymutil fixes
2018-06-03 16:35:43 +01:00
Brett R. Toomey
597c4591bc
Merge branch 'packages' of github.com:odin-lang/Odin into packages
2018-06-03 17:13:11 +02:00
Brett R. Toomey
80833ed703
Dsymutil fixes for macOS
2018-06-03 17:12:30 +02:00
gingerBill
106302189c
Use gbString for opt_flags
2018-06-03 16:09:24 +01:00
gingerBill
05c5f98e8e
Add -debug-compile parameter for llc
2018-06-03 15:55:14 +01:00
gingerBill
d556fa2cd8
Remove special shared scope for runtime stuff
2018-06-03 15:06:40 +01:00
gingerBill
9bd7f023b2
Split up init_preload into specific parts
2018-06-03 11:38:02 +01:00
gingerBill
398109ac84
Remove need for __llvm_core
2018-06-03 10:51:43 +01:00
gingerBill
12b870ba66
Use const & for Array<AstNode *> parameters
2018-06-03 10:30:31 +01:00
gingerBill
6202fb8373
Re-allow when statements at the file scope
2018-06-02 19:44:34 +01:00
gingerBill
ced818ad54
Remove dead code from checker
2018-06-02 11:58:35 +01:00
gingerBill
ccbb6df749
Handle multiple +build package tags with '!' (nots)
2018-05-28 21:25:08 +01:00
gingerBill
6eb505a677
Comment based build tags for packages (basic and temporary)
2018-05-28 20:59:06 +01:00
gingerBill
619783ca1b
Remove clutter parameters and begin parallelizing the type checker
2018-05-28 18:46:39 +01:00
gingerBill
642aa0bc4b
Refactor: use CheckerContext rather than Checker in type checking part
2018-05-28 15:57:53 +01:00
gingerBill
45b3067068
Remove tmp_allocator from Checker
2018-05-28 14:15:08 +01:00
gingerBill
b7858a66b9
Parallelize per file rather than per package
2018-05-28 12:06:50 +01:00
gingerBill
4e203feaf4
Change import lookup
2018-05-27 23:46:08 +01:00
gingerBill
a513b47780
Remove unused packages
2018-05-27 23:33:10 +01:00
gingerBill
547a2831c7
Clean up name mangling by using unique package names per project
2018-05-27 22:09:11 +01:00
gingerBill
5c52ffe24e
Reorganize runtime package
2018-05-27 21:22:25 +01:00
gingerBill
a5763d6fee
Err on empty directory packages
2018-05-27 14:12:10 +01:00
gingerBill
95482c554d
Fix build.bat
2018-05-27 13:53:46 +01:00
gingerBill
10758710d4
Fix demo.odin
2018-05-27 13:53:19 +01:00
gingerBill
86cf9383ea
Fix delayed assert collection
2018-05-27 13:49:55 +01:00
gingerBill
307977d4cf
Remove dead code
2018-05-27 13:30:18 +01:00
gingerBill
1beff539d7
Single file "main" file
2018-05-27 13:22:24 +01:00
gingerBill
df578d6ec5
Allow for either .odin file or directory as the initial start
2018-05-27 11:40:27 +01:00
gingerBill
6aae381e83
Move ODIN_* platform constants to core:os
2018-05-27 11:03:46 +01:00
gingerBill
7ee9051a56
IR now builds with the new package system
2018-05-27 10:49:14 +01:00
gingerBill
eb11edabe0
Add file scopes for the packages
2018-05-27 00:10:38 +01:00
gingerBill
c067b90403
Add basic package support (no IR support yet)
2018-05-26 23:12:55 +01:00
gingerBill
5b6770f3d2
Parse directories to be packages
2018-05-21 20:47:52 +01:00
gingerBill
718b80ba39
Fix demo for removing default struct values
2018-05-20 17:39:49 +01:00
gingerBill
4d052d5119
Remove code relating to default struct values
2018-05-20 17:31:46 +01:00
gingerBill
7e4c643401
Disable default struct field values; Update README.md
2018-05-20 16:00:39 +01:00
gingerBill
e920338f21
Remove old dependency
2018-05-20 08:58:48 +01:00
gingerBill
af2048570c
Merge pull request #222 from shuaDev/master
...
added compiler command for only parsing and typechecking
2018-05-17 10:33:23 +01:00
Joshua Mark Manton
1ee4f849cb
now return 1 if there were errors
2018-05-17 02:08:04 -07:00
Joshua Mark Manton
703393fc63
whitespace
2018-05-16 23:08:01 -07:00
Joshua Mark Manton
81420ab246
removed unneeded block
2018-05-16 23:07:27 -07:00
Joshua Mark Manton
c94d19718b
added compiler command for only parsing and typechecking
2018-05-16 23:03:05 -07:00
gingerBill
e25c72ecdd
Fix #219 and #220
2018-05-14 17:05:52 +01:00
gingerBill
780b81a59f
Allow for NO_DEFAULT_STRUCT_VALUES
...
(will decide later if I want them or not)
2018-05-13 21:09:49 +01:00
gingerBill
9f1dda701d
Comment out test
2018-05-13 18:43:21 +01:00
gingerBill
e597a8d72e
Fix issues with exact integer bounds and remove dead code
2018-05-13 17:38:35 +01:00
gingerBill
de9a4b5164
Disable pointer arithmetic
2018-05-13 16:10:02 +01:00
gingerBill
319aca3101
Merge pull request #218 from hasenj/osx-timing
...
Fix timing on macos
2018-05-13 11:45:05 +01:00
Hasen Judy
9dc2c01aaa
Fix timing on macos
2018-05-13 19:33:08 +09:00
gingerBill
6164672421
Change FreeAll to Free_All
2018-05-13 10:14:32 +01:00
gingerBill
61906613b0
Add typeid to Type_Info struct
2018-05-13 10:09:21 +01:00
gingerBill
3b48fa8e7d
Fix default initialized values for globals ( #217 )
2018-05-12 21:22:39 +01:00
gingerBill
324b7d65e7
Use __type_info_of internally
2018-05-12 20:17:12 +01:00
gingerBill
373a60b9ef
type_info_of allows typeid; typeid_of allows ^Type_Info; Otherwise only allow type
2018-05-12 19:54:16 +01:00
gingerBill
2ef22e86e0
Make any use typeid rather than ^Type_Info
2018-05-12 18:40:49 +01:00
gingerBill
830f4f540f
typeid
2018-05-12 17:39:04 +01:00
gingerBill
56ff5496bc
Minimal Type Info Dependency handling
2018-05-12 16:53:44 +01:00
gingerBill
20fbece14c
Change semantics for distinctness for pointers, arrays, dynamic arrays, and maps.
2018-05-12 10:47:32 +01:00
gingerBill
9fbfd86cde
Add log to math.odin
2018-05-12 10:46:00 +01:00
gingerBill
7547bc66cf
Complete remove all non required preload stuff from min dep and only use what is used.
2018-05-12 10:38:40 +01:00
gingerBill
18a9fa7355
Improve minimal dependency system
2018-05-12 10:27:55 +01:00
gingerBill
b32af841c5
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-05-06 15:31:32 +01:00
gingerBill
66b4252931
Fix #210
2018-05-06 15:31:18 +01:00
gingerBill
2c95eaa418
Merge pull request #216 from lunaticLipid/master
...
Fix copy-and-forget in math.odin
2018-05-02 19:40:59 +01:00
Lipid
7382f52dc9
Fix copy-and-forget in math.odin
2018-05-02 18:04:50 +02:00
gingerBill
49dd299999
Merge pull request #204 from ThisDrunkDane/master
...
Added more function to windows.odin
2018-04-14 19:45:00 +01:00
Mikkel Hjortshoej
e391b05513
Merge branch 'master' of github.com:ThisDrunkDane/Odin
2018-04-13 22:39:17 +02:00
Mikkel Hjortshoej
2de62910fc
Added more function to windows.odin
2018-04-13 22:38:58 +02:00
gingerBill
fc77b5b4ac
Try to fix internal compiler error in #208
2018-04-10 21:03:51 +01:00
gingerBill
a83d916fad
Fix immutable context to any assignment #214
2018-04-10 20:51:44 +01:00
gingerBill
e71a641379
Fix internal compiler error trigger for issue #212
2018-04-10 20:46:32 +01:00
gingerBill
e2eca45188
Fix race condition caused by parallelized parser: #211
2018-04-10 20:35:05 +01:00
gingerBill
4d78540658
Fix #210
2018-04-10 20:20:33 +01:00
gingerBill
b83c3f265b
Fix #209 #assert bug
2018-04-10 20:18:16 +01:00
gingerBill
30f5a3bb93
Move cycle checking to much earlier on in the semantic stage
2018-03-23 20:48:30 +00:00
gingerBill
2e1e1e6034
Type caching
2018-03-23 16:35:41 +00:00
gingerBill
991479fbf9
Remove allocator parameter to types.cpp functions
2018-03-23 16:01:23 +00:00
gingerBill
5660f98cc3
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-03-23 15:23:31 +00:00
gingerBill
5bf0f9d630
Fix type cycle bug
2018-03-23 15:23:14 +00:00
Mikkel Hjortshoej
15b72119eb
Added more function to windows.odin
2018-03-21 19:30:27 +01:00
gingerBill
dc30e7a200
Merge pull request #201 from nakst/master
...
update essence bindings
2018-03-11 20:52:58 +00:00
Nakst
db2293144a
update essence bindings
2018-03-10 21:33:59 +00:00
gingerBill
5016f45429
Merge pull request #200 from nakst/master
...
fix compile warnings on linux
2018-03-10 20:50:46 +00:00
Nakst
9fa4aa40b7
fix compile warnings on linux
2018-03-10 20:29:43 +00:00
gingerBill
52f60c706a
Merge pull request #199 from ThisDrunkDane/resource
...
Resource Compiler calling
2018-03-10 13:42:25 +00:00
gingerBill
fff4ead96a
Fix gb_alloc_str_len
2018-03-07 20:36:15 +00:00
Mikkel Hjortshoej
3574341b6b
Missing .rc error message
2018-03-05 13:10:01 +01:00
Mikkel Hjortshoej
cbabc80d92
Calls rc.exe if -resource specified
2018-03-05 11:46:50 +01:00
gingerBill
f4cf88c2ca
Move os_*.odin files to os/
2018-03-04 11:38:49 +00:00
gingerBill
6db95b554f
__args__: []cstring
2018-03-04 11:25:23 +00:00
gingerBill
105de7705a
Add unselector_expr
2018-03-04 11:06:59 +00:00
gingerBill
584dffea14
Remove dead code; fix referencing of a type assertion in a selector expression
2018-03-04 09:25:02 +00:00
gingerBill
41b6d215bb
Fix using determination order
2018-03-03 20:07:12 +00:00
gingerBill
9274f29ca9
deprecated attribute for procedure declarations
2018-03-03 11:16:48 +00:00
gingerBill
08c87e57f8
Remove cwd in odin run for Linux
2018-03-03 10:26:25 +00:00
gingerBill
b21cdd5037
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-03-03 10:25:13 +00:00
gingerBill
63ab8b2418
Make irGen.output_base use full path rather than relative
2018-03-03 10:23:27 +00:00
Morten Vassvik
cb7a343caf
Fixed '_alloc_command_line_arguments()' in os_linux.odin to use the new cstrings, and made 'odin run' use the full executable path.
2018-03-01 12:58:57 +01:00
gingerBill
40542e6e26
Fix comparison against nil for cstring
2018-02-28 12:01:26 +00:00
gingerBill
9da05dd4cb
Update core library with cstring
2018-02-28 11:44:41 +00:00
gingerBill
ae9da0abfb
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-02-28 11:20:31 +00:00
gingerBill
d3ea334e7a
cstring
2018-02-28 11:20:11 +00:00
gingerBill
d76132a3fb
Merge pull request #198 from ThisDrunkDane/terminate_thread
...
Added terminate_thread to thread.odin
2018-02-26 10:06:08 +00:00
gingerBill
223c473cf6
Demo fix
2018-02-25 20:57:34 +00:00
gingerBill
fd57cfa1ae
Fix build_settings.cpp
2018-02-25 20:52:06 +00:00
gingerBill
f23bd2dc27
Revert demo
2018-02-25 20:46:32 +00:00
gingerBill
69062ba3ab
More code tidying with Array
2018-02-25 20:24:38 +00:00
gingerBill
e75563cb32
Minor code rearrangement
2018-02-25 19:42:12 +00:00
gingerBill
d63885a495
array_make
2018-02-25 19:23:52 +00:00
gingerBill
f28a34fa99
Use Array<irValue *> in ir.cpp
2018-02-25 15:31:00 +00:00
gingerBill
a1e8de4e00
Fix ir_emit_slice_bounds_check
2018-02-25 15:11:20 +00:00
gingerBill
d247ba4751
Hexadecimal floats for "perfect values" 0h42f60000 == 123; use bit_cast in compiler
2018-02-25 15:09:16 +00:00
gingerBill
27b7dc336a
Change parsing for floats and disallow x.0
2018-02-25 14:36:41 +00:00
gingerBill
60a7c68aa6
Minor code reorganization
2018-02-25 14:23:45 +00:00
Mikkel Hjortshoej
78c103e62c
Merge branch 'terminate_thread' of github.com:ThisDrunkDane/Odin into terminate_thread
2018-02-25 14:57:22 +01:00
Mikkel Hjortshoej
ffec1c77f2
Added terminate_thread to thread.odin
2018-02-25 14:56:50 +01:00
gingerBill
5357181484
Multithreaded parser (windows only)
2018-02-25 13:45:44 +00:00
Mikkel Hjortshoej
33ddb3ad4d
Added terminate_thread to thread.odin
2018-02-25 14:38:55 +01:00
gingerBill
1cd453db14
Remove unneeded disabled warnings for MSVC
2018-02-25 12:29:48 +00:00
gingerBill
3b5932699c
Fix #assert in opengl.odin
2018-02-25 12:14:35 +00:00
gingerBill
bada81159d
Add #no_bounds_check to __dynamic_map_* procedures
2018-02-25 12:13:45 +00:00
gingerBill
652da98c70
Fix slice bounds checking
2018-02-25 12:10:19 +00:00
gingerBill
e14e2c3b4d
-out and generate executable in the current working directory
2018-02-25 11:49:44 +00:00
gingerBill
f96a897821
Make switch in f { valid
2018-02-25 10:55:18 +00:00
gingerBill
b74ae77745
Merge pull request #197 from bpunsky/context-bug-fix
...
Context bug fix
2018-02-25 00:13:02 +00:00
Brendan Punsky
564226be02
fixed issues with uninitialized contexts
...
also, `any_to_bytes` I think, and maybe some bindings in `core:sys/windows.odin`
2018-02-24 18:58:22 -05:00
Brendan Punsky
f6c45fc68a
Merge remote-tracking branch 'origin/master'
2018-02-24 14:29:30 -05:00
gingerBill
35ba5771a5
Replace compile_assert with #assert
2018-02-24 19:03:29 +00:00
gingerBill
b2461f7192
Fix issue #195
2018-02-24 18:19:11 +00:00
Brendan Punsky
60a54f404b
Auto stash before merge of "master" and "origin/master"
2018-02-22 20:11:17 -05:00
gingerBill
921f261377
Fix os.args on Windows #143
2018-02-22 21:34:09 +00:00
gingerBill
d70a555c1c
Fix issue #192
2018-02-22 21:24:38 +00:00
gingerBill
4c339360e9
auto_cast
2018-02-18 15:14:13 +00:00
gingerBill
731dad480d
Fix issue regarding nullptr Type *
2018-02-18 14:37:58 +00:00
gingerBill
a0f2357cb3
Minor fix to demo
2018-02-17 19:40:33 +00:00
gingerBill
e86ac75e9c
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-02-17 19:24:15 +00:00
gingerBill
f51de2e488
Disallow #complete switch ranges
2018-02-17 19:24:02 +00:00
gingerBill
5efefdcf16
Merge pull request #189 from ThisDrunkDane/master
...
Pretty readme header
2018-02-17 19:16:51 +00:00
gingerBill
cabb2bb992
Commit 1000 🎉 🎂
2018-02-17 19:15:58 +00:00
gingerBill
d560f6c920
Fix compile time issue regarding switch ranges
2018-02-17 19:05:14 +00:00
gingerBill
21432ba96e
Clean up range code for switch
2018-02-17 18:34:14 +00:00
gingerBill
c341597657
Remove constant from switch for strings
2018-02-17 18:22:43 +00:00
Mikkel Hjortshøj
2a1420d4e7
Update README.md
2018-02-17 15:03:26 +01:00
Mikkel Hjortshoej
28d88f6af4
rounded logo
2018-02-17 15:03:16 +01:00
gingerBill
c4d2d287fc
#complete switch; Removal of dyncall
2018-02-17 11:54:08 +00:00
gingerBill
6a85546b76
Fix #187
2018-02-14 21:46:39 +00:00
gingerBill
2e92d0c821
Remove old procedures
2018-02-13 22:05:25 +00:00
gingerBill
a499a3aa5e
Merge pull request #184 from ThisDrunkDane/master
...
Added widechar versions of functions, plus cursor functions
2018-02-13 22:02:43 +00:00
gingerBill
23ab3c4713
Replace [...] with [?]
2018-02-13 21:59:49 +00:00
gingerBill
da300aa9c3
Fix enum #export does not work with export #185
2018-02-13 18:01:42 +00:00
ThisDrunkDane
e225158a6f
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-02-12 06:07:15 +01:00
gingerBill
2ce55783d2
Fix make
2018-02-11 23:47:46 +00:00
gingerBill
14eeee40b2
Update demo.odin
2018-02-11 11:16:17 +00:00
gingerBill
038dea9202
v0.8.1
...
Fix initialization values for variables
2018-02-11 11:15:53 +00:00
gingerBill
0ae3484171
Fix zero value initialization in IR
2018-02-11 11:13:52 +00:00
gingerBill
54976c3249
v0.8.0
2018-02-09 18:03:06 +00:00
Mikkel Hjortshoej
4c06b44315
Merge branch 'master' of github.com:odin-lang/odin
2018-02-07 21:23:28 +01:00
Mikkel Hjortshoej
678b58e0b1
Added widechar versions of functions, plus cursor functions
2018-02-07 21:17:59 +01:00
gingerBill
8f913c656c
Fix error reporting for assignment to a built-in procedure ( #183 )
2018-02-07 18:55:01 +00:00
gingerBill
001b48a5c6
Change local variable alignment to 16 bytes for the time being
2018-02-05 23:27:18 +00:00
gingerBill
54929a1b92
Minor context fix
2018-02-05 23:09:34 +00:00
gingerBill
92780e2683
distinct keyword for type declarations
2018-02-05 22:46:30 +00:00
gingerBill
2891988d3b
Add extra check to ir_emit_zero_init
2018-02-05 22:26:22 +00:00
gingerBill
c1728914c6
Fix typos #type_alias
2018-02-04 21:34:45 +00:00
gingerBill
ed2f49e8d2
Remove dead code; Fix issue regarding order of evaluation of function parameters (in C++) depending on the compiler (clang vs gcc vs msvc)
2018-02-04 20:07:05 +00:00
gingerBill
8a76a370a9
Merge pull request #182 from ThisDrunkDane/master
...
Functions, structs and constants related to getting file notifications
2018-02-04 19:49:04 +00:00
Mikkel Hjortshoej
1160fd4331
functions, structs and constants related to getting file notifications
2018-02-03 21:56:15 +01:00
gingerBill
0134c38759
Fix issue #181
2018-02-03 10:32:47 +00:00
gingerBill
d079095517
Fix bug #179
2018-02-03 10:27:33 +00:00
gingerBill
028d628e9f
Add extra zero init for IR
2018-01-31 18:27:08 +00:00
gingerBill
5e4b62acfe
Fix literal
2018-01-28 15:59:37 +00:00
gingerBill
9366fa8e95
Simplify printing for float and complex types
2018-01-28 15:58:34 +00:00
gingerBill
369db3a8e3
Add __print_type to runtime
2018-01-28 15:55:37 +00:00
gingerBill
8c360b2a3c
Reduce type info data size in IR
2018-01-28 15:43:58 +00:00
gingerBill
b66e7bed45
Improve min-dep for Type Info
2018-01-28 15:37:15 +00:00
gingerBill
e919482aa8
Add ir_emit_store_union_variant to reduce alloca use
2018-01-28 15:09:07 +00:00
gingerBill
dce45e7d58
Add ODIN_DEBUG
2018-01-28 14:42:22 +00:00
gingerBill
1a0877e965
Fix minimum dependency generation for foreign entities
2018-01-28 14:39:18 +00:00
gingerBill
0361a18551
Remove old math constants
2018-01-28 11:59:28 +00:00
gingerBill
83d90f1463
Extra check for type_info cycle checking
2018-01-28 09:51:52 +00:00
gingerBill
f661ae9d09
Fix issue with proc group cycles #176
2018-01-28 09:19:23 +00:00
gingerBill
bee4cb57f2
Fix printf bug #177
2018-01-28 09:13:29 +00:00
gingerBill
53b670b889
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-01-28 08:59:31 +00:00
gingerBill
e2600a3e44
Fix #178
2018-01-28 08:59:10 +00:00
gingerBill
25101b2ae0
Merge pull request #175 from ThisDrunkDane/windows.odin-adds
...
More file handling functions
2018-01-25 14:02:32 +00:00
Mikkel Hjortshoej
4e7867fcc1
More file handling functions
2018-01-25 00:00:34 +01:00
gingerBill
101ee64165
Merge pull request #174 from ThisDrunkDane/windows.odin-adds
...
Added stuff to windows.odin
2018-01-24 09:41:09 +00:00
Mikkel Hjortshoej
4c3e65791e
added stuff to windows.odin
2018-01-24 07:26:29 +01:00
gingerBill
a9c8031b61
Fix sync_windows.odin
2018-01-21 21:21:57 +00:00
gingerBill
afb3033913
Change thread.odin to use a rawptr rather than any
2018-01-21 21:19:03 +00:00
gingerBill
2ad26640a2
Revert back to gb_memmove
2018-01-21 19:30:05 +00:00
gingerBill
2c0b08145f
Fix nested defer blocks
2018-01-21 19:26:55 +00:00
gingerBill
aa9c9eda9e
Fix boolean casting
2018-01-21 18:41:21 +00:00
gingerBill
1353d61894
Minor parsing change
2018-01-21 16:45:29 +00:00
gingerBill
88ba6d8015
enum #export
2018-01-21 14:30:48 +00:00
gingerBill
8b288a2072
Reimplement opt stage
2018-01-20 16:16:59 +00:00
gingerBill
4e90644527
Remove timing for llvm-opt
2018-01-20 16:15:05 +00:00
gingerBill
6651b65373
Remove need for opt
2018-01-20 16:13:36 +00:00
gingerBill
705352099f
Remove #endif
2018-01-20 16:10:26 +00:00
gingerBill
2e28c9d793
Cache type size/align; Improve speed of ir_print.cpp
2018-01-20 15:12:44 +00:00
gingerBill
2fe660a1d7
Fix empty union IR bug
2018-01-19 17:11:28 +00:00
gingerBill
b03ce0e9b4
Modify implicit semicolon rules
2018-01-18 17:28:07 +00:00
gingerBill
386f5f596d
Change to HeapAlloc et al on Windows
2018-01-18 13:11:51 +00:00
gingerBill
add53228b2
-no-bounds-check
2018-01-18 12:22:27 +00:00
gingerBill
d90008cc52
Add basic debug information needed for stepping over code
2018-01-18 12:12:18 +00:00
gingerBill
dbf8f9ab38
Add extra comments for clarity
2018-01-17 21:22:45 +00:00
gingerBill
81a99cf67b
Debug fix target triple and procedure positioning
2018-01-17 20:57:54 +00:00
gingerBill
876af6fb02
Modify boolean conversion in IR
2018-01-17 19:27:13 +00:00
gingerBill
b3734a5f77
Add math/rand.odin
2018-01-17 19:09:22 +00:00
gingerBill
419ab6f00c
Named return value act as variables; Code reorganization
2018-01-17 19:07:38 +00:00
gingerBill
5558b55e9f
Fix ir_emit_store for booleans
2018-01-17 14:06:06 +00:00
gingerBill
4b14d608f4
Update sys/windows.odin to use Bool :: b32; rather than i32
2018-01-17 14:02:19 +00:00
gingerBill
9428d86f2b
Specific sized booleans: b8, b16, b32, b64
2018-01-17 14:00:49 +00:00
gingerBill
ddebf0daf2
Merge branch 'master' of https://github.com/odin-lang/Odin
2018-01-17 13:16:59 +00:00
gingerBill
3a44c62ecf
Remove old "macro" parsing code
2018-01-17 13:16:43 +00:00
gingerBill
184efd4f49
Update demo for using in
2018-01-13 22:42:05 +00:00
gingerBill
6b3c4cc379
Remove u128 and i128
2018-01-13 22:26:37 +00:00
gingerBill
0b137e087c
Fix mem.odin #173
2018-01-12 11:44:09 +00:00
gingerBill
37790c13a0
Fix issue #170
2018-01-10 21:17:09 +00:00
gingerBill
82057f08ce
Fix issue #172
2018-01-10 21:13:20 +00:00
gingerBill
1553421e1a
Fix typo in error
2018-01-01 22:15:43 +00:00
gingerBill
f3ea109e6f
Fix min/max for floats
2018-01-01 11:41:32 +00:00
gingerBill
90dbfe7660
Fix issue #167 regarding abs, min, and, max for floats
2017-12-27 20:35:50 +00:00
gingerBill
125bad3154
Fix 'llvm bool' emit store
2017-12-23 09:46:28 +00:00
gingerBill
30c83d6c81
Fix map internals
2017-12-23 09:30:40 +00:00
gingerBill
4f12c118a5
Fix Type info bug for 'llvm bool'
2017-12-23 09:06:49 +00:00
gingerBill
423775d50e
Merge branch 'master' of https://github.com/odin-lang/Odin
2017-12-22 18:14:50 +00:00
gingerBill
860a5c3e86
"Fix" LLVM boolean bug (more like a bodge)
2017-12-22 18:14:35 +00:00
gingerBill
649e02f209
Add basic example to README.md
2017-12-22 11:29:33 +00:00
gingerBill
b449305cc1
Fix free_map
2017-12-21 21:05:53 +00:00
gingerBill
49bee6bad0
Fix free_map
2017-12-21 21:01:28 +00:00
gingerBill
ac277a1cce
Revert map to be a value type and not a reference type
...
(Implement code for "const ref" parameters)
2017-12-21 20:59:23 +00:00
gingerBill
a17310a83c
Fix len, cap, comparison against nil for map
2017-12-18 20:43:02 +00:00
gingerBill
b509946b13
Fix fallthrough within a nested block
2017-12-17 21:55:20 +00:00
gingerBill
a69ea58388
map is internally backed by a pointer (i.e. a "reference type")
2017-12-17 19:25:35 +00:00
gingerBill
30530d058c
Remove struct #ordered
2017-12-17 14:53:40 +00:00
gingerBill
436928d06a
Fix "using in import"
2017-12-17 12:12:24 +00:00
gingerBill
32a502d14e
using x in bar;
2017-12-17 11:44:26 +00:00
gingerBill
0d665c637f
using in importation statements
2017-12-17 11:17:54 +00:00
gingerBill
1b6a14ac39
Fix lhs < rhs bug ( #164 )
2017-12-14 19:56:32 +00:00
gingerBill
367013f589
Change Map and PtrSet grow rate
2017-12-12 23:39:20 +00:00
gingerBill
c980a30bad
Merge branch 'checker-optimizations' into explicit-overloading
...
# Conflicts:
# examples/demo.odin
2017-12-12 21:22:46 +00:00
gingerBill
78b459590c
Print nil for nil procedures in fmt.odin
2017-12-12 21:21:55 +00:00
gingerBill
054e241033
Localize checker data
2017-12-12 20:23:36 +00:00
gingerBill
f7e9649be4
Disable struct field reordering (for the time being)
2017-12-12 18:21:40 +00:00
gingerBill
fd1f6ec75c
Merge branch 'master' into explicit-overloading
2017-12-11 11:13:22 +00:00
gingerBill
6b0d7cb26c
Fix issue #162 regarding empty unions
2017-12-11 11:08:02 +00:00
gingerBill
3aea08df78
Change how abs, min, max, and clamp are implemented for floats
2017-12-11 11:06:43 +00:00
gingerBill
3c6f90e552
Fix proc groups from import names
2017-12-10 11:35:11 +00:00
gingerBill
3703ca4df4
Explicit procedure group; Remove implicit procedure overloading
2017-12-09 18:11:36 +00:00
gingerBill
41b8281c73
Set type of a procedure grouping to nullptr
2017-12-06 11:13:00 +00:00
gingerBill
acd1f83bd0
Fix procedure groupings
2017-12-06 11:11:53 +00:00
gingerBill
ba8371104d
Set procedure grouping type to t_invalid
2017-12-06 11:01:52 +00:00
gingerBill
991682e9fd
Fix write_entire_file
2017-12-06 10:58:02 +00:00
gingerBill
f0de994059
Make core library use procedure groupings rather than normal overloading
2017-12-04 22:01:51 +00:00
gingerBill
ebb2a9812c
Merge pull request #160 from thebirk/patch-1
...
Added skip for Entity_ProcedureGrouping
2017-12-04 15:07:09 +00:00
Aleksander Birkeland
265c05927f
Added skip for Entity_ProcedureGrouping
2017-12-04 16:05:42 +01:00
gingerBill
05ad38ae2d
Fix procedure grouping
2017-12-03 23:19:25 +00:00
gingerBill
596a2c8355
Procedure grouping foo :: proc[foo16, foo32];
2017-12-03 23:03:40 +00:00
gingerBill
9f52b2c283
Update demo.odin
2017-12-03 22:28:54 +00:00
gingerBill
8035a407a6
Remove dead code
2017-12-03 20:59:48 +00:00
gingerBill
97760c3fa4
Fix union_tag_size; Fix constant array of array literal printing with scalar contents
2017-12-03 20:49:19 +00:00
gingerBill
d75291097e
&x.(type)
2017-11-30 23:09:21 +00:00
gingerBill
db632b7e22
buffer_from_slice
2017-11-30 20:42:16 +00:00
gingerBill
1a75dfe075
Remove vector type (will be replaced by something else in the future)
2017-11-30 20:34:42 +00:00
gingerBill
e00d88d82e
Fix issue #157
2017-11-30 19:53:40 +00:00
gingerBill
04cce1826b
Fix map IR bug
2017-11-28 23:46:01 +00:00
gingerBill
cc28cda053
Fix issue #156
2017-11-28 22:49:34 +00:00
gingerBill
cfabc0e61f
Remove using in arrays; Remove _ non-exported struct fields
...
Start determining slow parts of the compiler
2017-11-28 22:12:33 +00:00
gingerBill
91b534d128
Fix transmute
2017-11-27 23:00:23 +00:00
gingerBill
3268f43340
Update ABI for basic types
2017-11-27 20:37:09 +00:00
gingerBill
05e374934d
Change proc ABI for Odin specific types
2017-11-27 20:18:06 +00:00
gingerBill
3e1ff0ec67
Update fmt for runes; Add strings.contains_rune
2017-11-26 23:54:23 +00:00
gingerBill
65945dac09
Fix comparison against nil for slices
2017-11-26 22:49:31 +00:00
gingerBill
1608da2dc8
for key, val in some_map {}; for val, idx in some_array {}
2017-11-26 18:56:47 +00:00
gingerBill
c340827381
Remove old slice procedures
2017-11-26 18:38:46 +00:00
gingerBill
74fa7ca25d
New slice memory layout (ptr+len); byte
2017-11-26 18:36:46 +00:00
gingerBill
5a9223afda
nil_allocator; Fix IR type checking assert; append_string
2017-11-26 15:25:45 +00:00
gingerBill
febcd73323
Fix merge from essence cross compile #154
2017-11-26 11:11:29 +00:00
gingerBill
df06236076
Merge pull request #154 from nakst/master
...
essence cross compile
2017-11-26 11:10:13 +00:00
Nakst
b0d3fbba47
essence cross compile
2017-11-26 11:03:11 +00:00
gingerBill
adb6c7637e
Fix 'fallthrough'
2017-11-25 11:16:23 +00:00
gingerBill
425f83b17d
Merge pull request #150 from zangent/master
...
Changed `string_has_extension` to `string_ends_with` and fix macOS target triple
2017-11-21 22:33:39 +00:00
gingerBill
976415ff9d
Fix key lookup of pointer to map
2017-11-21 22:32:41 +00:00
Zachary Pierson
4d7fb3e8d6
Changed string_has_extension to string_ends_with.
...
Fixed macOS target triple.
2017-11-21 16:16:53 -06:00
gingerBill
bcca3bf322
Remove target triple from windows
2017-11-19 16:55:24 +00:00
gingerBill
74aaa3408f
Fix debug symbol generation
2017-11-19 16:45:12 +00:00
gingerBill
2a5beee88c
Remove /SYMBOLS flag
2017-11-19 15:11:07 +00:00
gingerBill
cec9f7abfe
Add -debug command (still in development)
2017-11-19 15:06:56 +00:00
gingerBill
284a9cd4c3
Update usage text
2017-11-19 09:57:37 +00:00
gingerBill
5955c101d4
Update version
2017-11-19 09:56:51 +00:00
gingerBill
f80b910ba3
Set version number to v0.7.1
2017-11-19 09:50:22 +00:00
gingerBill
2b0521347b
Begin with on debugging symbol; fix version number 0.7.0
2017-11-19 09:49:55 +00:00
gingerBill
0c06a8d154
Fix issue #146 regarding polymorphic type parameters
2017-11-18 20:56:53 +00:00
gingerBill
b0e3a4e276
build_dll replace with -build-mode=dll
2017-11-17 20:21:58 +00:00
gingerBill
b651466630
Add ptr_to_bytes
2017-11-16 19:01:57 +00:00
gingerBill
24c09c9201
Allow for printf style assert and panic
2017-11-16 18:57:03 +00:00
gingerBill
e48346a9ee
Disable negation of unsigned constants (Issue: #145 )
2017-11-15 21:25:16 +00:00
gingerBill
9bd8bdaa5a
Disable all cyclic importations
2017-11-13 23:53:01 +00:00
gingerBill
a137699d95
Add optional truncate parameter to write_entire_file ( #144 )
2017-11-13 20:35:21 +00:00
gingerBill
f6a56c2f82
Remove #const; Minor fixes
2017-11-12 20:15:17 +00:00
gingerBill
dffa791607
In error messages, remove with '; Fix error messages for switch`
2017-11-12 19:00:48 +00:00
gingerBill
5ce6555721
Allow for default arguments after a variadic parameter
2017-11-12 17:55:16 +00:00
gingerBill
53b3ad186f
Fix untyped type IR bug
2017-11-10 22:37:38 +00:00
gingerBill
82c1c5b3fe
Merge pull request #142 from zangent/master
...
Added static linking for macOS, too. There's literally %number% of us!
2017-11-10 22:14:40 +00:00
Zachary Pierson
6d880bc3bb
Added static linking for macOS. Also fixed the build.sh. Thanks, vass :/
2017-11-10 16:11:55 -06:00
gingerBill
40281d595d
Fix parsing errors for variadic signatures
2017-11-10 22:03:05 +00:00
gingerBill
85fab55e57
Fix make
2017-11-10 21:43:37 +00:00
gingerBill
1d2eb8055e
Merge pull request #140 from vassvik/master
...
Fixed foreign import for linux. Modified .gitignore to ignore temp files and files in shared/. Added a Makefile for linux
2017-11-10 21:17:16 +00:00
vassvik
9e0b69312b
Fixed foreign import for linux. Modified .gitignore to ignore temp files and files in shared/. Added a Makefile for linux
2017-11-10 21:31:13 +01:00
gingerBill
bbddbba340
Fix cast to uintptr
2017-11-10 18:56:47 +00:00
gingerBill
0d01a6f552
Fix issue #139
2017-11-10 18:24:49 +00:00
gingerBill
ae3672608d
Fix link_name overriding
2017-11-09 23:36:10 +00:00
gingerBill
e5c39fb2a9
Fix opening file without close; Minor fixes
2017-11-09 22:58:44 +00:00
gingerBill
eb4b3f5976
Change push allocator system; update core libraries
2017-11-09 22:48:00 +00:00
gingerBill
dbb070524f
Allow nil in a ternary statement
2017-11-09 21:10:08 +00:00
gingerBill
36b0b50ba4
Amend allocation procedures with caller location; Compound literals missing type can determine type in certain cases.
2017-11-09 20:51:13 +00:00
gingerBill
ac46b2053d
Remove unnecessary IR bound checks
2017-11-08 22:14:07 +00:00
gingerBill
0ffcccdae5
Add Source_Code_Location parameter Allocator_Proc ( #138 )
2017-11-08 22:05:51 +00:00
gingerBill
4777bd607e
Fix issue #137
2017-11-08 22:02:15 +00:00
gingerBill
39e9b50482
Remove debug code
2017-11-07 23:09:05 +00:00
gingerBill
30adb9c770
Fix issue #134
2017-11-07 23:05:39 +00:00
gingerBill
b1d1497f4b
Fix array of array arithmetic
2017-11-07 23:02:53 +00:00
gingerBill
9df3a94d33
Fix cyclic type checking bug
2017-11-05 23:38:09 +00:00
gingerBill
d4f335d068
Fix fmt.odin %#v fancy printing
2017-11-05 19:47:18 +00:00
gingerBill
74341b9b74
Fix IR generation issue
2017-11-05 19:37:46 +00:00
gingerBill
66ee2cb6ed
#const value procedure parameters; $N for polymorphic array lengths
2017-11-05 18:26:24 +00:00
gingerBill
1d4881cbbe
Add array programming
2017-11-05 14:22:18 +00:00
gingerBill
04b917a60a
More code clean up
2017-11-04 10:53:47 +00:00
gingerBill
e6c99cd289
Cleanup attribute handling
2017-11-04 10:26:56 +00:00
gingerBill
6bc5584add
Fix fmt printing uintptr type
2017-11-04 00:16:54 +00:00
gingerBill
121f0185d6
Custom thread local models
2017-11-03 23:46:42 +00:00
gingerBill
e7999f8450
Foreign context cleanup
2017-11-03 23:20:30 +00:00
gingerBill
0b29e42adb
link_prefix; thread_local; fix link_name for file-scope variables
2017-11-03 23:11:06 +00:00
gingerBill
fcc8b89e6b
Fix issue #130 ; allow conversion from any pointer to uintptr and vice versa
2017-11-02 22:34:09 +00:00
gingerBill
529d1c78c7
Fix issue #131
2017-11-02 22:30:12 +00:00
gingerBill
414486829a
Add string_set.cpp; Code clean up
2017-10-30 20:26:05 +00:00
gingerBill
3e05be8eb8
@(default_calling_convention = ...) for foreign blocks
2017-10-29 18:09:05 +00:00
gingerBill
ae24a8e5ae
Fix pointer arithmetic; remove suffix #tags for proc types
2017-10-29 17:00:54 +00:00
gingerBill
d2588f9d1d
Infix proc calling convention proc "std" (...)
2017-10-29 16:44:44 +00:00
gingerBill
1eb9994d88
Attributes; @(link_name="foo")
2017-10-29 15:46:23 +00:00
gingerBill
a43b89f36e
#alias type declarations; core library additions; _global import name for the global scope
2017-10-29 11:35:21 +00:00
gingerBill
0ed34af19d
Fix importation of empty file (issue #128 )
2017-10-18 22:52:42 +01:00
gingerBill
71729c2855
Add anonymous using import names with an underscore ( #127 )
...
`using import _ "foo.odin"`
2017-10-18 22:29:14 +01:00
gingerBill
6c8c430c2a
Fix enum iteration (issue #126 )
2017-10-18 22:26:04 +01:00
gingerBill
57b97ad0bd
Fix issue #124
2017-10-15 23:30:55 +01:00
gingerBill
56f7a859df
Refactor code to remove entity flag for export
2017-10-15 16:16:16 +01:00
gingerBill
e5e14b9947
Remove name mangling for foreign export variables
2017-10-15 16:11:34 +01:00
gingerBill
3d8bf36a30
foreign export block
...
```
foreign export {
my_i32: i32;
my_foo :: proc() -> i32 {
return 123;
}
}
```
2017-10-15 16:05:42 +01:00
gingerBill
85f7c2d040
Change foreign_library to foreign import
2017-10-15 15:21:56 +01:00
gingerBill
26ea8f6dcb
Syntax: Replace foreign_system_library "kernel.lib" to foreign_library "system:kernel.lib"; Remove keyword: foreign_system_library
2017-10-15 12:11:33 +01:00
gingerBill
e05fe1837d
Fix minimal dependency generation for polymorphic structs (related to issue #121 )
2017-10-15 11:21:48 +01:00
gingerBill
94762b56f6
Fix issue #122
2017-10-15 10:14:17 +01:00
gingerBill
b3b688fa50
Fix issue #123
2017-10-15 10:09:50 +01:00
Ginger Bill
5eaa8de8f9
Fix issue with #118
2017-10-12 21:01:16 +01:00
Ginger Bill
26d3c54aff
Fix issue #119
...
This may need better error messages
2017-10-12 20:52:19 +01:00
Ginger Bill
349a62121c
Fix issue #120
2017-10-12 20:32:44 +01:00
Ginger Bill
bbb0e14633
Fix using import to work correctly
2017-10-12 20:28:32 +01:00
Ginger Bill
42312d9def
Fix typos in c.odin
2017-10-10 23:43:31 +01:00
Ginger Bill
065d0e4ee3
Fix string_to_enum_value
2017-10-09 22:56:48 +01:00
Ginger Bill
b772ad7094
Fix issue #116
2017-10-09 17:58:12 +01:00
Ginger Bill
444d366c39
Fix issue #115
2017-10-09 17:56:26 +01:00
Ginger Bill
8e4233b86a
Correct union size
2017-10-08 15:19:01 +01:00
Ginger Bill
6424966b7a
Union tag stored as an integer
2017-10-08 15:16:13 +01:00
Ginger Bill
4e42d7df43
Minor code reorganization
2017-10-08 12:27:03 +01:00
Ginger Bill
580ee5cc4a
Fix using on import names
2017-10-08 11:08:15 +01:00
Ginger Bill
56a98a483f
Better error messages for import cycles
2017-10-08 10:58:16 +01:00
Ginger Bill
df7a4eda8a
Allow for cyclic import but disallow cyclic using import and export
2017-10-07 11:37:43 +01:00
Ginger Bill
91cc0b282a
Fix issue #114
2017-10-04 18:57:27 +01:00
Ginger Bill
01d8aea4df
Disallow procedures literals as default values in anonymous struct types
2017-10-01 21:44:55 +01:00
Ginger Bill
ee904060c5
Disallow anonymous structs with procedures as default values
2017-10-01 21:22:39 +01:00
Ginger Bill
afb5538e83
Default procedure values for proc
2017-10-01 20:27:02 +01:00
Ginger Bill
1f24f105cc
"Constant" procedure values for default values in structs
2017-10-01 20:10:13 +01:00
Ginger Bill
8f39ebbe5a
Procedure literals for default values in structs
2017-10-01 20:01:00 +01:00
Ginger Bill
c1e720a49b
match to switch; Optional semicolons after "import" statements
2017-10-01 17:09:57 +01:00
Ginger Bill
f38c8875b2
Fix issue #104
2017-10-01 14:29:54 +01:00
Ginger Bill
e7e51f53ce
Fix cyclic polymorphic struct bug #111
2017-10-01 14:10:31 +01:00
Ginger Bill
5259de5872
Reserve the link_name main
2017-09-30 11:28:17 +01:00
Ginger Bill
e2b9c87aa8
Wrap entry point main around the C style main in the IR
2017-09-30 11:20:35 +01:00
Ginger Bill
8c7cf0dbb0
Fix union array bug (Issue #112 )
2017-09-29 21:35:59 +01:00
Ginger Bill
e6e9375b09
Remove http_test.odin
2017-09-29 21:20:39 +01:00
Ginger Bill
c6096f9205
Revert to demo.odin
2017-09-29 21:11:51 +01:00
Ginger Bill
11614c2649
Fix old_demos; Fix when bug; Fix enum .names
2017-09-29 21:11:16 +01:00
Ginger Bill
793bc8c585
Fix issue #89
2017-09-25 23:08:22 +01:00
Ginger Bill
335e88b738
Fix issue #106
2017-09-25 23:06:04 +01:00
Ginger Bill
b77ea94976
Fix issue #108
2017-09-25 22:59:59 +01:00
Ginger Bill
ae17a51c0d
Fix issue #109
2017-09-25 22:53:59 +01:00
gingerBill
ee7a83f124
Merge pull request #110 from ThisDrunkDane/invalid-token-print-pos
...
Print position of the invalid token found during parsing.
2017-09-25 22:51:41 +01:00
Mikkel Hjortshoej
67ac551a2f
The position that the invalid token was found at is printed
2017-09-25 21:42:23 +02:00
Ginger Bill
572ac616c1
Prevent statements after branch statements.
2017-09-24 14:58:15 +01:00
Ginger Bill
96bf6a5bcb
Fix cyclic importation error printing
2017-09-23 20:47:02 +01:00
Ginger Bill
c43d66c286
Use comma for struct field separators (disallow nesting)
2017-09-21 23:18:28 +01:00
Ginger Bill
95fb5fa46c
Fix #export proc tag
2017-09-21 22:32:24 +01:00
Ginger Bill
d614913c11
Fix decimal.odin, again
2017-09-20 23:17:33 +01:00
Ginger Bill
3bfaac0844
Fix decimal.odin assignment bug
2017-09-20 22:59:46 +01:00
Ginger Bill
14d0cbf6d7
Fix load order of files (again)
2017-09-20 21:42:42 +01:00
Ginger Bill
61a163d773
Fix crash with build_dll (Issue #100 )
2017-09-20 21:00:40 +01:00
Ginger Bill
3a644dad78
Fix issue #101
2017-09-20 20:45:40 +01:00
Ginger Bill
d2c1c719bd
Fix file load order and allow when statements at file scope
2017-09-20 20:38:32 +01:00
Ginger Bill
333db4dc94
Fix issues #95 and #96
2017-09-13 22:20:27 +01:00
Ginger Bill
cbcf4b6071
Fix issue #94
2017-09-11 22:49:26 +01:00
Ginger Bill
e6e0aba8c3
Remove when suffixes; Implement file scope when statement, evaluated in source order
2017-09-10 15:17:37 +01:00
Ginger Bill
85097a9958
Fix global variable initialization IR bug
2017-09-10 13:50:11 +01:00
Ginger Bill
7791c343c4
Allow for multiple library collections; Store AstFile as pointer
2017-09-10 13:26:14 +01:00
Ginger Bill
3bd762591a
Fix path_is_directory for *nix
2017-09-07 21:33:37 +01:00
Ginger Bill
8e3b77aba8
Library collections
2017-09-07 20:55:59 +01:00
Ginger Bill
36e3a02f67
Fix bit_field type information
2017-09-02 22:54:11 +01:00
Ginger Bill
566a242ba3
Fix issue #92
2017-09-02 10:06:44 +01:00
Ginger Bill
1e3b3c107c
IR Fix for UnionTagValue
2017-08-28 23:04:48 +01:00
Ginger Bill
2ac33285c1
Remove metagen.odin
2017-08-27 23:28:20 +01:00
Ginger Bill
7cb8016df3
Add examples
2017-08-27 23:27:12 +01:00
Ginger Bill
cf3c5a878a
export declarations
2017-08-27 19:36:43 +01:00
Ginger Bill
2d20bde495
Remove () grouping for foreign_library
2017-08-27 19:24:30 +01:00
Ginger Bill
b9e347ef50
Replace import_load with using import .
2017-08-27 17:03:27 +01:00
Ginger Bill
6707c8750e
Import cycle checking
2017-08-27 14:42:19 +01:00
Ginger Bill
e5502c13ee
Restrict global variables to not allow tuples
2017-08-20 19:35:52 +01:00
Ginger Bill
f30d2e43ea
Add priority_queue.cpp and ptr_set.cpp
2017-08-20 18:39:09 +01:00
Ginger Bill
6c73f9d3fd
Global variable dependency initialization ordering
...
Fuck graph theory
2017-08-20 18:28:21 +01:00
Ginger Bill
1161aa829d
Fix mem.Arena
2017-08-13 22:20:44 +01:00
Ginger Bill
01519f2fd5
Fix push_allocator
2017-08-13 22:09:26 +01:00
Ginger Bill
33aad3a8ce
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-08-12 20:04:58 +01:00
Ginger Bill
4262c125c5
Fix struct #packed alignment calculation
2017-08-12 20:04:35 +01:00
Ginger Bill
a09d5959ef
Fix issues with OSX
2017-08-11 12:47:07 +01:00
Ginger Bill
d7bd3f8402
Fix compilation issues on OSX
2017-08-11 00:16:57 +01:00
Ginger Bill
0fff6a2b74
Fix i128 division
2017-08-10 23:46:12 +01:00
Ginger Bill
f4c0405221
Fix inline #raw_union bug in issue #87
2017-08-08 21:27:42 +01:00
Ginger Bill
49d337c830
v0.6.2; Use Ada_Case for types
2017-08-03 21:21:56 +01:00
Ginger Bill
294092979e
Update build.bat
2017-08-01 21:38:06 +01:00
Ginger Bill
c454ede184
v0.6.1a
2017-08-01 17:30:26 +01:00
Ginger Bill
d854c5003c
Fix minor errors for *nix
2017-08-01 17:28:49 +01:00
Ginger Bill
66d8776b83
v0.6.1
2017-08-01 15:18:37 +01:00
Ginger Bill
ba6ecf35cf
Disable threading on *nix for the time being
2017-08-01 15:09:43 +01:00
Ginger Bill
10cc9cf661
Add mutexes to string buffer allocator uses
2017-08-01 14:24:40 +01:00
Ginger Bill
2db971eedd
Use pthread mutex
2017-08-01 13:49:12 +01:00
Ginger Bill
1775e80b41
HACK: Ignore Mutex check
2017-07-31 23:18:21 +01:00
Ginger Bill
e4a93619db
Update gb.h
2017-07-31 12:17:53 +01:00
Ginger Bill
4d14b3bcb4
Update remove_temp_files
2017-07-31 12:15:20 +01:00
Ginger Bill
9f4f5f9346
Add -keep-temp-files option
2017-07-31 12:06:04 +01:00
Ginger Bill
0fae31fb54
Extra type safety; Fix typos
2017-07-31 11:36:00 +01:00
Ginger Bill
8987a6630c
v0.6.0
2017-07-30 22:26:22 +01:00
Ginger Bill
10ff8e0426
Fix ir for TypeInfo.Map
2017-07-30 20:17:25 +01:00
Ginger Bill
a0ae02168a
Update add_type_info_type to ignore polymorphic types
2017-07-30 20:13:23 +01:00
Ginger Bill
a3c1ac2030
Speed up llvm ir printing; Use CRITICAL_SECTION for Mutex on windows
2017-07-30 19:47:37 +01:00
Ginger Bill
629b248f53
Parallelization of the Parser
...
~66% reduction (unoptimized build)
~30% reduction (optimized build)
2017-07-30 19:01:02 +01:00
Ginger Bill
62a72f0163
transmute(type)x; Minor code clean up
2017-07-30 14:52:42 +01:00
Ginger Bill
655931f0ea
Minor Simplification of threading demo
2017-07-29 15:18:36 +01:00
Ginger Bill
ca36fabfc0
Remove dead code for the "fixed" map idea
2017-07-29 14:43:42 +01:00
Ginger Bill
7bd62481ad
Fix nil assignment to unions
2017-07-29 14:23:34 +01:00
Ginger Bill
fbd27d7c45
Fix map internal type generation
2017-07-29 13:56:45 +01:00
Ginger Bill
3546391311
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-07-29 13:01:28 +01:00
Ginger Bill
24c812115e
Remove empty union check on array types; Fix overflowing error printing
2017-07-29 13:01:17 +01:00
gingerBill
28be0ad69b
Fix IR print bug for empty structs;
2017-07-28 11:35:01 +01:00
gingerBill
f0980c0a98
Fix import name exportation bug; Fix procedure type printing
2017-07-24 07:57:09 +01:00
Ginger Bill
1df4aa90ce
Fix struct parameter bugs
2017-07-21 15:25:58 +01:00
Ginger Bill
6b3cf051f8
Fix math.odin, again
2017-07-21 12:39:05 +01:00
Ginger Bill
4ecd6e592b
Fix missing semicolons in math.odin
2017-07-21 10:37:49 +01:00
Ginger Bill
dbddec33c8
Internal changes; thread.odin for windows only
2017-07-20 23:57:56 +01:00
Ginger Bill
401a5955a4
Fix minor check on vector types
2017-07-20 19:55:54 +01:00
Ginger Bill
9a3b4167bb
Fix polymorphic element types usage; Empty union as opaque type
2017-07-20 19:40:51 +01:00
Ginger Bill
13bc6eeea4
Make fields et al an Array rather than a raw pointer
2017-07-20 15:32:34 +01:00
Ginger Bill
2da18b6d33
Change internals from Record to Struct
2017-07-20 15:23:13 +01:00
Ginger Bill
6d37ed12d2
Update internals of a Union and Tuple
2017-07-20 15:17:04 +01:00
Ginger Bill
eab23cd5b7
Fix parsing bug with procedure types in return values
2017-07-19 22:34:50 +01:00
Ginger Bill
d233706a2d
Fix minor parsing bug with procedure return types
2017-07-19 22:17:57 +01:00
Ginger Bill
f1ab17ed4e
type_info_of; enum_value_to_string and string_to_enum_value
2017-07-19 14:01:56 +01:00
Ginger Bill
6113164211
Change union layout to store type info rather than an integer; ternary expression for types with constant condition
2017-07-19 12:15:21 +01:00
Ginger Bill
4db462a703
Fix copy
2017-07-18 20:39:53 +01:00
Ginger Bill
a22c6d6c0c
Fix parsing error for compound literals
2017-07-18 19:57:30 +01:00
Ginger Bill
59fb7b020a
Merge raw_union into struct as a memory layout tag #raw_union
2017-07-18 19:24:45 +01:00
Ginger Bill
65f079ebc4
Remove atomic, ++, and --
2017-07-18 18:58:41 +01:00
Ginger Bill
d16aa79492
General specialization for polymorphic parameters
2017-07-18 18:05:41 +01:00
Ginger Bill
5af0acc4af
Disallow default struct values for any; new_clone
2017-07-18 16:02:01 +01:00
Ginger Bill
a459364de3
Ignore missing default values for struct literals at the end
2017-07-18 15:32:34 +01:00
Ginger Bill
277ef1a68f
Allow undefined --- as a struct field default value.
2017-07-18 15:09:24 +01:00
Ginger Bill
193c7c82c8
Default struct field values
2017-07-18 14:56:07 +01:00
Ginger Bill
f7d8ba408c
Fix some preload bugs.
2017-07-18 11:42:16 +01:00
Ginger Bill
9a8759efef
Polymorphic type specialization for procedures
2017-07-17 15:08:36 +01:00
Ginger Bill
054948e701
Basic procedure type parameter specialization
2017-07-16 15:00:16 +01:00
Ginger Bill
1c5ddd65b4
Rudimentary support for parametric polymorphic types
2017-07-13 22:35:00 +01:00
Ginger Bill
b8697fb4ed
Change precedence order for types e.g. ^T(x) == ^(T(x))
2017-07-13 16:20:07 +01:00
Ginger Bill
03570275c1
Fix issue #78 and have a better error message.
2017-07-13 11:35:01 +01:00
Ginger Bill
b5587f1937
Fix aliasing of overloaded procedures from other scopes
2017-07-11 20:54:38 +01:00
Ginger Bill
c4c6975f1b
cast(Type)expr; Fix overloaded procedure determination on assignment
2017-07-11 14:40:27 +01:00
Ginger Bill
0be0fb2a57
Nested when statements within records
2017-07-10 23:47:22 +01:00
Ginger Bill
115e6e7f9e
Update demo for both subtyping and union based Entity
2017-07-10 23:28:53 +01:00
Ginger Bill
3868a9a0f0
Clean up _preload.odin types
2017-07-10 23:15:41 +01:00
Ginger Bill
ba5050ac7c
Compiler Internal Changes: TypeRecord_Union -> Type_Union
2017-07-10 22:59:23 +01:00
Ginger Bill
d936ca1ea0
Compiler internal change: TypeRecord_Enum -> Type_Enum
2017-07-10 22:42:58 +01:00
Ginger Bill
fd8c4d58bb
union type allow for any types and removes common fields
2017-07-10 22:32:21 +01:00
Ginger Bill
ce4b7b8b7d
Nested record declarations
2017-07-10 20:39:42 +01:00
Ginger Bill
069a47220e
Make record semicolon syntax more consistent
2017-07-10 14:52:58 +01:00
Ginger Bill
66e4aaffc5
Use semicolons as field delimiters in records
2017-07-10 13:49:50 +01:00
Ginger Bill
81336b58cb
"Fix" printing of embedded any to prevent recursion
2017-07-10 10:37:51 +01:00
Ginger Bill
b201670f7a
Fix _preload.odin; Add for in without parameters; Change sync.Mutex for windows
2017-07-08 23:13:57 +01:00
Ginger Bill
4b051a0d3b
.. half closed range; ... open range; ... variadic syntax
2017-07-07 23:42:43 +01:00
Ginger Bill
45353465a6
Add sort.odin
2017-07-07 22:26:55 +01:00
Ginger Bill
c63cb98019
Fix else do
2017-07-07 17:50:45 +01:00
Ginger Bill
773cf5ca08
Add -show-timings; Clean up polymorphic procedure code a bit
2017-07-07 15:26:49 +01:00
Ginger Bill
2db03cb4a5
Fix aprint* bug; NULL -> nullptr; Better error messages for overloaded functions
2017-07-06 22:43:55 +01:00
Ginger Bill
eed873c6ec
Add free for maps (a previous oversight)
2017-07-05 13:51:25 +01:00
Ginger Bill
3d2d461867
Replace many built-in procedures with user-level procedures
2017-07-04 23:52:00 +01:00
Ginger Bill
36392d658e
Fix demo.odin
2017-07-04 22:43:38 +01:00
Ginger Bill
82696179e8
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-07-04 22:42:41 +01:00
Ginger Bill
188bc28f6a
Allow for overloading of polymorphic procedures
2017-07-04 22:42:25 +01:00
Ginger Bill
240da5c8e0
Allow aliasing of aliases
2017-07-04 16:06:08 +01:00
Ginger Bill
689a0c0b49
*_of as keyords; Allow constant aliasing for user/built-in procedures, import names, and library names
2017-07-04 11:23:48 +01:00
Ginger Bill
bc16b290ba
Disable polymorphic overloading in the global scope
...
TODO: Figure out why it does not work in the global scope
2017-07-02 22:08:39 +01:00
Ginger Bill
96d32680fe
Allow overloading of polymorphic procedures
2017-07-02 10:45:22 +01:00
Ginger Bill
d782b3d21d
Fix do on for loops
2017-07-01 11:53:01 +01:00
Ginger Bill
ed089b44b9
do keyword for inline statements instead of blocks
2017-07-01 11:38:44 +01:00
Ginger Bill
33f4af2e19
Fix demo
2017-06-29 21:01:07 +01:00
Ginger Bill
69f7382eec
Implicit parametric polymorphic procedures
2017-06-29 20:56:18 +01:00
Ginger Bill
7e3293fc20
Fix odin version printing
2017-06-29 16:08:30 +01:00
Ginger Bill
e4a8283327
Remove Type
...
What was I thinking?!
2017-06-29 15:48:07 +01:00
Ginger Bill
001baf4419
Add Type -- Runtime type for comparing types (similar to TypeInfo but simpler)
2017-06-29 15:13:41 +01:00
Ginger Bill
d167290b28
Make AstNodeIdent a struct wrapping its Token
2017-06-29 12:11:50 +01:00
Ginger Bill
f4879d4723
Update procedure names and extend demo.odin
2017-06-29 11:25:05 +01:00
Ginger Bill
fd81c06c35
Remove var and const keywords; Fix default parameter syntax
2017-06-28 23:55:40 +01:00
Ginger Bill
94afcec757
:: style procedure declarations; remove old parsing code
2017-06-28 23:47:06 +01:00
Ginger Bill
4f28e9e1fb
Remove type prefix declarations
2017-06-28 23:23:10 +01:00
Ginger Bill
0622509807
Disable var and const declarations
2017-06-28 23:17:20 +01:00
Ginger Bill
9ca2246bac
Basic allowance for := and ::
2017-06-28 22:38:04 +01:00
Ginger Bill
647e2cafd7
Fix expand_to_tuple
2017-06-27 22:47:19 +01:00
Ginger Bill
5df854fcef
Fixed demo
2017-06-27 15:58:53 +01:00
Ginger Bill
260089431e
Write demo for v0.5.0
2017-06-26 21:34:54 +01:00
Ginger Bill
d0d8da8c08
Revert demo
2017-06-26 19:42:32 +01:00
Ginger Bill
d1365b3466
Fix poly-procs for variadic calls
2017-06-26 19:24:04 +01:00
Ginger Bill
c949ca2a5c
Allow for named arguments for polymorphic procedures
2017-06-26 18:20:24 +01:00
Ginger Bill
d974b29f67
Reduce excessive node cloning on para-poly checking and fix scope bug
2017-06-26 14:39:51 +01:00
Ginger Bill
cc7316bb35
Fix IR printing for para-poly procedures
2017-06-26 14:16:16 +01:00
Ginger Bill
a0d8dcd974
Remove let
2017-06-26 13:59:15 +01:00
Ginger Bill
c642e326ce
Undef value --- (for setting a value to be uninitialized/undefined)
2017-06-26 11:57:26 +01:00
Ginger Bill
362a118782
Remove "overloading" bug of para-poly-procs
2017-06-25 23:41:46 +01:00
Ginger Bill
3ab481df17
new as a user-level procedure
2017-06-25 22:31:30 +01:00
Ginger Bill
4e7150b470
Allow nested para-poly procedures
2017-06-25 22:29:23 +01:00
Ginger Bill
1ced92be47
Rudimentary para-poly procedures
2017-06-25 22:15:30 +01:00
Ginger Bill
15dbea6899
Generic procedures generate types on use
2017-06-25 19:41:07 +01:00
Ginger Bill
c4081393c1
Fix typo for some built-in procedures
2017-06-25 17:36:10 +01:00
Ginger Bill
1d81b73df9
Basic command line flags: e.g. -opt=0
2017-06-24 22:58:50 +01:00
Ginger Bill
18f885efab
expand_to_tuple
2017-06-24 20:39:37 +01:00
Ginger Bill
bba088bee7
Use UTF-8 command line on windows
2017-06-24 11:42:49 +01:00
Ginger Bill
6cbb6bef0b
Wrap hashing functions
2017-06-22 16:14:02 +01:00
Ginger Bill
8744c60563
Clean up code for return statements, slightly
2017-06-22 13:47:50 +01:00
Ginger Bill
8197c02dcf
Default result values for procedure types; Named result values in return statements
2017-06-22 01:14:45 +01:00
Ginger Bill
9faf0020cc
Amend Checker API
2017-06-21 21:46:27 +01:00
Ginger Bill
53075e2570
Update old demos
2017-06-21 21:20:26 +01:00
Ginger Bill
264ca00db7
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-06-21 17:49:05 +01:00
Ginger Bill
6b65ef6d88
Fix compilation bug on Linux
2017-06-21 17:48:50 +01:00
Ginger Bill
5957d7f7be
Implicit Parameter Passing based context system (replacing Thread Local Storage (TLS) approach)
2017-06-20 12:38:05 +01:00
Ginger Bill
35c102137f
Compiler compiles for x86 (doesn't work properly)
2017-06-19 18:49:11 +01:00
Ginger Bill
5427d14416
Code will compile as 32 bit but will causes errors in the linker on Windows
2017-06-19 15:55:09 +01:00
Ginger Bill
178236d1ff
Barebones layout for the documentation declarations
2017-06-18 23:41:13 +01:00
Ginger Bill
736c880ba9
Add docs.cpp
2017-06-18 23:18:15 +01:00
Ginger Bill
126f7aa892
Begin work on documentation generation
2017-06-18 23:16:57 +01:00
Ginger Bill
2957f007e3
Fix #location for anonymous procedures
2017-06-18 17:35:27 +01:00
Ginger Bill
04501c93fe
Implement assert and panic in user side code
...
Removes 2 more built-in procedures!
2017-06-18 17:25:28 +01:00
Ginger Bill
4236519b84
#location(..) and #call_location
2017-06-18 14:36:06 +01:00
Ginger Bill
e4944b4f2e
Fix error reporting for foreign blocks
2017-06-17 20:03:52 +01:00
Ginger Bill
2deb2f8eeb
Declaration grouping uses () rather than {}; Fix some problem with compilation on *nix
2017-06-17 12:01:53 +01:00
Ginger Bill
3fa398ec43
Add extra check for bodiless procedures
2017-06-15 21:36:29 +01:00
Ginger Bill
1851674b50
Code use API rather than raw CheckerInfo; begin work on generic procedures
2017-06-15 18:11:58 +01:00
Ginger Bill
c5ef5279d4
Add foreign variables
2017-06-15 14:42:08 +01:00
Ginger Bill
d3c24d159f
Merge size_of and size_of_val et al.
2017-06-15 12:25:53 +01:00
Ginger Bill
23f9f9064e
Add CheckerInfo API functions
2017-06-15 12:14:56 +01:00
Ginger Bill
a134307dcd
Fix issue #72 - 128-bit literal corruption
2017-06-14 14:58:48 +01:00
Ginger Bill
c3b510c2d9
C-style c_varargs (Not heavily tested)
2017-06-13 21:00:42 +01:00
Ginger Bill
e7fc24e48c
Fix compilation error for Invalid EntityKind
2017-06-13 18:04:22 +01:00
Ginger Bill
6a88dc322a
Declaration grouping uses braces rather than parentheses
2017-06-13 15:04:23 +01:00
Ginger Bill
6b464e3558
Update README.md
2017-06-12 21:41:14 +01:00
Ginger Bill
76b0c7b765
"Revert" to older demo
2017-06-12 21:27:53 +01:00
Ginger Bill
91857e8f16
Remove redundant paths in parsing
2017-06-12 21:25:47 +01:00
Ginger Bill
ccda456c0a
foreign blocks for procedures
2017-06-12 21:21:18 +01:00
Ginger Bill
83bad13e9e
Update default field value syntax; Use more declaration groupings
2017-06-12 18:38:27 +01:00
Ginger Bill
e6a206a430
Check for empty generic declaration list
2017-06-12 16:58:25 +01:00
Ginger Bill
f52a1e4ded
Fix IR bug for TypeSpec
2017-06-12 16:47:07 +01:00
Ginger Bill
a8e458339b
foreign_library allow for Pascal-style grouping
2017-06-12 16:26:51 +01:00
Ginger Bill
6b5e9aec8e
Pascal style declaration grouping with ()
2017-06-12 15:42:21 +01:00
Ginger Bill
2ab0d97573
import and import_load as keywords; Fix procedure literal call trick
2017-06-12 14:19:12 +01:00
Ginger Bill
0c05fc1432
Prefix type and let to replace immutable
2017-06-12 12:56:47 +01:00
Ginger Bill
33eeb58521
Prefix proc syntax
2017-06-12 12:34:55 +01:00
Ginger Bill
8fafdb185c
Remove := with var and :: with const
2017-06-12 11:48:12 +01:00
Ginger Bill
c2c935ba81
Fix trailing default argument checking
2017-06-11 20:52:54 +01:00
Ginger Bill
2d73c8868b
Make default arguments for records invalid syntax
2017-06-11 19:01:36 +01:00
gingerBill
b95bb1286b
Merge pull request #70 from ThisDrunkDane/master
...
Add some WM_*, some WS_* and map_virtual_key
2017-06-11 18:54:30 +01:00
Mikkel Hjortshoej
4237c8ec30
Merge branch 'master' of github.com:gingerBill/Odin
2017-06-11 19:53:44 +02:00
Ginger Bill
49b4b39055
Minor change for overloaded procedures
2017-06-11 18:53:20 +01:00
Mikkel Hjortshoej
bf15fea135
Merge branch 'master' of github.com:gingerBill/Odin
2017-06-11 19:47:57 +02:00
Mikkel Hjortshoej
47c03e376d
Merge branch 'master' of github.com:gingerBill/Odin
2017-06-11 19:47:05 +02:00
Ginger Bill
1cabfac36c
Update README.md
2017-06-11 18:46:59 +01:00
Mikkel Hjortshoej
8e32276283
Added a bunch of VM_* and map_virtual_key
2017-06-11 19:46:55 +02:00
Ginger Bill
366b306df0
Default parameters for procedures
2017-06-11 18:38:30 +01:00
Ginger Bill
4bf1f798f5
Allow for ignoring named procedural call arguments with _
2017-06-11 17:41:55 +01:00
Ginger Bill
b2fdb69b4d
Named procedure calls
2017-06-11 12:01:40 +01:00
Ginger Bill
af2736daec
Fix bit field bug
2017-06-08 16:29:05 +01:00
Ginger Bill
5cad7d44a6
Use templated Map for extra type safety
2017-06-08 13:26:48 +01:00
Ginger Bill
2b96be0ae8
Remove unnecessary typedef usage
2017-06-08 13:08:39 +01:00
Ginger Bill
2a89d8021c
Use templated Array with bounds checking
2017-06-08 12:54:52 +01:00
Ginger Bill
13deb4706c
Update String to use overloading
2017-06-08 12:37:07 +01:00
Ginger Bill
9b61adb97d
Build as C++
2017-06-08 12:03:40 +01:00
Ginger Bill
333924cce1
v0.3 Release
2017-06-08 11:35:22 +01:00
Ginger Bill
574b82c0c7
v0.3.0
2017-06-07 22:09:16 +01:00
Ginger Bill
f60c772c11
Make rune a basic type and not an alias; Remove byte
2017-06-06 23:54:33 +01:00
Ginger Bill
107740ca5e
Fix issue #69 for fmt.printf padding
2017-06-06 10:02:53 +01:00
gingerBill
88b990eb63
Merge pull request #53 from ghost/master
...
Fix link time error about missing -fPIC flag
2017-06-06 09:47:40 +01:00
Ginger Bill
d2e7d730ac
Fix key generation for constant strings in IR
2017-06-05 23:06:15 +01:00
Ginger Bill
817e4b663e
Add murmurhash3.c
2017-06-05 22:52:56 +01:00
Ginger Bill
214bb73454
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-06-05 18:01:57 +01:00
Ginger Bill
eba2c74bff
Allow 128 bit map keys
2017-06-05 18:01:41 +01:00
gingerBill
7c5e6c808b
Merge pull request #68 from ThisDrunkDane/master
...
Added extra sys/windows.odin stuff
2017-06-05 15:18:04 +01:00
Ginger Bill
ebe5beaafd
Allow using on bit fields
2017-06-04 11:53:33 +01:00
Ginger Bill
029a6095d9
Fix enum printing bug
2017-06-04 00:20:16 +01:00
Ginger Bill
2c0e59ae06
bit_field; Lexical sugar operators ≠ ≤ ≥
...
Example below:
// See: https://en.wikipedia.org/wiki/Bit_field
BoxProps :: bit_field {
opaque : 1,
fill_colour : 3,
_ : 4,
show_border : 1,
border_colour : 3,
border_style : 2,
_ : 2,
width : 4,
height : 4,
_ : 8,
}
2017-06-03 22:27:23 +01:00
Ginger Bill
9d1a4c304a
Remove Quat from math.odin
2017-06-01 15:12:54 +01:00
Ginger Bill
13b8a1e348
Remove quaternion128 and quaternion256 as core types
2017-06-01 14:52:33 +01:00
Ginger Bill
0d4945dc87
Implement u128/i128 features; Add bits.odin
2017-06-01 14:23:46 +01:00
Mikkel Hjortshoej
e0b9c4a275
Added extra sys/windows.odin stuff
...
- Added PM_NOREMOVE
- Added PM_NOYIELD
- Added get_message_a
- Added post_message_a
2017-06-01 00:05:33 +02:00
Ginger Bill
fec6df65b3
Use 128-bit integers for ExactValue integers
2017-05-30 15:23:01 +01:00
Ginger Bill
78494e84d5
Remove some asserts in timings.c
2017-05-29 19:41:13 +01:00
Ginger Bill
60d7c833c0
Fix unary expression type check
2017-05-28 21:56:40 +01:00
Ginger Bill
98dbbf11f3
Fix procedure overloading distinguishing
2017-05-28 18:51:42 +01:00
Ginger Bill
f4924e39d4
Fix printing of struct literals with custom alignment
2017-05-28 16:11:19 +01:00
Ginger Bill
826e05c96e
Convert windows.odin to the new naming convention
2017-05-28 16:08:29 +01:00
Ginger Bill
d3f63e5903
Change label syntax for for and match from #label name to name:
2017-05-28 15:01:39 +01:00
Ginger Bill
80c034ec7c
Change naming convention from Ada_Like to RustLike
...
Naming Conventions:
In general, PascalCase for types and snake_case for values
Import Name: snake_case (but prefer single word)
Types: PascalCase
Union Variants: PascalCase
Enum Values: PascalCase
Procedures: snake_case
Local Variables: snake_case
Constant Variables: SCREAMING_SNAKE_CASE
2017-05-28 14:47:11 +01:00
Ginger Bill
b41f09b730
Experimental try for ABI for return values on windows
...
It's all done by reverse engineering it. I may be wrong...
2017-05-28 14:11:00 +01:00
Ginger Bill
06185e1769
Try a different ABI type for return values on Windows
2017-05-28 01:07:52 +01:00
Ginger Bill
f8fa7fe380
Fix bug with too many field values in a structure literal.
2017-05-27 20:57:48 +01:00
Ginger Bill
45dbe8d354
default: to case:; no_alias to #no_alias
2017-05-27 11:47:21 +01:00
Ginger Bill
ddb99dd638
Fix interval loop constant bug; Fix ir edge checking; Fix vector arithmetic with scalars
2017-05-22 23:29:09 +01:00
Ginger Bill
41aa4e606b
Optional main for DLL; access struct elements by "index"
2017-05-17 21:23:52 +01:00
Ginger Bill
e025a828ca
Fix issue #66
2017-05-14 10:32:48 +01:00
Ginger Bill
807e17207a
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-05-13 16:09:04 +01:00
Ginger Bill
3e18f5f057
Fix Ternary Operator IR bug
2017-05-13 16:08:50 +01:00
gingerBill
9637cc5690
Add #ordered to the "raw" types in raw.odin
2017-05-12 16:04:05 +01:00
Ginger Bill
ded99a2cab
Fix issue with os.file_size on *nix
2017-05-12 10:29:55 +01:00
Ginger Bill
45eecc0905
Reimplement #ordered again
2017-05-12 10:27:14 +01:00
Ginger Bill
87f1a62ca4
Fix alignment for normal structures to match LLVM
2017-05-10 22:51:35 +01:00
Ginger Bill
c6d531df95
Add %% operator (divisor modulo)
2017-05-09 16:21:31 +01:00
Ginger Bill
8677c81da7
Fix ir bug; allow formatting options for arrays & et al.
2017-05-09 12:05:17 +01:00
Ginger Bill
5595daf5a3
Revert demo.odin
2017-05-09 10:01:50 +01:00
Ginger Bill
64b5afd820
Fix issue #63 for block comments not terminating at an EOF
2017-05-09 10:01:10 +01:00
Ginger Bill
7692061eef
Add XOR for booleans
2017-05-07 20:52:20 +01:00
Ginger Bill
f7f2272c50
Fix fmt_float precision
2017-05-07 11:42:27 +01:00
Ginger Bill
03fbdc3f75
Fix IR printing bug with global unicode identifiers
2017-05-06 23:02:47 +01:00
Ginger Bill
ea6a4859ed
Merge branch 'master' of https://github.com/gingerBill/Odin
2017-05-06 20:56:18 +01:00
Ginger Bill
615fa82d1f
Fix using issue #62
2017-05-06 20:55:09 +01:00
gingerBill
b60b310121
Merge pull request #61 from ThisDrunkDane/master
...
Fix constant casing and add several win32 functions, structure and constants
2017-05-05 21:00:58 +01:00
Mikkel Hjortshoej
c7f7e562a0
Add following win32 functions
...
- ShowCursor
- GetFileAttributesA
- FindFirstFileA
- FindNextFileA
- FindClose
Add following win32 constants
- MAX_PATH
- INVALID_FILE_ATTRIBUTES
Add following win32 structure
- Find_Data
2017-05-05 20:32:48 +02:00
Mikkel Hjortshoej
a317237404
Fix casing on FILE_ATTRIBUTE_DIRECTORY
2017-05-05 20:22:18 +02:00
Ginger Bill
51ea59d76a
Fix calculation of vector type sizes
2017-05-04 23:18:54 +01:00
Ginger Bill
789b297f32
Add hidden __tag for union variables.
2017-05-04 20:34:50 +01:00
Ginger Bill
3b25f924cb
Remove debug bug
2017-05-03 11:01:17 +01:00
Ginger Bill
cc6282a6e3
Fix alignment and size bug of enums; Remove #ordered and make the default #ordered.
2017-05-02 21:16:09 +01:00
Ginger Bill
206a3e093c
Remove check on array/slice/dynamic element size
2017-05-02 20:17:53 +01:00
Ginger Bill
19bde275a3
Add files in core
2017-05-01 15:30:16 +01:00
Ginger Bill
634ee450f4
v0.2.1
2017-05-01 15:28:26 +01:00
Ginger Bill
750d7256fc
Unary expression for vector (fix)
2017-05-01 15:27:21 +01:00
Ginger Bill
fae5df2ed8
Fix IR vector arith conv bug
2017-05-01 15:05:56 +01:00
Ginger Bill
01d9161772
Fix value conversion with enum value on for in.
2017-05-01 10:10:07 +01:00
Ginger Bill
aceabb2f2f
for in iteration of Enum Type (request from issue #58 )
2017-05-01 10:02:25 +01:00
Ginger Bill
04f5fff7fa
Improve vector math; Make bprint* return string
2017-05-01 00:38:26 +01:00
Ginger Bill
dc5587eae2
Fix statement parsing of unary: & and ^
2017-04-30 17:20:37 +01:00
Ginger Bill
7057034b75
v0.2.0
2017-04-30 16:28:13 +01:00
Ginger Bill
1430ca30a3
Fix subtype polymorphism implicit conversion
2017-04-30 16:22:24 +01:00
Ginger Bill
e63393e394
Add type assertion for any
2017-04-30 15:29:46 +01:00
Ginger Bill
784f3ecf7e
Syntax change: cast(T)x => T(x); union_cast(T)x => x.(T); transmute(T)x => transmute(T, x); y:=^x => y:=&x;
...
Sorry for all the code breaking in this commit :(
2017-04-30 15:09:36 +01:00
Ginger Bill
54ea70df98
Fix issues #50 and #55
2017-04-29 20:06:29 +01:00
Constantine Tarasenkov
d05ec5e484
Fix link time error about missing -fPIC flag
2017-04-28 18:08:11 +03:00
Ginger Bill
c7575164cc
Revert to previous demo
2017-04-28 11:03:19 +01:00
Ginger Bill
99125dc743
Fix issue #51 ; begin work on atomic types
2017-04-28 11:01:46 +01:00
Ginger Bill
b78e970698
Fix issue #48 dependency issue
2017-04-26 23:51:13 +01:00
Ginger Bill
5b8be25938
fmt.String_Buffer, Fix issue #44 , Tweak overloading rules
2017-04-26 19:43:17 +01:00
Ginger Bill
29efdc5fc1
Fix initialization of global any types
2017-04-25 15:02:35 +01:00
Ginger Bill
a80872b60d
Fix checking if a procedure terminates for for loops.
2017-04-25 09:46:30 +01:00
Ginger Bill
822bb51b55
Swap memory layout of any
2017-04-23 18:03:29 +01:00
Ginger Bill
c2fa79012e
Fix find_using_index_expr
2017-04-23 11:04:22 +01:00
Ginger Bill
3fd37c6dc5
Internal change: IntervalExpr is now a BinaryExpr
2017-04-22 10:10:49 +01:00
Ginger Bill
0ea815db49
Fix constant bounds checking for slicing
2017-04-22 09:40:32 +01:00
Ginger Bill
91ed51ff5c
Continue work on custom SSA; Fix double declaration in when statements
2017-04-21 17:56:29 +01:00
Ginger Bill
4d0afc55c3
Making slicing a little more robust
2017-04-21 10:03:27 +01:00
Ginger Bill
9a1566d665
Interval expressions for match statements
2017-04-21 00:13:20 +01:00
Ginger Bill
a713e33007
Change interval syntax: .. open range, ..< half-closed range
2017-04-20 23:22:45 +01:00
Ginger Bill
c5411a25a9
Change Union representation for LLVM IR; fix dynamic array size
2017-04-19 18:58:23 +01:00
Ginger Bill
95692fda52
Fix bug with union literal checking crashing the compiler
2017-04-18 21:20:41 +01:00
Ginger Bill
813a028ed0
Fix procedure calls from non-regular addressing modes
2017-04-17 22:17:16 +01:00
Ginger Bill
0c22081e5f
Fix error printing for basic directives
2017-04-17 19:58:43 +01:00
Ginger Bill
6d9fadf351
Make the ABI changes only affect windows
...
TODO: decide upon rules for *nix systems
2017-04-17 12:01:04 +01:00
Ginger Bill
a213061f33
Change tag checking order
2017-04-16 23:08:48 +01:00
Ginger Bill
d1a0a46141
Fix issue #37 for procedure literal scopes
2017-04-16 22:48:29 +01:00
Ginger Bill
187b186112
Add #require_results for procedures
2017-04-16 22:30:48 +01:00
Ginger Bill
5041a35b95
Fix ir printing of constant slices
2017-04-16 22:07:26 +01:00
Ginger Bill
92d4fcedee
Update ir type aggregate rules for transmute
2017-04-16 16:44:45 +01:00
Ginger Bill
c69df7cd3a
Exit program if there were syntax errors
2017-04-16 16:38:05 +01:00
Ginger Bill
67d8f48553
Calling convention, change from bitcast to transmute
2017-04-16 16:28:39 +01:00
Ginger Bill
b4a339f2e3
Call convention, pass by pointer: pointers are 16 byte aligned
2017-04-16 10:54:05 +01:00
Ginger Bill
0d7bf58b60
Revert to the old demo
2017-04-16 10:40:24 +01:00
Ginger Bill
abb9930725
IR emit C ABI compatible types for calling conventions (Only for x86/amd64 like processors at the moment)
2017-04-16 10:38:42 +01:00
Ginger Bill
169310a9f6
Fix non-ascii function parameters in LLVM IR
2017-04-15 23:14:14 +01:00
Ginger Bill
23a0a6de4b
Add parse_int; Fix union bugs with size, alignment, and recursive definition checking
2017-04-14 21:47:59 +01:00
Ginger Bill
0d2dbee84e
Fix addressing mode rules for match in statements
2017-04-13 22:42:36 +01:00
Ginger Bill
d8d22e34dd
Fix fmt for type; remove dead stuff
2017-04-13 19:29:17 +01:00
Ginger Bill
627ee002e8
Fix: map key not getting transferred on rehash
2017-04-11 23:11:05 +01:00
Ginger Bill
8e73d1ce1f
Fix map bug which removed N values from the beginning
2017-04-11 22:43:33 +01:00
Ginger Bill
b53d16d1d5
Remove debug text
2017-04-11 21:24:10 +01:00
Ginger Bill
f5819eafa9
Fix map assignment bug due to growth
2017-04-11 21:13:21 +01:00
Ginger Bill
5916e71d4f
Fix slicing bug on dynamic arrays
2017-04-11 16:00:49 +01:00
Ginger Bill
913b9b6447
Remove odin.exe
2017-04-10 22:30:38 +01:00
Ginger Bill
8e55bb2a6c
Fix append crash when pointer is passed
2017-04-10 21:09:04 +01:00
root
98d493504b
Fix segfault with heap allocation
2017-04-10 20:48:56 +01:00
Ginger Bill
3a3202fbc6
Change code to match original MSVC
2017-04-10 13:27:09 +01:00
Ginger Bill
aaf355e750
Basic Linux Build!
2017-04-09 22:33:32 +01:00
gingerBill
0683d2b4f4
Merge pull request #33 from zangent/master
...
Base of *nix port
2017-04-09 22:01:22 +01:00
Ginger Bill
d7fdd3d7b8
Add raw.odin
...
Forgot to do this in the previous commit, whoops :P
2017-04-09 11:45:41 +01:00
Ginger Bill
83ebb24015
Move to Raw_* types to raw.odin; Add size and align members to Type_Info
2017-04-07 14:05:28 +01:00
Ginger Bill
70f9cacdce
Fix cast to any of untyped constants
2017-04-07 09:55:19 +01:00
Zachary Pierson
6b33b254e9
Merged from upstream, fixed 'args' name colission
2017-04-06 18:14:42 -05:00
Zachary Pierson
c0019cc305
Merge https://github.com/gingerBill/Odin
2017-04-06 17:50:23 -05:00
Ginger Bill
c067a1f0ec
Fix ir bugs: global variable names, untyped to any assignment
2017-04-06 11:12:11 +01:00
Zachary Pierson
63345cd0d8
Bridged a bugfix from os_windows to other os's.
2017-04-04 18:51:36 -05:00
Zachary Pierson
e41d6261c2
Merge https://github.com/gingerBill/Odin
2017-04-04 18:46:05 -05:00
Ginger Bill
3e80411d37
Fix issue #31 ; Removed down_cast
2017-04-04 21:54:55 +01:00
Zachary Pierson
f952c7c747
Merge https://github.com/gingerBill/Odin
2017-04-03 00:08:00 -05:00
Zachary Pierson
642256f9ba
I accidentally left debug stuff (like abs paths) in! Whoops!
2017-04-02 18:46:31 -05:00
Zachary Pierson
c9c82da1f3
It's terrible, but I added _some_ form of launch args support for Linux/macOS
2017-04-02 18:42:58 -05:00
Ginger Bill
382a5ca6a2
Update and regression test old demos
2017-04-02 22:03:52 +01:00
Ginger Bill
96e8bb5b6f
Add website to README.md
2017-04-02 20:20:14 +01:00
Ginger Bill
22afac2b90
Update README.md with latest demo
2017-04-02 20:10:56 +01:00
Ginger Bill
01da0d1377
Fix make for dynamic arrays
2017-04-02 18:28:45 +01:00
Ginger Bill
8ce58573df
len, cap, make; remove .count, .capacity, new_slice
2017-04-02 18:16:45 +01:00
Zachary Pierson
ce0d874efd
Merge https://github.com/gingerBill/Odin
2017-04-02 03:29:51 -05:00
Ginger Bill
2c8b99337b
Fix conj
2017-04-01 22:55:33 +01:00
Ginger Bill
5008e2c88b
Add Quaternions: quaternion128, quaternion256
2017-04-01 22:41:23 +01:00
Ginger Bill
90fc9abeae
Fix constant conversion for complex numbers from integers
2017-04-01 12:12:08 +01:00
Ginger Bill
dc303cde21
Complex numbers: complex64 complex128
2017-04-01 12:07:41 +01:00
Zachary Pierson
24b33374b7
Reverted the main proc changed, after a chat with Bill about better solutions.
2017-03-31 05:31:45 -05:00
Zachary Pierson
3315dc7f25
Literally just a commit to revert a previous one.
2017-03-31 05:30:09 -05:00
Zachary Pierson
77b3295de5
Added checking for params and return values in main
2017-03-30 01:21:05 -05:00
Zachary Pierson
1349aa6f2c
Merge https://github.com/gingerBill/Odin , cleaned up a bit, fixed the object file version message on macOS
2017-03-30 00:26:46 -05:00
Ginger Bill
a75ccb6fbc
v0.1.3
2017-03-27 20:32:36 +01:00
Zachary Pierson
7a28827602
Forgot to include stdio.h since Win32 won't resolve it otherwise.
2017-03-21 19:30:54 -05:00
Zachary Pierson
c61015b1fe
Updated shell.bat for Visual Studio 2017
2017-03-21 19:17:41 -05:00
Zac Pierson
e935f8e2ff
Fixed os_linux and os_x read_entire_file function not null-terminating data.
2017-03-21 16:00:11 -05:00
Zac Pierson
690c682847
Remember kids, always test your code. There was a variable name colission in dlsym D:
2017-03-21 14:57:09 -05:00
Zac Pierson
f541dd40db
Fixed some memory leaks and made os_* use strings.odin
2017-03-21 14:54:29 -05:00
Zac Pierson
c7bb861d3c
Merge https://github.com/gingerBill/Odin
...
"Fixed" a proc overload bug. Still needs a *real* fix.
2017-03-21 14:16:42 -05:00
Ginger Bill
188b290dd5
Update version number
2017-03-19 21:03:56 +00:00
Ginger Bill
c6ff961088
Add base 12 in strconv.odin
2017-03-19 21:03:29 +00:00
Ginger Bill
c26990c22d
Multiple type cases for match in
2017-03-19 20:55:39 +00:00
Ginger Bill
c34d839f9f
Add named branches for match statements
2017-03-19 17:36:08 +00:00
Ginger Bill
5562364a98
Add branch labels for loops; using list
2017-03-19 16:59:11 +00:00
Ginger Bill
32150e401e
Update gb.h
2017-03-17 12:30:59 +00:00
Ginger Bill
aaec8bf423
windows.odin TYPE_NAME to Type_Name; More SSA work and SSA printing for debugging
2017-03-12 16:42:51 +00:00
Ginger Bill
0fcbda951a
Finally fix signed integer conversion and printing
2017-03-10 10:34:25 +00:00
Ginger Bill
e2734a2dc6
Begin work on the custom backend
2017-03-05 21:22:33 +00:00
Ginger Bill
5adfbec847
Refactoring of code: remove make prefix on many procedures
2017-03-05 15:03:01 +00:00
Ginger Bill
4ef4605d6d
Move files to misc
2017-03-03 11:20:22 +00:00
Ginger Bill
2aa402f462
Cleanup root directory
2017-03-03 11:19:12 +00:00
Ginger Bill
00f6bee454
Update README.md
2017-03-03 11:15:34 +00:00
Ginger Bill
6e1864d21c
Remove all binaries
2017-03-03 11:13:05 +00:00
Ginger Bill
fb2d611dcd
Update llvm binaries to latest version; Update utf8proc;
2017-03-03 11:09:37 +00:00
Zac Pierson
d890731716
Merge https://github.com/gingerBill/Odin
2017-03-02 15:41:19 -06:00
Ginger Bill
9e8c9be1ea
Allow pointers to append; Fix strconv stuff; new_slice allows for capacity
2017-03-02 19:24:34 +00:00
Zachary Pierson
231ea8b026
Merge https://github.com/gingerBill/Odin
2017-02-27 23:25:47 -06:00
Ginger Bill
9bc37f4400
fmt.odin uses ^[]byte rather than custom Buffer type
2017-02-26 15:34:02 +00:00
Ginger Bill
f29e303ce7
Slices now have a capacity.
2017-02-26 15:14:08 +00:00
Ginger Bill
3c9143957c
Ellipsis is now just ..; Remove half-closed range operator and treat all of them as half-closed; slice expression uses ..;
2017-02-26 14:19:03 +00:00
Ginger Bill
18b3c0b2fc
Fix fmt integer width printing
2017-02-26 09:42:24 +00:00
Ginger Bill
c59f6b7d0b
++ -- statements; add strconv.odin (and replace some of the fmt procs); Fix ~ on 64 bit constants; Fix integer casts from smaller to larger size
2017-02-26 00:44:26 +00:00
Zachary Pierson
5bbdb3a3a3
Merge https://github.com/gingerBill/Odin
2017-02-25 02:07:58 -06:00
Ginger Bill
67ed8a9a4a
Fix Tuple type info bug
...
Caused by not having type safe tagged unions :P (Silly C)
2017-02-24 22:56:34 +00:00
Zachary Pierson
27aa07307b
Merge https://github.com/gingerBill/Odin
2017-02-24 15:53:56 -06:00
Ginger Bill
4cc4d604bc
Add core/strings.odin
2017-02-24 21:11:05 +00:00
Ginger Bill
eec709c545
Fix fmt.odin printing enums
2017-02-24 20:55:35 +00:00
Ginger Bill
9b2f5c359a
v0.1.1
2017-02-24 19:48:18 +00:00
Ginger Bill
a982c51c30
Fix minor bugs in IR for slices
2017-02-23 22:22:56 +00:00
Zac Pierson
20b9f1ff59
Added getenv to the *nix stdlib.
2017-02-23 15:29:41 -06:00
Zac Pierson
561c583b3f
Merge https://github.com/gingerBill/Odin
2017-02-22 10:57:30 -06:00
Ginger Bill
047c0e4bcc
A decent union type with common fields and variants
2017-02-21 21:21:54 +00:00
Zac Pierson
8d5896ab7e
Merge https://github.com/gingerBill/Odin
2017-02-20 10:14:52 -06:00
Ginger Bill
a94dfdf21d
Begin changing union syntax
2017-02-19 19:55:19 +00:00
Ginger Bill
c0d5237b75
Unexported struct fields on selectors
2017-02-19 12:47:02 +00:00
Ginger Bill
6fdcbefe5d
Unexported struct fields
2017-02-19 12:38:49 +00:00
Ginger Bill
3cec2550d9
delete for maps
2017-02-19 11:50:42 +00:00
Ginger Bill
758dd9ba16
Fix overloading bug due to #import .; Add sys/wgl.odin
2017-02-19 11:35:33 +00:00
Ginger Bill
0c37aa9ea0
Fix overloading bug due to comparison of named types
2017-02-18 22:19:35 +00:00
Ginger Bill
9ff474f387
Named return values but do not affect other declarations
2017-02-18 12:02:11 +00:00
Ginger Bill
d2f9d20833
Change ternary expression precedence
2017-02-18 10:41:48 +00:00
Zac Pierson
802b1a70f8
Fixed an error in function naming in os_linux
2017-02-15 11:20:11 -06:00
Zac Pierson
aaa4dd5c36
Merge https://github.com/gingerBill/odin
2017-02-15 10:21:38 -06:00
Ginger Bill
71100ed427
Ternary expression (removed if and block expression)
2017-02-14 19:26:32 +00:00
Ginger Bill
3ecf3505fd
Ignore previous silly commit :P I shouldn't have move it
2017-02-14 17:34:02 +00:00
Ginger Bill
daa1cd55a1
Move error handling for casting
2017-02-14 17:33:11 +00:00
Ginger Bill
2722de65b7
Prevent cast on pointer to union types
2017-02-14 17:24:56 +00:00
Ginger Bill
8b5e3428a1
Optional ok for union_cast (similar to map indices)
2017-02-14 16:37:24 +00:00
Ginger Bill
d1f65097c4
Fix immutable rules; add some general documentation
...
immutable is still a little weird and not completely what you'd expect. Maybe just not having it is better.
2017-02-14 15:19:29 +00:00
Ginger Bill
74d15ab84b
Reimplement immutable with different rules.
2017-02-14 12:35:50 +00:00
Ginger Bill
763cd2649d
Fix index assignment rules for indirection
2017-02-14 12:21:02 +00:00
Zachary Pierson
9d19ee7e4c
Changed standard libraries for MacOS and Linux to be closer to os_windows.
2017-02-12 18:25:58 -06:00
Zachary Pierson
8df3175f10
Updated Linux standard library to convert c strs
2017-02-12 17:22:27 -06:00
Zachary Pierson
ebb10e5597
One of the warning flags was misspelled. Oops!
2017-02-12 16:09:21 -06:00
Zachary Pierson
047f883078
Updated warning removal list, and made system_exec_command_line_app in main.c return the exit code.
2017-02-12 16:08:09 -06:00
Zachary Pierson
320c22e08a
Merge https://github.com/gingerBill/Odin
2017-02-12 16:04:13 -06:00
Ginger Bill
bd27c24fab
Use a global to store the build context information
2017-02-12 21:27:13 +00:00
Ginger Bill
282f8bb06f
Fix issue #23
2017-02-12 11:41:06 +00:00
Ginger Bill
b9ed546ce0
Record type field names
2017-02-12 11:31:04 +00:00
Zachary Pierson
a9398bf30f
Tested MacOS. If a commit doesn't follow in 15 minutes, Linux works too!
2017-02-12 00:21:25 -06:00
Zachary Pierson
7829421085
Fixed Windows (updated gb.h) | Need to test on MacOS and Linux now!
2017-02-11 23:52:56 -06:00
Zachary Pierson
c50aabd916
Merging from gingerBill's master
2017-02-11 23:35:07 -06:00
Zachary Pierson
3f3122bccc
Temporary fix for an Odin bug.
2017-02-11 18:54:54 -06:00
Zachary Pierson
fc1a006de1
Added support for reading files on MacOS and Linux
2017-02-11 17:24:47 -06:00
Ginger Bill
e1fdd675ce
v0.1.0
...
Added:
* Dynamic Arrays `[...]Type`
* Dynamic Maps `map[Key]Value`
* Dynamic array and map literals
* Custom struct alignemnt `struct #align 8 { bar: i8 }`
* Allow `_` in numbers
* Variadic `append`
* fmt.sprint*
* Entities prefixes with an underscore do not get exported on imports
* Overloaded `free` for pointers, slices, strings, dynamic arrays, and dynamic maps
* enum types have an implict `names` field, a []string of all the names in that enum
Removed:
* Maybe/option types
* immutable variables
* Remove `type` keyword and other "reserved" keywords
* `compile_assert` and `assert`return the value of the condition for semantic reasons
Changed:
* thread_local -> #thread_local
* #include -> #load
* Files only get checked if they are actually used
* match x in y {} // For type match statements
* Version numbering now starts from 0.1.0 and uses the convention:
- major.minor.patch
Fixes:
* Many fmt.* fixes
To come very Soon™:
* Linux and OS X builds (unofficial ones do exist already)
2017-02-11 21:20:57 +00:00
Zachary Pierson
754b368140
Added dynamic library loading to Linux and MacOS's standard libraries.
2017-02-11 15:09:53 -06:00
Zachary Pierson
a49e888ce6
Merge https://github.com/gingerBill/Odin
2017-02-11 13:48:16 -06:00
Ginger Bill
4306345ff1
Dynamic array syntax [...]Type; make entities private with a prefix of _; fix extension checking
2017-02-11 17:33:23 +00:00
Ginger Bill
346aa5f71c
Only check files that have been truly imported.
2017-02-11 15:50:24 +00:00
Zac Pierson
99c663d9f3
Questioning whether MacOS libraries should be .dylib or .so
2017-02-11 01:10:03 -06:00
Zachary Pierson
afac95e092
Oh, I left math.odin open when I merged gingerBill's changes. Oops. Updated to his version.
2017-02-11 00:33:12 -06:00
Zachary Pierson
05486f9fa3
I'm not sure what I changed here, to be honest. I've ctrl-z'd everything, but git's still complaining.
2017-02-11 00:30:04 -06:00
Zachary Pierson
cad46ae51c
Merge https://github.com/gingerBill/Odin
2017-02-10 23:41:23 -06:00
Zachary Pierson
3424b2badd
Added ability to use -framework on MacOS
2017-02-10 23:33:30 -06:00
Ginger Bill
73d6a55f5c
Remove need for type keyword
2017-02-10 16:12:14 +00:00
Ginger Bill
f18ae89931
Remove Maybe type; Enum names
2017-02-10 14:59:18 +00:00
Zachary Pierson
3445a28c4a
Code quality upkeep. Fixed a broken thread finding assembly instruction in gb.h
2017-02-09 01:40:45 -06:00
Zac Pierson
7f6b83d50c
Fixed gb.h - the file handle for /proc/cpuinfo is needed to read chars.
2017-02-08 11:59:54 -06:00
Zac Pierson
72d4bfb32a
Merge https://github.com/gingerBill/Odin
2017-02-08 11:50:33 -06:00
Zachary Pierson
37f7630a9e
Updated README.md to reflect Linux's dependancy on clang for now.
2017-02-07 23:33:36 -06:00
Zachary Pierson
73c5c5d5d3
Linker on MacOS and GNU/Linux now includes foreign_system_libraries. Fixed foreign_system_library not respecting 'when' condition.
2017-02-07 23:21:52 -06:00
Zac Pierson
584869730a
Linux can build now! Woo!
2017-02-07 15:07:20 -06:00
Zachary Pierson
90ab448bca
Modified the test program to see where the compiler inserted the code.
2017-02-07 12:26:15 -06:00
Ginger Bill
454d0b5cf5
Fix global maps and initialize the preload types before
2017-02-07 18:13:37 +00:00
Zachary Pierson
8becbdc1b2
Added a very basic Linux standard library shamelessly stolen from the MacOS one.
...
Made Linux (almost) work. The generated binaries segfault, but it's so close I can almost taste it.
2017-02-07 00:28:21 -06:00
Zachary Pierson
eeeb90c441
MacOS is able to run Hello World!
2017-02-06 21:47:58 -06:00
Ginger Bill
219ca0ac46
Map type info and fmt printing
2017-02-07 00:10:58 +00:00
Ginger Bill
5796c41357
map immutable fields: count, capacity, allocator
2017-02-06 22:53:48 +00:00
Ginger Bill
8cfae17535
map literals
2017-02-06 22:19:32 +00:00
Zac Pierson
6efd400c98
Updated build script in an attempt to track down a segfault. It's not helping, though.
2017-02-06 15:45:51 -06:00
Ginger Bill
df78b8ad3e
Make checking map key exists optional
2017-02-06 21:31:27 +00:00
Ginger Bill
f11d73ffaa
map string keys and for iterator
2017-02-06 20:54:51 +00:00
Ginger Bill
c126339090
dynamic map insertion and lookup
2017-02-06 20:23:51 +00:00
Zac Pierson
5cfa4ba580
Added Linux functions throughout the code, but it segfaults.
2017-02-06 12:26:41 -06:00
Ginger Bill
9f2d9b596d
Nearly implement dynamics map, missing insertion
2017-02-06 01:21:23 +00:00
Ginger Bill
00c7489157
Begin writing dynamic map procs and fix using bug in IR
2017-02-05 23:52:01 +00:00
Ginger Bill
b1562edccf
Add types.odin; Begin work on map
2017-02-05 18:17:55 +00:00
Ginger Bill
2a5b674d33
Custom struct alignment
2017-02-05 15:19:30 +00:00
Ginger Bill
7944b7714f
Add build guards around compiling part of the code.
2017-02-01 21:00:32 +00:00
Ginger Bill
205f4664f8
Update code from OSX merge to be consistent with the rest of the code
...
Remove some dead code whilst I was here too :P
2017-02-01 20:59:14 +00:00
gingerBill
c6133587d1
Merge pull request #16 from zhiayang/master
...
Basic, but sketchy, but somewhat usable, non-windows support
2017-02-01 20:31:57 +00:00
zhiayang
5516e80ab7
Merge branch 'master' of https://github.com/zhiayang/Odin
2017-02-02 04:21:42 +08:00
zhiayang
864310e3da
oh boy, basic osx/unix support
2017-02-02 04:20:33 +08:00
Ginger Bill
4e7082a68d
Change internals of context; Disable immutable
2017-02-01 17:52:55 +00:00
Ginger Bill
502e63b9c5
Remove dead code
2017-01-30 23:10:44 +00:00
Ginger Bill
34150385d8
Change vector memory layout and operations; for in vector.
2017-01-30 22:31:34 +00:00
Ginger Bill
0ca1b4612c
Allow _ in floats
2017-01-29 23:13:50 +00:00
Ginger Bill
9e143a38ce
sprint*, variadic append works correctly now.
2017-01-29 21:29:10 +00:00
Ginger Bill
43be91bca3
Variadic append
2017-01-29 20:48:08 +00:00
Ginger Bill
984e36a151
Dynamic arrays
2017-01-29 20:15:16 +00:00
Ginger Bill
ec9c8fb8a4
Update README.md
2017-01-29 14:45:12 +00:00
Ginger Bill
3e79ec4aef
Fix untyped to any assignments. Fixed crash when arguments with no value are passed
2017-01-29 14:27:55 +00:00
gingerBill
3e257ef8d0
Merge pull request #12 from thebirk/windows-odin-correction
...
Changed #foreign user32 to gdi32 where this was wrong.
2017-01-28 23:25:55 +00:00
thebirk
626f91f307
Changed #foreign user32 to gdi32 where this was wrong.
2017-01-28 23:23:02 +01:00
Ginger Bill
e86c990b75
Overloaded free; 3 dotted ellipsis
2017-01-28 20:16:18 +00:00
Ginger Bill
31aacd5bf4
Fix parsing for block/if expression within if/for/etc. statements
2017-01-27 23:02:55 +00:00
Ginger Bill
92453369c5
Remove while loop and readd c-style for loops i.e. all loops are just for
2017-01-27 17:43:42 +00:00
Ginger Bill
832009f33a
in keyword for for and match type
2017-01-27 16:34:58 +00:00
Ginger Bill
d3d3bfd455
Fix utf8 stuff, Allow _ in numbers, Begin writing next demo code.
2017-01-27 12:43:01 +00:00
Ginger Bill
ce3582fd89
Remove case sensitivity for libraries on windows
2017-01-26 20:06:22 +00:00
Ginger Bill
e3e16f5d05
Library names - Only link with used foreign libraries
2017-01-26 20:00:16 +00:00
Ginger Bill
f47f25f942
Fix pointer differences (issue #11 ); remove #dll_import
2017-01-26 17:39:44 +00:00
Ginger Bill
e85458919c
Basic float printing
2017-01-26 15:38:35 +00:00
Ginger Bill
b59a052e32
Change casting syntax: cast(T)x transmute(T)x et al.
2017-01-25 19:19:25 +00:00
Ginger Bill
12498b2d39
Fix issue #8 - https://github.com/gingerBill/Odin/issues/8
2017-01-20 11:23:46 +00:00
Ginger Bill
6d93aa429f
Fix issue #10
2017-01-20 00:21:40 +00:00
Ginger Bill
3f023509a7
using immutable thread_local on variable declarations
2017-01-19 20:03:10 +00:00
Ginger Bill
563b1e2b28
immutable field prefix
2017-01-19 19:02:44 +00:00
Ginger Bill
4603d2525e
Closed range ... (both inclusive); Type comparisons with == and !=
2017-01-19 11:29:15 +00:00
Ginger Bill
2af9fb79dc
Change cast syntax, int(x), []byte(s), (^int)(p)
2017-01-17 23:36:07 +00:00
Ginger Bill
367d307dc4
Fix conversion of untyped integers to pointers
2017-01-17 20:27:14 +00:00
Ginger Bill
cb59c1cf08
Comma for all field separators; Overloaded procedures follow exportation rules
2017-01-17 18:47:38 +00:00
Ginger Bill
383f5b55ad
Best viable overloading procedure algorithm; no_alias; call expr style casts
2017-01-17 15:20:11 +00:00
Ginger Bill
6dc6b6f8aa
Err on ambiguous overloaded calls
2017-01-15 20:43:28 +00:00
Ginger Bill
ac736aa4ec
Procedure overloading
2017-01-15 19:55:04 +00:00
Ginger Bill
6fe25badf0
Bug fix: comparisons with shifts
2017-01-15 12:00:13 +00:00
Ginger Bill
c29d433e38
Handle enums correctly with printf
2017-01-08 23:19:50 +00:00
Ginger Bill
ff473e8342
"Old style" enums
...
name and value information
`count`, `min_value`, `max_value` constants
2017-01-08 20:24:12 +00:00
Ginger Bill
659e5359b2
fmt.printf - Go style due to runtime type safety
2017-01-08 01:10:55 +00:00
Ginger Bill
d9ce0b9da0
File reorganization for checker system.
2017-01-07 12:01:52 +00:00
Ginger Bill
703e1aa2bc
Fix core library; Disable adding entity definitions for blank identifiers
2017-01-07 11:44:42 +00:00
Ginger Bill
b1e35b6da3
Fix array pointer as iterators; Remove stack allocations in startup_runtime
2017-01-06 15:47:07 +00:00
Ginger Bill
fc1af0a04b
Fix build error caused by invalid iterator types in for
2017-01-05 23:50:44 +00:00
Ginger Bill
4afb3f8fa4
Fix line comments at the end of file
2017-01-05 22:35:32 +00:00
Ginger Bill
207b252f23
Fix checking termination of a procedure
2017-01-05 22:32:19 +00:00
Ginger Bill
1356dfeec2
Fix SUBSYSTEM for link.exe
2017-01-05 21:58:24 +00:00
Ginger Bill
d025791462
v0.0.5a
2017-01-05 21:46:09 +00:00
Ginger Bill
b07ee9ec23
Fix problem with odin build
2017-01-05 21:43:36 +00:00
Ginger Bill
915b5cdab7
Rename llir -> ir
2017-01-04 11:24:32 +00:00
Ginger Bill
c8f99b360f
Fix init_arena_from_context
2017-01-03 20:35:47 +00:00