Andrew Kelley
db882e5d63
stage1: rename TypeTableEntry to ZigType
2018-09-05 18:33:07 -04:00
Andrew Kelley
b517bea734
allow comptime_int to @floatToInt
2018-09-05 18:01:48 -04:00
hfcc
768d1fc539
Added compilation error when a non-float is given to @floatToInt()
2018-09-05 23:31:25 +02:00
Andrew Kelley
c87a576cb5
stage1 compile error instead of crashing for unsupported comptime ptr cast
...
See #955
2018-09-05 15:53:36 -04:00
Andrew Kelley
a76a72469b
stage1: fix crash when invalid type used in array type
...
closes #1186
2018-09-05 10:43:35 -04:00
Andrew Kelley
b35c74ea4c
stage1: use os_path_resolve instead of os_path_real
...
to canonicalize imports.
This means that softlinks can represent different files,
but referencing the same absolute path different ways
still references the same import.
2018-09-04 23:17:38 -04:00
Andrew Kelley
2bf1b6840d
port std.os.path.resolve to stage1
2018-09-04 22:45:20 -04:00
Andrew Kelley
869167fc6d
compile error for @noInlineCall on an inline fn
...
closes #1133
2018-09-04 17:38:48 -04:00
Andrew Kelley
cbb3f1d76c
ir: consistent error checking for br and cond_br instructions
2018-09-04 16:58:19 -04:00
Andrew Kelley
68db9d5074
add compile error for comptime control flow inside runtime block
...
closes #834
2018-09-04 15:28:35 -04:00
Andrew Kelley
36828a2e6a
fix incorrect variable ref count
...
regression introduced by e82cd53df483a
2018-09-04 12:50:02 -04:00
Andrew Kelley
bc88ef2dc3
compile errors for unimplemented minValue/maxValue builtins
2018-09-03 22:47:23 -04:00
Andrew Kelley
e82cd53df4
fix incorrect value for inline loop
...
09cc1dc66067f378 failed to handle mem_slot_index correctly
closes #1436
2018-09-03 21:24:20 -04:00
Andrew Kelley
a11e73bee2
compile error instead of segfault for unimplemented feature
...
closes #1103
2018-09-03 12:38:24 -04:00
Andrew Kelley
2a9329c998
better anonymous struct naming
...
this makes anonymous structs inherit the name of the function they are in
only when they are the return expression.
also document the behavior and provide examples.
closes #1243
2018-09-03 11:32:39 -04:00
Andrew Kelley
95636c7e5f
ability to @ptrCast to *void
...
fixes #960
2018-09-03 00:04:12 -04:00
Andrew Kelley
09cc1dc660
fix crash when var in inline loop has different types
...
closes #917
closes #845
closes #741
closes #740
2018-08-28 15:24:28 -04:00
Andrew Kelley
45d9d9f953
minor fixups
2018-08-27 18:31:28 -04:00
raulgrell
e2a9f2ef98
Allow implicit cast from *T and [*]T to ?*c_void
2018-08-27 23:13:57 +01:00
Andrew Kelley
009e90f446
fix @typeInfo unable to distinguish compile error vs no-payload
...
closes #1421
closes #1426
2018-08-27 17:13:34 -04:00
Andrew Kelley
68e2794e15
ir: const_ptr_pointee asserts that its return value is non-null
2018-08-26 13:13:26 -04:00
Andrew Kelley
6a3fad1d59
Revert "src/ir.cpp: check return value of const_ptr_pointee to protect against dereferencing null pointers;"
...
This reverts commit 0839ed1f945dbbe3ad1f780a5334ad16ad12fd5e.
I realized too late there is a better fix. See PR #1419
2018-08-26 13:04:58 -04:00
kristopher tate
0839ed1f94
src/ir.cpp: check return value of const_ptr_pointee to protect against dereferencing null pointers;
2018-08-26 13:02:09 -04:00
Andrew Kelley
815950996d
Merge remote-tracking branch 'origin/master' into macos-stack-traces
2018-08-25 04:48:58 -04:00
Andrew Kelley
b95ff12f2f
fix regressions
2018-08-25 03:40:47 -04:00
Andrew Kelley
ac36f98e72
fix stack traces on linux
2018-08-25 03:07:37 -04:00
Marc Tiehuis
05f9b14fc2
Fix builtin alignment type
...
Closes #1235 .
2018-08-24 17:57:17 +12:00
Marc Tiehuis
353419f82d
Default to strict IEEE floating point
...
Closes #1227 .
2018-08-23 22:54:46 +12:00
Andrew Kelley
5aeb3217ee
fixup for previous commit
2018-08-22 14:24:48 -04:00
Raul Leal
87b10400c2
allow implicit cast from *[N]T to ?[*]T ( #1398 )
...
* allow implicit cast from *[N]T to ?[*]T
2018-08-22 13:12:08 -04:00
Wink Saville
d927f347de
Fix ir_analyze_instruction_atomic_rmw ( #1351 )
...
There were two tests of type_is_valid(casted_ptr->value.type) change the
second one to type_is_valie(casted_operand->value.type).
2018-08-07 23:18:26 -04:00
Andrew Kelley
9bd8b01650
fix tagged union initialization with a runtime void
...
closes #1328
2018-08-03 15:21:08 -04:00
kristopher tate
298abbcff8
better support for _ identifier
...
* disallow variable declaration of `_`
* prevent `_` from shadowing itself
* prevent read access of `_`
closes #1204
closes #1320
2018-08-03 02:57:17 -04:00
kristopher tate
b3cd65d56e
src/ir.cpp: remove promise_symbol from suspend;
...
Tracking Issue #1296 ;
2018-08-02 16:50:08 +09:00
kristopher tate
a8ea236095
src/ir.cpp: don't allow @handle() outside of a function;
...
Tracking Issue #1296 ;
2018-08-02 16:50:08 +09:00
kristopher tate
fcf53b31fc
src/ir.cpp: return promise->T instead of promise;
...
Tracking Issue #1296 ;
Thanks @andrewrk ;
2018-08-02 16:50:08 +09:00
kristopher tate
c1a3b0cb0a
src/ir.cpp: add/throw error for @handle() in a non async context;
...
Tracking Issue #1296 ;
Thanks @andrewrk ;
2018-08-02 16:50:08 +09:00
kristopher tate
a9ea22d4f9
src/ir.cpp: wire-up IR for handle builtin;
...
Tracking Issue #1296 ;
2018-08-02 16:50:08 +09:00
Andrew Kelley
6fd6bc94f5
await sets suspend bit; return clears suspend bit
2018-07-30 12:22:54 -04:00
Andrew Kelley
09304aab77
fix cancel and await semantics
2018-07-29 23:25:40 -04:00
Andrew Kelley
0d79e03816
canceling an await also cancels things awaiting it
2018-07-28 13:52:48 -04:00
Andrew Kelley
dd272d1316
await cancels the await target when it is canceled
2018-07-28 12:36:02 -04:00
Andrew Kelley
0ba2bc38d7
await checks the cancel bit
2018-07-28 12:23:47 -04:00
Andrew Kelley
60cda3713f
suspend cancels awaiter when it gets canceled
2018-07-28 12:11:39 -04:00
Andrew Kelley
c6f9a4c044
cancel detects suspend bit
2018-07-28 01:26:11 -04:00
Andrew Kelley
6fed777637
cancel detects if the target handle has already returned
2018-07-28 01:22:51 -04:00
Andrew Kelley
f0c049d02b
detect double await
2018-07-27 18:37:30 -04:00
Andrew Kelley
e5beca886d
suspend checks the cancel bit
2018-07-27 18:07:30 -04:00
Andrew Kelley
e491c38189
resume detects resuming when not suspended
2018-07-27 18:01:39 -04:00
Andrew Kelley
341bd0dfa4
await sets the await bit
2018-07-27 17:47:27 -04:00