This repository was archived by the owner on Oct 12, 2022. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 419
rt.util: Define D complex types, use them in rt instead of the C complex types #3432
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thanks for your pull request, @ibuclaw! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + druntime#3432" |
thewilsonator
approved these changes
Apr 6, 2021
Thanks Iain. |
kinke
added a commit
to kinke/ldc
that referenced
this pull request
Apr 10, 2021
clrpackages
pushed a commit
to clearlinux-pkgs/ldc
that referenced
this pull request
Aug 5, 2021
Hiroki Noda (3): Fix comments in abi-aarch-64.h (#3707) Use new OpenFlags enumeration (#3710) Travis CI: fix cache directory name (#3776) Johan Engelen (8): Fix Github workflow Lit install: use Python 3.x (#3725) Fix Circle CI: use python 3 (#3727) Fix Cirrus build: use python3 (#3726) Switch to using Python 3 and move from Ubuntu 16.04 to 18.04 on Azure (#3728) Add MSan compiler-rt library to LDC install and add it to linkerline for --fsanitize=memory (#3751) Update druntime to get the fix for core.bitop.ror/rol inlining (#3752) Add -cov-increment option to specify the type of increment instruction. Add atomic, non-atomic, and boolean increment types. (#3724) CMake: Add `ALTERNATIVE_MALLOC_O` option for user to link LDC with a malloc-overriding allocator like mimalloc.o (#3758) Martin Kinkelin (171): Upgrade frontend & libs to v2.096.0-beta.1+ (dlang/dmd@0c2d8bd2ab) Fix little C++ header regressions Add support for 'noreturn' type Phobos: Fix little std.math regressions Adapt to expression-less `synchronized` statement change (with GC-backed critical section) Fix ICE for ref/out params of opaque structs druntime: Adapt coverage integration test to work on Windows dmd-testsuite: Slightly adapt some new tests for LDC GitHub Actions: Disable new @LiVe tests for ltsmaster job Fix orphaned CondExp __cond variable refs in codegen AST Fix TypeInfo_Interface.info regression CI: Use `-k0` for ninja cmdlines potentially running into out-of-memory errors CI: Fix pip download URL after annoying change -i: Exclude ldc.* modules by default (#3679) SysV x64 ABI: Add support for new magic __c_complex_real enum x86 ABI: Add support for new magic __c_complex_{float,double,real} enums Merge upstream stable (dlang/dmd@75fe50f497) dmd-testsuite: Minimally adapt runnable/test42.d Bump versions of bundled dlang tools & dub dmd-testsuite: Make runnable_cxx/extra-files/test21515.cpp compile with clang too CMake: Work around issue #3690 by disabling -linkonce-templates for D executables Treat temporaries as rvalue expressions when ABI-rewriting function call arguments dmd-testsuite: Minimally relax compilable/ctfe_math.d for quadruple real precision Don't enforce the frame pointer for functions with GCC-style inline asm (#3685) Win64: Relax tests/dynamiccompile/bind_opt.d due to issue #3695 Merge upstream stable (dlang/dmd@128d40a86b) Skip tests/driver/cleanup_obj_gh3643.d if x86 LLVM backend is missing CMake: Compile druntime with -transition=complex too Fix overzealous toBasetype'ing for debuginfo types DI: Emit delegate `funcptr` member as function *pointer* DI: Emit enums with floating-point base type as typedefs Remove superfluous DIBuilder::CreateCompositeTypeDescription DI: Fix up a few names DI: Remove 2 more superfluous helpers Merge upstream stable (dlang/dmd@655278312e) druntime: Cherry-pick dlang/druntime#3432 and dlang/druntime#3428 ldmd2: Add support for new -gdwarf=<version> Cirrus CI: Work around strange FreeBSD std.experimental.allocator unittest regression (#3696) Fix insufficient alignment of BaseBitcastABIRewrite allocas (#3698) Adapt to Windows-specific LLVM 12 API change (#3697) Merge upstream stable (dlang/dmd@37b74d7219) (#3706) LLVM 12: Add type information to sret and byval parameter attributes Cirrus CI: Adapt to Ubuntu rolling now shipping with LLVM 12 GitHub Actions: Add LLVM 12 job Changelog: Add v1.26 Windows: Make -fvisibility=public export all defined symbols Windows: Try to make implicit dllimport work for data symbols Windows: Only export all external and weak_odr symbols with -fvisibility=public Windows: Don't bother with dllimport/dllexport for thread-local globals (Optimize if-chain order) Windows: Disable @weak emulation for dllexported functions Windows: Dllimport aggregate globals too Windows: Dllexport ModuleInfos with -fvisibility=public Add manual dllimport 'relocation' pass for static data initializers Fix dllimport relocation pass wrt. multiple definitions Windows: Default to dllexport with -shared, and enforce dllimport with -link-defaultlib-shared CMake: Run the druntime integration tests in debug mode too DI: Streamline file path components ('filename', 'directory') with clang druntime: Add -L--export-dynamic for a few exceptions integration tests druntime: Adapt 'shared' integration test for recent macOS versions GitHub Actions Mac: Disable druntime-test-exceptions-debug (requires LDC-LLVM) Work around race condition for debug/release coverage druntime integration tests Merge pull request #3734 from kinke/travis dmd-testsuite: Cherry-pick fix for recent GDB versions Adapt tests/debuginfo/print_gdb.d for recent GDB versions DI: Don't use a forward declaration for base class inheritance info DI: Try switching module parent from CU to source file Azure CI Linux: Downgrade gdb from v10.2 to v8.1 Merge pull request #3712 from kinke/sections_shared Cirrus CI: Fix little regression for Mac jobs CMake: Support BUILD_SHARED_LIBS for Windows too CMake: Link Windows druntime & Phobos DLLs against *dynamic* MSVCRT Windows: Link against dynamic MSVCRT when linking against shared druntime/Phobos CMake: Get shared test runners to link on Windows CMake: Install shared .dll/.pdb files into bin dir CMake: Link special rt.dso_windows module into Phobos DLL and shared test runner executables CMake: Make sure shared Phobos test runners on Windows depend on/load the Phobos unittest DLL CMake: Copy & install special dso_windows.obj object file to lib dir Windows: Link rt.dso_windows object file automatically into each binary linked against shared druntime Windows: Default to dllexport with -shared, and enforce dllimport with -link-defaultlib-shared CMake: Compile rt.dso_windows separately to enable binaries without any exports with -link-defaultlib-shared Azure CI: Add druntime/Phobos DLL dir to PATH to fix dmd-testsuite's dshell/dll.d druntime: Fix test/shared integration test on Windows CMake: Enforce .pdb generation for debug druntime/Phobos DLLs Azure CI: Fix shared libs integration test for Win32 druntime: Fix race condition for debug/release 'shared' integration tests Phobos: Fix std.format.internal.write for druntime DLL Azure CI Windows: Add shared libs smoke test for multilib package druntime: Generalize 'shared' integration tests to include Windows druntime: Use debug druntime for debug integration tests druntime: Fix rt.dso_windows not unregistering the DSO from druntime druntime: Disable/adapt remaining 2 'shared' integration test failures on Windows druntime: Adapt/simplify core.sys.windows.dll for shared druntime DLL druntime: Implement little Windows TODO in 'shared/load' integration test CI: Make curl downloads more robust (#3740) Upgrade frontend & libs to early v2.097.0 (dlang/dmd@cb0457daf3) Adapt to upstream global.params.* -> target.* shuffling Fix upstream regression wrt. mutual init dependency of Type and Target Phobos: Fix regressions after std.math split-up Adapt to user-defined init symbol declarations Adapt lit-test codegen/inlining_stdlib.d to std.math split-up Merge upstream stable (dlang/dmd@2adf6ff4f6) Move target `real` selection from ir/irtype.cpp to gen/target.cpp CI: Ship reggae with prebuilt packages (#3739) Cherry-pick upstream support for enforcing ANSI colors for redirected stderr on Windows (#3744) druntime: Add support for vectors in core.internal.dassert.miniFormat() dmd-testsuite: Adapt a few LDC-specific tests wrt. new deprecations druntime: Add missing core.sys.posix.stdio.flockfile() etc. for Android/Bionic ldmd2: Add support for -check=on|off Exclude `assert(0)` from lines coverage Support type `noreturn` in return statements codegen Support type `noreturn` in ternary expressions (CondExp) dmd-testsuite: Disable/adapt 2 new tests for LDC Phobos: Revert 'faster' pow implementation for integral exponents dmd.expression: Remove obsolete?/problematic LDC specificum wrt. overriding lambda function type Phobos: Slightly revise std.math.operations.extractBitpattern() Phobos: Minimally relax a pow() unittest for targets with 64-bit real Phobos: Minimally relax 2 std.complex unittests for targets with 64-bit real GitHub Actions: Disable new __traits(getOverloads) test with ltsmaster host compiler Phobos: Restore compilability of std.format.internal.floats unittests for targets with quadruple real precision Phobos: Disable std.math.traits.signbit(-NaN) CTFE tests for AArch64 dmd-testsuite: Fix compilable/test21672.d for non-x86 targets Phobos: Restore compilability of std.stdio unittests for iOS Merge upstream stable (dlang/dmd@bffc721251) Bump bundled dub & dlang tools versions CI: Bump LDC-LLVM to v12.0.0 CI: Bump LDC-LLVM to v12.0.0 final Minimally adapt lit-test PGO/indirect_calls.d for LLVM 12 Phobos: Avoid undefined bytes in std.conv.toChars() results for radix 10 Cirrus CI: Bump FreeBSD to v12.2 GitHub Actions: Bump Ubuntu to 18.04 Cirrus CI: Allow Ubuntu rolling job to fail (gdb v10) CI: Bump LDC-LLVM to v12.0.0 for remaining Darwin jobs (#3749) Travis CI: Pin host compiler to v1.26.0 (#3754) Bump bundled dub, allowing for longer paths on Windows (#3756) CMake: Compile shared druntime/Phobos libs to a single object file CMake: Revert to multiple object files for shared druntime druntime: Fix teardown of DLLs with static druntime using the .exe GC (#3755) Windows: Make implicit dllimport more selective Add -dllimport CLI option for explicitly controlling implicit dllimports Azure CI: Build and bundle shared libs for iOS too (#3764) isDefaultLibSymbol(): Recognize std.package module as Phobos module isDefaultLibSymbol(): Exclude all instantiated symbols with -linkonce-templates Phobos: Add std.getopt TLS workaround for Windows Phobos DLL isDefaultLibSymbol(): Add ugly special case for std.io dub package Refactoring: Push/pop FuncGenState for naked asm functions in DtoDefineFunction() too Fix bad assumption of FuncGenStates stack reflecting lexical parent/child relationships Refactoring: Add little dllimportSymbol() helper README: Add latest release badge, incl. prereleases README: Update notes about prebuilt packages Azure CI: Use mimalloc for Linux and macOS x64 packages Azure CI: Use mimalloc for macOS arm64 package README: Move cross-compilation section out of 'Installation' section Fix DtoCreateNestedContextType() for -linkonce-templates (#3766) Merge upstream stable (dlang/dmd@5f214609d9) (#3770) README: Add Alpine distro package README: Remove Shippable badge druntime: Merge upstream stable (#3771) Add __traits(initSymbol, <aggregate type>) (#3774) druntime: Prefer __traits(initSymbol) over TypeInfo.initializer() (#3775) CMake: Export zlib symbols from Phobos DLL on Windows (#3782) Merge upstream stable (dlang/dmd@f2fbdcacaa) (#3790) Make sure special struct TypeInfo members are semantically analyzed before emitting the TypeInfo (#3783) Fix #3778 - in-place construct <temporary>.ctor(args) (#3779) CI: Bump LDC-LLVM to v12.0.1 (#3789) Fix lit 12.0.1 installation regression (#3791) Merge upstream stable (dlang/dmd@f9e8117fd7) (#3794) Merge upstream stable (dlang/dmd@9337377c8a) (#3796) Merge upstream stable (dlang/dmd@d03f144b07) Bump bundled dub & dlang tools versions Changelog: Add v1.27 Mathias LANG (1): Driver: Use CppRuntime_Gcc by default with Musl (#3769) Nicholas Wilson (1): Fix compilation on MacOS with read-only root filesystems bcarneal (2): extend valid_cuda_versions thru 800 accept i1 types as dlang bool
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
creal
interfaces inrt.memset
andrt.util.typeinfo
are not compatible with C complex reals, so define our own type internally distinct fromcore.stdc.config
.Based on @kinke's original work, and unblocks #3428.