Commit Graph

592 Commits

Author SHA1 Message Date
gingerBill
ba5f7c4e2a Deprecate a..b based ranges in favour of ..= 2022-06-01 11:08:19 +01:00
gingerBill
66b5a35ec3 Add simd_to_bits; correct fix typo causing issue with parapoly 2022-05-26 13:45:47 +01:00
gingerBill
3ec70c5517 Merge functionality of #maybe with the standard 'union' functionality 2022-05-23 12:04:19 +01:00
Cedric Hutchings
5c647e2f61 Fix typo. 2022-05-21 01:50:59 -04:00
gingerBill
5bc866e420 Allow for import _ "foo" to allow for @(init) procedures; Remove using import code 2022-05-14 14:44:24 +01:00
Jeroen van Rijn
3cab2592c3 Compiler: Add early error for output path being a directory.
- Introduce new `Path` type and an array of build paths on the build context.
- Resolve input and output paths/files early (before parsing).
- Error early if inputs are missing or outputs are directories.
- Plumb new file path generation into linker stage instead of its adhoc method.

TODO:
- Remove more adhoc file path generation in parser and linker stage.
- Make intermediate object file generation use new path system.
- Round out and robustify Path helper functions.
2022-04-24 13:37:26 +02:00
gingerBill
3f935bea25 union #shared_nil
This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
2022-03-24 11:55:03 +00:00
gingerBill
6ea9ba16e7 Fix #1610 2022-03-14 12:38:56 +00:00
Sébastien Marie
fad851d80c check for semi-colon before EOF too 2022-03-03 15:57:51 +00:00
gingerBill
d4ccb69ccc Check if directory exists with the same target executable name when building a directory 2022-02-28 21:49:19 +00:00
gingerBill
62d232d798 Correct ExactValue_Pointer 2022-02-22 22:59:00 +00:00
gingerBill
cad753e398 Simplify parse_binary_expr 2022-02-22 22:53:13 +00:00
gingerBill
71df46456a Minimize memory usage by having an arena per thread rather than an arena per file 2022-02-18 21:30:25 +00:00
gingerBill
8e8a075a22 Merge branch 'master' into directx-packages 2022-02-16 16:04:20 +00:00
gingerBill
db6bd9b358 Allow sysv and win64 calling conventions to be used on any platform on amd64 2022-02-16 16:03:49 +00:00
gingerBill
65dedbb1ca Add #subtype struct field prefix, required to have a COM interface hierarchy 2022-02-16 11:54:15 +00:00
gingerBill
6418ec3b21 Correct #sparse usage and error messages 2022-02-05 13:09:16 +00:00
gingerBill
97be867103 Rename #partial[Enum]Type to #sparse[Enum]Type for non-contiguous enum fields 2022-02-05 13:01:15 +00:00
gingerBill
5db603ded2 Minor sanity clean up 2022-02-02 15:39:41 +00:00
gingerBill
78815778ee Add //+private file to complement //+private (//+private package) 2022-02-02 15:28:49 +00:00
gingerBill
67ba05cb7c Correct false positive check in check_unique_package_names 2022-01-31 19:33:02 +00:00
gingerBill
24e7356825 Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T) 2022-01-27 16:08:47 +00:00
gingerBill
c0479f1564 Handle line comment better 2022-01-24 23:42:04 +00:00
gingerBill
fe0b5bf4e2 Parse comments on enums fields 2022-01-24 23:28:59 +00:00
gingerBill
2554c72bb2 Update CommentGroup parsing for struct types 2022-01-24 14:47:33 +00:00
gingerBill
0d4642825f Correct package docs parsing 2022-01-17 19:07:25 +00:00
gingerBill
3cbf9c3719 Fix #1381 2022-01-02 14:45:39 +00:00
gingerBill
e814a3693f Improve usage of file_id 2021-11-15 17:26:01 +00:00
gingerBill
3f038428a7 Begin minimizing Ast size 2021-11-14 15:12:37 +00:00
gingerBill
b4df51e483 Merge branch 'master' into new-matrix-type 2021-10-23 19:24:47 +01:00
gingerBill
06f4762144 Allow parsing for [^]T{} to improve error messages 2021-10-23 19:22:08 +01:00
gingerBill
2a50f9c8d4 Rename -ignore-lazy to -internal-ignore-lazy 2021-10-23 17:41:11 +01:00
gingerBill
82b6772ea4 Support matrix literals 2021-10-20 00:40:03 +01:00
gingerBill
1556fad65a Change syntax for matrices to matrix[R, C]T 2021-10-19 11:31:11 +01:00
gingerBill
4c655865e5 Begin work on matrix type 2021-10-18 16:52:19 +01:00
gingerBill
2ad6aa7886 Copying file contents rather than memory mapping 2021-10-12 11:06:39 +01:00
gingerBill
20529c6512 Minor simplification to #assert and #panic parsing 2021-09-23 23:25:13 +01:00
gingerBill
ea555c0ccd Simplify directive parsing for expressions 2021-09-23 23:22:16 +01:00
gingerBill
05ac2002e0 Force file copy on odin strip-semicolon 2021-09-18 12:52:43 +01:00
gingerBill
15c309b0b8 Make permanent_allocator() thread local 2021-09-13 01:39:41 +01:00
gingerBill
042dbda47f Replace many uses of heap_allocator() with permanent_allocator() 2021-09-13 01:30:30 +01:00
gingerBill
e65e0b5db2 Add -strict-style-init-only 2021-09-09 11:06:19 +01:00
gingerBill
e0ee59084e Add calling convention "system" which is an alias for "stdcall" on Windows and "cdecl" on other platforms 2021-09-08 13:22:03 +01:00
gingerBill
0434281f73 Strip semicolons; Make odin strip-semicolon replace .. with ..= if used as a binary operator 2021-09-06 20:15:59 +01:00
gingerBill
773a766b83 Strip semicolon if followed by a } or ) on the same line 2021-08-31 23:47:20 +01:00
gingerBill
cd09068e33 Correct parsing rules for #assert directives for semicolons 2021-08-31 22:45:08 +01:00
gingerBill
2db6fea665 Remove dead code and add debug messages 2021-08-31 22:31:43 +01:00
gingerBill
b176af2742 Add semicolon stripping command: odin strip-semicolon, has the same parameters as odin check 2021-08-31 22:20:36 +01:00
gingerBill
1fff96e088 Make -insert-semicolon the default now 2021-08-31 21:13:53 +01:00
gingerBill
53556d9bd2 Disable local mutex for the time being. 2021-08-26 23:16:57 +01:00