Andrew Kelley
0d4354324c
fix behavior tests compile error on i386-linux
2020-03-26 12:54:59 -04:00
Andrew Kelley
ddd98a7f10
prevent ptr cast from forcing alignment resolution unnecessarily
2020-03-26 12:34:16 -04:00
Andrew Kelley
5ec6a0ea02
fix an invalid free having to do with bound functions
...
this should fix the drone CI failure
2020-03-25 21:00:02 -04:00
Andrew Kelley
fae6cf0961
improved handling of native system directories
...
* `-isystem` instead of `-I` for system include directories
fixes a problem with native system directories interfering with zig's
bundled libc.
* separate Stage2Target.is_native into Stage2Target.is_native_os and
Stage2Target.is_native_cpu.
2020-03-25 20:34:15 -04:00
Andrew Kelley
e3fec6cce9
zig cc: add detection for -###
...
it turns on --verbose-cc and --verbose-link
2020-03-25 19:32:12 -04:00
Andrew Kelley
f313ab18ae
zig cc: freestanding target implies -nostdlib
2020-03-25 12:28:41 -04:00
Andrew Kelley
6cbe589b51
zig cc: support -T linker script option
2020-03-25 12:05:48 -04:00
Andrew Kelley
3869e80331
Merge pull request #4793 from LemonBoy/netbsd-forever
...
Netbsd forever
2020-03-25 10:19:49 -04:00
Andrew Kelley
93c7fa105f
Merge remote-tracking branch 'origin/llvm10'
...
LLVM 10 was released today
2020-03-24 09:57:09 -04:00
LemonBoy
2f21c8f5ba
stage1: Link pthread on NetBSD
2020-03-23 18:47:39 +01:00
LemonBoy
bab66235b9
stage1: Remove fflush on file open for reading
...
On NetBSD this caused the libuserland compilation to fail.
Closes #3719
2020-03-23 17:17:28 +00:00
Andrew Kelley
dc44fe053c
zig cc: detect dynamic linker argument
2020-03-23 12:39:18 -04:00
Andrew Kelley
e643b414e4
zig cc: recognize .S and .C as source file extensions
2020-03-23 11:34:16 -04:00
LemonBoy
0cd953d40e
ir: Prevent crash when slicing hardcoded pointer
...
Closes #4780
2020-03-23 09:13:52 -04:00
Andrew Kelley
13d04f9963
Merge pull request #4741 from momumi/master
...
allow `_` separators in number literals (stage 1)
2020-03-23 00:54:54 -04:00
Andrew Kelley
94f7c56001
riscv: add -mrelax arg for C to work around upstream issue
...
See #4485
2020-03-22 21:47:19 -04:00
Andrew Kelley
e5e5196d8e
Merge remote-tracking branch 'origin/master' into llvm10
2020-03-22 20:48:21 -04:00
Andrew Kelley
7ffdf59c44
Merge pull request #4774 from ziglang/zig-cc
...
ability to use `zig cc` as a drop-in C compiler
2020-03-22 19:20:02 -04:00
LemonBoy
6a89751025
ir: Implement cast from anon struct to union
2020-03-22 19:06:22 -04:00
Andrew Kelley
23c263776c
Merge remote-tracking branch 'origin/master' into llvm10
2020-03-22 15:09:29 -04:00
Andrew Kelley
2b65dc1032
zig cc: detect optimization and debug flags
2020-03-21 22:30:46 -04:00
LemonBoy
dc79f181a5
ir: Disallow comparison between enum literal and untagged enum
...
Closes #4770
2020-03-21 20:54:05 -04:00
Andrew Kelley
4b0ddb817b
zig cc: better support for the preprocessor option (-E)
2020-03-21 20:32:48 -04:00
Michael Dusan
28ad78cb7f
rename "passthrough" → "driver_punt"
...
- punt when `-E` is supplied
- punt when `-S` is supplied
2020-03-21 16:53:59 -04:00
Andrew Kelley
4d9b458f8f
zig cc: support .cc and .cxx extensions
2020-03-21 16:51:43 -04:00
Andrew Kelley
0eee98edc1
zig cc improvements
...
* The generated options data file is sorted now in a way that
makes sure longer prefixes are first. This prevents collisions
with some parameters.
* Add support for `-fPIC`, `-fno-PIC`, `-nostdlib`, `-shared`,
`-rdynamic`, `-Wl,-soname`, `-Wl,-rpath`
* Better support for `-o`.
* Disable generating h files
* Shared library support.
* Better positional argument support.
2020-03-21 15:40:49 -04:00
Andrew Kelley
a4eaeee720
ability to use zig cc as a drop-in C compiler
...
The basics are working
2020-03-21 15:39:39 -04:00
LemonBoy
128e70ff3a
ir: Allow errdefer with payload
...
Closes #1265
2020-03-21 09:54:49 +01:00
Andrew Kelley
3a2c490889
"generate .h files" feature is no longer supported in stage1
2020-03-20 18:33:36 -04:00
Andrew Kelley
7438d0fc31
glibc: include ld symbols and proper soname for ld
2020-03-20 14:39:05 -04:00
LemonBoy
541e763010
ir: Peer type resolution between ?[]T and *[N]T
...
Closes #4767
2020-03-20 12:23:05 -04:00
Andrew Kelley
53b5aa812b
Merge remote-tracking branch 'origin/master' into llvm10
2020-03-19 22:19:24 -04:00
Andrew Kelley
160367e0dd
fix compile error for reading past end of pointer casted array
2020-03-19 17:23:53 -04:00
Andrew Kelley
1d7861a36e
fix incorrect sentinel check
2020-03-19 13:18:14 -04:00
Andrew Kelley
f824658e13
slicing sentinel-terminated slice without end
...
now results in a sentinel-terminated slice.
2020-03-19 10:54:20 -04:00
Andrew Kelley
7fa88cc0a6
std lib fixups for new semantics
...
std lib tests are passing now
2020-03-19 09:53:55 -04:00
Andrew Kelley
2164b511cc
partial revert of an improvement this branch made
...
because it uncovered a result location bug, and I need to get this
branch merged before going into a result location rabbit hole.
also fix the result type of slicing when the indexes are runtime known
and the result should be sentinel terminated.
2020-03-19 09:53:55 -04:00
Andrew Kelley
8688c43745
when result loc is a slice, avoid evaluating lazy start..end
...
This prevents lazy values from being unnecessarily evaluated.
2020-03-19 09:53:55 -04:00
Andrew Kelley
e947f0c740
0-bit array type does not resolve child type
2020-03-19 09:53:55 -04:00
Andrew Kelley
72a261b4d3
fix runtime slice of pointer not setting length
2020-03-19 09:53:55 -04:00
Andrew Kelley
4435b05b6b
fix regression when slicing 0-bit pointers
2020-03-19 09:53:55 -04:00
Andrew Kelley
2b4134459d
fix alignment when slicing with comptime start and end index
2020-03-19 09:53:54 -04:00
Andrew Kelley
8d0ac6dc4d
@ptrCast supports casting a slice to pointer
2020-03-19 09:53:54 -04:00
Andrew Kelley
c896c5001f
fix slice of string literal having the wrong type
2020-03-19 09:53:54 -04:00
Andrew Kelley
0707be8de8
fixes in semantic analysis needed to support this feature
2020-03-19 09:53:54 -04:00
Andrew Kelley
2182d28cb0
slicing with comptime start and end results in array
...
implements #863
2020-03-19 09:53:51 -04:00
LemonBoy
e3c92d0532
ir: More changes to sentinel-terminated const arrays
...
* Don't add an extra slot for the sentinel. Most of the code keeps using
the constant value from the type descriptor, let's harmonize all the
code dealing with sentinels.
* Properly write out sentinel values when reinterpreting pointers at
comptime.
* Allow the reading of the 0th element in a `[0:S]T` type.
2020-03-19 09:53:30 -04:00
Andrew Kelley
63a4dbc30d
array sentinel does not count towards type_has_one_possible_value
2020-03-18 11:11:41 -04:00
LemonBoy
1479c28b49
ir: Correct ABI size calculation for arrays
...
Zero-length array with a sentinel may not have zero size.
Closes #4749
2020-03-18 11:10:45 -04:00
momumi
925f710852
make parsing 0.0_e1 an error
2020-03-15 13:05:24 +10:00