| Age | Commit message (Collapse) | Author |
|
Previously, it pointed to the start of the current token, but this made
it difficult to tell where the error occurred when it was, say, in the
middle of a string.
|
|
This accomplishes the same goal, but with less changes, so that
I can backport copy elision stuff easier.
|
|
|
|
add zig fmt support for this syntax
closes #1152
|
|
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
|
|
Make it a little clearer what a SYMBOL_CHAR is, use ALPHA instead of
ALPHA_EXCEPT_C and case 'c', which is ALPHA's definition.
|
|
closes #1283
|
|
|
|
Unblocks #495.
|
|
use the `zig-fmt-optional-default` branch to have zig fmt
automatically do the changes.
closes #1023
|
|
See #1023
This also renames Nullable/Maybe to Optional
|
|
See #770
Currently it does not have any different behavior than `*`
but it is now recommended to use `[*]` for unknown length
pointers to be future-proof.
Instead of [ * ] being separate tokens as the proposal
suggested, this commit implements `[*]` as a single token.
|
|
closes #857
|
|
See #727
|
|
|
|
|
|
See #632
now we have 1 less sigil
|
|
* docgen supports obj_err code kind for demonstrating
errors without explicit test cases
* add documentation for `extern enum`. See #367
* remove coldcc keyword and add @setIsCold. See #661
* add compile errors for non-extern struct, enum, unions
in function signatures
* add .h file generation for extern struct, enum, unions
|
|
See #632
closes #545
closes #510
this makes #651 higher priority
|
|
See #632
better fits the convention of using keywords for control flow
|
|
See #632
better fits the convention of using keywords for control flow
|
|
|
|
|
|
See #544
|
|
|
|
Closes #499.
|
|
|
|
|
|
* remove `@setGlobalAlign`
* add align keyword for setting alignment on functions and
variables.
* loads and stores use alignment from pointer
* memcpy, memset use alignment from pointer
* add syntax for pointer alignment
* slices can have volatile
* add u2, i2 primitives
* ignore preferred align and use abi align everywhere
* back to only having alignOf builtin.
preferredAlignOf is too tricky to be useful.
See #432. Partial revert of
e726925e802eddab53cbfd9aacbc5eefe95c356f.
See #37
|
|
previously we used the bigfloat abstraction to do all
compile-time float math. but runtime code and comptime code
are supposed to get the same result. so now if you add a
f32 to a f32 at compile time it does it with f32 math
instead of the bigfloat. float literals still get the
bigfloat math.
closes #424
|
|
Before:
* << is left shift, not allowed to shift 1 bits out
* <<% is left shift, allowed to shift 1 bits out
* >> is right shift, allowed to shift 1 bits out
After:
* << is left shift, allowed to shift 1 bits out
* >> is right shift, allowed to shift 1 bits out
* @shlExact is left shift, not allowed to shift 1 bits out
* @shrExact is right shift, not allowed to shift 1 bits out
Closes #413
|
|
The exponent range for floating-point values is [-1022, 1023].
Fixes #399.
|
|
|
|
|
|
See #359
|
|
See #357
|
|
closes #314
|
|
|
|
closes #272
|
|
* `noreturn` is the primitive type.
* `unreachable` is a control flow keyword.
* `@unreachable()` builtin function is deleted.
closes #214
|
|
* remove setFnTest builtin
* add test "name" { ... } syntax
* remove --check-unused argument. functions are always lazy now.
|
|
See #258
|
|
closes #183
|
|
See #83
|
|
See #221
|
|
closes #222
|
|
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`,
`setFnNoInline` builtin functions to replace previous
directive functionality
* add `coldcc` and `nakedcc` as keywords which can be used as part
of a function prototype.
* `setDebugSafety` builtin can be used to set debug safety features
at a per block scope level.
* closes #169
|
|
See #169
|
|
protect against incorrect copies in debug mode
|
|
|