Andrew Kelley
|
9b2ed1fac5
|
parseh understands simple character literal macro
|
2016-01-29 00:28:52 -07:00 |
|
Andrew Kelley
|
923e78785d
|
attempt to get preprocessor entities from libclang
I'm pretty sure it's impossible, the API does not
expose the macro expansion value
and the source location points to the macro's name,
not its value.
|
2016-01-28 23:18:39 -07:00 |
|
Andrew Kelley
|
650fdded29
|
fix incorrect loading of files over 8192 bytes
|
2016-01-28 22:38:18 -07:00 |
|
Andrew Kelley
|
53c14da220
|
parseh understands bodyless struct used in fn
|
2016-01-28 21:53:46 -07:00 |
|
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
|
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
|
f1c5d3d3a1
|
add parseh tests
|
2016-01-28 11:54:34 -07:00 |
|
Andrew Kelley
|
474340a003
|
parseh recognizes C enums
|
2016-01-28 11:03:44 -07:00 |
|
Andrew Kelley
|
137bb51e20
|
parseh: add --c-import-warnings option
|
2016-01-28 00:25:10 -07:00 |
|
Andrew Kelley
|
97c61313da
|
c_import of stdio.h works for some functions
See #88
|
2016-01-27 23:23:02 -07:00 |
|
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
|
69d4f55fbf
|
parseh: still produce output when not all types are known
|
2016-01-27 19:07:01 -07:00 |
|
Andrew Kelley
|
d1ac1abd34
|
parseh correctly handles C's void type
|
2016-01-27 16:30:52 -07:00 |
|
Andrew Kelley
|
75cab48c1e
|
parseh: recognize typedef types
and fix const qualifier on pointers
|
2016-01-27 16:00:43 -07: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
|
fa1ea6062b
|
parseh works for simple functions
|
2016-01-27 03:12:06 -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
|
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
|
01428d4a72
|
analyze: fix crash when return type is invalid
|
2016-01-25 22:20:52 -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
|
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
|
4b9e1dd438
|
fix tests and add %% operator test
|
2016-01-25 14:04:29 -07:00 |
|
Andrew Kelley
|
6db6609df8
|
implement %% operator
See #23
|
2016-01-25 13:53:40 -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
|
29a83f648b
|
support the %return expression
|
2016-01-24 20:13:08 -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
|
ca7b85b32e
|
fix number literal implicit cast
|
2016-01-24 14:51:47 -07:00 |
|
Andrew Kelley
|
5c18826240
|
introduce the error keyword and type
See #23
|
2016-01-24 01:34:57 -07:00 |
|