gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
5168cf03a9
Remove dead #maybe code
2022-08-01 15:38:50 +01:00
gingerBill
b886ae6515
Simplify parser logic for field prefixes
2022-08-01 15:32:17 +01:00
gingerBill
5f2b220a85
Fix minor issue with a lack of a trailing comma
2022-07-25 12:12:25 +01:00
gingerBill
c8ab1b7ee1
Add #by_ptr procedure attribute to enforce a parameter to be passed by pointer internally
2022-07-24 13:11:48 +01:00
gingerBill
22a0c3fce1
Disallow proc() do stmt and only allow proc() { stmt }
2022-07-18 15:09:04 +01:00
gingerBill
80c10644dd
Remove assert
2022-07-16 17:39:13 +01:00
gingerBill
041625381c
Fix #1888
2022-07-16 17:36:03 +01:00
gingerBill
b40998de9e
Improve -strict-style for foreign import
2022-06-13 11:11:51 +01:00
gingerBill
8c0c327df9
Improvements to -strict-style and trailing commas
2022-06-13 11:00:13 +01:00
gingerBill
35fd8e7f68
Move trailing comma requirement in field lists to -strict-style
2022-06-12 12:20:00 +01:00
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
FancyKillerPanda
cb04116caf
Emit a parser warning when encountering an unknown tag.
2022-02-24 12:27:52 +11: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