gingerBill
6a77fc4cdd
Add multi-pointer types [^]T
2021-08-21 23:10:21 +01:00
gingerBill
38841dd46e
Fix race condition from add_entity_use due to Entity.identifier
2021-08-19 17:38:18 +01:00
gingerBill
7845769d4b
Remove unused code
2021-08-19 15:03:10 +01:00
gingerBill
fce86ff3d5
Correct struct tag bug
2021-08-16 18:17:26 +01:00
gingerBill
7bbc9a4634
Add #any_int directive to replace auto_cast uses on parameters.
2021-08-15 12:56:59 +01:00
gingerBill
0e84e06756
Fix lower and upper values for a bit_set[Enum] type.
2021-08-13 14:17:27 +01:00
gingerBill
8ff9f2e44f
Fix #1077
2021-08-13 11:49:52 +01:00
gingerBill
a5d6fda433
Define which mutexes are blocking and recursive explicitly
2021-07-27 23:14:01 +01:00
gingerBill
116e98b378
Improve default scope size
2021-07-27 10:59:39 +01:00
gingerBill
76707e1d2f
Add sanity casts for 32/64 bit correctness
2021-07-12 11:03:12 +01:00
gingerBill
63b572a0ab
Clean up big int to LLVM integer code
2021-07-11 16:18:30 +01:00
gingerBill
460e14e586
Change the compiler's big integer library to use libTomMath
...
This now replaces Bill's crappy big int implementation
2021-07-11 16:08:16 +01:00
gingerBill
d9e6ade030
Add experimental support for a threaded semantic checker to -threaded-checker
2021-07-10 23:51:37 +01:00
gingerBill
9f7154a039
Prepare for multithreading the semantic checker by giving mutexes to variables of contention
...
NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
2021-07-10 15:14:25 +01:00
gingerBill
4a932616fc
Improve CheckerContext usage
2021-07-10 13:02:13 +01:00
gingerBill
d6125f05d4
Correct does_field_type_allow_using
2021-06-29 12:35:15 +01:00
gingerBill
e79fb68291
Correct #soa type creation
2021-06-08 11:23:23 +01:00
gingerBill
9491c13a5c
Fix #1011 by unifying the logic
2021-06-08 11:09:41 +01:00
gingerBill
4d80f8598d
Fix polymorphic record "too few" lacking error message
2021-05-31 20:33:14 +01:00
gingerBill
9c54ed5792
Add range-based error messages to -verbose-errors
...
Example:
Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer'
x := (1 + 2) * true;
^~~~~~^
2021-05-19 14:15:57 +01:00
gingerBill
ce08e832f7
Allow ..= alongside .. as a "full range" operator; Update core:odin/parser etc
2021-05-16 12:34:35 +01:00
gingerBill
7b7081d607
Remove old dead code
2021-05-15 18:59:54 +01:00
gingerBill
d4ee1a9e19
Correct default procedure parameter logic
2021-05-13 10:07:28 +01:00
gingerBill
2e5f57d8a1
Fix #741
2021-05-13 00:44:33 +01:00
gingerBill
da9cabc334
Fix #682
2021-05-12 23:02:57 +01:00
gingerBill
d962cfdc6b
Fix #713
2021-05-12 22:38:37 +01:00
gingerBill
278de3a92f
Unify AstTernaryExpr with AstTernaryIfExpr
...
Allow for both syntaxes `x if cond else y` and `cond ? x : y`
Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
2021-05-05 15:22:54 +01:00
gingerBill
1a3784c4df
Allow unions which are comparable to also be valid map keys (i.e. hashable)
2021-05-03 13:38:15 +01:00
gingerBill
6383714bff
Remove old procedure ABI code
2021-04-25 19:56:46 +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
ba9f0dd553
Hack ABI for windows passing pointers to structures
2021-04-19 23:03:22 +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
3baddd4116
Improve init_string determination for constants
2021-04-18 20:13:20 +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
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
08f7d3edbe
Allow $ in polymorphic record parameter fields (but disallow mixing)
2021-03-23 22:59:10 +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
atil
5f5dfdc00e
return by pointer on linux
2021-03-19 07:28:27 +03:00
gingerBill
4e2a2ac80a
Fix formatting of code
2021-03-10 10:53:30 +00:00
Matias Fernandez
ba62bcf116
Add LLVM boolean compatibility to result types
2021-03-09 23:17:34 -04: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
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
28ed310f31
Remove "pure" and "pure_none" calling conventions
2021-02-23 13:10:23 +00:00