Commit Graph

861 Commits

Author SHA1 Message Date
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
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
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
c65fe384dd Merge branch 'macos-aindigo'
Closes #189
2016-09-14 02:47:54 -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
ea2f6594ce std: fix compile error for unsupported os 2016-09-13 15:36:30 -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
077cd4b9a4 langref: correct builtin function names 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
Andrew Kelley
100990b052 Merge pull request #187 from procedural/c-pointer-fix
Fix for C pointer generator
2016-09-10 13:53:47 -04:00
Constantine Tarasenkov
1cf75db907 Fix for C pointer generator 2016-09-09 23:44:24 +03:00
Andrew Kelley
fc9ff13fb6 std: avoid calling close twice in InStream
thanks ofelas for pointing this out
2016-09-08 14:21:42 -04:00
Andrew Kelley
d324b1befa ability to infer parameter types 2016-09-08 00:24:48 -04:00
Andrew Kelley
de7e88c38f build: remove -Wmissing-prototypes
this causes errors with llvm's own h files which we have no control over.
2016-09-06 11:01:51 -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
f2a5fe443c README: clarify build vs runtime dependencies 2016-09-05 16:36:21 -04:00
Andrew Kelley
e8e2d84689 Merge branch 'llvm-3.9' 2016-09-05 16:19:20 -04:00
Andrew Kelley
4979e606c3 fix gcc 5.4.0compile errors 2016-09-05 16:18:49 -04:00
Andrew Kelley
a31eb977b4 Merge pull request #186 from winksaville/master
Fix email address of Email list
2016-09-05 15:07:56 -04:00
Wink Saville
92cebdb926 Fix email address of Email list 2016-09-05 12:03:32 -07:00
Andrew Kelley
d2a6c2b260 Merge pull request #185 from winksaville/master
Add Email list
2016-09-05 14:05:22 -04:00
Wink Saville
5068716a9a Add Email list 2016-09-05 10:44:48 -07: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