Andrew Kelley
906ed059ce
update std.DynLib to use @intCast
2018-06-18 00:52:55 -04:00
Andrew Kelley
431fda4141
Merge pull request #1123 from ziglang/remove-number-casting-syntax
...
Remove number casting syntax
2018-06-17 14:40:07 -04:00
Andrew Kelley
e5956f23ca
add target C int type information for msp430 target
...
closes #1125
2018-06-17 12:47:27 -04:00
Andrew Kelley
74ccf56a4b
update more tests
2018-06-17 12:33:24 -04:00
Andrew Kelley
3c12ba7180
update test cases
2018-06-17 04:32:57 -04:00
Andrew Kelley
7912061226
remove integer and float casting syntax
...
* add `@intCast`
* add `@floatCast`
* add `@floatToInt`
* add `@intToFloat`
See #1061
2018-06-17 02:57:07 -04:00
Andrew Kelley
06a26f0965
std.Complex: use better arg passing convention and fix a TODO
2018-06-16 21:32:53 -04:00
Andrew Kelley
751518787a
Merge pull request #1109 from ziglang/pass-by-non-copying-value
...
allow passing by non-copying value
2018-06-16 21:13:10 -04:00
Andrew Kelley
3ee4d23ebd
posix read can return error.IsDir
2018-06-16 19:54:16 -04:00
Andrew Kelley
eae9634ac9
langref: be clear that float types are always IEEE 754
2018-06-16 19:53:52 -04:00
Andrew Kelley
472b7ef7e6
disable byval
2018-06-16 19:37:00 -04:00
Andrew Kelley
e311cd562b
don't automatically take pointer when passing by non-copying value
...
this commit does not have all tests passing
2018-06-16 19:37:00 -04:00
Andrew Kelley
59b3dc8907
allow passing by non-copying value
...
closes #733
2018-06-16 19:36:33 -04:00
Andrew Kelley
a7d59086b4
disable load dynamic library test
...
it's failing on CI. I will troubleshoot it and then re-enable
2018-06-16 19:36:06 -04:00
Andrew Kelley
c529b814ee
load_dynamic_library test: no need to link libc
2018-06-16 18:54:41 -04:00
Sahnvour
f47655eb6d
pointer reform: missed change in windows specific code.
2018-06-16 23:47:51 +02:00
Andrew Kelley
65d04cbeb4
std.DynLib: open the fd with CLOEXEC
2018-06-16 17:27:45 -04:00
Andrew Kelley
48de57d824
add basic std lib code for loading dynamic libraries
...
this is going to only work for very basic libraries;
I plan to slowly add more features over time to support more
complicated libraries
2018-06-16 17:01:23 -04:00
Jay Weisskopf
b3a3e2094e
Make zig version
compliant with SemVer ( #1113 )
...
The git revision is build metadata and should be appended with a plus sign.
https://semver.org/#spec-item-10
2018-06-15 14:06:56 -04:00
Andrew Kelley
84a700f972
llvm7: find external liblldWasm and update for newest lld macho API
2018-06-14 18:28:42 -04:00
Andrew Kelley
32dd98b19f
Merge remote-tracking branch 'origin/master' into llvm7
2018-06-14 18:27:59 -04:00
Andrew Kelley
f0697c28f8
langref: docs for error return traces
...
See #367
2018-06-14 18:12:31 -04:00
Andrew Kelley
cdf1e366f9
fix build on windows, broken by previous commit
2018-06-14 16:36:07 -04:00
Andrew Kelley
6943cefebf
std.os.path.dirname: return null instead of empty slice
...
for when there is no directory component. Makes it harder
to write bugs.
closes #1017
2018-06-14 16:15:32 -04:00
Andrew Kelley
2219cc0612
Merge pull request #1105 from ziglang/i128-compiler-rt
...
Add i128 compiler-rt div/mul support
2018-06-14 10:59:38 -04:00
Alexandros Naskos
4ec09ac243
Enabled optional types of zero bit types with no LLVM DI type. ( #1110 )
...
* Zero bit optional types do not need a LLVM DI type
2018-06-14 10:57:28 -04:00
Marc Tiehuis
a369d69c51
Add windows x86_64 i128 abi workaround
2018-06-14 21:18:36 +12:00
Andrew Kelley
fc87f6e417
fix race condition bug in test harness of std.atomic
2018-06-13 11:57:57 -04:00
Andrew Kelley
e1f56c9af6
std.zig.ast: add test for iterate
...
closes #1101
2018-06-13 11:48:06 -04:00
Andrew Kelley
41e6c664d8
langref: add merge error sets operator to operator table
2018-06-13 11:09:41 -04:00
Andrew Kelley
8dd24796c4
disallow implicit casts that break rules for optionals
...
closes #1102
2018-06-13 11:04:09 -04:00
Marc Tiehuis
9110140514
Add i128 compiler-rt div/mul support
2018-06-13 22:25:04 +12:00
Andrew Kelley
86adc1ef39
add docs and missing test case for merging error sets
...
See #367
2018-06-12 19:38:59 -04:00
Andrew Kelley
13d3255e2a
docgen: don't leave garbage .h files lying around
...
closes #1100
2018-06-12 15:21:14 -04:00
Andrew Kelley
fdd9cf0928
better debugging for CI failures of std.atomic
2018-06-12 15:14:32 -04:00
Andrew Kelley
259413251d
fix ability to call mutating methods on zero size structs
...
closes #838
2018-06-12 15:06:02 -04:00
Andrew Kelley
7580e39b38
zig fmt
2018-06-12 02:18:11 -04:00
Andrew Kelley
3dd9af9948
implement std.os.Dir for windows
...
improve std.os.File.access so that it does not depend on shlwapi.dll
closes #1084
2018-06-12 01:57:09 -04:00
Andrew Kelley
0a18d53c3d
langref: add orelse keyword to syntax highlighting
2018-06-11 17:38:24 -04:00
Andrew Kelley
5252566137
langref: add coroutines documentation
...
See #367
2018-06-11 17:34:45 -04:00
Andrew Kelley
03c16c6c54
implement @tagName as a switch instead of table lookup
...
closes #976
closes #1080
2018-06-11 14:58:42 -04:00
tgschultz
854f90aa30
Added C string support to fmt by using "{s}". The format string requirement is for saftey. ( #1092 )
2018-06-10 12:57:21 -04:00
Marc Tiehuis
dc8bda7e02
Add arbitrary-precision integer to std
...
A few notes on the implementation:
- Any unsigned power of two integer type less than 64 bits in size is supported
as a Limb type.
- The algorithms used are kept simple for the moment. More complicated
algorithms are generally only more useful as integer sizes increase a
lot and I don't expect our current usage to be used for this purpose
just yet.
- All branches (practically) have been covered by tests.
See 986a2b3243/bench
for rough performance comparison numbers.
Closes #364 .
2018-06-10 18:24:34 +12:00
Andrew Kelley
0a95b0f1ff
std.zig: update syntax for orelse keyword
2018-06-10 01:18:31 -04:00
Andrew Kelley
77678b2cbc
breaking syntax change: orelse keyword instead of ?? ( #1096 )
...
use the `zig-fmt-optional-default` branch to have zig fmt
automatically do the changes.
closes #1023
2018-06-10 01:13:51 -04:00
Andrew Kelley
ec1b6f6673
breaking syntax change: ??x to x.? ( #1095 )
...
See #1023
This also renames Nullable/Maybe to Optional
2018-06-09 23:42:14 -04:00
Ben Noordhuis
d464b25322
support --target-arch wasm32
( #1094 )
...
Add wasm32 support to the build-obj, build-exe and build-lib commands
of the stage 1 compiler. Wasm64 should work transparently once it's
supported in upstream LLVM.
To export a function:
// lib.zig - for exposition, not necessary for this example
pub use @import("add.zig");
// add.zig
export fn add(a: i32, b: i32) i32 {
return a + b;
}
To import a function:
// cube.zig
extern fn square(x: i32) i32;
export fn cube(x: i32) i32 {
return x * square(x);
}
2018-06-09 22:39:22 -04:00
marleck55
7a9635555b
std/fmt: Use lowercase k for kilo in base 1000 ( #1090 )
2018-06-09 12:05:58 -04:00
Andrew Kelley
670a0a3eed
Merge branch 'clownpriest-arraylist_set'
2018-06-09 12:04:48 -04:00
Andrew Kelley
fc6446702e
clean up std.ArrayList
...
* add `std.debug.assertError`
* `std.ArrayList` update everything to follow `self` convention
* rename `std.ArrayList.set` to `std.ArrayList.setOrError`
* add `std.ArrayList.set` which asserts
Before 1.0.0 we might remove some of this API, because you can use
`toSlice()` for everything, but it's ok to add these functions as
an experiment before then.
2018-06-09 12:03:11 -04:00