Commit Graph

578 Commits (0a0494feb899d19ef05bac08d1b4db729e699c53)

Author SHA1 Message Date
Andrew Kelley 0a0494feb8 fix build error with signed/unsigned 2016-02-19 14:02:36 -07:00
Andrew Kelley e5982e4440 link: on windows link test runner and builtin o files 2016-02-17 21:05:46 -07:00
Andrew Kelley 04cc59be65 update run_tests to work on windows 2016-02-17 20:44:07 -07:00
Andrew Kelley a7b6fa5bee os: implement windows os layer 2016-02-17 19:53:30 -07:00
Andrew Kelley 06398a22d0 back to normal print specifiers
disable warnings for format specifiers on mingw since the
compiler emits bogus warnings
2016-02-16 21:43:38 -07:00
Andrew Kelley bb806f941c use PRIuMAX instead of PRIu64 for mingw 2016-02-16 20:24:51 -07:00
Andrew Kelley 6793548868 fix 64 bit integer printing for mingw
in order to do this I had to turn off -pedantic
2016-02-16 20:21:37 -07:00
Andrew Kelley 58c13aa949 rename 'environ' to 'env_type'
environ appears to clash with another symbol in mingw land
2016-02-16 20:03:41 -07:00
Andrew Kelley afa5d1ea12 os: fix ability to compile for windows 2016-02-16 19:55:49 -07:00
Andrew Kelley 194e93a582 add windows os code 2016-02-16 19:42:46 -07:00
Andrew Kelley 0e92b44043 prepend underscore to non exported functions
to prevent symbol collisions
2016-02-16 17:06:19 -07:00
Andrew Kelley 77ffb5075b update bootstrap to work for macos too
* Directives can have arbitrary expressions as parameters
 * Fix switch statement not generating code sometimes
 * Rename "main" fn in bootstrap.zig to "zig_user_main" to
   avoid name collisions
 * codegen: fix badref when unreachable is last thing in an
   expression
 * support #condition directive on exported functions
2016-02-16 16:41:56 -07:00
Andrew Kelley 91101f08c2 linking on darwin: provide builtins and -arch 2016-02-15 21:59:20 -07:00
Andrew Kelley 4c30216d1c add missing system library to darwin linker job 2016-02-15 21:23:03 -07:00
Andrew Kelley 984e7d6cc7 first pass at linking on macos 2016-02-15 20:56:52 -07:00
Andrew Kelley f580c7fa43 handle libc include path and libc lib path differently 2016-02-15 16:52:37 -07:00
Andrew Kelley c6bf9c6942 MacOS has the same int sizes as Linux
Source: https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/64bitPorting/transition/transition.html
2016-02-15 16:26:33 -07:00
Andrew Kelley 3664e8e4e2 use llvm-config to find llvm include dirs 2016-02-15 15:52:19 -07:00
Andrew Kelley fecbc91a6b update readme 2016-02-15 15:51:10 -07:00
Andrew Kelley baf889c879 parseh: fix __cdecl causing a fn ptr to be double ptr 2016-02-14 16:14:30 -07:00
Andrew Kelley 87922bfae0 parseh: ZIG_PARSEH_CFLAGS -> ZIG_NATIVE_PARSEH_CFLAGS 2016-02-13 23:04:12 -07:00
Andrew Kelley fb8700de6c parseh: support attributed types 2016-02-13 23:03:59 -07:00
Andrew Kelley 5032854aec parseh: more specific warning for different calling conventions 2016-02-13 23:03:39 -07:00
Andrew Kelley 5771bd805e respect link order in source code 2016-02-13 23:03:16 -07:00
Andrew Kelley 1141e4f5b2 if any c imports fail, don't emit undefined identifier errors 2016-02-13 23:02:45 -07:00
Andrew Kelley 01fda6199e dummy implementation of os_get_random_bytes for windows 2016-02-13 22:59:49 -07:00
Andrew Kelley 1d3c25e928 fix some c header symbol collisions 2016-02-13 22:57:55 -07:00
Andrew Kelley fe95a227c8 add windows C int sizes 2016-02-13 16:29:30 -07:00
Andrew Kelley 03b51a753a a = b % c uses the types of b and c instead of a 2016-02-13 15:03:19 -07:00
Andrew Kelley 8d510c699a parseh: fix branching on undefined memory 2016-02-13 13:25:55 -07:00
Andrew Kelley c8376af92d add @ctz, @clz and compiler_rt implementation 2016-02-13 12:50:13 -07:00
Andrew Kelley a5aeb7381f if statement children nodes know if they're compiled out 2016-02-12 16:00:50 -07:00
Andrew Kelley b8a1cb299e avoid codegening functions never called from conditional compilation 2016-02-12 15:51:12 -07:00
Andrew Kelley 9bf9be9937 fix build on GCC 2016-02-12 14:07:12 -07:00
Andrew Kelley 4e3f6de027 c integer size takes into account architecture and OS 2016-02-12 12:07:11 -07:00
Andrew Kelley 7828456b30 std: delete malloc and free
later we'll add a full featured allocator instead of this
2016-02-12 02:23:22 -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 0c1ce21f7d add @compile_var("environ") 2016-02-12 01:23:06 -07:00
Andrew Kelley 51b2621e62 Merge pull request #126 from srgpqt/master
fix undefined LONG_LONG_MAX compilation error
2016-02-12 00:44:55 -07:00
Serge Paquet 633b01de23 fix undefined LONG_LONG_MAX compilation error 2016-02-11 22:13:54 -05:00
Andrew Kelley 2dc4ac0e21 add @compile_var("os") and @compile_var("arch") 2016-02-11 18:33:04 -07:00
Andrew Kelley 08eb19456b add compile error for missing enumeration value in switch 2016-02-11 16:15:08 -07:00
Andrew Kelley a180168871 fix division by 0 crashing compiler
closes #99
closes #124

thanks to Michael Patraw for submitting a patch for this.
2016-02-11 15:02:22 -07:00
Andrew Kelley 2bf6c28bc3 ability to cross compile
hello_libc.zig can produce a windows build
2016-02-11 01:33:27 -07:00
Andrew Kelley 54a8b6a110 cleanup target data organization 2016-02-10 16:58:15 -07:00
Andrew Kelley b642604691 targets command shows which ones are native 2016-02-10 16:35:07 -07:00
Andrew Kelley 1ff2edf67e add "targets" command to list architectures, oses, abis 2016-02-10 15:41:50 -07:00
Andrew Kelley b988017547 add link to intro in readme
closes #119
2016-02-09 22:31:49 -07:00
Andrew Kelley aa504275f0 don't create debug type for void arrays 2016-02-09 20:38:42 -07:00
Andrew Kelley 0c7f33456e minor readme rewording 2016-02-09 19:26:15 -07:00