aboutsummaryrefslogtreecommitdiff
path: root/std
AgeCommit message (Collapse)Author
2019-04-11A bunch of fixes for the DWARF parser (#2254)Andrew Kelley
* Correct parsing of DWARF line_info section * Fix reading of udata/sdata encoded attributes * Add definition for DW_AT_alignment Even though it's been standardized in DWARF5 some compilers produce it anyway for DWARF4 infos too. * Fix reading of reference attributes * Distinguish between absolute/relative addresses
2019-04-11Add initial support for iOS targets (#2237)Matthew Iannucci
* Add iOS C int sizes... try to hack in iOS DebugInfo * Get rid of ios link check for now * Remove macos linkversion check
2019-04-11Distinguish between absolute/relative addressesLemonBoy
2019-04-11Fix reading of reference attributesLemonBoy
2019-04-11Add definition for DW_AT_alignmentLemonBoy
Even though it's been standardized in DWARF5 some compilers produce it anyway for DWARF4 infos too.
2019-04-11Fix reading of udata/sdata encoded attributesLemonBoy
2019-04-11Pack big.Int sign and length fieldsMarc Tiehuis
This effectively takes one-bit from the length field and uses it as the sign bit. It reduces the size of an Int from 40 bits to 32 bits on a 64-bit arch. This also reduces std.Rational from 80 bits to 64 bits.
2019-04-11Fix math.big.Int divN/gcdLehmer and fuzz-test failuresMarc Tiehuis
2019-04-11Handle zero-limb trailing div case in big.IntMarc Tiehuis
2019-04-11Small fixes for big.Rational and corrections for gcdLehmerMarc Tiehuis
The int div code still causes some edge cases to fail right now.
2019-04-11Fix big.Int toString maybe-null allocatorMarc Tiehuis
2019-04-11Add initial big.Rational typeMarc Tiehuis
2019-04-11Add read-only, non-allocating Int for internal constantsMarc Tiehuis
A constant Int is one which has a value of null for its allocator field. It cannot be resized or have its limbs written. Any attempt made to write to it will be caught with a runtime panic.
2019-04-10__muloti4 does not need the ABI workaround on WindowsAndrew Kelley
Fixes 128-bit integer multiplication on Windows. closes #2250
2019-04-10compiler-rt: better way to do the ABI required on WindowsAndrew Kelley
This removes the compiler_rt.setXmm0 hack. Instead, for the functions that use i128 or u128 in their parameter and return types, we use `@Vector(2, u64)` which generates the LLVM IR `<2 x i64>` type that matches what Clang generates for `typedef int ti_int __attribute__ ((mode (TI)))` when targeting Windows x86_64.
2019-04-10Correct parsing of DWARF line_info sectionLemonBoy
2019-04-10compiler_rt: `@divTrunc` rather than `@divFloor` in muloti4Andrew Kelley
2019-04-10compiler-rt: correct use_thumb_1 flagvegecode
The flag is for generating correct arm-thumb interwork veneers in the assembly code __aeabi_{memcpy,memset,etc} functions. Armv6m only does thumb code generation regardless of whether arm or thumb is selected and armv6t2 uses the newer thumb 2 set. All other versions that zig supports pre-armv7 need the veneers and hence the flag. Armv5 is actually armv5t. Relevant code from clang/lib/Basic/Targets/Arm.cpp ```c bool ARMTargetInfo::isThumb() const { return ArchISA == llvm::ARM::ISAKind::THUMB; } bool ARMTargetInfo::supportsThumb() const { return CPUAttr.count('T') || ArchVersion >= 6; } bool ARMTargetInfo::supportsThumb2() const { return CPUAttr.equals("6T2") || (ArchVersion >= 7 && !CPUAttr.equals("8M_BASE")); } ``` Also see http://www.llvm.org/svn/llvm-project/llvm/trunk/lib/Target/ARM/ARM.td
2019-04-09doc comments for parameters in std.mem.AllocatorAndrew Kelley
2019-04-07Fix std.HashMap.remove returning incorrect KVRyan Liptak
Now returns a copy of the removed kv instead of a pointer to the removed kv. The removed kv gets overwritten when shifting the hash map after the removal, so returning a pointer to it will have another kv's values in it after the return. This bug had some nasty downstream effects in things like BufSet and BufMap where delete would free a still in-use KV and leave the actually removed KV un-free'd.
2019-04-05build: usageAndErr clean exit (#2194)Shritesh Bhattarai
* build: usageAndErr clean exit
2019-04-05Fix getCurrentId test for pthreads (#2197)Shritesh Bhattarai
* Fix getCurrentId test for pthreads
2019-04-05Add divdf3 to compiler_rtvegecode
Also adds __aeabi_ddiv for arm32 targets
2019-04-05fix incorrect Thread.getCurrentId testAndrew Kelley
Documentation comments copied here: On Linux, it is possible that the thread spawned with `spawnThread` finishes executing entirely before the clone syscall completes. In this case, `std.os.Thread.handle` will return 0 rather than the no-longer-existing thread's pid.
2019-04-05zig build: support single-threaded buildsAndrew Kelley
and fix the zig test suite not setting the --single-threaded flag
2019-04-05fmt: support trailing comma after var_argsShritesh Bhattarai
2019-04-05support comptime_int in formatInt{,Value}Shritesh Bhattarai
2019-04-05Fixes to divsf3 (#2186)vegecode
* Fixes to divsf3 Embarrassingly failed to notice a section that was unchanged from where it was copied from mulXf3.zig. The test cases for this function series div{s,d,t}f3 are very incomplete and don't exercise all code paths. Remove unnecessary switch from divsf3 left during development from when I tried to make it generic to support f32, f64, and f128 in one go. Make runtime safety dependent on whether a test is being run. * divsf3: switch plus to minus
2019-04-05Simplify math.isnanShawn Landden
We can just rely on the builtin behavior.
2019-04-04fmt: format multi line only on trailing comma (#2184)Shritesh Bhattarai
* fmt: format multi line only on trailing comma
2019-04-04fix `@divFloor` returning incorrect value and add `__modti3`Andrew Kelley
Closes #2152 See #1290
2019-04-04Add divsf3 to compiler rtvegecode
2019-04-04threads: fix using unmapped memory in some casesAndrew Kelley
as pointed out in #musl IRC, the memory for the fs register address value needs to be taken into account in the mmap call.
2019-04-04zig fmt: Prevent for-else on same line when body is interrupted by LFhryx
2019-04-04zig fmt: Fix regression in for-else (#2178)hryx
2019-04-04fix thread local variables for non- position independent codeAndrew Kelley
This fixes comes thanks to Rich Felker from the musl libc project, who gave me this crucial information: "to satisfy the abi, your init code has to write the same value to that memory location as the value passed to the [arch_prctl] syscall" This commit also changes the rules for when to build statically by default. When building objects and static libraries, position independent code is disabled if no libraries will be dynamically linked and the target does not require position independent code. closes #2063
2019-04-03handle LibExeObjStep.disable_gen_hRuslan Prokopchuk
It is sometimes useful to skip generating of the header file (e.g. https://github.com/ziglang/zig/issues/2173), and zig compiler provides an option `--disable-gen-h` to control that behaviour. However, setting `lib.disable_gen_h = true` in a typical `build.zig` didn't append the option to arguments. This commit fixes it and adds a convenient `setDisableGenH` setter.
2019-04-03Changes as suggested by andrewrktgschultz
2019-04-03(De)serializer now uses enum instead of bool to determine packing mode ↵tgschultz
(byte/bit). Optional is initialized in a more straight-forward way by deserializer.
2019-04-02more regression fixesAndrew Kelley
2019-04-01Merge pull request #2147 from emekoi/fix1940Andrew Kelley
added error for implicit cast from *const T to *[1]T.
2019-04-01Merge pull request #2150 from vegecode/armv7m-compiler-rtAndrew Kelley
Armv7m compiler rt
2019-04-01zig fmt: Allow one-line for loopshryx
2019-03-31fmt: fix first line comment indent in struct initShritesh Bhattarai
2019-03-31Remove inline keywords in addXf3.zig pending #2154vegecode
2019-03-31Always write a multiline struct literal if a field expr is multilinehryx
2019-03-31fixed broken casts in stdemekoi
2019-03-31Add all __aeabi functions (C versions) who alias currently existing ↵vegecode
functions to compiler-rt
2019-03-31Add __aeabi_{f,d}neg and __neg{s,d,X}f2 to compiler-rtvegecode
2019-03-31Add __aeabi_{f,d}{add,sub} and __{add,sub}{s,d}f3 to compiler-rtvegecode