Andrew Kelley
d9d8c42426
remove unnecessary `inline`
...
works around a bug triggered by previous commit
2020-03-31 11:18:11 -04:00
Andrew Kelley
0e372ccff5
clean up the duplicate export logic for __clear_cache
2020-03-31 10:48:48 -04:00
LemonBoy
e9c49f423d
compiler-rt: More clear_cache implementations
2020-03-31 10:36:12 -04:00
daurnimator
63409cf422
std: linux syscall numbers are now an extensible enum
2020-03-31 10:16:20 -04:00
Andrew Kelley
83ff94b1cc
compiler-rt: don't export __clear_cache when no impl available
2020-03-30 23:15:07 -04:00
Timon Kruiper
f6f03cd90f
compiler-rt: implement clear_cache for arm32-linux
2020-03-31 00:29:41 +02:00
LemonBoy
1ef6f068f5
compiler-rt: Implement all the shift builtins
...
* Unify all the code paths with a generic function
* Add some EABI aliases
Closes #4853
2020-03-30 10:58:47 -04:00
LemonBoy
0512be227c
compiler-rt: Fix __floatunditf
...
This builtin converts a u64 into a f128, not a u128 into a f128.
Fixes some weird-ass crashes that happened only on AArch64 systems.
2020-03-27 20:10:59 +01:00
LemonBoy
cc774c603b
compiler-rt: Add __divtf3
2020-03-24 18:08:53 +01:00
Andrew Kelley
39589cffe0
compiler-rt: fix __clear_cache on aarch64 darwin
2020-03-24 11:51:13 -04:00
Andrew Kelley
03013e5176
compiler-rt: aarch64 implementation of __clear_cache
2020-03-24 10:33:23 -04:00
Andrew Kelley
93c7fa105f
Merge remote-tracking branch 'origin/llvm10'
...
LLVM 10 was released today
2020-03-24 09:57:09 -04:00
momumi
7aac21c6f5
allow `_` separators in number literals (stage 1)
...
* Underscores `_` may be placed between two digits in a int/float literal
* Consecutive underscores are not allowed
* Fixed parsing bug in exponents of hexadecimal float literals.
Exponents should always be base 10, but hex characters would be parsed
inside the exponent and everything after them would be ignored. eg:
`0x1.0p1ab1` would be parsed as `0x1.0p1`.
2020-03-15 12:38:35 +10:00
Andrew Kelley
d1cb16aace
Merge remote-tracking branch 'origin/master' into llvm10
2020-03-03 09:44:13 -05:00
xackus
00be934569
short std.builtin enum literals in std lib
2020-03-01 13:57:41 -05:00
Andrew Kelley
bafa895561
compiler-rt: inline at call site to workaround a bug
...
The bug is #2154
2020-02-28 14:51:55 -05:00
Andrew Kelley
87b9e744dd
update std lib to new Target API
2020-02-28 14:51:54 -05:00
Andrew Kelley
4616af0ca4
introduce operating system version ranges as part of the target
...
* re-introduce `std.build.Target` which is distinct from `std.Target`.
`std.build.Target` wraps `std.Target` so that it can be annotated as
"the native target" or an explicitly specified target.
* `std.Target.Os` is moved to `std.Target.Os.Tag`. The former is now a
struct which has the tag as well as version range information.
* `std.elf` gains some more ELF header constants.
* `std.Target.parse` gains the ability to parse operating system
version ranges as well as glibc version.
* Added `std.Target.isGnuLibC()`.
* self-hosted dynamic linker detection and glibc version detection.
This also adds the improved logic using `/usr/bin/env` rather than
invoking the system C compiler to find the dynamic linker when zig
is statically linked. Related: #2084
Note: this `/usr/bin/env` code is work-in-progress.
* `-target-glibc` CLI option is removed in favor of the new `-target`
syntax. Example: `-target x86_64-linux-gnu.2.27`
closes #1907
2020-02-28 14:51:53 -05:00
Andrew Kelley
f33bf48af7
Merge remote-tracking branch 'origin/master' into llvm10
2020-02-25 16:30:40 -05:00
Vexu
538d9a5dd8
remove uses of `@ArgType` and `@IntType`
2020-02-24 23:39:03 +02:00
Andrew Kelley
cdc5070f21
Merge remote-tracking branch 'origin/master' into llvm10
2020-02-10 00:26:33 -05:00
LemonBoy
c4d0f97b4c
compiler_rt: Fix clzsi2 implementation for Thumb1
...
The LUT contains the number of bits set, not the number of leading zeros
as we're subtracting from the total number of bits in a word.
Closes #4415
2020-02-09 14:12:01 -05:00
Andrew Kelley
9e5b248991
remove workarounds for Windows native CPU features
...
bug fixed in LLVM 10
closes #508
2020-02-07 12:41:46 -05:00
Andrew Kelley
9dffc369f1
Merge remote-tracking branch 'origin/master' into layneson-cpus_and_features
2020-01-25 23:25:29 -05:00
Andrew Kelley
c86589a738
disable f128 compiler_rt tests failing on windows
...
These were never working with native CPU features. In this branch,
we fix native CPU features not being enabled on Windows, and regress
f128 language features. In the llvm10 branch, all this is fixed,
and the tests are re-enabled.
2020-01-23 02:05:24 -05:00
Michael Dusan
357f42da6c
compiler_rt: fix mulsi3 test typo
2020-01-22 20:17:38 -05:00
LemonBoy
69c72e24d4
compiler-rt: Port __mulsi3 builtin
2020-01-22 13:04:45 -05:00
LemonBoy
861724bcf0
Fix some tests broken by the renamed files
2020-01-19 09:31:45 +01:00
LemonBoy
5fbc1c2812
Nuke some more code
2020-01-19 00:12:27 +01:00
LemonBoy
6b056d1fb9
Nuke some repeated code
2020-01-19 00:12:25 +01:00
LemonBoy
7d94e712f1
Remove useless wrappers around f32/f64 aeabi builtins
2020-01-19 00:12:18 +01:00
LemonBoy
fa52c9e36e
Small cleanups
2020-01-19 00:11:45 +01:00
Michaël Larouche
d9be6e5dc6
Port clzsi2 from compiler_rt, required for using std.fmt.format on some ARM architecture.
2020-01-17 14:25:22 -05:00
LemonBoy
f609ce4f65
Minor changes to the ARM builtin fns
2020-01-16 12:50:53 -05:00
LemonBoy
e8012740b9
Fix off-by-one error (and missing store op)
2020-01-15 20:03:41 +01:00
LemonBoy
ede28755b6
Fix test case
2020-01-15 18:41:07 +01:00
LemonBoy
c5cfc9bf68
Move definition of __aeabi_read_tp
2020-01-15 17:50:51 +01:00
LemonBoy
5d5345728a
Fix div builtins to use the correct calling convention
2020-01-15 17:50:51 +01:00
LemonBoy
109e5f8a5a
Remove unnecessary logic
2020-01-15 17:50:51 +01:00
LemonBoy
44e3796285
Rearrange some builtin functions placement
2020-01-15 12:48:28 +01:00
Ryan Liptak
834218d789
Fix remaining variadic formatted prints
...
Used a series of regex searches to try to find as many instances of the old pattern as I could and update them.
2020-01-09 13:36:44 -05:00
LemonBoy
e81b505960
Use the correct calling convention for AEABI intrinsics
2020-01-07 13:42:47 -05:00
LemonBoy
e3a63b4e5a
Add more compiler-rt functions for ARM platform
2020-01-06 19:08:15 -05:00
Andrew Kelley
53913acaf7
zig fmt and update `extern fn` to `callconv(.C)`
2020-01-06 15:34:50 -05:00
LemonBoy
563d9ebfe5
Implement the callconv() annotation
2020-01-02 18:53:16 +01:00
Andrew Kelley
d571fad20e
update tests to new format API
2019-12-09 00:05:21 -05:00
Andrew Kelley
343987cd05
remove `@inlineCall` from zig
2019-12-06 14:12:01 -05:00
Andrew Kelley
e0db54e89d
update the codebase to use `@as`
2019-11-08 15:57:24 -05:00
LemonBoy
93a49076f7
Initial support for i386-windows-msvc target
2019-10-06 14:27:36 +02:00
Andrew Kelley
ed36dbbd9c
mv std/ lib/
...
that's all this commit does. further commits will fix cli flags and
such.
see #2221
2019-09-25 23:35:41 -04:00