Commit Graph

521 Commits

Author SHA1 Message Date
xackus
204f8daeed stage1: detect underflow in bigint_fits_in_bits 2020-05-11 14:06:37 +02:00
Vexu
f2d3266075 Merge pull request #4932 from Qix-/fix-private-access
Fix private access
2020-05-08 18:21:15 +03:00
Josh Junon
fbf081a306 add failing test for #4909 2020-05-08 14:26:13 +03:00
xackus
2c9effc101 stage1: handle all cases of invalid struct field default value 2020-05-07 16:39:16 -04:00
Tadeo Kondrak
84a0a9688c update docs/tests for async/extern fn removal 2020-05-05 10:31:32 -06:00
Andrew Kelley
e6955688ac Merge pull request #5272 from tadeokondrak/noasync-to-nosuspend
Noasync to nosuspend
2020-05-05 11:21:02 -04:00
Tadeo Kondrak
2c9204032d update tests for nosuspend 2020-05-05 05:55:26 -06:00
Vexu
adc444ceeb fix missing compile error on call assigned to const 2020-05-04 14:28:58 +03:00
Andrew Kelley
5929e5ca0e Merge pull request #5196 from tadeokondrak/@vector-to-@type-vector
`@Vector` -> `@Type(.Vector)`
2020-04-28 16:25:40 -04:00
Tadeo Kondrak
f977155fdb @Vector -> std.meta.Vector 2020-04-28 00:47:13 -06:00
Tadeo Kondrak
17e41f6cd3 @OpaqueType -> @Type(.Opaque) 2020-04-28 00:02:13 -06:00
LemonBoy
a7a8c433d0 stage1: Prevent the creation of illegal ptr types
Closes #5140
2020-04-24 15:55:32 -04:00
xackus
a9eb4a6740 stage1: fix crash on accessing an array of size zero with runtime index 2020-04-23 12:45:32 -04:00
Vexu
b6fe839248 update std lib to decls being disallowed between fields 2020-04-18 23:56:05 +03:00
Vexu
fff00c3bbb disallow declarations between container fields 2020-04-18 23:56:03 +03:00
Vexu
4f02cf32b4 fix typeInfo tests 2020-04-18 11:39:52 +03:00
Vexu
1afaf42525 add error for non-exter variadic functions 2020-04-17 22:02:49 +03:00
Vexu
c026a9f6d2 fix missing compile errors on builtin cast functions 2020-04-17 14:22:20 -04:00
foobles
022a71ca7d Shift error message now says "fixed-width integer type" instead of just "integer type" (#5028)
* error message of ir_analyze_bit_shift now more accurate/specific

* fixed compile error test to match bit shift error message
2020-04-14 16:19:45 -04:00
Vexu
f60e7348d5 add error message for invalid assignment 2020-04-09 11:50:32 +03:00
Vexu
b1e44adcba move array and struct const checks to more appropriate places 2020-04-08 14:32:02 +03:00
Vexu
ff0f97a1bc fix missing compile error on assign to slice and array parameters 2020-04-08 00:27:14 +03:00
Vexu
95fefcd4c9 fix broken tests 2020-04-07 16:56:48 +03:00
Vexu
e62671f643 fix missing const on address of literal 2020-04-07 15:25:44 +03:00
Michael Dusan
8b6a06eefe add compiler-error test: coerce
Issue fixed by an unknown commit.

closes #4207
2020-04-03 19:11:51 -04:00
Michael Dusan
db4c06ce60 stage1: add compile errors for sentinel slicing
closes #3963
2020-04-03 19:05:30 -04:00
Michael Dusan
f6d384450f add compile-error test: bitcast
Issue fixed by an unknown commit.

closes #3818
2020-04-01 18:07:45 -04:00
LemonBoy
6695fa4f32 ir: Fix comparison of ?T values
The code assumed that every ?T had a pointer child type T, add some more
checks to make sure the type is effectively a pointer.

Closes #4789
2020-04-01 15:56:38 -04:00
Timon Kruiper
d9cf779b47 Fix some nullptr dereferences on arm-linux-musleabhif 2020-04-01 20:38:32 +02:00
Michael Dusan
e3d12471a2 add compile-error test for #2687
Issue fixed by an unknown commit.

closes #2687
2020-03-31 20:08:00 -04:00
Andrew Kelley
ab20b351ce update compile error tests 2020-03-26 14:07:19 -04:00
Andrew Kelley
13d04f9963 Merge pull request #4741 from momumi/master
allow `_` separators in number literals (stage 1)
2020-03-23 00:54:54 -04:00
LemonBoy
dc79f181a5 ir: Disallow comparison between enum literal and untagged enum
Closes #4770
2020-03-21 20:54:05 -04:00
LemonBoy
28dbc58837 Address review comments 2020-03-21 09:54:49 +01:00
Andrew Kelley
160367e0dd fix compile error for reading past end of pointer casted array 2020-03-19 17:23:53 -04:00
Andrew Kelley
61266d2621 test & docs fixups to work with new semantics 2020-03-19 09:53:55 -04:00
momumi
47f7e66580 add more test cases for invalid number literals 2020-03-15 23:42:29 +10:00
momumi
925f710852 make parsing 0.0_e1 an error 2020-03-15 13:05:24 +10:00
momumi
7aac21c6f5 allow _ separators in number literals (stage 1)
* Underscores `_` may be placed between two digits in a int/float literal
* Consecutive underscores are not allowed
* Fixed parsing bug in exponents of hexadecimal float literals.
  Exponents should always be base 10, but hex characters would be parsed
  inside the exponent and everything after them would be ignored. eg:
  `0x1.0p1ab1` would be parsed as `0x1.0p1`.
2020-03-15 12:38:35 +10:00
Andrew Kelley
f51bec321b Merge pull request #4707 from Vexu/small-atomics
Support atomic operations with bools and non power of two integers
2020-03-12 18:55:16 -04:00
Vexu
710b05b153 support @atomicRmw at comptime 2020-03-12 16:46:16 +02:00
Vexu
ee5b00a8b9 use atomic bools in std lib 2020-03-10 22:54:47 +02:00
LemonBoy
300fceac6e ir: Implement more safety checks for shl/shr
The checks are now valid on types whose size is not a power of two.

Closes #2096
2020-03-10 20:54:05 +01:00
Andrew Kelley
675f01f176 Merge pull request #4590 from xackus/fix-4587
fix failed assert on generic fn opaque return type
2020-03-09 22:10:57 -04:00
xackus
e7cc456421 better error messages and more tests 2020-03-09 22:33:18 +01:00
Vexu
3fd2cd4367 add LemonBoy's test 2020-03-09 18:43:09 +02:00
Vexu
3618256c97 implement noasync scopes 2020-03-09 12:33:24 +02:00
LemonBoy
e2fd289a33 ir: Create usize result_loc for array subscript expr
Allow the subscript expression to infer the resulting type.

Closes #4169
2020-03-08 18:52:44 -04:00
LemonBoy
06d0dac0fb ir: Prevent crash in compiler error
Anonymous containers have no struct_field->type AstNode set, let's
always use the field node itself to make the error messages consistent.

Closes #4691
2020-03-08 18:12:50 -04:00
xackus
7782c76bee fix failed assert on generic fn opaque return type 2020-03-08 18:05:45 +01:00