Andrew Kelley
|
c3516b8004
|
parseh handles self referential structs and fn pointers
|
2016-01-28 21:38:01 -07:00 |
Andrew Kelley
|
a5c2de5fee
|
ability to specify function type
closes #14
|
2016-01-28 20:26:40 -07:00 |
Andrew Kelley
|
2bb2e61ee2
|
parser: allow missing fn name and missing param names
now these problems are caught in analyzer
this is for purpose of function type, see #14
|
2016-01-28 18:58:28 -07:00 |
Andrew Kelley
|
ff028525e5
|
add test for calling the result of if-else expr
See #14
|
2016-01-28 17:49:40 -07:00 |
Andrew Kelley
|
d0a1901cb0
|
fix function calling of pointers
See #14
|
2016-01-28 17:42:29 -07:00 |
Andrew Kelley
|
974d69ea3d
|
ability to call member functions directly
see #14
|
2016-01-28 16:55:54 -07:00 |
Andrew Kelley
|
bb4f783528
|
ability to refer to member function directly
See #14
|
2016-01-28 16:45:17 -07:00 |
Andrew Kelley
|
13220ccb51
|
parsh understands constant sized arrays
|
2016-01-28 16:09:06 -07:00 |
Andrew Kelley
|
ed3117a77f
|
parseh understands elaborated structs and enums
|
2016-01-28 15:41:12 -07:00 |
Andrew Kelley
|
47c3a30310
|
parseh understands simple structs
|
2016-01-28 14:49:34 -07:00 |
Andrew Kelley
|
a09b505558
|
null pointer optimization for ?&T
this is necessary for the parseh change where all
pointers from .h files are maybe pointers.
|
2016-01-28 14:04:22 -07:00 |
Andrew Kelley
|
347866f3a7
|
add parseh test for multiple fn prototypes
|
2016-01-28 11:59:21 -07:00 |
Andrew Kelley
|
6f85b956de
|
add restrict -> noalias parseh test
|
2016-01-28 11:57:11 -07:00 |
Andrew Kelley
|
f1c5d3d3a1
|
add parseh tests
|
2016-01-28 11:54:34 -07:00 |
Andrew Kelley
|
97c61313da
|
c_import of stdio.h works for some functions
See #88
|
2016-01-27 23:23:02 -07:00 |
MovingtoMars
|
1a913f6bf2
|
simple malloc and free using mmap
|
2016-01-28 12:39:02 +13:00 |
Andrew Kelley
|
b508441859
|
fix `%%` prefix operator codegen for simple values
closes #93
|
2016-01-27 14:49:48 -07:00 |
Andrew Kelley
|
0a26586724
|
fix comparing incompatible number literals crash
closes #94
|
2016-01-27 14:33:31 -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
|
d27b76fc31
|
add error for `@typeof` or `&` of number literal
closes #85
|
2016-01-27 12:28:05 -07:00 |
Andrew Kelley
|
fe0c6a3df9
|
fix crash when compiling empty file
closes #90
|
2016-01-27 12:09:36 -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
|
5afe473a86
|
different extern syntax and simplify parsing top level decls
|
2016-01-26 13:08:21 -07:00 |
Andrew Kelley
|
4e43973413
|
variable initializations are now mandatory
use `undefined` if you want uninitialized memory
|
2016-01-25 23:56:46 -07:00 |
Andrew Kelley
|
b215a3e0b6
|
add constant expression evaluation for negation
|
2016-01-25 23:44:16 -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
|
1d68150242
|
compiler enforces checking for error
See #23
|
2016-01-25 20:27:57 -07:00 |
Andrew Kelley
|
50854226a6
|
syntax: back to -> for return type, no more =>
|
2016-01-25 17:08:18 -07:00 |
Andrew Kelley
|
4b9e1dd438
|
fix tests and add %% operator test
|
2016-01-25 14:04:29 -07:00 |
Andrew Kelley
|
bcb18338cd
|
update std lib to use error type and global variables
|
2016-01-24 22:53:00 -07:00 |
Andrew Kelley
|
f5cc7f65a3
|
fix parameter access of sret functions
|
2016-01-24 19:27:12 -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
|
706f72f1b4
|
fix hang when returning from while loop
also fixes duplicate error message for function missing
return type.
also makes guess number game use %void for main return type.
closes #58
|
2016-01-23 02:46:24 -07:00 |
Andrew Kelley
|
c0ea9290c4
|
main returns %void
|
2016-01-23 02:14:01 -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
|
523e3b86af
|
support statically initialized array literal
|
2016-01-22 22:02:07 -07:00 |
Andrew Kelley
|
1158bc3ead
|
support statically initialized structs
|
2016-01-22 18:05:22 -07:00 |
Andrew Kelley
|
7bd9c82386
|
add compile error for non constant expr global
|
2016-01-22 16:40:15 -07:00 |
Andrew Kelley
|
b61406b607
|
add test for const number literal
|
2016-01-22 16:02:08 -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
|
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 |