Andrew Kelley
36ff26609b
fix self hosted compiler on windows
2018-01-03 04:55:49 -05:00
Andrew Kelley
1d77f8db28
Merge branch 'master' into llvm6
2018-01-03 00:42:00 -05:00
Andrew Kelley
0ea50b3157
ir: new pass iteration strategy
...
Before:
* IR basic blocks are in arbitrary order
* when doing an IR pass, when a block is encountered, code
must look at all the instructions in the old basic block,
determine what blocks are referenced, and queue up those
old basic blocks first.
* This had a bug (See #667 )
Now:
* IR basic blocks are required to be in an order that guarantees
they will be referenced by a branch, before any instructions
within are referenced.
ir pass1 is updated to meet this constraint.
* When doing an IR pass, we iterate over old basic blocks
in the order they appear. Blocks which have not been
referenced are discarded.
* After the pass is complete, we must iterate again to look
for old basic blocks which now point to incomplete new
basic blocks, due to comptime code generation.
* This last part can probably be optimized - most of the time
we don't need to iterate over the basic block again.
closes #667
2018-01-02 21:08:12 -05:00
Peter Rönnquist
d15b02a6b6
Added format for floating point numbers. {.x} where x is the number of decimals.
2017-12-31 00:27:58 +01:00
Josh Wolfe
192a039173
move utf8 parsing to std
...
source files no longer need to end with a newline
2017-12-26 23:17:33 -07:00
Andrew Kelley
6bfaf262d5
Merge branch 'master' into llvm6
2017-12-26 21:44:08 -05:00
Andrew Kelley
6fece14cfb
self-hosted: build against zig_llvm and embedded LLD
...
Now the self-hosted compiler re-uses the same C++ code for interfacing
with LLVM as the C++ code.
It also links against the same LLD library files.
2017-12-26 19:44:08 -05:00
Andrew Kelley
2a25398c86
fix segfault when passing union enum with sub byte...
...
...field to const slice parameter
we use a packed struct internally to represent a const array
of disparate union values, and needed to update the internal
getelementptr instruction to recognize that.
closes #664
2017-12-24 04:11:58 -05:00
Josh Wolfe
fb96c3e73e
debug needs to export FailingAllocator
2017-12-23 21:47:13 -07:00
Andrew Kelley
4183c6f1a5
move std/debug.zig to a subdirectory
...
self hosted compiler parser tests do some fuzz testing
2017-12-23 22:15:48 -05:00
Andrew Kelley
e0a1466bd8
build: add --search-prefix option
2017-12-23 22:14:35 -05:00
Andrew Kelley
2031989d98
std.os.path.resolve handles an absolute path that is missing the drive
2017-12-23 22:14:35 -05:00
Andrew Kelley
8b716f941d
Merge branch 'master' into llvm6
2017-12-23 21:21:32 -05:00
Andrew Kelley
3cbc244e98
build: add --search-prefix option
2017-12-23 20:21:57 -05:00
Andrew Kelley
74a12d818d
std.os.path.resolve handles an absolute path that is missing the drive
2017-12-23 19:50:01 -05:00
Andrew Kelley
fe66046283
Merge remote-tracking branch 'origin/master' into llvm6
2017-12-23 12:00:25 -05:00
Andrew Kelley
39c7bd24e4
port most of main.cpp to self hosted compiler
2017-12-23 00:57:56 -05:00
Andrew Kelley
e44a11341d
std.math: remove unnecessary inline calls and
...
workaround windows 32 bit test failure
See #537
2017-12-22 13:14:07 -05:00
Josh Wolfe
0e7fb69bea
bufPrint returns an error
2017-12-22 00:52:01 -07:00
Andrew Kelley
ea805c5fe7
fix darwin and windows from previous commit
2017-12-22 02:33:39 -05:00
Andrew Kelley
d917815d81
explicitly return from blocks
...
instead of last statement being expression value
closes #629
2017-12-22 00:50:30 -05:00
Andrew Kelley
8bc523219c
add labeled loops, labeled break, labeled continue. remove goto
...
closes #346
closes #630
regression: translate-c can no longer translate switch statements.
after #629 we can ressurect and modify the code to utilize arbitrarily
returning from blocks.
2017-12-20 23:00:19 -05:00
Andrew Kelley
1435604b84
add sort.min and sort.max functions to stdlib
2017-12-19 17:35:38 -05:00
Andrew Kelley
2a8160e80f
Merge branch 'export-rewrite'
...
introduces the `@export` builtin function which can be used
in a comptime block to conditionally export a function.
it also allows creation of aliases.
previous export syntax is still allowed.
closes #462
closes #420
2017-12-19 02:44:14 -05:00
Andrew Kelley
9d9201c3b4
bring back code that uses export and fix tests
...
partial revert of 1fdebc1dc4
2017-12-19 02:39:43 -05:00
Andrew Kelley
1fdebc1dc4
wip export rewrite
2017-12-18 09:59:57 -05:00
Andrew Kelley
3f65887974
fix std.mem missing error.OutOfMemory decl
...
this will be fixed in a better way later by #632
2017-12-17 20:52:29 -05:00
Andrew Kelley
39e96d933e
change mem.cmp to mem.lessThan and add test
2017-12-15 17:26:22 -05:00
Andrew Kelley
68f6332343
fix missing import from previous commit
2017-12-14 21:24:00 -05:00
Andrew Kelley
6bc0561d13
disable sort tests for 32-bit windows because of issue #537
2017-12-14 19:55:34 -05:00
Andrew Kelley
75ecfdf66d
replace quicksort with blocksort
...
closes #657
2017-12-14 19:41:35 -05:00
Andrew Kelley
f55fdc00fc
fix const and volatile qualifiers being dropped sometimes
...
in the expression `&const a.b`, the const (and/or volatile)
qualifiers would be incorrectly dropped.
closes #655
2017-12-13 21:53:52 -05:00
Andrew Kelley
cdaa735b2b
self-hosted: build tries to find llvm-config.exe
2017-12-12 16:40:04 -05:00
Andrew Kelley
2b9302107f
self-hosted: cleanup build looking for llvm-config
2017-12-12 16:03:20 -05:00
Andrew Kelley
cd5fd653d7
self-hosted: move code to std.os.ChildProcess.exec
2017-12-12 14:35:53 -05:00
Andrew Kelley
caa6433b56
stack traces: support DW_AT_ranges
...
This makes some cases print stack traces where it previously failed.
2017-12-12 12:05:28 -05:00
Andrew Kelley
23058d8b43
self-hosted: link with LLVM
2017-12-11 23:34:59 -05:00
Andrew Kelley
ed4d94a5d5
self-hosted: test all out of memory conditions
2017-12-11 21:12:47 -05:00
Andrew Kelley
c4e7d05ce3
refactor debug.global_allocator into mem.FixedBufferAllocator
2017-12-11 17:27:31 -05:00
Andrew Kelley
fd6a36a235
self-hosted: parsing and rendering blocks
2017-12-11 09:21:06 -05:00
Andrew Kelley
f210f17d30
add self-hosted parsing and rendering to main tests
2017-12-10 21:26:52 -05:00
Andrew Kelley
4b1d120f58
Merge remote-tracking branch 'origin/master' into self-hosted
2017-12-10 19:41:01 -05:00
Andrew Kelley
dc2e3465c7
rendering source code without recursion
2017-12-10 19:40:46 -05:00
Andrew Kelley
22dc713a2f
mem.Allocator initializes bytes to undefined
2017-12-10 15:38:05 -05:00
Andrew Kelley
d431b0fb99
parse a simple variable declaration
2017-12-08 23:15:43 -05:00
Andrew Kelley
7c91a055c1
Merge branch 'master' into self-hosted
2017-12-06 18:20:02 -05:00
Andrew Kelley
62c25af802
add higher level arg-parsing API + misc. changes
...
* add @noInlineCall - see #640
This fixes a crash in --release-safe and --release-fast modes
where the optimizer inlines everything into _start and
clobbers the command line argument data.
If we were able to verify that the user's code never reads
command line args, we could leave off this "no inline"
attribute.
* add i29 and u29 primitive types. u29 is the type of alignment,
so it makes sense to be a primitive.
probably in the future we'll make any `i` or `u` followed by
digits into a primitive.
* add `aligned` functions to Allocator interface
* add `os.argsAlloc` and `os.argsFree` so that you can get
a `[]const []u8`, do whatever arg parsing you want, and then free
it. For now this uses the other API under the hood, but it could
be reimplemented to do a single allocation.
* add tests to make sure command line argument parsing works.
2017-12-06 18:12:05 -05:00
Andrew Kelley
31d9dc3539
read a file
2017-12-04 22:05:27 -05:00
Andrew Kelley
42004f9013
Merge branch 'master' into llvm6
2017-12-04 15:28:17 -05:00
Andrew Kelley
a966275e50
rename builtin.is_big_endian to builtin.endian
...
See #307
2017-12-04 10:36:31 -05:00
Andrew Kelley
dd3437d5ba
fix build on windows
2017-12-04 02:08:26 -05:00
Andrew Kelley
0ad1239522
rework enums and unions and their relationship to each other
...
* @enumTagName renamed to @tagName and it works on enums and
union-enums
* Remove the EnumTag type. Now there is only enum and union,
and the tag type of a union is always an enum.
* unions support specifying the tag enum type, and they support
inferring an enum tag type.
* Enums no longer support field types but they do support
setting the tag values. Likewise union-enums when inferring
an enum tag type support setting the tag values.
* It is now an error for enums and unions to have 0 fields.
* switch statements support union-enums
closes #618
2017-12-03 20:43:56 -05:00
Andrew Kelley
137c8f5e8a
ability to set tag values of enums
...
also remove support for enums with 0 values
closes #305
2017-12-02 22:32:39 -05:00
Josh Wolfe
54a0db0daf
todo: fix #639
2017-12-01 19:54:01 -07:00
Josh Wolfe
67b8b00c44
implement insertion sort. something's broken
2017-12-01 16:11:39 -07:00
Josh Wolfe
5786df933d
add mem.readIntLE and readIntBE
2017-11-30 11:20:50 -07:00
Andrew Kelley
ccea8dcbf6
better error code for File.getEndPos failure
2017-11-29 21:34:17 -05:00
Josh Wolfe
88a7f203f9
add Buffer.appendFormat()
2017-11-29 19:31:09 -07:00
Josh Wolfe
418b0967fc
fix os.Dir compile errors
2017-11-29 17:52:58 -07:00
Andrew Kelley
91ef68f9b1
Merge remote-tracking branch 'origin/master' into llvm6
2017-11-29 16:34:50 -05:00
Josh Wolfe
afbbdb2c67
move base64 functions into structs
2017-11-20 23:26:45 -07:00
Josh Wolfe
a44283b0b2
rework std.base64 api
...
* rename decode to decodeExactUnsafe.
* add decodeExact, which checks for invalid chars and padding.
* add decodeWithIgnore, which also allows ignoring chars.
* alphabets are supplied to the decoders with their
char-to-index mapping already built, which enables it to be
done at comptime.
* all decode/encode apis except decodeWithIgnore require dest
to be the exactly correct length. This is calculated by a
calc function corresponding to each api. These apis no longer
return the dest parameter.
* for decodeWithIgnore, an exact size cannot be known a priori.
Instead, a calc function gives an upperbound, and a runtime
error is returned in case of overflow. decodeWithIgnore
returns the number of bytes written to dest.
closes #611
2017-11-20 23:26:45 -07:00
dimenus
a7d07d412c
Added DLL loading capability in windows to the std lib.
2017-11-16 21:49:05 -06:00
Andrew Kelley
9a4da6c8d8
Merge branch 'master' into llvm6
2017-11-15 22:24:42 -05:00
Andrew Kelley
7a74dbadd7
add docs for std.base64
2017-11-14 17:58:58 -05:00
Ryan Saunderson
371e578151
Merge remote-tracking branch 'upstream/master' into llvm6
2017-11-14 07:00:27 -06:00
Andrew Kelley
a890380b6a
fix windows trying to run linux-only tests
2017-11-10 18:29:49 -05:00
Andrew Kelley
5ae53dacfb
rename test
2017-11-10 18:24:52 -05:00
Andrew Kelley
5895204c99
Merge branch 'linux_timer' of https://github.com/bscheinman/zig into bscheinman-linux_timer
2017-11-10 18:18:03 -05:00
Brendon Scheinman
87407b54b6
add epoll and timerfd support on linux
2017-11-10 15:12:46 -08:00
Andrew Kelley
1403748fd8
disable broken 32 bit windows test
...
See #537
2017-11-10 17:08:11 -05:00
Andrew Kelley
df89291d1c
Merge remote-tracking branch 'origin/master' into llvm6
2017-11-10 16:45:01 -05:00
Andrew Kelley
403a46abcc
fix test failure on 32 bit windows
2017-11-10 16:03:14 -05:00
Andrew Kelley
20c2dbdbd3
add windows implementation of io.File.getEndPos
2017-11-10 14:36:03 -05:00
Andrew Kelley
1ac46fac15
add a std lib test for reading and writing files
...
* fix fstat wrong on darwin
* move std.debug.global_allocator to std.debug.global_allocator_state and make it private
* add std.debug.global_allocator as a pointer (to upgrade your zig code remove
the '&')
2017-11-10 14:17:23 -05:00
dimenus
e9d7623e1f
Merge remote-tracking branch 'origin/master' into llvm6
2017-11-10 09:49:45 -06:00
Jeff Fowler
336d81894d
Fix Stat include in darwin land ( #605 )
2017-11-09 13:46:53 -05:00
Jeff Fowler
52521d5f67
fix typo on darwin lseek ( #602 )
2017-11-09 11:35:35 -05:00
Andrew Kelley
4543413491
std.io: introduce buffered I/O and change API
...
I started working on #465 and made some corresponding std.io
API changes.
New structs:
* std.io.FileInStream
* std.io.FileOutStream
* std.io.BufferedOutStream
* std.io.BufferedInStream
Removed:
* std.io.File.in_stream
* std.io.File.out_stream
Now instead of &file.out_stream or &file.in_stream to get access to
the stream API for a file, you get it like this:
var file_in_stream = io.FileInStream.init(&file);
const in_stream = &file_in_stream.stream;
var file_out_stream = io.FileOutStream.init(&file);
const out_stream = &file_out_stream.stream;
This is evidence that we might not need any OOP features -
See #130 .
2017-11-07 03:22:27 -05:00
Andrew Kelley
3a600297ca
Merge remote-tracking branch 'origin/master' into llvm6
2017-11-06 22:41:12 -05:00
scurest
f0dafd3f20
fix typos in std.io ( #589 )
...
Fixes a bug that prevented InStream.realAllAlloc from compiling.
2017-11-06 11:40:58 -05:00
scurest
48c8181886
fix redeclaration of mem ( #585 )
2017-11-05 15:46:54 -06:00
scurest
bd6f8d99c5
add test for c_allocator
2017-11-05 15:46:10 -06:00
Andrew Kelley
94ec2190f8
update to llvm master
2017-11-02 21:54:24 -04:00
Andrew Kelley
f7837f445e
bump build_runner allocator to use 30 MB
2017-11-01 16:46:10 -04:00
Andrew Kelley
25972be45c
fix windows build from previous commit
2017-10-31 22:24:02 -04:00
Andrew Kelley
9e234d4208
breaking change to std.io API
...
* Merge io.InStream and io.OutStream into io.File
* Introduce io.OutStream and io.InStream interfaces
- io.File implements both of these
* Move mem.IncrementingAllocator to heap.IncrementingAllocator
Instead of:
```
%return std.io.stderr.printf("hello\n");
```
now do:
```
std.debug.warn("hello\n");
```
To print to stdout, see `io.getStdOut()`.
* Rename std.ArrayList.resizeDown to std.ArrayList.shrink.
2017-10-31 04:47:55 -04:00
Andrew Kelley
5f28a9d238
cleaner verbose flags and zig build prints failed command
2017-10-25 23:10:41 -04:00
Andrew Kelley
73fe5f63c6
add some sanity tests for float printing
2017-10-24 21:57:58 -04:00
Andrew Kelley
1e784839f1
Merge branch 'float-printing' of https://github.com/scurest/zig into better-float-printing
2017-10-24 21:44:49 -04:00
Andrew Kelley
1828f8eb8e
fix missing compiler_rt in release modes
...
the optimizer was deleting compiler_rt symbols, so I changed
the linkage type from LinkOnce to Weak
also changed LinkOnce to mean linkonce_odr in llvm and
Weak to mean weak_odr in llvm.
See #563
2017-10-24 21:31:47 -04:00
scurest
262b7428cf
More corrections to float printing
...
Testing suggests all f32s are now printed accurately.
2017-10-24 14:18:50 -05:00
scurest
03a0dfbeca
Print better floats
2017-10-23 15:40:49 -05:00
Andrew Kelley
9b91c76088
std.fmt.format supports ints smaller than u8
...
closes #546
thanks to @Dimenus for the fix
2017-10-21 13:03:08 -04:00
Andrew Kelley
b3d12d2c9e
zig build: fix system libraries not respected for C artifacts
...
closes #550
2017-10-21 12:58:47 -04:00
Marc Tiehuis
09c0cf2dcf
Add c allocator ( #542 )
2017-10-17 08:13:04 -04:00
Andrew Kelley
8cfb0cfbce
std.os.ChildProcess: on windows cwd affects exe search path
...
to match posix semantics
disabling non-passing build-examples tests. See #538
2017-10-16 02:30:03 -04:00
Andrew Kelley
4e2a5e6b13
fix regression on posix from previous commit
2017-10-16 01:16:51 -04:00
Andrew Kelley
d08c57741a
ability to make a DLL
...
See #302
2017-10-16 01:14:28 -04:00
Andrew Kelley
e3ad13e054
fix windows argument parsing
2017-10-15 20:19:15 -04:00
Andrew Kelley
fca1d53625
std.io: fix bug when writing large buffer
2017-10-15 17:10:06 -04:00
Andrew Kelley
faf64b5d0f
fix posix from previous commit
2017-10-15 16:47:29 -04:00
Andrew Kelley
fcef7c4bb2
fix std.io.InStream for windows
...
now we handle PIPE_BROKEN as an EOF
also set up framework for debugging unexpected posix/windows errors
2017-10-15 16:45:43 -04:00
Andrew Kelley
bb169a7b36
fix child process stdio piping behavior on windows
2017-10-15 16:03:32 -04:00
Andrew Kelley
a98373f144
use correct integer type for windows BOOL
2017-10-15 14:01:55 -04:00
Andrew Kelley
6fe1c3186f
disable some of the failing tests
...
See #537
2017-10-15 02:04:21 -04:00
Andrew Kelley
3b0fe534bc
fix regression on posix from previous commit
2017-10-15 01:24:58 -04:00
Andrew Kelley
8ab5313043
implement environment variables for windows
2017-10-15 01:23:10 -04:00
Andrew Kelley
55e8bbd167
std.mem.IncrementingAllocator: check for errors
2017-10-15 01:22:36 -04:00
Andrew Kelley
f54aff4672
implement io.OutStream.openMode for windows
2017-10-14 18:23:16 -04:00
Andrew Kelley
46352f6bfe
std.io: remove unused constants
2017-10-14 18:12:14 -04:00
Andrew Kelley
531f3344dc
implement std.os.rename for windows
2017-10-14 17:56:18 -04:00
Andrew Kelley
61d715d784
implement std.os.symLink for windows
2017-10-14 17:39:44 -04:00
Andrew Kelley
ad6eec9480
fix regressions from previous commit on windows
2017-10-14 17:10:53 -04:00
Andrew Kelley
0307dc0b77
organize windows utility functions
2017-10-14 16:59:43 -04:00
Andrew Kelley
a68dc65327
fix os.makeDir for posix
2017-10-14 15:39:31 -04:00
Andrew Kelley
0bc80411f6
implement os.makeDir for windows
2017-10-14 15:32:29 -04:00
Andrew Kelley
8d3eaab871
implement std.os.ChildProcess for windows
2017-10-14 15:32:18 -04:00
Andrew Kelley
7f9dc4ebc1
fix std.os.getRandomBytes for windows
2017-10-11 23:14:48 -04:00
Andrew Kelley
b61a6ec8a6
implement command line argument parsing for windows
...
See #302
2017-10-11 22:50:16 -04:00
Andrew Kelley
717e791db2
better abort() implementation for windows
...
in debug mode, it spawns the debugger
2017-10-10 20:34:12 -04:00
Andrew Kelley
1f28d641c0
fix std.io.OutStream.close for windows
2017-10-10 19:36:35 -04:00
Andrew Kelley
1c28631738
use allocator.shrink instead of realloc in os.path.real
2017-10-10 11:31:53 -04:00
Andrew Kelley
e6334fe46d
implement std.io.InStream for windows
...
See #302
2017-10-09 15:59:10 -04:00
Andrew Kelley
055b856f13
fix build on non-windows
...
broken by previous commit
2017-10-09 14:27:14 -04:00
Andrew Kelley
c4262da8de
implement os.path.real for windows and update allocator interface
2017-10-09 14:21:35 -04:00
Andrew Kelley
a4310cf8b4
implement std.os.deleteFile for windows
2017-10-08 23:06:56 -04:00
Andrew Kelley
7f56744320
fix os.path.resolveWindows on non-windows
2017-10-08 21:52:26 -04:00
Andrew Kelley
9d5f15fe3d
implement os.getCwd for windows
2017-10-08 21:44:24 -04:00
Andrew Kelley
7cfab2fb5f
implement std.os.relative for windows
2017-10-08 21:44:24 -04:00
Andrew Kelley
e15e1e09f0
os.path.basename implementation for windows
2017-10-08 21:44:17 -04:00
Andrew Kelley
dcf5c9074e
more std.os.path work for windows
2017-10-08 21:43:58 -04:00
Andrew Kelley
08ee69dac3
implement os.path.dirname for windows
2017-10-08 21:43:43 -04:00
Snorre
522b431057
fix isatty for macOS and libc ( #523 )
2017-10-03 09:33:30 -04:00
Andrew Kelley
f86684f410
fix duplicated symbols in compiler-rt tests
2017-10-03 01:26:07 -04:00
Andrew Kelley
6a0c428997
use __chkstk_ms compiler-rt functions for __chkstk
...
I had to revert the target native features thing because there
is still some incorrect behavior with f128.
Reopens #508
partially reverts b505462509
See #302
2017-10-03 00:57:02 -04:00
Andrew Kelley
b505462509
replace __chkstk function with a stub that does not crash
...
Closes #508
See #302
2017-10-03 00:29:41 -04:00
Andrew Kelley
f1bd02e6f4
add @setAlignStack builtin
2017-10-03 00:29:27 -04:00
Andrew Kelley
b3f3db46be
compiler-rt: strong linkage for __chkstk
...
otherwise we get undefined symbol errors
2017-10-02 00:22:24 -04:00
Andrew Kelley
25ea8f7dbb
fix typo in compiler-rt
2017-10-02 00:13:56 -04:00
Andrew Kelley
5cbae7b671
better compiler-rt linkage logic
...
now the compiler-rt tests are passing on windows. See #302
2017-10-02 00:11:45 -04:00
Andrew Kelley
e3ea0b652c
still build compiler-rt when linking msvc CRT
...
because it's missing some things
2017-10-01 21:19:58 -04:00
Andrew Kelley
6ae631d1a7
add windows 32 bit to test matrix
...
See #302
2017-10-01 11:11:38 -04:00
Andrew Kelley
844e05f619
improve bit shift API in std.math
...
* `shl` moved to `shlExact`
* added `shl` and `shr` which are truncating like `<<` and `>>`.
closes #403
2017-09-30 21:09:58 -04:00
Andrew Kelley
c6295fe9ab
remove zigrt
...
adds test case for #394
partially reverts a32b5929cc
2017-09-30 20:21:57 -04:00
Andrew Kelley
9c6e12ac29
compiler-rt: add _aulldiv and _aullrem for i386 windows
2017-09-30 13:58:05 -04:00
Andrew Kelley
b7a4f16cc4
fix previous commit
2017-09-30 13:40:55 -04:00
Andrew Kelley
53aa72b58a
add ___chkstk_ms compiler-rt function
2017-09-30 13:39:37 -04:00
Marc Tiehuis
9dfe217be3
Allow 128-bit hex float literals
...
Closes #499 .
2017-09-28 23:33:36 +13:00
Andrew Kelley
fd5a5db400
implement IncrementingAllocator for Windows
2017-09-27 22:59:58 -04:00
Andrew Kelley
9ae66b4c67
add test for std.mem.IncrementingAllocator
...
See #501
2017-09-27 22:04:38 -04:00
Josh Wolfe
583ca36e62
add reset() method to IncrementingAllocator ( #501 )
2017-09-27 21:54:43 -04:00
Andrew Kelley
224cd8a01e
add fmt.parseInt
2017-09-26 19:40:51 -04:00
Andrew Kelley
768af66977
implement setreuid, setregid for darwin
2017-09-26 03:35:33 -04:00
Andrew Kelley
4f0f3a7d45
std.os.ChildProcess: setgid before setuid
...
otherwise we thwart our permissions to setuid
2017-09-26 03:17:58 -04:00
Andrew Kelley
5c2db5a942
add std.fmt.trim
2017-09-26 03:03:12 -04:00
Andrew Kelley
fd2d502e41
std.os.ChildProcess: ability to set both uid and gid
2017-09-26 02:42:06 -04:00
Andrew Kelley
cba4a9ad4a
update std.os.ChildProcess API
...
* add std.os.ChildProcess.setUserName
* add std.os.getUserId
2017-09-26 01:01:49 -04:00
Andrew Kelley
8f0dfcbcfb
Revert "windows API functions are not stdcalls"
...
This reverts commit 59410a2f13
.
yes they are
2017-09-24 04:18:13 -04:00
Andrew Kelley
59410a2f13
windows API functions are not stdcalls
2017-09-24 04:09:13 -04:00
Andrew Kelley
ba41be67f0
windows gui hello world
2017-09-24 03:55:45 -04:00
Andrew Kelley
7fd164f196
zig build: add linkFramework API
2017-09-23 17:59:30 -04:00
Andrew Kelley
2f98676bbe
std.build: fix -install_name for darwin dynamic C linking
2017-09-23 13:32:17 -04:00
Andrew Kelley
eb0867d3f0
std.build: fix building C dynamic libraries on darwin
2017-09-23 13:27:36 -04:00
Andrea Orru
e7a01c24a3
LinkedList helper functions ( #493 )
...
* Restore LinkedList helper functions
* mem.Allocator
2017-09-21 10:28:44 -04:00
Marc Tiehuis
c4a54377e3
Stop debug allocator ever panicking ( #492 )
2017-09-19 09:47:41 -04:00
Andrew Kelley
751ab72a82
std: fix os.sleep on darwin and windows
2017-09-19 09:46:41 -04:00
Andrew Kelley
10ad3253de
std.build: catch mistake of setting output path to build dir
...
closes #464
2017-09-18 18:01:58 -04:00
Andrew Kelley
24b6dcc507
std.build: explicitly disable stack protector when nostdlib
2017-09-18 15:30:07 -04:00
Andrew Kelley
385da95eb4
std.build: simpler API
...
merge LibExeObj and CLibExeObj
also make it so that you can disable libc when compiling C
2017-09-18 02:51:09 -04:00
Andrew Kelley
c5ca8b51f9
zig build: use stack protector for C code in debug mode
2017-09-17 19:20:48 -04:00
Andrew Kelley
7ee00730ac
add option to run tests in LLDB and turn it on for macos travis
2017-09-17 14:43:51 -04:00
Andrew Kelley
a9ecb26c34
std.os.ChildProcess: fix fd leak
2017-09-16 21:07:02 -04:00
Marc Tiehuis
71342f8249
Add dash arguments for cli
2017-09-17 12:26:13 +12:00
Andrew Kelley
766547dbfe
bump incrementing allocator memory in build system to 20MB
...
See #467
2017-09-14 20:28:38 -04:00
Andrew Kelley
14cda27b64
depend on embedded SoftFloat-3d instead of __float128
...
See #302
See #467
2017-09-14 01:46:47 -04:00
Andrew Kelley
d9eabde319
add Child property of slice type
...
also rename child field to Child for pointer and array
2017-09-13 14:30:57 -04:00
Jonathan Marler
3f8b26c06a
Allow INVALID_HANDLE_VALUE for windows to work on 32-bit and 64-bit. ( #457 )
2017-09-10 11:16:27 -04:00
jean-dao
0f7544cfca
std.io.InStream: add readLine function ( #458 )
2017-09-10 11:10:55 -04:00
Andrew Kelley
5fdf3fa195
std.fmt knows how to format &[N]u8
2017-09-09 19:42:31 -04:00
Marc Tiehuis
f725b20de6
Add appendSlice function ( #448 )
2017-09-09 13:49:40 -04:00
Marc Tiehuis
67a31befa6
Add exit function ( #450 )
2017-09-09 13:48:44 -04:00
Andrew Kelley
d244deb59e
fix std.Buffer.endsWith
...
thanks for the report by jean-dao
closes #443
2017-09-08 09:19:02 -04:00
Andrew Kelley
2c8ff1d47b
std.ChildProcess.spawn: handle 0 from waitpid correctly
2017-09-08 01:23:48 -04:00
Andrew Kelley
838d52a8be
std.os.ChildProcess: don't expect all SIGCHLD to come from spawn
2017-09-08 00:45:45 -04:00
Andrew Kelley
a81e516174
fix ChildProcess.spawn on darwin
2017-09-08 00:04:43 -04:00
Andrew Kelley
9fb4d1fd6c
std: os.ChildProcess knows when its child died
...
using signal handlers
2017-09-07 23:10:51 -04:00
Andrew Kelley
9f7e62b95b
std: add ChildProcess.kill
2017-09-06 18:30:45 -04:00
Andrew Kelley
7e59f4ff69
std: add os.sleep
2017-09-06 16:59:22 -04:00
Andrew Kelley
1f2548ec5f
better build.zig template
2017-09-06 14:18:14 -04:00
Andrew Kelley
ee9d1d0414
c-to-zig: return statement
2017-09-01 03:16:35 -04:00
Josh Wolfe
848504117f
Revert "fix return types of min amd max"
...
This reverts commit 180fe8d506
.
2017-08-31 17:56:06 -07:00
Josh Wolfe
180fe8d506
fix return types of min amd max
2017-08-31 17:45:34 -07:00
Andrew Kelley
06b64d82bf
only export __chkstk for windows
...
it's a windows only function anyway
2017-08-31 20:10:24 -04:00
Andrew Kelley
eb0979189b
add windows to test targets
...
cross-compiling hello world with no libc for windows is working
2017-08-31 11:41:58 -04:00
Andrew Kelley
156a84e80f
compiler-rt: add __aeabi_uldivmod
2017-08-31 01:39:20 -04:00
Andrew Kelley
021155db5b
successfully cross-building behavior tests for windows
2017-08-30 17:01:14 -04:00
Andrew Kelley
0e9bdb44a6
test suite cross-compile builds tests for other targets
2017-08-30 14:55:26 -04:00
Andrew Kelley
052b4ae941
align syntax: align(4) instead of align 4
...
closes #37
2017-08-30 04:54:33 -04:00
Andrew Kelley
3f5dd08ca8
codegen: all stores specify align value
...
See #37
2017-08-30 04:23:52 -04:00