Andrew Kelley
ad92227516
report compile errors instead of crashing when frame is invalid
2019-12-22 17:09:11 -05:00
Andrew Kelley
28dbdba37e
Merge pull request #3935 from Vexu/translate-c-2
...
Translate-c-2 the rest
2019-12-22 16:12:56 -05:00
Andrew Kelley
ce444771c5
fix incorrect @typeInfo
for sentinels
2019-12-21 13:25:05 -05:00
Andrew Kelley
8d73703d52
fix safety for sentinel-slicing floats
2019-12-20 18:28:59 -05:00
Andrew Kelley
8918cb06fc
sentinel slicing improvements
...
* add runtime safety for slicing pointers, arrays, and slices.
* slicing without a sentinel value results in non-sentineled slice
* improved `std.debug.panic` handling of panic-during-panic
2019-12-20 18:28:59 -05:00
Andrew Kelley
26f3c2d061
fix std.mem.addNullByte and implement sentinel slicing
...
see #3770
2019-12-20 18:28:56 -05:00
LemonBoy
51cbd96820
Fix sentinel value of opaque pointers in typeInfo
...
Fixes #3888
2019-12-20 15:48:34 -05:00
LemonBoy
f077c3c4cc
Fix comptime evaluation of runtime array access
...
Fix #3951
2019-12-20 15:47:43 -05:00
Vexu
122a9bad39
translate-c-2 fix some casts
2019-12-19 01:38:42 +02:00
LemonBoy
d8499f7abe
Make sure the fields array is always non-null
...
Fixes #3497
2019-12-17 15:45:22 -05:00
Vexu
daa22d42b0
translate-c-2 floats
2019-12-17 11:28:56 +02:00
Andrew Kelley
b242c2ac10
avoid using undefined value
...
closes #3933
2019-12-16 22:47:19 -05:00
Andrew Kelley
13cdc137e6
Merge pull request #3570 from ziglang/c-sanitize-undef
...
use -fsanitize=undefined for C code in safe build modes
2019-12-16 16:17:52 -05:00
LemonBoy
de0d8885b4
Fix alignment query on unresolved types
...
Fixes #3919
2019-12-16 15:54:06 -05:00
Andrew Kelley
839b3a61ad
expose the ability to disable C sanitization
...
and disable C sanitization when building libcs.
Empirically, they seem to trigger undef-sanitization.
2019-12-16 13:51:21 -05:00
Andrew Kelley
f8cd981c04
use -fsanitize=undefined for C code in safe build modes
...
closes #3569
2019-12-16 13:06:02 -05:00
Andrew Kelley
9468d63819
allow comparison of any numeric types
2019-12-16 11:09:10 -05:00
Vexu
0f38410ea6
improve extern enum
2019-12-15 19:28:53 -05:00
LemonBoy
59de23dfa0
Don't assume TLS storage has a fixed address
...
Fixes #3433
2019-12-15 16:23:42 -05:00
LemonBoy
f1407b4b7e
Generate the fn pointers into the correct address space
...
Fixes #3645
2019-12-15 14:42:53 -05:00
LemonBoy
19ddbd9e9e
Make sure the address is aligned for intToPtr ops
...
Closes #773
2019-12-15 14:41:05 -05:00
Andrew Kelley
21a85d4fb6
Merge pull request #3896 from Vexu/translate-c-2
...
Translate-c self-hosted var decl and remove translate mode
2019-12-13 15:48:10 -05:00
Vexu
45abfa9e71
revert removal of translate mode in stage 1
2019-12-13 19:06:32 +02:00
Vexu
eb057ef41c
translate-c-2 dont eval init expr
2019-12-13 15:07:10 +02:00
Andrew Kelley
fff3c1fff4
un-special-case startup code in the std lib
...
Previously, the compiler had special logic to determine whether to
include the startup code, which was in `std/special/start.zig`. Now,
the file is moved to `std/start.zig`, and there is no special logic
in the compiler. Instead, the standard library unconditionally imports
the `start.zig` file, which then has a `comptime` block that does the
logic of determining what, if any, start symbols to export. Instead of
`start.zig` being in its own special package, it is just another normal
file that is part of the standard library.
`std.builtin.TestFn` is now part of the standard library rather than
specially generated by the compiler.
2019-12-12 18:33:44 -05:00
Vexu
c759a77aa0
fix dot init parsing
2019-12-12 13:06:48 -05:00
Vexu
69dee57d95
remove concept of translate mode
2019-12-12 14:26:24 +02:00
Andrew Kelley
fd6b7b160d
improve dynamic library API
2019-12-10 12:28:28 -05:00
Robin Voetter
f0ee0688f2
Replace typeOf with TypeOf in stage0
2019-12-10 11:09:30 -05:00
Andrew Kelley
a3f6a58c77
remove var args from the language
...
closes #208
2019-12-09 15:27:27 -05:00
Andrew Kelley
f205d23e65
implement async function call with @call
...
this removes the last usage of var args in zig std lib
2019-12-09 15:27:26 -05:00
Andrew Kelley
5d82744f1c
ability to give comptime and non-comptime types to same parameter
2019-12-09 13:30:53 -05:00
Andrew Kelley
8b2622cdd5
std.fmt.format: tuple parameter instead of var args
2019-12-08 22:53:51 -05:00
Andrew Kelley
5874cb04bd
implement tuple concatenation
2019-12-08 22:44:41 -05:00
Andrew Kelley
6504c5098e
tuple detection does not require AST node
2019-12-08 18:39:52 -05:00
LemonBoy
d5e788072d
Make array types (quasi-)lazy
...
Fixes #3843
2019-12-08 17:29:59 -05:00
Andrew Kelley
1cb19d1a46
fix anon struct literal field initialized with fn call
2019-12-08 17:28:34 -05:00
emekoi
c2342dab0b
fixed BREAKPOINT macro on mingw
2019-12-08 17:18:44 -05:00
Andrew Kelley
fe8d65556d
add syntax for comptime struct fields
2019-12-08 12:26:20 -05:00
Andrew Kelley
119ed128c0
implement comptime struct fields
2019-12-08 12:26:20 -05:00
LemonBoy
19c1b5a33a
Fix for @Type not picking up the sentinel value
...
The code converted the whole TypeInfo payload into an optional type
instead of using the "sentinel" field value.
Fixes #3828
2019-12-08 10:28:29 -05:00
Andrew Kelley
edebe0586b
remove compile error for peer result comptime_int and null
...
closes #2763
2019-12-07 13:03:43 -05:00
Andrew Kelley
525b1e8fb4
Merge pull request #3856 from ziglang/builtin-call
...
introduce `@call` and remove other builtin calls
2019-12-06 15:49:47 -05:00
Andrew Kelley
656cc33f8d
allow calling with a new stack to regress a bit
...
Calling with a new stack, with a runtime-known stack pointer (e.g.
not a global variable) is regressed with this branch. It is now a
compile-error, due to the Runtime Hint system not being smart enough
to mix a compile-time modifier field with a runtime stack field.
I'm OK with this regression because this feature is flawed (see #3268 )
and may be deleted from the language.
2019-12-06 15:25:00 -05:00
Andrew Kelley
71b7f4b47f
remove @newStackCall
from zig
2019-12-06 14:52:09 -05:00
Andrew Kelley
343987cd05
remove @inlineCall
from zig
2019-12-06 14:12:01 -05:00
LemonBoy
f64cff3e16
Fix misinterpretation of sentinel constant value
...
Fixes #3842
2019-12-06 12:27:52 -05:00
Andrew Kelley
e41495de9d
private linkage for unnamed internal constants
2019-12-05 23:13:42 -05:00
Andrew Kelley
ef83358eb6
remove @noInlineCall
from zig
2019-12-05 17:37:29 -05:00
Andrew Kelley
1f602fe8c5
implement @call
...
closes #3732
2019-12-05 17:07:15 -05:00