Skip to content

Commit 8c18725

Browse files
authored
Merge pull request #1 from zig-lang/master
Sync with zig-lang/zig master
2 parents 7186e92 + 6e82107 commit 8c18725

File tree

143 files changed

+23753
-5164
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+23753
-5164
lines changed

.travis.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
sudo: required
22
services:
3-
- docker
3+
- docker
44
os:
5-
- linux
6-
- osx
5+
- linux
6+
- osx
77
dist: trusty
88
osx_image: xcode8.3
99
language: cpp
1010
before_install:
11-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_before_install; fi
12-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_before_install; fi
11+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_before_install; fi
12+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_before_install; fi
1313
install:
14-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_install; fi
15-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_install; fi
14+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_install; fi
15+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_install; fi
1616
script:
17-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_script; fi
18-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_script; fi
17+
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ci/travis_linux_script; fi
18+
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ci/travis_osx_script; fi
19+
env:
20+
global:
21+
- secure: QmJ+eLOxj3Irl5SHxt6lQvrj7++1AIz8bYri6RScAQGHQPIztkmbpBjAkpFgYaWPkZ04ROtamFXdS7oHtJHSECesgPoqM/CHIychQkgpDq30+TsFyYbBpDGHY+N6r2WnQTvg+9EuAp6P365us6qFS0D5zQ3P40c56uMbazFu3J4W1HZP+pLWlLjEXaN88ePhHWqNZyvwGMkLpYl3ghcrE9H4vGZQ7jenRW4UmskLEkuhUPJbQiow3Td8arJiRmLVISzWqneqNraLUpGyUVr4F3Rbjzacfoo3r9ZZynhY0mFsEye82x6TMGgH2xsNGkd91zpQuckWUT+pQv/G6FXpnEnjIJSO2Z5WAxXrx6xB1k2HZ17/4NWLF3fJVhdQJm3mS6odeGzUjgGrl1A42evxU+7VbcofEJq1aMiLgU1jUT2pt+pefCwmKJYLpEsSzuyrVxgvskQz0QpC053TAYSNf2Jj6Qhg9YDWyOeemYmDgffTqErF7AYhc6NKH0s0XKkIiNFSxorkEsfG/Ck1o+15slHNmWZXlmXToxDqFkLDoPvfGKg7koU5YTGvci/F9ZKb1juhGLxZbwap/18zN40BqA+Ip2yDBJAKxsIiwSjSIguy6g/Z1I50s0xNGOr36urfRRQX5H+rqr/xCZ63B6WSe6qBcZboWAQMDn8HLS9Xiwc=
22+
- secure: dnb7r5guUeMOX9e7XlPUSZzmga8VW3G9Q1aa7LxEKiTjSnWhu5KpPDe8o1X3Rj6nc5iXDqmBH/C/7eNXPDyXJJWPvpE2YRpGymyUkRaakul0QBKJEaMvwy2SuAfS69CWC+TSzfGRvtSYkdpBhhLvs0h5S819S5jYbCNSCmOKfFucaP5NsHNIZ/I19oIeTPTa0/UnVm7DLFZXZjvbS+czkdyH1DhbT85sLj+XqNTzLePImE68efrjaHnlSy/CzBVJzj55UgD5i9fxNCQWzGWim/SD5xZ0zKtLycSOf6wQN2lCo0lkjw9rDlYz69mM5L9ikfYL9oHDPZnh84oXKglQ5miOHCgqs/qs4439I05lIu8i/EfbFA55YG4NyO3rL9YVOOt5gwiwvJYhDcnkVVzSl0o5bsoZgQfYvPWaIQKNkl3C53zfDQjgqS54CeDzlZpFrQTDQ1RrH8oeVC1gfYAeMabMDadox5rfZmLIN5JTf/F8iD/QdxGcoUvkEENcQgfP9PnubExtexgHGsEmqbm6ORSZ1MkEh2m3fo0f8KE6TbN1UigmcQ8nTkWBHsSmfHnB8HwJQp8mwQmDamXA+Hl3e3w4LOdYkJVlNW1/TTyJJOOvjMQCjF8SJmPHuh+QpqKbSaT9XM/vBhxbIZEufH8kawJKCBBcCNspGMNjhXfNjM0=

CMakeLists.txt

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ if(NOT CMAKE_BUILD_TYPE)
55
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
66
endif()
77

8+
if(NOT CMAKE_INSTALL_PREFIX)
9+
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}" CACHE STRING
10+
"Directory to install zig to" FORCE)
11+
endif()
12+
813
project(zig C CXX)
914
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
1015

