Commit Graph

595 Commits (1d4c66b56beb7b2da6bafbab6871691641c8da0b)

Author SHA1 Message Date
Andrew Kelley 4208435f66 add nonnull to functions with pointer return type 2016-02-05 14:58:18 -07:00
Andrew Kelley db3b517639 Merge branch 'realazthat-nonnull-branch' 2016-02-05 14:49:01 -07:00
Andrew Kelley 2ee80858b4 codegen: use gen_index for nonnull attribute
also put nonnull on sret params

closes #82
2016-02-05 14:48:23 -07:00
realazthat 54fbe7560e Added code for generating nonnull attributes 2016-02-05 16:29:26 -05:00
Andrew Kelley ff5673ae1b add rand.float32 to standard library 2016-02-05 04:30:19 -07:00
Andrew Kelley 15fe3c4235 fix explicit casting from integer literal to float 2016-02-05 04:30:04 -07:00
Andrew Kelley 5f0a9a569e another planned feature complete 2016-02-05 00:13:37 -07:00
Andrew Kelley 663a1d0cd5 switch trap in debug mode when no prong found 2016-02-04 17:43:57 -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 b87d0abefe fix debug info for bool type 2016-02-04 14:02:37 -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 3a9009b08e fix crash when initializing struct if field is invalid 2016-02-04 01:06:31 -07:00
Andrew Kelley bb4a532785 move os_get_random_bytes to os.zig 2016-02-04 01:00:54 -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 a6d4335217 fix running tests when linking with libc 2016-02-03 23:07:55 -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
Andrew Kelley 5c310f4343 skip analyzing parameters of invalid function call 2016-02-03 19:10:02 -07:00
Andrew Kelley c3123158b7 fix handling of implicit casts in binary operators 2016-02-03 19:07:15 -07:00
Andrew Kelley 39223c1847 test runner prints test names 2016-02-03 18:38:09 -07:00
Andrew Kelley 11a0644365 basic support for building a test target 2016-02-03 18:02:01 -07:00
Andrew Kelley afdb47c32d fix debug symbols for byval arguments 2016-02-03 03:32:45 -07:00
Andrew Kelley 815d9a7994 fix debug info for arrays being 1 element too short 2016-02-03 02:44:21 -07:00
Andrew Kelley f2fe231ddf add @compile_var("is_release") 2016-02-03 02:21:28 -07:00
Andrew Kelley b28f7d0808 types sized and aligned with LLVM target data layout API 2016-02-03 02:01:42 -07:00
Andrew Kelley b04e64d300 add @compile_var builtin and "is_big_endian" compile var 2016-02-02 21:46:53 -07:00
Andrew Kelley a50474e7cf fix false positive error with same named methods in incomplete struct 2016-02-02 20:06:51 -07:00
Andrew Kelley d3de73739f fix various semantic analyzer crashes 2016-02-02 19:35:02 -07:00
Andrew Kelley 8058b5e0a9 fix crash when incomplete struct used as argument
closes #107
2016-02-02 19:09:53 -07:00
Andrew Kelley 79adf55699 fx segfault with colliding bogus top level functions 2016-02-02 15:58:13 -07:00
Andrew Kelley 7af59c76e4 build: fix libc path finding 2016-02-02 15:04:14 -07:00
Andrew Kelley 5824b15249 codegen: ?? prefix operator causes trap in debug mode 2016-02-02 12:37:19 -07:00
Andrew Kelley 5ad84e4724 unreachable causes a trap in debug mode 2016-02-02 02:43:33 -07:00
Andrew Kelley 6f1a7a0d70 add abort function and "cold" fn attribute 2016-02-02 00:42:06 -07:00
Andrew Kelley fc5ffd32e9 build: prefer llvm-config 2016-02-01 22:38:55 -07:00
Andrew Kelley 0216293430 add test for var local eval const expr
closes #53
2016-02-01 20:54:48 -07:00
Andrew Kelley d8d0f65654 codegen: avoid table lookup for field access
closes #74
2016-02-01 20:17:33 -07:00
Andrew Kelley a2035eefba codegen: avoid table lookup in assembly expression 2016-02-01 20:13:36 -07:00
Andrew Kelley 74eaf43768 codegen: avoid a table lookup 2016-02-01 20:05:50 -07:00
Andrew Kelley 0b94c83deb remove the constructor of hash map 2016-02-01 17:50:46 -07:00
Andrew Kelley 06f6acb4b1 inline is a keyword instead of a directive 2016-02-01 17:25:38 -07:00
Andrew Kelley 122b7b9966 c_import top level decl supports pub
See #88
2016-02-01 17:05:07 -07:00
Andrew Kelley c7eb8aaec5 build: fix release mode 2016-02-01 15:26:01 -07:00
Andrew Kelley 108af28c1b optimization: avoid codegening unused functions 2016-02-01 02:34:01 -07:00
Andrew Kelley 179443bd61 add ?? prefix operator 2016-02-01 02:11:46 -07:00
Andrew Kelley b3459f64e7 parseh understands macros which alias global fn ptr vars 2016-02-01 02:00:25 -07:00