Commit Graph

702 Commits

Author SHA1 Message Date
gingerBill
d91054b615 Change parser to use ^Expr rather than string for the foreign import paths 2024-05-28 00:27:13 +01:00
gingerBill
a1b8749e74 Delay checking foreign import paths until after global scope is checked 2024-05-28 00:23:23 +01:00
gingerBill
38fffff06a Begin moving foreign import import paths to be evaluated in the semantic phase rather than parsing. 2024-05-27 23:51:43 +01:00
gingerBill
542c3d7561 Improve "Expected a type" syntax error 2024-05-20 13:32:16 +01:00
gingerBill
0cf9dcd314 Make .. ranges a complete error rather than a warning now.
This should have been an error years ago.
2024-05-13 18:15:29 +01:00
gingerBill
215ef3d985 Make core:runtime etc a warning, and an error with -vet 2024-05-13 13:26:47 +01:00
Feoramund
1935811b2c Suggest -all-packages if testing empty directory 2024-05-12 19:51:19 -04:00
gingerBill
710bb4369f Fix #3567 2024-05-10 13:55:15 +01:00
gingerBill
f54977336b With -vet-style, give suggestion of separating where clauses with a comma rather than '&&'
This improves the error messages
2024-05-09 15:56:00 +01:00
gingerBill
0da6a3e214 Fix #3530 2024-05-07 11:42:48 +01:00
joakin
60ef4fda4d Recognize dynamic library names like libraylib.so.5.0.0 2024-04-19 13:35:53 +02:00
gingerBill
7e582dd671 Add basic suggestion to missing package name 2024-04-15 12:43:27 +01:00
gingerBill
0df9c8bffc Improve error messages for people using keywords instead of identifiers 2024-04-08 12:04:33 +01:00
gingerBill
83e2f5ff74 Add better error messages with suggestions for using context as an identifier 2024-04-04 17:01:31 +01:00
gingerBill
7b387fd3aa Improve C-like syntax mistakes error messages 2024-03-27 13:10:46 +00:00
gingerBill
12ec9bce7d Fix parsing bug on bit_set[;x] 2024-03-27 13:05:15 +00:00
gingerBill
68ff945419 Remove old error message for #3062 2024-03-24 14:39:42 +00:00
gingerBill
1ea1229516 Fix #3319 2024-03-24 13:42:37 +00:00
gingerBill
517d7ae0b0 Add error block around error_line calls 2024-03-23 17:51:56 +00:00
gingerBill
1d46adb598 Treat *x as an unary operator to improve error messages for common C-programmer mistakes 2024-03-23 16:51:04 +00:00
gingerBill
29e5f94c2a Add #no_broadcast procedure parameter to disallow automatic array programming broadcasting on procedure arguments 2024-03-21 11:52:48 +00:00
gingerBill
f39b34a8b7 Fix error message 2024-03-20 18:17:06 +00:00
gingerBill
1cc5e23801 Fix #3299 2024-03-20 18:16:46 +00:00
gingerBill
a750fc0ba6 Add #row_major matrix[R, C]T
As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`.
This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors.
2024-03-19 21:05:23 +00:00
gingerBill
433109ff52 Replace gb_exit(1) with exit_with_errors() where appropriate 2024-03-19 16:29:45 +00:00
gingerBill
a8909f06ae Improve parsing for bit_field 2024-02-22 20:10:38 +00:00
gingerBill
54515af8cc Add field tags to bit_field 2024-02-22 19:41:48 +00:00
gingerBill
8060e3170e Remove debug message 2024-02-22 18:53:02 +00:00
gingerBill
980947b355 Give a better error message when the user uses context as if it was an identifier in a field list. 2024-02-22 18:52:17 +00:00
gingerBill
a4b8c1ea17 Begin work adding bit_field 2024-02-22 15:55:54 +00:00
gingerBill
7b672ac72a Disallow mixture of polymorphic $ names and normal identifiers within record parameters 2024-02-08 14:03:03 +00:00
gingerBill
a08250ac5b Improve error handling for missing library collection provided by the compiler 2024-02-07 17:15:59 +00:00
FourteenBrush
0e5d7801dd Fix code style 2024-02-02 21:17:10 +01:00
FourteenBrush
d463adfe4f Merge remote-tracking branch 'upstream/master' 2024-02-02 21:01:52 +01:00
FourteenBrush
16bd19ed43 Fix Unhandled Ast_OrBranchExpr 2024-02-02 21:00:00 +01:00
gingerBill
395e0fb225 -default-to-panic-allocator 2024-01-28 22:09:20 +00:00
gingerBill
09fa1c29cd Move core:runtime to base:runtime; keep alias around 2024-01-28 21:05:53 +00:00
gingerBill
68df35b378 Add #field_align(N)
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
gingerBill
aff8f06e3c Add frontend stuff instrumentation tooling
//+no-instrumentation
@(no_instrumentation)
@(instrumentation_enter)
@(instrumentation_exit)
2024-01-07 19:56:00 +00:00
gingerBill
648b83d6ea Add or_break and or_continue constructs 2023-09-30 15:04:17 +01:00
gingerBill
3fae38a2f8 Correct get_file_line_as_string to fix #2829 2023-09-29 12:17:15 +01:00
gingerBill
fb935541c9 Fix #2809 - disallow files to start with _ 2023-09-26 13:10:18 +01:00
gingerBill
9711dd1381 Fix #2816 2023-09-26 12:41:33 +01:00
gingerBill
9911b132d2 Fix #2818 (enforce #partial label: switch) 2023-09-26 12:35:24 +01:00
gingerBill
1cdb975c91 Add attribute @(require) import "foo" to replace/supplement _ :: foo 2023-08-22 12:05:25 +01:00
gingerBill
9ff9587b7b Remove unused code in gb.h; Minimize use of heap_allocator() in parser 2023-08-16 00:41:49 +01:00
gingerBill
2cc22d118d Require parentheses for #align(N) 2023-08-15 14:55:02 +01:00
gingerBill
2b3f3e11d3 Make trailing commas followed by a closing token on the same an error with -vet-style 2023-08-08 16:01:08 +01:00
gingerBill
2181e0fc27 Make for init; ; {} an error without an explicit cond or post 2023-08-08 15:07:00 +01:00
gingerBill
cd74cdfdaf Remove switch in in favour of switch _ in 2023-08-08 14:57:25 +01:00