Andrew Kelley
183976b242
add this keyword refers to thing in immediate scope
...
See #169
2016-09-26 23:47:30 -04:00
Andrew Kelley
87b7c28c9a
cstr.len and cstr.cmp can run at compile time
...
closes #140
2016-09-26 22:33:33 -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
01e13de7ca
refactor field access code into more generic container code
2016-09-26 00:06:37 -04:00
Andrew Kelley
683da0e4ec
ability to have struct to have a field which is slice of itself
...
closes #197
2016-09-25 13:39:46 -04:00
Andrew Kelley
e06885d64e
enums support member functions
2016-09-23 15:18: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
46eb77dbb2
stack trace is able to figure out compilation unit
...
each address is contained within
also fix a bug having to do with codegen for enum value
initialization expressions
2016-09-23 02:00:23 -04:00
Andrew Kelley
4b902b44a2
os: fix file descriptor leak in os_exec
...
See #182
2016-09-22 10:48:42 -04:00
Andrew Kelley
c64f6f9503
fix compile crash when leaving out for loop parameter
2016-09-22 10:40:05 -04:00
Andrew Kelley
7aeca9bfed
fix incorrect linking from previous commit
2016-09-21 17:40:50 -04:00
Andrew Kelley
3f8f0b9bba
exporting an object creates an h file
2016-09-21 11:18:49 -04:00
Andrew Kelley
b97bfc3ecb
fix error when switch prong has implicit cast
...
closes #194
2016-09-20 16:10:34 -04:00
Andrew Kelley
158225a203
avoid emitting "no member" errors when use import fails
...
closes #192
2016-09-19 21:23:36 -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
4c0259b107
ability to specify -framework linker args for MacOS
2016-09-18 21:28:06 -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
6abd8b6405
fix crash with []type{} expression
2016-09-13 15:35:56 -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
1fa4d2a5af
rename LLVMZig to ZigLLVM
2016-09-10 20:53:57 -04:00
Andrew Kelley
9e92dbdd08
std: use parameter type inference on min and max functions
2016-09-10 20:53:57 -04:00
Constantine Tarasenkov
1cf75db907
Fix for C pointer generator
2016-09-09 23:44:24 +03:00
Andrew Kelley
d324b1befa
ability to infer parameter types
2016-09-08 00:24:48 -04:00
Andrew Kelley
1a1991371a
build: add missing static in tokenizer
2016-09-06 10:58:42 -04:00
Andrew Kelley
9dc9e5bfb0
build: fix warning on gcc 6.2
2016-09-06 10:45:40 -04:00
Andrew Kelley
64034a3d1a
maxValue and minValue builtins return number literal
...
closes #170
2016-09-05 23:19:13 -04:00
Andrew Kelley
cfaced3f73
rename errName builtin to errorName
2016-09-05 17:03:11 -04:00
Andrew Kelley
768a9780ca
rename compileErr builtin to compileError
2016-09-05 17:01:54 -04:00
Andrew Kelley
4979e606c3
fix gcc 5.4.0compile errors
2016-09-05 16:18:49 -04:00
Andrew Kelley
20eb749ad6
generate debug info for global constants
...
See #41
2016-09-04 22:32:23 -07:00
Andrew Kelley
4e7effd3d3
port to llvm 3.9
2016-09-04 18:30:40 -07:00
Andrew Kelley
f18e34c2c6
restore shared library functionality
2016-09-01 11:05:36 -07:00
Andrew Kelley
d44ca5baac
tokenizer: add missing return statement on float overflow
...
closes #177
2016-08-29 22:20:12 -07:00
Andrew Kelley
6e6d138c2f
add ability to explicitly cast enum with no payload to int
2016-08-29 22:14:10 -07:00
Andrew Kelley
651dc31247
implement null as a literal type
2016-08-29 22:14:09 -07:00
Andrew Kelley
1f7ec741fa
implement ?return expression
2016-08-29 22:14:09 -07:00
Andrew Kelley
ed50bd1b65
progress toward stack trace printing
2016-08-17 20:11:04 -07:00
Andrew Kelley
0fbb9e09ea
fix crash when calling method on slice
2016-08-16 23:24:33 -07:00
Andrew Kelley
37d167f6e0
std: conform to style guidelines
2016-08-16 22:42:50 -07:00
Andrew Kelley
0ae9023832
add CBuf to standard library
...
and fix ability to take address of variables
from other namespaces
2016-08-11 22:25:13 -07:00
Andrew Kelley
2ed949a6ae
add zeroes value
2016-08-08 20:43:38 -07:00
Andrew Kelley
0d5ecc4312
ability to have a return type of 'type'
2016-08-07 20:08:37 -07:00
Andrew Kelley
275410dc33
implement multiline C string syntax
2016-08-04 23:10:24 -07:00