Andrew Kelley
cf62f02ba9
don't mark call instruction as generated
...
pass cast unreachable test
2017-01-06 02:04:27 -05:00
Andrew Kelley
23feafdef0
pass more tests
...
by removing assertion, fixing error column,
and updating expected message
2017-01-05 19:25:36 -05:00
Andrew Kelley
28403eaad0
pass more tests by updating expected error messages
2017-01-05 19:20:31 -05:00
Andrew Kelley
837cc467f7
pass array access compile error tests
2017-01-05 19:05:48 -05:00
Andrew Kelley
e621ad014e
pass cannot assign to constant test
2017-01-05 18:50:36 -05:00
Andrew Kelley
ed21be011a
pass unreachable variable test
2017-01-05 04:03:25 -05:00
Andrew Kelley
c32a060d4f
IR: add unreachable code compiler error
2017-01-04 23:21:33 -05:00
Andrew Kelley
e4271f4fb2
more test coverage, change 'got' to 'found' in errors
2016-10-28 12:15:37 -04:00
Andrew Kelley
e3857a361c
more test coverage
2016-10-28 12:04:46 -04:00
Andrew Kelley
b581da41f8
remove compiler directives
...
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`,
`setFnNoInline` builtin functions to replace previous
directive functionality
* add `coldcc` and `nakedcc` as keywords which can be used as part
of a function prototype.
* `setDebugSafety` builtin can be used to set debug safety features
at a per block scope level.
* closes #169
2016-09-28 02:33:32 -04:00
Andrew Kelley
183976b242
add this keyword refers to thing in immediate scope
...
See #169
2016-09-26 23:47:30 -04:00
Andrew Kelley
7ce7e2c9d1
emit error for extern function
...
with byvalue return value or parameter.
currently we don't codegen byvalue parameters or return values
correctly for C compatibilty functions so instead of generating
incorrect code, we emit a compile error.
eventually we'll support this feature and remove the compile error.
See #180
2016-09-26 20:01:42 -04:00
Andrew Kelley
7f4d4bdb3f
fix crash when doing binary not on integer literal
...
closes #201
2016-09-26 19:42:51 -04:00
Andrew Kelley
4b68224c60
add error message for method call on non method
...
closes #199
2016-09-26 01:01:02 -04:00
Andrew Kelley
9ec6a78f12
fix compiler crash for misspelled type with pointer only reference
...
closes #196
2016-09-23 11:53:05 -04:00
Andrew Kelley
c64f6f9503
fix compile crash when leaving out for loop parameter
2016-09-22 10:40:05 -04:00
Andrew Kelley
e397ea43c0
tests: correct test name
2016-09-19 20:19:02 -04:00
Andrew Kelley
3239b3cb69
use size_t for indexes
...
protect against incorrect copies in debug mode
2016-09-19 11:54:01 -04:00
Andrew Kelley
b738cbdc76
fix compiler crash involving slice with const slice child
...
also fix compiler crash for multiple errors in main fn prototype
closes #191
2016-09-15 14:09:08 -04:00
Andrew Kelley
3f05fdc8e8
tests: use a more robust path to self_hosted.zig
...
closes #184
2016-09-14 03:10:56 -04:00
Andrew Kelley
f1761632da
darwin compat fixups
...
- delete commented out code
- delete redundant check for missing
mmacosx-version-min/maxdir
- add TODO comment in std library
- rename 'os' to 'self' in io.zig
- `openSelfExe` aborts on darwin instead of compile error
- only allow warnings on the one parseh test that has
`#include <stdint.h>`.
2016-09-14 02:47:16 -04:00
alter
cf9b21c09f
MacOSX compatibility
...
- Implemented some syscall for MacOSX
- tested on : El Capitan 10.11 x86_64
- make self hosted test run on macosx
- modified run_test so it does not fail when parseh throws
warnings (most of them are related to buildin types from
gcc that arent defined in header files and unions)
- making -mmacosx-version-min and -mios-version-min works like
gcc (command line paramers have precedence over enviroment variables)
2016-09-14 02:46:02 -04:00
Andrew Kelley
06f2f4d64b
change unreachable{}
to @unreachable()
...
instead of a container init expression, it's a builtin
function call.
2016-09-13 16:46:27 -04:00
Andrew Kelley
56f8325799
add compile error for assigning through const
...
pointer and slice
closes #188
2016-09-11 14:12:24 -04:00
Andrew Kelley
28811234bb
fix compile error message for wrong arg count on method
2016-09-10 20:53:57 -04:00
Andrew Kelley
651dc31247
implement null as a literal type
2016-08-29 22:14:09 -07:00
Andrew Kelley
0fbb9e09ea
fix crash when calling method on slice
2016-08-16 23:24:33 -07:00
Andrew Kelley
a2ac06dcd5
std: replace print_u64/i64 with printInt
2016-08-16 22:59:32 -07:00
Andrew Kelley
37d167f6e0
std: conform to style guidelines
2016-08-16 22:42:50 -07:00
Andrew Kelley
0d5ecc4312
ability to have a return type of 'type'
2016-08-07 20:08:37 -07:00
Andrew Kelley
d0b11af2bd
new multiline string syntax
...
This patch also moves a bunch of the parser code into the tokenizer.
Closes #162 .
2016-08-04 22:52:38 -07:00
Andrew Kelley
8552d7fd19
explicit wrapping integer operations
...
instead of wrapping integer types
closes #159
2016-07-27 23:08:27 -07:00
Andrew Kelley
06c4b35eb1
std: improve rand implementation and API
2016-07-26 23:51:58 -07:00
Andrew Kelley
bc81ddfea6
unsigned integers for sizes of things
...
Closes #62 .
2016-07-26 20:40:11 -07:00
Andrew Kelley
78d4fb20c4
inline parameters
...
This replaces the current generic syntax for functions and replaces
it with the concept of inline parameters.
This paves the way for the "all structs anonymous" proposal.
Closes #151 .
2016-07-25 22:55:15 -07:00
Andrew Kelley
a5251a1c10
parseh: support octal in C macro string literal
2016-07-09 12:17:31 -07:00
Andrew Kelley
2c710382a8
fix crash when error evaluating target of for expr
...
closes #153
2016-05-16 22:51:08 -07:00
Andrew Kelley
33e3d56453
add error for wrong return type of main
2016-05-13 13:08:54 -07:00
Andrew Kelley
1eafc85f1f
add readonly attribute to relevant functions and parameters
2016-05-11 15:58:00 -07:00
Andrew Kelley
d92ae20f45
add hashmap to standard library
...
closes #22
2016-05-09 15:07:38 -07:00
Andrew Kelley
f1e5be9686
fix ability to use previous generic params and
...
add error when `%return` shows up in a function with incorrect
return type
2016-05-09 13:44:29 -07:00
Andrew Kelley
56908dcb9d
add debug safety for shortening casts
...
closes #150
2016-05-09 08:44:41 -07:00
Andrew Kelley
0c32b0b4ad
add list implementation to standard library
2016-05-08 01:34:00 -07:00
Andrew Kelley
18ed87c695
ability to cast u8 slice to bigger slice
2016-05-08 00:59:21 -07:00
Andrew Kelley
404defd99b
add div_exact builtin fn
...
closes #149
2016-05-07 20:53:16 -07:00
Andrew Kelley
eb83111f02
add debug safety for division
...
See #149
2016-05-07 19:58:02 -07:00
Andrew Kelley
6f0f357ee4
self hosted tests test release mode too
...
closes #69
2016-05-07 10:14:16 -07:00
Andrew Kelley
8c79438f6b
better array concatenation semantics
...
closes #87
2016-05-07 10:05:59 -07:00
Andrew Kelley
271a37b418
implicit wrap widening cast on integer peer types
...
closes #46
2016-05-06 19:49:28 -07:00
Andrew Kelley
6131b37163
fix eval integer wrapping and add tests
...
See #46
2016-05-06 19:23:21 -07:00