Andrew Kelley
|
b6354ddd5a
|
move AST rendering code to separate file
|
2016-01-27 21:10:38 -07:00 |
|
Andrew Kelley
|
c281533638
|
build command supports -isystem argument
|
2016-01-27 19:22:58 -07:00 |
|
Andrew Kelley
|
d1ac1abd34
|
parseh correctly handles C's void type
|
2016-01-27 16:30:52 -07:00 |
|
Andrew Kelley
|
707154da36
|
fix codegen for pointers to void
|
2016-01-27 14:18:20 -07:00 |
|
Andrew Kelley
|
261517aa44
|
add explicit cast from isize/usize to pointer
closes #91
|
2016-01-27 12:43:03 -07:00 |
|
Andrew Kelley
|
0278468479
|
upgrade to the libclang C++ API
c_import creates a tmp .h file and parses it with libclang,
reporting any errors found.
See #88
|
2016-01-27 00:01:49 -07:00 |
|
Andrew Kelley
|
a73453a268
|
add c_import top level decl
see #88
|
2016-01-26 16:00:39 -07:00 |
|
Andrew Kelley
|
5afe473a86
|
different extern syntax and simplify parsing top level decls
|
2016-01-26 13:08:21 -07:00 |
|
Andrew Kelley
|
a37bb4a4da
|
add the C integer types
|
2016-01-25 23:21:13 -07:00 |
|
Andrew Kelley
|
a3e288ab5b
|
implement compile time string concatenation
See #76
|
2016-01-25 21:56:29 -07:00 |
|
Andrew Kelley
|
fb85d3a0a2
|
codegen: get rid of cur_block_context
|
2016-01-25 16:37:45 -07:00 |
|
Andrew Kelley
|
deb3586884
|
implement %% prefix operator
See #23
also make undefined constants use llvm undef value
|
2016-01-25 15:45:05 -07:00 |
|
Andrew Kelley
|
6db6609df8
|
implement %% operator
See #23
|
2016-01-25 13:53:40 -07:00 |
|
Andrew Kelley
|
419652ee8f
|
ability to return structs byvalue from functions
closes #57
|
2016-01-24 18:34:50 -07:00 |
|
Andrew Kelley
|
5c18826240
|
introduce the error keyword and type
See #23
|
2016-01-24 01:34:57 -07:00 |
|
Andrew Kelley
|
c0ea9290c4
|
main returns %void
|
2016-01-23 02:14:01 -07:00 |
|
Andrew Kelley
|
91d911007b
|
codegen: fix field access of arrays
also fix error type analyze error
|
2016-01-23 00:53:43 -07:00 |
|
Andrew Kelley
|
a922d5d42a
|
implement literal error values
See #23
|
2016-01-23 00:34:59 -07:00 |
|
Andrew Kelley
|
1543043bf5
|
fix no error emitted for redeclaring global var
closes #81
|
2016-01-23 00:07:08 -07:00 |
|
Andrew Kelley
|
e269caae02
|
implement undefined literal
|
2016-01-22 23:12:33 -07:00 |
|
Andrew Kelley
|
0e51c16ef5
|
add undefined literal
|
2016-01-22 22:42:02 -07:00 |
|
Andrew Kelley
|
21fc5a6402
|
un-special case constant global strings
|
2016-01-22 20:36:08 -07:00 |
|
Andrew Kelley
|
1158bc3ead
|
support statically initialized structs
|
2016-01-22 18:05:22 -07:00 |
|
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
|
5e212db29c
|
parsing error value decls and error value literals
and return with '?' or '%' prefix
|
2016-01-20 18:18:50 -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
|
c17309dbc5
|
add switch statement support to parser
|
2016-01-19 20:29:36 -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
|
b0f608a6a7
|
merge constant expression evaluator with analyzer
|
2016-01-15 04:45:25 -07:00 |
|
Andrew Kelley
|
0c9afede9e
|
overflow intrinsics take type as first argument
|
2016-01-14 17:04:35 -07:00 |
|
Andrew Kelley
|
68c4f617ed
|
fix next_node_index on wrong struct
no more nondeterministic error messages
closes #65
|
2016-01-14 15:27:42 -07:00 |
|
Andrew Kelley
|
5f9ecb8566
|
instead of 'as' to cast, call type as function
|
2016-01-14 02:52:33 -07:00 |
|
Andrew Kelley
|
b28b7f63d1
|
all types are now expressions
See #22
|
2016-01-13 18:15:51 -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
|
2061cd50c0
|
resolve enum types and emit debug info
|
2016-01-11 00:25:17 -07:00 |
|
Andrew Kelley
|
b147ff5b60
|
fix codegen for void struct fields
|
2016-01-10 18:56:50 -07:00 |
|
Andrew Kelley
|
4d7835e21a
|
delete unused enumfield and enumdecl node types
|
2016-01-10 17:27:58 -07:00 |
|
Andrew Kelley
|
fc748e2ccd
|
update enum parsing to new plan
|
2016-01-10 16:58:21 -07:00 |
|
Andrew Kelley
|
3ef2f7058b
|
refactor out the horrible beast that was codegen_node
|
2016-01-10 15:13:39 -07:00 |
|