Commit Graph

3007 Commits (48de57d8248d9203b44d28d7749b5d7c1a00deba)

Author SHA1 Message Date
Andrew Kelley 0ccc186869 disable field access for unknown length pointers
See #770
2018-06-05 23:26:43 -04:00
Andrew Kelley bbb565a21e README: update support table
macosx does not run on some of these architectures
2018-06-05 21:56:19 -04:00
Andrew Kelley 652f4bdf62 disallow unknown-length pointer to opaque
This also means that translate-c has to detect when a pointer to
opaque is happening, and use `*` instead of `[*]`.

See #1059
2018-06-05 18:03:21 -04:00
Andrew Kelley 7a09482536 fix crash when evaluating return type has compile error
closes #1058
2018-06-05 10:48:53 -04:00
Andrew Kelley 677eaf29b1
Merge pull request #1057 from ziglang/comptime-int
Rename integer literal type and float literal type
2018-06-05 10:16:51 -04:00
Jimmi HC a8146ade2a Renamed UndefinedLiteral to Undefined 2018-06-05 11:54:11 +02:00
Jimmi HC 236c680f6b Removed NullLiteral to Null 2018-06-05 11:30:01 +02:00
Jimmi HC 02cb220faf Renamed "(int/float literal)" to "comptime_int/float" 2018-06-05 11:14:43 +02:00
Andrew Kelley e53b683bd3
Pointer Reform: proper slicing and indexing (#1053)
* enable slicing for single-item ptr to arrays
 * disable slicing for other single-item pointers
 * enable indexing for single-item ptr to arrays
 * disable indexing for other single-item pointers

see #770
closes #386
2018-06-04 22:11:14 -04:00
Andrew Kelley 32e0dfd4f0 never call malloc with size 0
instead we return nullptr. this makes the behavior consistent
across all platforms.

closes #1044
closes #1045
2018-06-04 14:09:31 -04:00
Andrew Kelley d21a1922eb support `zig fmt: off` and `zig fmt: on` between top level decls
closes #1030
closes #1033
2018-06-04 12:15:02 -04:00
Andrew Kelley 8dfa66fee3 Merge branch 'tgschultz-zig-custom-format' 2018-06-04 11:07:47 -04:00
Andrew Kelley 11e7e03139 Merge branch 'zig-custom-format' of https://github.com/tgschultz/zig into tgschultz-zig-custom-format
I removed the code that checks for type signature and type.
A function named `format` is enough for zig to give it a try.
2018-06-04 11:06:55 -04:00
Andrew Kelley 96164ce613 disallow single-item pointer indexing
add pointer arithmetic for unknown length pointer
2018-06-04 01:39:57 -04:00
Marc Tiehuis 4c273126df Add context to zig_unreachable calls (#1039)
This greatly aids debugging on platforms with no stack-traces.
2018-06-03 02:30:43 -04:00
Andrew Kelley b85b68a7fd better compile error for error sets behind nullable 2018-06-02 15:20:51 -04:00
Marc Tiehuis e514454c0e Make zig fmt exit with error on any parse errors
This is required for proper detection in editor plugins. Other files may
have been formatted correctly, this only indicates that some failed.
2018-06-02 20:49:35 +12:00
Andrew Kelley f06bce5dda introduce [*] for unknown length pointers
See #770

Currently it does not have any different behavior than `*`
but it is now recommended to use `[*]` for unknown length
pointers to be future-proof.

Instead of [ * ] being separate tokens as the proposal
suggested, this commit implements `[*]` as a single token.
2018-06-02 04:04:23 -04:00
Andrew Kelley 7b386ea242 fix build file template
See #1035
2018-06-01 21:51:54 -04:00
Andrew Kelley a3d7a807b7 appveyor: remove llvm 5.0.1 from cache 2018-06-01 12:22:53 -04:00
Andrew Kelley 081072d3b6 docs: add missing builtin to langref syntax coloring 2018-06-01 12:22:53 -04:00
Arthur Elliott 08693411d2 fix typo (#1034) 2018-06-01 12:23:07 -04:00
Andrew Kelley 3918e7699d
Merge pull request #1032 from ziglang/pointer-reform
use * for pointer type instead of &
2018-06-01 11:49:25 -04:00
Andrew Kelley e29d12d821 fix incorrect address-of syntax on windows 2018-06-01 01:29:34 -04:00
Andrew Kelley 5f38a01ede run zig fmt 2018-06-01 01:22:35 -04:00
Andrew Kelley 4d13ab07de std.zig: update to new pointer syntax 2018-06-01 01:19:26 -04:00
Andrew Kelley 2a7c8c5b10 add test case for pointer to type and slice of type
closes #588
2018-06-01 00:18:10 -04:00
Andrew Kelley 019217d7a2 fix regressions 2018-06-01 00:17:31 -04:00
Andrew Kelley 2f614c42fe ir: rip out special logic for using addr-of instruction for types
See #588
2018-05-31 18:23:39 -04:00
Andrew Kelley fcbb7426fa use * for pointer type instead of &
See #770

To help automatically translate code, see the
zig-fmt-pointer-reform-2 branch.

This will convert all & into *. Due to the syntax
ambiguity (which is why we are making this change),
even address-of & will turn into *, so you'll have
to manually fix thes instances. You will be guaranteed
to get compile errors for them - expected 'type', found 'foo'
2018-05-31 17:28:07 -04:00
Andrew Kelley 717ac85a5a zig fmt: add --color option to CLI help text 2018-05-30 18:37:12 -04:00
Andrew Kelley a05acaf9fd Add --color CLI option to zig fmt
It doesn't actually do terminal color yet because we need to add
cross platform terminal color abstractions. But it toggles between
the single line error reporting and the multiline error reporting.

See #1026
2018-05-30 18:26:09 -04:00
Andrew Kelley d8699ae57e zig fmt: don't compute a sha-256 for no reason
I forgot to delete this code before pushing 2c96f19fd3
2018-05-30 16:45:32 -04:00
Andrew Kelley ea58f4a5a9 run zig fmt on the codebase 2018-05-30 16:09:11 -04:00
Andrew Kelley b082cd4580 zig fmt: field access does not cause spaces for slicing
See #1003
2018-05-30 16:08:40 -04:00
Andrew Kelley 84b1842026 zig fmt: space after fn in fn prototypes
See #1003
2018-05-30 15:50:01 -04:00
Andrew Kelley 93b51b0e40 spaces around slice operator if operands are infix
See #1003
2018-05-30 15:33:58 -04:00
Andrew Kelley 2c96f19fd3 std.zig.render returns bool of whether anything changed
zig fmt only renames files and prints to stdout for files which changed
2018-05-30 14:58:27 -04:00
tgschultz 940a854448 Fix MacOS CI Timer test failing...? 2018-05-30 13:38:41 -05:00
tgschultz fb001f5e90 Fixed character handling 2018-05-30 12:18:24 -05:00
tgschultz 8938c16f38 Formatting 2018-05-30 10:41:48 -05:00
tgschultz 4e1d0a59fa Minor typo 2018-05-30 10:24:27 -05:00
tgschultz 8fc52a94f4 Added custom formatter support, refactored fmt.format 2018-05-30 10:18:11 -05:00
tgschultz 8174f972a7
Merge pull request #2 from ziglang/master
sync with ziglang
2018-05-30 08:26:13 -05:00
Jimmi HC 15302e84a4 Adding workaround for when the user tries to unwrap 'type'
closes #1011
2018-05-30 11:51:46 +02:00
Jimmi HC 1b3aaacba2 Removed copy-pasted resolve_inferred_error_set
both ir.cpp and analyze.cpp have a function resolve_inferred_error_set,
which is a nearly exact copy-paste. This commit removes the one in ir.cpp
and exposes then one in analyze.cpp. This also allows us to make
analyze_fn_body local to analyze.cpp, as it is not used anywhere in
ir.cpp after this change
2018-05-30 10:34:20 +02:00
Jimmi HC 2b3af4ef6b fixed #1009
ir_make_type_info_defs already calls resolve_top_level_decl on all Tld
when building the def array. This means, that there is no reason that
analyze_fn_body is nessesary, as the fn type should have already been
resolved completly. The only thing analyze_fn_body does here, is cause
problems with generic functions.
2018-05-30 10:30:09 +02:00
Andrew Kelley b0eebfa560 fix syntax of std/json_test.zig
See #663
2018-05-29 18:10:36 -04:00
Andrew Kelley d172e3f3bb fix AtomicFile for relative paths
closes #1017
2018-05-29 17:38:50 -04:00
Andrew Kelley 0c16cd2d0e run zig fmt on the codebase
See #1003
2018-05-29 04:23:38 -04:00