Commit Graph

6630 Commits

Author SHA1 Message Date
LemonBoy
6a687bda76 Support for TLS on Win32 2019-10-06 16:45:51 +02:00
LemonBoy
93a49076f7 Initial support for i386-windows-msvc target 2019-10-06 14:27:36 +02:00
Andrew Kelley
571123465b
generated docs: canonical package paths 2019-10-05 18:01:01 -04:00
Andrew Kelley
0e40fc46d1
generated docs: show public stuff only 2019-10-05 16:38:42 -04:00
Andrew Kelley
19c2474b34
generated docs: render functions 2019-10-05 16:38:42 -04:00
Michael Dusan
a82c6453c1
Merge pull request #3368 from mikdusan/issue.3367
fix: container member access `usingnamespace` decls fails
2019-10-05 15:47:07 -04:00
Andrew Kelley
edadccde54
generated docs: add navigation bar 2019-10-05 15:33:23 -04:00
Michael Dusan
a23a022820
fix container member access for fn/struct-fn
- decls brought in via `usingnamespace` were not always found
  because lookup was performed directly against decl_table and
  use_decls was never consulted
- fix to use find_container_decl() path instead
- closes #3367
2019-10-05 14:09:09 -04:00
Andrew Kelley
5aa1e78807
generated docs: navigable types 2019-10-05 13:29:35 -04:00
Andrew Kelley
f78d49c916
generated docs: navigable packages 2019-10-05 13:07:59 -04:00
Andrew Kelley
dca6e74fec proof of concept of stage1 doc generation
This commit adds `-fgenerate-docs` CLI option, and it outputs:
 * doc/index.html
 * doc/data.js
 * doc/main.js

In this strategy, we have 1 static html page and 1 static javascript
file, which loads the semantic analysis dump directly and renders it
using dom manipulation.

Currently, all it does is list the declarations. But there is a lot more
data available to work with. The next step would be making the
declarations hyperlinks, and handling page navigation.

Another strategy would be to generate a static site with no javascript,
based on the semantic analysis dump that zig now provides. I invite the
Zig community to take on such a project. However this version which
heavily relies on javascript will also be a direction explored.

I also welcome contributors to improve the html, css, and javascript of
what this commit started, as well as whatever improvements are necessary
to the static analysis dumping code to provide more information.

See #21.
2019-10-04 20:18:06 -04:00
Andrew Kelley
2f4dad04e0
langref: no viewport 2019-10-04 14:06:55 -04:00
Michael Dusan
81c6bd37aa stage1: fix compile error on macOS Xcode 11.1 2019-10-04 01:33:31 -04:00
Andrew Kelley
071af5c1d6
fix noreturn attribute for msvc 2019-10-03 22:51:00 -04:00
Andrew Kelley
eca2aa66fe
Merge pull request #3372 from ziglang/dump-analysis
add -fdump-analysis to dump type information to json
2019-10-03 18:37:30 -04:00
Andrew Kelley
39d47b2c51
handle when std lib is unused 2019-10-03 18:05:44 -04:00
Andrew Kelley
59ac7b91da
add -fdump-analysis to dump type information to json
This commit adds -fdump-analysis which creates
a `$NAME-analysis.json` file with all of the finished
semantic analysis that the stage1 compiler produced.
It contains types, packages, declarations, and files.

This is an initial implementation; some data will be
missing. However it's easy to improve the implementation,
which is in `src/dump_analysis.cpp`.

The next step for #21 will be to create Zig code which parses
this json file and creates user-facing HTML documentation.

This feature has other uses, however; for example, it could
be used for IDE integration features until the self-hosted
compiler is available.
2019-10-03 17:58:22 -04:00
LemonBoy
7640bec8e0 Fix pipe syscall for MIPS 2019-10-03 17:07:53 -04:00
Andrew Kelley
7481a4ad08
zig build: fix exe file ext to match target.cpp 2019-10-03 16:02:24 -04:00
Andrew Kelley
edef35bb57
docs: use the updated png favicon 2019-10-03 11:15:55 -04:00
Andrew Kelley
a7c9aa7ddb
finish conversion of translate_c.cpp to use zig_clang.h
See #1964

translate_c.cpp now exclusively uses the clang API via zig_clang.h

shaves off 5 seconds from building zig when translate_c.cpp
(or any h files it uses) change.
2019-10-02 19:21:40 -04:00
Andrew Kelley
f84086132f
more conversion of translate_c.cpp to use zig_clang.h
Progress: 96%

