Andrew Kelley
|
c8376af92d
|
add @ctz, @clz and compiler_rt implementation
|
2016-02-13 12:50:13 -07:00 |
|
Andrew Kelley
|
592210a173
|
i386 support
closes #115
Thanks to Seo Sanghyeon for the port code.
|
2016-02-12 02:04:46 -07:00 |
|
Andrew Kelley
|
2dc4ac0e21
|
add @compile_var("os") and @compile_var("arch")
|
2016-02-11 18:33:04 -07:00 |
|
Andrew Kelley
|
d8f6388b63
|
if statements can be const expr evaluated
also introduce error for unnecessary if statement
but if the condition depends on a compile variable, then
the if statement is OK
|
2016-02-09 18:53:28 -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
|
6b3ce918db
|
array.len generates a constant number literal expression
|
2016-02-07 15:52:52 -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
|
94ed9f622a
|
blocks with one statement pass constant expression eval
|
2016-02-07 12:38:51 -07:00 |
|
Andrew Kelley
|
7f6b0ba6ea
|
ability to explicitly cast maybe pointers to each other
|
2016-02-07 01:25:04 -07:00 |
|
Andrew Kelley
|
4174134108
|
unreachable return type can cast to any other return type
|
2016-02-07 00:23:05 -07:00 |
|
Andrew Kelley
|
c7dc56f737
|
add test for ?? return and add const expr eval for ? prefix op
|
2016-02-06 19:35:33 -07:00 |
|
Andrew Kelley
|
73727bd1c5
|
parser recognizes %return in a prefix op expression
also defer only valid at statement level now
see #110
|
2016-02-06 19:16:01 -07:00 |
|
Andrew Kelley
|
4339d55562
|
update for loop syntax
it matches more closely the %% binary operator syntax
See #51
|
2016-02-05 17:15:19 -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
|
5490f907fe
|
switch statements resolve peer compatibility
|
2016-02-04 15:50:06 -07:00 |
|
Andrew Kelley
|
fcbeaddbb2
|
codegen: fix switch expressions for enums with payloads
|
2016-02-04 15:26:27 -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
|
2521afef69
|
add ability to call function pointer field
also introduce the self hosted tests
closes #108
|
2016-02-03 21:34:09 -07:00 |
|