Andrew Kelley
ea5cedced1
fix @typeName on slices
...
closes #2026
2019-03-02 14:31:27 -05:00
Sahnvour
4bac22e888
all integers returned by @typeInfo are now comptime_int
2019-03-02 14:27:37 -05:00
Andrew Kelley
67b4de33d2
compile error for import outside package path
...
closes #2024
there's a new cli option `--main-pkg-path` which you can use to choose
a different root package directory besides the one inferred from the
root source file
and a corresponding build.zig API:
foo.setMainPkgPath(path)
2019-03-02 10:38:27 -05:00
Andrew Kelley
764205ac13
better error message for -target windows CLI
...
closes #1169
2019-03-01 18:42:09 -05:00
Andrew Kelley
bed81089e1
Merge pull request #2020 from ziglang/kill-namespace-type
...
remove the (namespace) type and make every file an empty struct
2019-03-01 18:07:46 -05:00
Andrew Kelley
9c47bf68fa
gen-h: respect @export
2019-03-01 17:52:17 -05:00
Andrew Kelley
fc17b8ee8b
remove unused function
2019-03-01 17:36:43 -05:00
Andrew Kelley
26128396f3
gen-h: use the bare type names for now
2019-03-01 17:36:08 -05:00
Andrew Kelley
e8dad62441
fix docs typo
2019-03-01 17:23:27 -05:00
Andrew Kelley
5f7d9c5845
@typeInfo for structs and opaque types is the bare name
2019-03-01 17:15:58 -05:00
Andrew Kelley
a7ddcabb50
fix type names
2019-03-01 15:49:52 -05:00
Andrew Kelley
582fdc2869
fix dependency loops, pub, tests, use decls, root source
...
* fix dependency loop detection
- closes #679
- closes #1500
* fix `pub`
* fix tests
* fix use decls
* main package file gets a special "" namespace path
2019-03-01 15:35:29 -05:00
Marc Tiehuis
c4887d7f54
Use bitwise-and instead of modulo in __zig_return_error
...
Avoids emitting compiler-rt div calls on some targets.
2019-03-01 08:23:11 -05:00
Andrew Kelley
76b4e49178
add mprotect syscall
2019-02-28 20:11:36 -05:00
Andrew Kelley
faf76032f1
fix "use" decls
2019-02-28 15:54:09 -05:00
Andrew Kelley
02f3a834b0
struct types get fully qualified names
...
and function symbol names become fully qualified
2019-02-28 15:40:57 -05:00
Andrew Kelley
5424b4320d
remove namespace type; files are empty structs
...
closes #1047
2019-02-28 10:11:32 -05:00
Andrew Kelley
9753e87545
fix incorrect use of printf in previous commit
2019-02-27 20:09:07 -05:00
Andrew Kelley
3bfacf071e
print the command that failed when C source code fails to build
...
also respect the --color arg when building C code
2019-02-27 16:02:07 -05:00
Andrew Kelley
14ca0fd493
uefi os: better auto detection of subsystem
2019-02-27 09:30:48 -05:00
Andrew Kelley
d093f51f16
stage1: fix unused function error on freebsd and netbsd
...
closes #2012
closes #2013
2019-02-27 08:40:54 -05:00
Andrew Kelley
c59ce046a0
windows returns EINVAL for fopen when there is an asterisk in the name
...
closes #508
2019-02-26 23:02:57 -05:00
Andrew Kelley
22dd0db9bf
improve docs for unions and switching on tagged unions
...
closes #1943
2019-02-26 22:57:01 -05:00
Andrew Kelley
0d48011f5e
fix stage1 zig fmt on macos
2019-02-26 21:33:46 -05:00
Andrew Kelley
557983e502
fix handling when there are multiple externs and
...
an export in the same object
closes #529
2019-02-26 19:43:12 -05:00
Andrew Kelley
763357c9c3
add test coverage for type used as switch case
...
closes #996
2019-02-26 19:41:36 -05:00
Andrew Kelley
d5fc826437
add test coverage for binary OR on error sets
...
closes #1074
2019-02-26 19:34:22 -05:00
Andrew Kelley
1d7e5479b0
fix .gitignore file and add commit missing std lib file
2019-02-26 18:33:27 -05:00
Andrew Kelley
4563f6b424
add builder.addFmt API and use it to test stage1 zig fmt
...
closes #1968
2019-02-26 18:10:40 -05:00
Andrew Kelley
6365f5a9f3
introduce sys_include_dir for when sys/* files are not with stdlib.h
2019-02-26 17:26:34 -05:00
Andrew Kelley
33174f11ef
fix regressions on Windows
2019-02-26 16:24:32 -05:00
Andrew Kelley
ade10387a5
breaking changes to the way targets work in zig
...
* CLI: `-target [name]` instead of `--target-*` args.
This matches clang's API.
* `builtin.Environ` renamed to `builtin.Abi`
- likewise `builtin.environ` renamed to `builtin.abi`
* stop hiding the concept of sub-arch. closes #1526
* `zig targets` only shows available targets. closes #438
* include all targets in readme, even those that don't
print with `zig targets` but note they are Tier 4
* refactor target.cpp and make the naming conventions
more consistent
* introduce the concept of a "default C ABI" for a given
OS/Arch combo. As a rule of thumb, if the system compiler
is clang or gcc then the default C ABI is the gnu ABI.
2019-02-26 15:58:10 -05:00
Andrew Kelley
1ec1097bd3
use -nostdinc and sometimes -nolibc when compiling C code
2019-02-26 14:59:36 -05:00
John Schmidt
0eed72d687
Add priority queue
2019-02-26 13:21:11 -05:00
Andrew Kelley
6fd2816431
use -nostdinc++ when compiling C code
2019-02-26 10:15:48 -05:00
Andrew Kelley
3932b6474e
use -nobuiltininc when compiling c code
2019-02-26 08:16:03 -05:00
Andrew Kelley
82fafca375
fix the libc compile error tests to only run on linux
2019-02-25 21:46:32 -05:00
Andrew Kelley
7571db05de
fix incorrectly trying to memset at comptime
...
closes #718
2019-02-25 20:33:40 -05:00
Andrew Kelley
4b7e285b76
add a regression test for #704
...
closes #704
2019-02-25 20:18:35 -05:00
Andrew Kelley
152db27146
better error message when forgetting to link against libc
...
closes #1698
2019-02-25 20:09:18 -05:00
Andrew Kelley
3ca861c7dd
add a compile error note when C import fails and not linking libc
...
closes #558
2019-02-25 19:31:30 -05:00
Andrew Kelley
0f54728cf0
fix not finding libgcc_s when looking for native libc
...
closes #2011
2019-02-25 19:10:48 -05:00
Andrew Kelley
aab8e13529
add docs for zero bit types and pointers to zero bit types
...
closes #1561
2019-02-25 18:31:37 -05:00
Andrew Kelley
39605a7965
delete incorrect TODO comment
...
The code path is tested by behavior tests.
Thanks to various contributors, but mostly Marc Tiehuis,
bigint.cpp now has full coverage.
closes #405
2019-02-25 16:36:18 -05:00
Andrew Kelley
7b8c5578c6
fix infinite recursion in type_has_one_possible_value
...
closes #2006
2019-02-25 16:28:23 -05:00
Andrew Kelley
33cbb29def
zig build: 2 improvements
...
* `linkLibrary` will make the target depend on libc if the source does
* when building C source file(s), don't try to generate .h files
2019-02-25 14:27:03 -05:00
Andrew Kelley
6003b1ea70
Merge pull request #2005 from ziglang/c-source
...
first class support for compiling C code
2019-02-25 14:11:54 -05:00
Andrew Kelley
0d4db8828a
@cImport works with --cache on
...
We pass -MD -MF args to clang when doing `@cImport`, which
gives us a complete list of files that the C code read from.
Then we add these to the cache. So even when using `@cImport`
Zig's caching system remains perfect. This is a proof of concept
for the mechanism that the self-hosted compiler will use to
watch and rebuild files.
2019-02-25 14:03:36 -05:00
Andrew Kelley
525c2eaf5d
building DLLs on Windows works better
2019-02-25 13:34:25 -05:00
Andrew Kelley
e76ce2c1d0
first class support for compiling C code
...
New CLI parameter: --c-source [options] [file]
It even works with `--cache on` when there are transitive dependencies.
Instead of `builder.addCExecutable`, use `builder.addExecutable` and pass
`null` for the root source file. Then use `builder.addCSourceFile`,
which takes the path to the C code, and a list of C compiler args.
Be sure to linkSystemLibrary("c") if you want libc headers to be
available.
Merge TestStep into LibExeObjStep. That was long overdue.
2019-02-25 11:45:00 -05:00