22214 Commits

Author SHA1 Message Date
Manlio Perillo
fde57330fa docgen: improve command-line argument parsing
Implement a simple command-line argument parser, adapted from the Zig
compiler implementation.

Promote the zig positional argument to an option.
2023-01-13 17:24:10 +01:00
Manlio Perillo
c5351a8d49 docgen: remove unnecessary and incorrect deallocations
The deallocations of the process arguments are unnecessary, since the
memory will be deallocated by arena.deinit().

The deallocations are incorrect, since ArgIterator.next() returns a
slice pointing to the iterator's internal buffer, that should be
deallocated with args_it.deinit().
2023-01-13 15:20:00 +01:00
Andrew Kelley
7cb2f9222d
Merge pull request #14265 from ziglang/init-package-manager
Package Manager MVP
2023-01-12 18:49:15 -05:00
Frank Denis
cbbf8c8a2d
wasi-libc: use __heap_end if available (#14273)
The symbol was introduced in LLD 15.0.7, as a way to know how
much memory can be allocated:

1095870e8c
https://github.com/WebAssembly/wasi-libc/pull/377
2023-01-12 13:48:14 +00:00
Loris Cro
4b32917646
Merge pull request #14275 from EspeuteClement/master
autodoc: use js instead of details for collapsing descriptions
2023-01-12 13:41:21 +01:00
Clement Espeute
66569c7ec6 autodoc: use js instead of details for collapsing descriptions 2023-01-12 13:38:26 +01:00
antlilja
4971df8572 UEFI pool allocator changes
* Changed the interface to align with the new allocator interface.
* Fixed bug where not enough memory was allocated for the header or to
  align the pointer.
2023-01-12 03:46:15 -05:00
Andrew Kelley
2a92b04b9d
Merge pull request #14257 from Vexu/compile-errors
compile error improvements and bug fixes
2023-01-12 03:39:01 -05:00
Andrew Kelley
f4d6b37068 Package: handle Windows PathAlreadyExists error code
Unfortunately, error.AccessDenied is ambiguous on Windows when it is
returned from fs.rename.
2023-01-11 17:54:34 -08:00
Andrew Kelley
2de0863380 use local cache dir for dependencies-listing package 2023-01-11 17:06:10 -08:00
Andrew Kelley
741445ce29 build.zig: use zig-provided libc++ by default on Windows 2023-01-11 17:05:14 -08:00
Andrew Kelley
4d306ebd32 fix std.io.Reader regression
oops. #14264
2023-01-11 15:39:49 -08:00
Andrew Kelley
476cbe871a fix build failures on 32-bit arm due to u64/usize coercion 2023-01-11 15:39:49 -08:00
Andrew Kelley
fe8951cc94 zig build: add Artifact.installHeadersDirectory
This one is useful for when the C library has a "include" directory but
it needs to get renamed to, e.g. "lame" when being installed.
2023-01-11 15:39:49 -08:00
Andrew Kelley
416717d04e zig build: support libraries aware of installed headers 2023-01-11 15:39:49 -08:00
Andrew Kelley
cfcf9771c1 zig build: support dependencies
The `zig build` command now makes `@import("@dependencies")` available
to the build runner package. It contains all the dependencies in a
generated file that looks something like this:

```zig
pub const imports = struct {
    pub const foo = @import("foo");
    pub const @"bar.baz" = @import("bar.baz");
};
pub const build_root = struct {
    pub const foo = "<path>";
    pub const @"bar.baz" = "<path>";
};
```

The build runner exports this import so that `std.build.Builder` can
access it. `std.build.Builder` uses it to implement the new `dependency`
function which can be used like so:

```zig
const libz_dep = b.dependency("libz", .{});
const libmp3lame_dep = b.dependency("libmp3lame", .{});
// ...
lib.linkLibrary(libz_dep.artifact("z"));
lib.linkLibrary(libmp3lame_dep.artifact("mp3lame"));
```

The `dependency` function calls the build.zig file of the dependency as
a child Builder, and then can be ransacked for its build steps via the
`artifact` function.

This commit also renames `dependency.id` to `dependency.name` in the
`build.zig.ini` file.
2023-01-11 15:39:49 -08:00
Andrew Kelley
a0f2e6a29f Package: complete the package-fetching logic 2023-01-11 15:39:49 -08:00
Andrew Kelley
876ab99f5c disable package manager code when bootstrapping
This makes building from source go faster and avoids tripping over
unimplemented things in the C backend.
2023-01-11 15:39:49 -08:00
Andrew Kelley
e0401498e9 package manager: compute hash, move tmp dir into global cache 2023-01-11 15:39:49 -08:00
Andrew Kelley
d4e829d0a0 std.tar: add strip_components option 2023-01-11 15:39:49 -08:00
Andrew Kelley
f104cfa1eb compiler: add package manager skeleton
see #943
2023-01-11 15:39:48 -08:00
Andrew Kelley
585b9970ef add std.tar for tar file unpacking 2023-01-11 15:39:48 -08:00
Andrew Kelley
4f6981bbe3 add std.Ini for basic .ini file parsing 2023-01-11 15:39:48 -08:00
Andrew Kelley
f945c2a1c8 expose std.io.bufferedReaderSize
This allows setting a custom buffer size. In this case I wanted it
because using a buffer size large enough to fit a TLS ciphertext record
elides a memcpy().

This commit also adds `readAtLeast` to the Reader interface.
2023-01-11 15:39:48 -08:00
Andrew Kelley
c50f65304f std.http.Client: support the Reader interface 2023-01-11 15:39:48 -08:00
Andrew Kelley
da6d79c47c water cooler complaint about gzip stream namespace 2023-01-11 15:39:48 -08:00
Eckhart Köppen
c2d37224c8 zig objcopy: Fix corrupted hex output
Do not return stack local data for hex record payload data.
2023-01-11 21:15:20 +02:00
Veikka Tuominen
d8128c272a Sema: fix typeInfo decls with usingnamespace
Closes #12403
2023-01-11 21:11:21 +02:00
Veikka Tuominen
1658e4893d AstGen: add note pointing to tuple field
Closes #14188
2023-01-11 21:11:21 +02:00
Veikka Tuominen
e2adf3b61a parser: add helpful note for missing const/var before container level decl
Closes #13888
2023-01-11 21:11:21 +02:00
Veikka Tuominen
8b1780d939 Sema: fix condition for omitting comptime arg from function type
Closes #14164
2023-01-11 21:11:21 +02:00
Loris Cro
0e66df2094 autodoc: scroll up when collapsing long fn description 2023-01-11 18:14:56 +01:00
Veikka Tuominen
ad259736e2 Value: implement more pointer eql cases
Closes #14234
2023-01-11 19:08:49 +02:00
Loris Cro
a88679453a
Merge pull request #14263 from der-teufel-programming/master
autodoc: Fix function pointers rendering issue
2023-01-11 17:33:09 +01:00
Der Teufel
669982c145 autodoc: Fix function pointers rendering issue 2023-01-11 03:31:16 +01:00
praschke
3ab43988c1 std.net: check for localhost names before asking DNS
the old implementation asks DNS before checking if it shouldn't.
additionally, it did not catch absolute 'localhost.' names.
2023-01-10 18:09:07 -05:00
Andrew Kelley
9b807f9c17
Merge pull request #14247 from kcbanner/windows_improve_module_lookup
Windows debug info lookup improvements
2023-01-10 18:08:12 -05:00
kcbanner
bb4cb34204 test: fix "chdir smoke test" comparing paths with potentially different drive letter cases 2023-01-10 18:03:05 -05:00
Techatrix
0a8b7ad368
langref: fix unclosed and lonely tag (#14250) 2023-01-10 18:02:29 -05:00
Frank Denis
24d8d12caf Update wasi-libc to a1c7c2c7a4b2813c6f67bd2ef6e0f430d31cebad
Some notable changes:
- `ENOENT` is returned instead of `ENOTCAPABLE` when a path has not
be pre-opened (https://github.com/WebAssembly/wasi-libc/pull/370)
- `fd_readdir()`: some implementations may not set the inode number,
so an additional call to `fstatat()` is now done in order to get it
when that happens.
2023-01-10 17:14:27 -05:00
Loris Cro
0cba60afed
Merge pull request #14260 from EspeuteClement/master
autodoc: allow function descriptions expansion
2023-01-10 19:40:57 +01:00
Clement Espeute
b63a771e18 autodoc: allow function descriptions expansion 2023-01-10 18:55:49 +01:00
Veikka Tuominen
83673a8b5f fix errdefers in functions that can't return errors
This was broken by 58caed1c71179f48c4e7bffadef0392fa8381e72

Closes #14053
2023-01-10 19:17:42 +02:00
Veikka Tuominen
fd6b79e67f Sema: restore status on layout resolution failure
`resolveTypeFields` and `resolveTypeFully` already do this.

Closes #14059
2023-01-10 18:38:44 +02:00
Felix "xq" Queißner
f7ade7e63b Fixes bug in AVR codegen for llvm backend 2023-01-10 16:08:05 +02:00
Techatrix
1f8f79cd53
std: add helper functions to std.zig.Ast for extracting data out of nodes 2023-01-09 16:59:19 +02:00
kcbanner
58e558822a windows: unexpectedStatus/unexpectedError start the stack trace at the caller 2023-01-08 23:51:55 -05:00
kcbanner
5e3cadf871 debug: fixup memory management 2023-01-08 22:16:16 -05:00
kcbanner
461fb499f3 windows: rework DebugInfo to use less file operations and fix some memory management issues 2023-01-08 20:28:42 -05:00
Andrew Kelley
fcee1bf993
Merge pull request #14241 from ziglang/zig-build-config-header-step
add std.build.ConfigHeaderStep
2023-01-08 14:10:55 -05:00