Andrew Kelley
|
272fe1c54c
|
implicit casts rewrite the AST
|
2016-01-22 15:31:35 -07:00 |
Andrew Kelley
|
b09a0cd072
|
allow constants to have number literal values
also codegen takes advantage of constant expr eval
|
2016-01-21 15:23:24 -07:00 |
Andrew Kelley
|
32e2196257
|
number literal rework
|
2016-01-21 03:02:25 -07:00 |
Andrew Kelley
|
961adc0909
|
Merge branch 'master' of github.com:andrewrk/zig
|
2016-01-20 02:16:36 -07:00 |
Andrew Kelley
|
ad9759bc8e
|
basic support for switch expression
|
2016-01-20 02:12:24 -07:00 |
MovingtoMars
|
361531891f
|
rename value_count to member_count
rename BuiltinFnIdValueCount to BuiltinFnIdMemberCount
rename value_count to member_count
|
2016-01-20 22:03:03 +13:00 |
Andrew Kelley
|
ae2151a751
|
use signed integer for sizes of things
|
2016-01-18 21:13:14 -07:00 |
Andrew Kelley
|
ea21d2beb6
|
add error for shadowing a type
closes #61
|
2016-01-18 17:04:37 -07:00 |
Andrew Kelley
|
32821e7098
|
add function pointer support
See #14
|
2016-01-18 16:42:45 -07:00 |
Andrew Kelley
|
3a326d5005
|
pave the road for function pointers
See #14
|
2016-01-18 08:50:10 -07:00 |
Andrew Kelley
|
fbbef14013
|
add for loop which can iterate over arrays
See #51
|
2016-01-18 07:00:45 -07:00 |
Andrew Kelley
|
f0a43cfda9
|
fix nested arrays
|
2016-01-18 04:34:26 -07:00 |
Andrew Kelley
|
5f7685336f
|
better main symbol prototype
closes #64
|
2016-01-16 00:07:34 -07:00 |
Andrew Kelley
|
8205253b2b
|
support array literals
|
2016-01-15 20:01:49 -07:00 |
Andrew Kelley
|
8bc3fae1cf
|
fix error message for struct initialization on array
|
2016-01-15 19:05:51 -07:00 |
Andrew Kelley
|
dc162c7f83
|
rename "use" to "import"
|
2016-01-15 18:45:52 -07:00 |
Andrew Kelley
|
86f55bce53
|
add void arrays test
|
2016-01-15 18:41:19 -07:00 |
Andrew Kelley
|
0c9afede9e
|
overflow intrinsics take type as first argument
|
2016-01-14 17:04:35 -07:00 |
Andrew Kelley
|
5f9ecb8566
|
instead of 'as' to cast, call type as function
|
2016-01-14 02:52:33 -07:00 |
Andrew Kelley
|
d121ed961a
|
fix noalias codegen
also make some parsing error messages better
|
2016-01-13 22:18:10 -07:00 |
Andrew Kelley
|
b28b7f63d1
|
all types are now expressions
See #22
|
2016-01-13 18:15:51 -07:00 |
Andrew Kelley
|
cb46d0b5b0
|
fix not adding builtin functions code
|
2016-01-11 20:44:10 -07:00 |
Andrew Kelley
|
ccc8e9f4c3
|
support enums with values attached
|
2016-01-11 20:33:06 -07:00 |
Andrew Kelley
|
aaa62eda72
|
simple enum support
|
2016-01-11 01:15:17 -07:00 |
Andrew Kelley
|
b147ff5b60
|
fix codegen for void struct fields
|
2016-01-10 18:56:50 -07:00 |
Andrew Kelley
|
35b74d4013
|
order-independent declarations even from imports
closes #42
|
2016-01-10 01:25:20 -07:00 |
Andrew Kelley
|
49d0971cd4
|
detect and report top level decl dependency loop
|
2016-01-10 00:03:31 -07:00 |
Andrew Kelley
|
1fe1235e14
|
order-independent declarations
code constructs and traverses a dependency graph in a deterministic
order.
|
2016-01-09 23:49:22 -07:00 |
Andrew Kelley
|
6d9119fcd9
|
add memcpy and memset intrinsics
|
2016-01-09 02:16:54 -07:00 |
Andrew Kelley
|
b7dd88ad68
|
suport checked arithmetic operations via intrinsics
closes #32
|
2016-01-08 23:41:40 -07:00 |
Andrew Kelley
|
0c84ecd19d
|
codegen: fix else if expression and maybe unwrap expr
|
2016-01-08 03:59:37 -07:00 |
Andrew Kelley
|
9aea99a999
|
implement array slicing syntax
closes #52
|
2016-01-07 05:29:11 -07:00 |
Andrew Kelley
|
a3c97081ca
|
add ?? maybe unwrapping binary operator
add null literal
fix number literal / maybe interactions
|
2016-01-07 03:23:38 -07:00 |
Andrew Kelley
|
c75d40680f
|
while detects simple constant condition
|
2016-01-06 18:02:42 -07:00 |
Andrew Kelley
|
5f0bfcac24
|
fix undefined reference to memcpy in release mode
when not depending on libc, we generate memcpy and memset
implementations.
|
2016-01-06 06:40:25 -07:00 |
Andrew Kelley
|
66eee5a06b
|
add unknown size array test
|
2016-01-06 01:30:11 -07:00 |
Andrew Kelley
|
4ef062b9c8
|
array syntax is [10]i32 instead of [i32; 10]
|
2016-01-05 22:47:47 -07:00 |
Andrew Kelley
|
3327b0488d
|
add #min_value() and #max_value()
|
2016-01-05 06:30:49 -07:00 |
Andrew Kelley
|
a11d0aaf62
|
progress toward compile time constant expression evaluation
|
2016-01-04 23:37:17 -07:00 |
Andrew Kelley
|
e0aa0736be
|
add pointer dereferencing operator
|
2016-01-04 19:11:36 -07:00 |
Andrew Kelley
|
4514661cfe
|
add member functions
|
2016-01-04 16:57:22 -07:00 |
Andrew Kelley
|
44d5d008d0
|
partial import segregation
See #3
|
2016-01-04 03:31:57 -07:00 |
Andrew Kelley
|
333a322127
|
multiple files example no longer use libc
|
2016-01-04 01:52:32 -07:00 |
Andrew Kelley
|
e64c0941f9
|
implement #sizeof()
closes #8
|
2016-01-03 19:38:36 -07:00 |
Andrew Kelley
|
fa6e3eec46
|
add #typeof() compiler function
|
2016-01-03 18:17:50 -07:00 |
Andrew Kelley
|
258bc73eee
|
fix implicit cast after unreachable bad code gen
|
2016-01-02 20:13:10 -07:00 |
Andrew Kelley
|
187d00ca83
|
ability to access pointers with array indexing syntax
closes #40
|
2016-01-02 19:47:36 -07:00 |
Andrew Kelley
|
724dcdd384
|
error for if var expression not maybe type
|
2016-01-02 00:09:49 -07:00 |
Andrew Kelley
|
9a8851515b
|
basic maybe type working
|
2016-01-02 00:06:06 -07:00 |
Andrew Kelley
|
b3ac5c16ec
|
block expressions require parens
closes #39
|
2015-12-31 16:04:13 -07:00 |