@@ -410,6 +415,9 @@ set(ZIG_CPP_SOURCES
410415

411416
set(ZIG_STD_FILES
412417
"array_list.zig"
418+
"atomic/index.zig"
419+
"atomic/queue.zig"
420+
"atomic/stack.zig"
413421
"base64.zig"
414422
"buf_map.zig"
415423
"buf_set.zig"
@@ -419,33 +427,34 @@ set(ZIG_STD_FILES
419427
"c/index.zig"
420428
"c/linux.zig"
421429
"c/windows.zig"
430+
"crypto/blake2.zig"
431+
"crypto/hmac.zig"
422432
"crypto/index.zig"
423433
"crypto/md5.zig"
424434
"crypto/sha1.zig"
425435
"crypto/sha2.zig"
426436
"crypto/sha3.zig"
427-
"crypto/blake2.zig"
428-
"crypto/hmac.zig"
429437
"cstr.zig"
430438
"debug/failing_allocator.zig"
431439
"debug/index.zig"
432440
"dwarf.zig"
433441
"elf.zig"
434442
"empty.zig"
435-
"endian.zig"
443+
"event.zig"
436444
"fmt/errol/enum3.zig"
437445
"fmt/errol/index.zig"
438446
"fmt/errol/lookup.zig"
439447
"fmt/index.zig"
440-
"hash_map.zig"
441-
"hash/index.zig"
442448
"hash/adler.zig"
443449
"hash/crc.zig"
444450
"hash/fnv.zig"
451+
"hash/index.zig"
445452
"hash/siphash.zig"
453+
"hash_map.zig"
446454
"heap.zig"
447455
"index.zig"
448456
"io.zig"
457+
"json.zig"
449458
"linked_list.zig"
450459
"macho.zig"
451460
"math/acos.zig"
@@ -457,6 +466,28 @@ set(ZIG_STD_FILES
457466
"math/atanh.zig"
458467
"math/cbrt.zig"
459468
"math/ceil.zig"
469+
"math/complex/abs.zig"
470+
"math/complex/acos.zig"
471+
"math/complex/acosh.zig"
472+
"math/complex/arg.zig"
473+
"math/complex/asin.zig"
474+
"math/complex/asinh.zig"
475+
"math/complex/atan.zig"
476+
"math/complex/atanh.zig"
477+
"math/complex/conj.zig"
478+
"math/complex/cos.zig"
479+
"math/complex/cosh.zig"
480+
"math/complex/exp.zig"
481+
"math/complex/index.zig"
482+
"math/complex/ldexp.zig"
483+
"math/complex/log.zig"
484+
"math/complex/pow.zig"
485+
"math/complex/proj.zig"
486+
"math/complex/sin.zig"
487+
"math/complex/sinh.zig"
488+
"math/complex/sqrt.zig"
489+
"math/complex/tan.zig"
490+
"math/complex/tanh.zig"
460491
"math/copysign.zig"
461492
"math/cos.zig"
462493
"math/cosh.zig"
@@ -493,25 +524,28 @@ set(ZIG_STD_FILES
493524
"math/tan.zig"
494525
"math/tanh.zig"
495526
"math/trunc.zig"
496-
"math/x86_64/sqrt.zig"
497527
"mem.zig"
498528
"net.zig"
499529
"os/child_process.zig"
500530
"os/darwin.zig"
501531
"os/darwin_errno.zig"
532+
"os/epoch.zig"
502533
"os/file.zig"
503534
"os/get_user_id.zig"
504535
"os/index.zig"
505536
"os/linux/errno.zig"
506-
"os/linux/i386.zig"
507537
"os/linux/index.zig"
538+
"os/linux/vdso.zig"
508539
"os/linux/x86_64.zig"
509540
"os/path.zig"
541+
"os/time.zig"
510542
"os/windows/error.zig"
511543
"os/windows/index.zig"
512544
"os/windows/util.zig"
513545
"os/zen.zig"
514546
"rand/index.zig"
547+
"rand/ziggurat.zig"
548+
"segmented_list.zig"
515549
"sort.zig"
516550
"special/bootstrap.zig"
517551
"special/bootstrap_lib.zig"
@@ -542,7 +576,8 @@ set(ZIG_STD_FILES
542576
"unicode.zig"
543577
"zig/ast.zig"
544578
"zig/index.zig"
545-
"zig/parser.zig"
579+
"zig/parse.zig"
580+
"zig/render.zig"
546581
"zig/tokenizer.zig"
547582
)
548583

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,10 @@ libc. Create demo games using Zig.
141141
```
142142
mkdir build
143143
cd build
144-
cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)
144+
cmake ..
145145
make
146146
make install
147-
./zig build --build-file ../build.zig test
147+
bin/zig build --build-file ../build.zig test
148148
```
149149

150150
##### MacOS
@@ -154,9 +154,9 @@ brew install cmake llvm@6
154154
brew outdated llvm@6 || brew upgrade llvm@6
155155
mkdir build
156156
cd build
157-
cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@6/ -DCMAKE_INSTALL_PREFIX=$(pwd)
157+
cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@6/
158158
make install
159-
./zig build --build-file ../build.zig test
159+
bin/zig build --build-file ../build.zig test
160160
```
161161

162162
##### Windows

ci/travis_linux_script

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
1919
echo "secret_key = $AWS_SECRET_ACCESS_KEY" >> ~/.s3cfg
2020
s3cmd put -P $TRAVIS_BUILD_DIR/artifacts/* s3://ziglang.org/builds/
2121
touch empty
22-
s3cmd put -P empty s3://ziglang.org/builds/zig-linux-x86_64-$TRAVIS_BRANCH.tar.xz --add-header=x-amz-website-redirect-location:/builds/$(ls $TRAVIS_BUILD_DIR/artifacts)
22+
s3cmd put -P empty s3://ziglang.org/builds/zig-linux-x86_64-$TRAVIS_BRANCH.tar.xz --add-header="Cache-Control: max-age=0, must-revalidate" --add-header=x-amz-website-redirect-location:/builds/$(ls $TRAVIS_BUILD_DIR/artifacts)
2323
fi

deps/lld/ELF/MarkLive.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,15 @@ template <class ELFT> void elf::markLive() {
301301
// Follow the graph to mark all live sections.
302302
doGcSections<ELFT>();
303303

304+
// If all references to a DSO happen to be weak, the DSO is removed from
305+
// DT_NEEDED, which creates dangling shared symbols to non-existent DSO.
306+
// We'll replace such symbols with undefined ones to fix it.
307+
for (Symbol *Sym : Symtab->getSymbols())
308+
if (auto *S = dyn_cast<SharedSymbol>(Sym))
309+
if (S->isWeak() && !S->getFile<ELFT>().IsNeeded)
310+
replaceSymbol<Undefined>(S, nullptr, S->getName(), STB_WEAK, S->StOther,
311+
S->Type);
312+
304313
// Report garbage-collected sections.
305314
if (Config->PrintGcSections)
306315
for (InputSectionBase *Sec : InputSections)

doc/docgen.zig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -749,6 +749,10 @@ fn genHtml(allocator: &mem.Allocator, tokenizer: &Tokenizer, toc: &Toc, out: var
749749
try build_args.append("--release-fast");
750750
try out.print(" --release-fast");
751751
},
752+
builtin.Mode.ReleaseSmall => {
753+
try build_args.append("--release-small");
754+
try out.print(" --release-small");
755+
},
752756
}
753757
for (code.link_objects) |link_object| {
754758
const name_with_ext = try std.fmt.allocPrint(allocator, "{}{}", link_object, obj_ext);
@@ -810,6 +814,10 @@ fn genHtml(allocator: &mem.Allocator, tokenizer: &Tokenizer, toc: &Toc, out: var
810814
try test_args.append("--release-fast");
811815
try out.print(" --release-fast");
812816
},
817+
builtin.Mode.ReleaseSmall => {
818+
try test_args.append("--release-small");
819+
try out.print(" --release-small");
820+
},
813821
}
814822
if (code.target_windows) {
815823
try test_args.appendSlice([][]const u8{
@@ -840,6 +848,10 @@ fn genHtml(allocator: &mem.Allocator, tokenizer: &Tokenizer, toc: &Toc, out: var
840848
try test_args.append("--release-fast");
841849
try out.print(" --release-fast");
842850
},
851+
builtin.Mode.ReleaseSmall => {
852+
try test_args.append("--release-small");
853+
try out.print(" --release-small");
854+
},
843855
}
844856
const result = try os.ChildProcess.exec(allocator, test_args.toSliceConst(), null, null, max_doc_file_size);
845857
switch (result.term) {
@@ -874,6 +886,7 @@ fn genHtml(allocator: &mem.Allocator, tokenizer: &Tokenizer, toc: &Toc, out: var
874886
builtin.Mode.Debug => {},
875887
builtin.Mode.ReleaseSafe => try test_args.append("--release-safe"),
876888
builtin.Mode.ReleaseFast => try test_args.append("--release-fast"),
889+
builtin.Mode.ReleaseSmall => try test_args.append("--release-small"),
877890
}
878891

879892
const result = try os.ChildProcess.exec(allocator, test_args.toSliceConst(), null, null, max_doc_file_size);
@@ -927,6 +940,12 @@ fn genHtml(allocator: &mem.Allocator, tokenizer: &Tokenizer, toc: &Toc, out: var
927940
try out.print(" --release-fast");
928941
}
929942
},
943+
builtin.Mode.ReleaseSmall => {
944+
try build_args.append("--release-small");
945+
if (!code.is_inline) {
946+
try out.print(" --release-small");
947+
}
948+
},
930949
}
931950

932951
if (maybe_error_match) |error_match| {

0 commit comments

Comments
 (0)