See #1964
2019-10-02 02:02:31 -04:00
Andrew Kelley
a8d6954c23
fix tripping LLVM assertion in const unions 2019-10-01 17:41:03 -04:00
Andrew Kelley
c1a05f0581
translate-c: make trans_implicit_cast_expr use zig_clang.h
See #1964
2019-10-01 17:33:11 -04:00
LemonBoy
17f2af10b5 Correct signal bits for MIPS
Also enable the segfault handler for all the supported architectures
beside MIPS.
2019-10-01 13:58:58 -04:00
SamTebbs33
bed4bfa69a Replace code occurences of --override-std-dir with --override-lib-dir 2019-10-01 07:29:24 -04:00
Andrew Kelley
5026db1d31
langref: add 0.5.0 docs link 2019-09-30 12:13:51 -04:00
Andrew Kelley
0dd8adcdb4
Release 0.5.0 2019-09-30 10:09:33 -04:00
Andrew Kelley
e0eb045b5f
remove unhelpful/outdated/unused doc file 2019-09-30 08:33:04 -04:00
Andrew Kelley
0e9f86b1db
docs: docgen supports release safe exe code examples
and make the type names of `@hasDecl` and `@hasField` consistent
2019-09-29 17:28:30 -04:00
Andrew Kelley
ffaf37a7e7
Merge pull request #3343 from ziglang/windows-libc-um-dir
detect the windows um include directory
2019-09-29 15:47:01 -04:00
Andrew Kelley
339f621735 detect the shared windows include dir as well 2019-09-29 14:12:06 -04:00
Andrew Kelley
c8e967f43d
detect the windows um include directory 2019-09-29 14:04:23 -04:00
Andrew Kelley
ec545859b9
docgen: support code examples for riscv target 2019-09-29 14:03:49 -04:00
Nick Erdmann
ff9c3c6e5b std/os/uefi: fix Guid alignment in rng protocol 2019-09-29 12:28:14 -04:00
Andrew Kelley
bd46c1c328
RISC-V: get to the linking phase of behavior tests
See #3338 and #3339
2019-09-29 12:21:22 -04:00
Andrew Kelley
543e729398
Merge pull request #3331 from meme/android-ndk
Support Android NDK
2019-09-28 13:30:19 -04:00
meme
030abfa0d2 minor tweaks 2019-09-28 13:21:29 -04:00
meme
0c556095f4 do not link against gcc runtime on Android target 2019-09-28 12:48:13 -04:00
Andrew Kelley
ce0e794092
fix glibc builds on aarch64-linux-gnu
There was a missing include path in the compilation line, leading to
incorrect fstat ABI.

closes #3291
2019-09-27 18:19:21 -04:00
Andrew Kelley
579301c2af
avoid duplicated code of specifying the default glibc version 2019-09-27 17:39:11 -04:00
meme
308e7d5314 fix building static Android executables 2019-09-27 17:33:07 -04:00
Andrew Kelley
dc299166cf
std.os.fstat: EINVAL => unreachable
Related: #3291
2019-09-27 17:17:24 -04:00
meme
f7bf61a983 support Android NDK and bionic 2019-09-27 16:51:42 -04:00
Andrew Kelley
878aece87b
Merge branch 'LemonBoy-fix-3138'
closes #3213
2019-09-27 15:58:39 -04:00
Andrew Kelley
09575bc0d6
fully specify padding bytes when necessary
This is what I was going for originally - either we understand that
LLVM's padding is sufficient, or we do the entire padding ourselves.
2019-09-27 15:53:30 -04:00
LemonBoy
67bd0267db
Correct calculation of padding length in struct
Make sure the resulting type is in-sync with the one produced and used
by LLVM.

Fixes #3138
2019-09-27 15:39:19 -04:00
Andrew Kelley
70e934f116
Merge pull request #3326 from LemonBoy/misc-misc
Miscellaneous and very small patches regarding mipsel and musl libc
2019-09-27 14:53:52 -04:00
LemonBoy
9ad0541f2c Enable mipsel+libc tests on CI 2019-09-27 18:44:49 +02:00
LemonBoy
a220648198 Backport patch for Musl libc
Allows musl to compile for mipsel targets.

https://www.openwall.com/lists/musl/2019/09/27/1/2
2019-09-27 18:20:00 +02:00