Andrew Kelley
c54fe0d3ae
work around to support debian's fork of llvm 7.0.1
...
it has a patch that adds an OS type, breaking the public API
this commit avoids depending on the last os type enum item,
but retains the safety assertion checks.
closes #1788
2018-11-28 22:58:52 -05:00
Andrew Kelley
dd2450b1b2
tier 2 support for freebsd
2018-11-27 20:56:43 -05:00
Andrew Kelley
e3bf40742d
Merge branch 'master' into freebsd2
2018-11-27 20:36:44 -05:00
Andrew Kelley
67a39a4c99
stage1: better file path handling
...
* better message printed when cache hash fails
* better handling of '/' as root source file
* os_path_split parses '/' and '/a' correctly
closes #1693
closes #1746
2018-11-26 20:04:35 -05:00
Andrew Kelley
d2ed4d3dd3
Merge branch 'zig-backport-os_file_read-EISDIR' of https://github.com/kristate/zig into kristate-zig-backport-os_file_read-EISDIR
2018-11-26 19:59:58 -05:00
Andrew Kelley
3d2752cc36
refactor type_requires_comptime to have possible error
...
fixes a compiler crash when building
https://github.com/AndreaOrru/zen
2018-11-24 16:15:58 -05:00
Andrew Kelley
56a8f2b018
fix @intCast not catching negative numbers to unsigned
2018-11-24 14:36:16 -05:00
Andrew Kelley
9493738e54
Merge branch 'freebsd-up' of https://github.com/myfreeweb/zig into freebsd2
2018-11-19 17:24:41 -05:00
Sahnvour
703c6684d1
Crash fixes and small improvements to inline asm. ( #1756 )
...
* codegen: LLVMConstInlineAsm is deprecated.
* codegen: replace commas in asm constraint strings by pipes as required by LLVM.
* ir: enforce usage of '=' constraint modifier for inline assembly outputs.
Others are not currently supported and this was just asserted alter in `ir_render_asm`.
* asm: forbid comptime_int/floats as inputs in favor of explicitely sized constants.
Fixes a crash due to comptime_int/floats having no type_ref.
* asm: handle inputs with integers of <8 or non power of 2 bitsize.
We widen them to the next highest power of two.
2018-11-19 16:22:21 -05:00
Andrew Kelley
89e82281be
fix incorrect --help text
2018-11-19 13:26:35 -05:00
Andrew Kelley
2f5d1ec500
improve error message when wrong type returned
...
closes #1650
2018-11-19 11:22:57 -05:00
Andrew Kelley
3829e200ec
fix assertion failure related to @intToEnum
2018-11-18 20:04:16 -05:00
Andrew Kelley
f8a782fb2e
all numbers with comptime known values implicitly cast
...
to all number types. If the value does not fit,
a compile error is emitted.
closes #422
closes #1712
2018-11-18 19:37:59 -05:00
kristopher tate
947cdafd91
src/os.cpp: os_file_read: return ErrorIsDir on case EISDIR;
2018-11-18 15:30:24 +09:00
Andrew Kelley
085d049a08
aarch64 improvements
...
* support C ABI for all return types
* don't include __aeabi_uldivmod & co on aarch64 since
it's 64 bit
2018-11-17 11:21:00 -05:00
Jimmi HC
2a580278c4
Updated comments in parser.cpp
2018-11-17 14:42:47 +01:00
Andrew Kelley
704374e512
rename section keyword to linksection
...
add zig fmt support for this syntax
closes #1152
2018-11-17 01:38:35 -05:00
Vallentin
398914eb71
Fixed typos
2018-11-16 14:03:39 -05:00
Jimmi Holst Christensen
be9bb0a857
Fixed #1663 and removed IrInstructionArrayLen
2018-11-16 10:15:13 -05:00
Andrew Kelley
3666fbd9f9
** and ++ operators force comptime on operands
...
closes #1707
2018-11-14 12:23:40 -05:00
Jimmi Holst Christensen
5b3f7a8e1f
Fixed error where we didn't expect the return type of a function
2018-11-13 14:43:08 +01:00
Jimmi Holst Christensen
8139c5a516
New Zig formal grammar ( #1685 )
...
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
2018-11-13 05:08:37 -08:00
Andrew Kelley
67fbb0434f
ir: remove redundant casting code
2018-11-11 12:48:55 -05:00
Andrew Kelley
ef5d7ce463
array type syntax implies comptime
2018-11-09 19:26:54 -05:00
emekoi
8e69a18d8c
made colored output more consistent ( #1706 )
...
* made colored output more consistent
* added os.supportsAnsiEscapeCodes
2018-11-08 00:36:36 -05:00
Andrew Kelley
d9fe38789b
macos: use the same code as linux to determine libc include path
...
this fixes .h file locating on macos 10.14
2018-11-06 17:59:44 -05:00
Andrew Kelley
63f636e7b7
limit integer types to maximum bit width of 65535
...
closes #1541
2018-11-06 11:09:14 -05:00
Andrew Kelley
1554dd9697
support building static self hosted compiler on macos
...
* add a --system-linker-hack command line parameter to work around
poor LLD macho code. See #1535
* build.zig correctly handles static as well as dynamic dependencies
when building the self hosted compiler.
- no more unnecessary libxml2 dependency
- a static build on macos produces a completely static self-hosted
compiler for macos (except for libSystem as intended).
2018-11-02 00:54:34 -04:00
Andrew Kelley
4e12f909df
simplify logic of pass1 ir for while on error unions
2018-10-31 10:00:51 -04:00
Andrew Kelley
7405bc7618
remove implicit cast from number literal to enum
...
I missed this code when removing explicit cast syntax.
2018-10-30 17:28:03 -04:00
Andrew Kelley
ca71373da1
remove another implicit cast to const pointer
...
* remove implicit cast from *T to ?*const T
* remove implicit cast from T to ?*const T when T is a struct/union
2018-10-29 16:41:30 -04:00
emekoi
395f3d946a
fixed mingw compilation
2018-10-27 11:35:01 -04:00
Andrew Kelley
2b395d4ede
remove @minValue,@maxValue; add std.math.minInt,maxInt
...
closes #1466
closes #1476
2018-10-26 15:01:51 -04:00
Andrew Kelley
40b7652a6d
fix stack pointer register name on i386
2018-10-25 18:25:53 -04:00
Andrew Kelley
eb0b1d38ff
remove 3 more implicit casts to const pointers
...
see #1465
2018-10-25 12:52:12 -04:00
Ryan Saunderson
73ab0afadd
Bug fixes in WinSDK detection ( #1665 )
...
* fixed detecting the latest installed version of the windows sdk & related tests
2018-10-24 16:14:16 -04:00
Greg V
6a8fb06006
Split at zero byte in SplitIterator
...
To avoid extra zeros in buffers
2018-10-20 15:21:35 +03:00
Greg V
831bb66895
Set up libc/rtld paths for FreeBSD
2018-10-20 15:21:35 +03:00
Marc Tiehuis
264dd2eb57
Set FreeBSD ELF OS/ABI when targeting
...
Closes #553 .
2018-10-20 15:15:01 +03:00
Marc Tiehuis
e2b9c153bd
Add initial freebsd stdlib functionality
...
Trivial program now compiles with now warnings.
2018-10-20 15:15:01 +03:00
Greg V
9a541c1214
Add FreeBSD support to os.cpp
2018-10-20 15:15:01 +03:00
Andrew Kelley
d5648d2640
remove implicit cast from T to *const T
...
closes #1465
2018-10-15 18:23:47 -04:00
Jimmi Holst Christensen
378d3e4403
Solve the return type ambiguity ( #1628 )
...
Changed container and initializer syntax
* <container> { ... } -> <container> . { ... }
* <exrp> { ... } -> <expr> . { ...}
2018-10-15 09:51:15 -04:00
Andrew Kelley
822d4fa216
fix compiler crash
2018-10-13 16:35:38 -04:00
Andrew Kelley
3e72411db0
C ABI and compiler rt improvements for ARM
...
* add __multi3 compiler rt function. See #1290
* compiler rt includes ARM functions for thumb and aarch64 and
other sub-arches left out. See #1526
* support C ABI for returning structs on ARM. see #1481
2018-10-13 15:18:00 -04:00
Andrew Kelley
81c6f08724
add workaround for bad LLD macos code
2018-10-09 13:16:51 -04:00
Andrew Kelley
05e608a0c7
stage1 os: workaround for macos not having environ variable
2018-10-09 13:16:51 -04:00
Andrew Kelley
e29a3b1d2a
stage1 link: compiler_rt and builtin libs know ...
...
...whether they will be linked with libc
2018-10-09 13:16:51 -04:00
Andrew Kelley
e0a94db65e
fix error limit linker arg on windows
2018-10-09 13:16:51 -04:00
Andrew Kelley
6b93495792
more efficient builtin library code generation
...
* introduce --disable-pic option which can generally be allowed to be
the default. compiler_rt.a and builtin.a get this option when you
build a static executable.
* compiler_rt and builtin libraries are not built for build-lib
--static
* posix_spawn instead of fork/execv
* disable the error limit on LLD. Fixes the blank lines printed
2018-10-09 13:16:50 -04:00