Andrew Kelley
|
f45c374664
|
fix -dynamic-linker arg to ld when not overridden
|
2016-02-09 16:55:23 -07:00 |
|
Andrew Kelley
|
207862647c
|
std: fix parse_u64 implementation and add test
also codegen implement comparision with pure errors
|
2016-02-09 09:51:25 -07:00 |
|
Andrew Kelley
|
1d92700d08
|
fix build with GCC
|
2016-02-09 08:46:55 -07:00 |
|
Andrew Kelley
|
e18170ee0b
|
support overriding the dynamic linker argument to ld
|
2016-02-08 22:11:09 -07:00 |
|
Andrew Kelley
|
430d0dfcb2
|
support static linking against libc
|
2016-02-08 00:50:51 -07:00 |
|
Andrew Kelley
|
42fe4e3cc8
|
remove ptr field access of arrays
use &array[0] instead
|
2016-02-07 15:43:19 -07:00 |
|
Andrew Kelley
|
26ea20d88f
|
implement @const_eval
closes #73
|
2016-02-07 15:11:20 -07:00 |
|
Andrew Kelley
|
049e9e5819
|
add debug info for loop variables
closes #112
|
2016-02-07 12:58:09 -07:00 |
|
Andrew Kelley
|
65a03c5859
|
implement %defer and ?defer
see #110
|
2016-02-06 16:36:49 -07:00 |
|
Andrew Kelley
|
34a7e6fdb3
|
codegen: return respects unconditional defer
See #110
|
2016-02-06 01:18:39 -07:00 |
|
Andrew Kelley
|
ec33e5a638
|
simple unconditional defer support
See #110
|
2016-02-06 01:00:29 -07:00 |
|
Andrew Kelley
|
6a2ede5a6e
|
parsing code for defer and more
* disable goto and label support see #44
* refactor the way block contexts work
|
2016-02-05 23:20:34 -07:00 |
|
Andrew Kelley
|
4208435f66
|
add nonnull to functions with pointer return type
|
2016-02-05 14:58:18 -07:00 |
|
Andrew Kelley
|
2ee80858b4
|
codegen: use gen_index for nonnull attribute
also put nonnull on sret params
closes #82
|
2016-02-05 14:48:23 -07:00 |
|
realazthat
|
54fbe7560e
|
Added code for generating nonnull attributes
|
2016-02-05 16:29:26 -05:00 |
|
Andrew Kelley
|
663a1d0cd5
|
switch trap in debug mode when no prong found
|
2016-02-04 17:43:57 -07:00 |
|
Andrew Kelley
|
093e0d1bb0
|
support variable in switch expression prongs
See #43
|
2016-02-04 17:21:08 -07:00 |
|
Andrew Kelley
|
a4cba900e5
|
no namespace required when switching on enum
See #43
|
2016-02-04 16:09:06 -07:00 |
|
Andrew Kelley
|
fcbeaddbb2
|
codegen: fix switch expressions for enums with payloads
|
2016-02-04 15:26:27 -07:00 |
|
Andrew Kelley
|
b87d0abefe
|
fix debug info for bool type
|
2016-02-04 14:02:37 -07:00 |
|
Andrew Kelley
|
25e74cb385
|
ability to explicitly cast bool to int
|
2016-02-04 12:59:06 -07:00 |
|
Andrew Kelley
|
32642ac9cb
|
for loop supports break and continue
See #51
|
2016-02-04 02:49:12 -07:00 |
|
Andrew Kelley
|
fdadab40c6
|
implement constant values for enums with payload
|
2016-02-04 02:11:50 -07:00 |
|
Andrew Kelley
|
1f9734d1ee
|
allow defining errors with the same name
they get the same value, too.
|
2016-02-04 00:58:45 -07:00 |
|
Andrew Kelley
|
a6d4335217
|
fix running tests when linking with libc
|
2016-02-03 23:07:55 -07:00 |
|
Andrew Kelley
|
2521afef69
|
add ability to call function pointer field
also introduce the self hosted tests
closes #108
|
2016-02-03 21:34:09 -07:00 |
|
Andrew Kelley
|
39223c1847
|
test runner prints test names
|
2016-02-03 18:38:09 -07:00 |
|
Andrew Kelley
|
11a0644365
|
basic support for building a test target
|
2016-02-03 18:02:01 -07:00 |
|
Andrew Kelley
|
afdb47c32d
|
fix debug symbols for byval arguments
|
2016-02-03 03:32:45 -07:00 |
|
Andrew Kelley
|
f2fe231ddf
|
add @compile_var("is_release")
|
2016-02-03 02:21:28 -07:00 |
|
Andrew Kelley
|
b28f7d0808
|
types sized and aligned with LLVM target data layout API
|
2016-02-03 02:01:42 -07:00 |
|
Andrew Kelley
|
b04e64d300
|
add @compile_var builtin and "is_big_endian" compile var
|
2016-02-02 21:46:53 -07:00 |
|
Andrew Kelley
|
8058b5e0a9
|
fix crash when incomplete struct used as argument
closes #107
|
2016-02-02 19:09:53 -07:00 |
|
Andrew Kelley
|
7af59c76e4
|
build: fix libc path finding
|
2016-02-02 15:04:14 -07:00 |
|
Andrew Kelley
|
5824b15249
|
codegen: ?? prefix operator causes trap in debug mode
|
2016-02-02 12:37:19 -07:00 |
|
Andrew Kelley
|
5ad84e4724
|
unreachable causes a trap in debug mode
|
2016-02-02 02:43:33 -07:00 |
|
Andrew Kelley
|
d8d0f65654
|
codegen: avoid table lookup for field access
closes #74
|
2016-02-01 20:17:33 -07:00 |
|
Andrew Kelley
|
a2035eefba
|
codegen: avoid table lookup in assembly expression
|
2016-02-01 20:13:36 -07:00 |
|
Andrew Kelley
|
74eaf43768
|
codegen: avoid a table lookup
|
2016-02-01 20:05:50 -07:00 |
|
Andrew Kelley
|
06f6acb4b1
|
inline is a keyword instead of a directive
|
2016-02-01 17:25:38 -07:00 |
|
Andrew Kelley
|
108af28c1b
|
optimization: avoid codegening unused functions
|
2016-02-01 02:34:01 -07:00 |
|
Andrew Kelley
|
179443bd61
|
add ?? prefix operator
|
2016-02-01 02:11:46 -07:00 |
|
Andrew Kelley
|
b3459f64e7
|
parseh understands macros which alias global fn ptr vars
|
2016-02-01 02:00:25 -07:00 |
|
Andrew Kelley
|
675de74412
|
codegen: fix negation for floats
|
2016-01-31 21:32:05 -07:00 |
|
Andrew Kelley
|
a4e19f94f1
|
support casting between floats
|
2016-01-31 21:22:05 -07:00 |
|
Andrew Kelley
|
e74a7264ad
|
support casting between int and float types
|
2016-01-31 21:05:17 -07:00 |
|
Andrew Kelley
|
954afe5d9a
|
fix C interaction with maybe function pointers
See #88
|
2016-01-31 20:15:47 -07:00 |
|
Andrew Kelley
|
0ac714f0d6
|
add --library-path cli option
|
2016-01-31 18:32:07 -07:00 |
|
Andrew Kelley
|
1053172854
|
parseh handles typedef void better
and introduce c_long_double type
|
2016-01-31 15:44:02 -07:00 |
|
Andrew Kelley
|
55c9ae1193
|
codegen extern global variables correctly
|
2016-01-31 01:51:33 -07:00 |
|