]> git.lizzy.rs Git - rust.git/log
rust.git
3 years agoUpdate rust bootstrap patches
bjorn3 [Tue, 4 May 2021 12:13:07 +0000 (14:13 +0200)]
Update rust bootstrap patches

3 years agoAdd missing change
bjorn3 [Tue, 4 May 2021 12:01:22 +0000 (14:01 +0200)]
Add missing change

3 years agoRustup to rustc 1.54.0-nightly (716394d65 2021-05-03)
bjorn3 [Tue, 4 May 2021 11:55:04 +0000 (13:55 +0200)]
Rustup to rustc 1.54.0-nightly (716394d65 2021-05-03)

3 years agoSync from rust 7a0f1781d04662041db5deaef89598a8edd53717
bjorn3 [Tue, 4 May 2021 11:38:28 +0000 (13:38 +0200)]
Sync from rust 7a0f1781d04662041db5deaef89598a8edd53717

3 years agoMerge pull request #1169 from eggyal/macho-link-section
bjorn3 [Fri, 30 Apr 2021 17:02:09 +0000 (19:02 +0200)]
Merge pull request #1169 from eggyal/macho-link-section

Set correct segment from #[link_section] for MachO

3 years agoMerge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase
Erin Power [Fri, 30 Apr 2021 16:46:59 +0000 (18:46 +0200)]
Merge commit '15c8d31392b9fbab3b3368b67acc4bbe5983115a' into cranelift-rebase

3 years agoNo-op register_jit on Windows (#1170)
XAMPPRocky [Fri, 30 Apr 2021 16:44:20 +0000 (18:44 +0200)]
No-op register_jit on Windows (#1170)

* No-op register_jit on Windows

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
3 years ago[cg_clif] Fix run_jit from sync
Erin Power [Fri, 30 Apr 2021 13:27:05 +0000 (15:27 +0200)]
[cg_clif] Fix run_jit from sync

3 years agoSync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795'
Erin Power [Fri, 30 Apr 2021 12:49:58 +0000 (14:49 +0200)]
Sync rustc_codegen_cranelift 'ddd4ce25535cf71203ba3700896131ce55fde795'

3 years agoSet correct segment from #[link_section] for MachO
Alan Egerton [Fri, 30 Apr 2021 10:02:34 +0000 (11:02 +0100)]
Set correct segment from #[link_section] for MachO

3 years agoRemove unused parameter
bjorn3 [Fri, 30 Apr 2021 08:52:37 +0000 (10:52 +0200)]
Remove unused parameter

3 years agoIgnore new failing rustc test
bjorn3 [Thu, 29 Apr 2021 12:16:16 +0000 (14:16 +0200)]
Ignore new failing rustc test

3 years agoImplement RFC 1260 with feature_name `imported_main`.
Charles Lew [Sun, 25 Apr 2021 17:09:35 +0000 (01:09 +0800)]
Implement RFC 1260 with feature_name `imported_main`.

3 years agoRustup to rustc 1.53.0-nightly (727d10156 2021-04-27)
bjorn3 [Wed, 28 Apr 2021 17:41:10 +0000 (19:41 +0200)]
Rustup to rustc 1.53.0-nightly (727d10156 2021-04-27)

3 years agoMerge pull request #1163 from mominul/target_cpu
bjorn3 [Fri, 23 Apr 2021 15:13:25 +0000 (17:13 +0200)]
Merge pull request #1163 from mominul/target_cpu

Support -Ctarget-cpu

3 years agoUpdate the error messsage
Muhammad Mominul Huque [Fri, 23 Apr 2021 14:40:27 +0000 (20:40 +0600)]
Update the error messsage

Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
3 years agoHandle native target-cpu variant
Muhammad Mominul Huque [Fri, 23 Apr 2021 13:55:52 +0000 (19:55 +0600)]
Handle native target-cpu variant
and raise fatal error if the specified target cpu is not supported

3 years agoSupport -Ctarget-cpu
Muhammad Mominul Huque [Fri, 23 Apr 2021 11:04:45 +0000 (17:04 +0600)]
Support -Ctarget-cpu

3 years agoRustup to rustc 1.53.0-nightly (6df26f897 2021-04-20)
bjorn3 [Wed, 21 Apr 2021 13:32:04 +0000 (15:32 +0200)]
Rustup to rustc 1.53.0-nightly (6df26f897 2021-04-20)

3 years agoSync from rust 6df26f897cffb2d86880544bb451c6b5f8509b2d
bjorn3 [Wed, 21 Apr 2021 09:29:57 +0000 (11:29 +0200)]
Sync from rust 6df26f897cffb2d86880544bb451c6b5f8509b2d

3 years agoMatch on Symbol instead of &str in intrinsics handling
bjorn3 [Mon, 19 Apr 2021 17:41:57 +0000 (19:41 +0200)]
Match on Symbol instead of &str in intrinsics handling

3 years agoExtend Termination::report return value as necessary
bjorn3 [Sun, 18 Apr 2021 08:58:42 +0000 (10:58 +0200)]
Extend Termination::report return value as necessary

3 years agoAvoid .to_string() for symbol names where possible
bjorn3 [Sun, 18 Apr 2021 08:37:02 +0000 (10:37 +0200)]
Avoid .to_string() for symbol names where possible

3 years agoFix test
bjorn3 [Sun, 18 Apr 2021 08:32:38 +0000 (10:32 +0200)]
Fix test

3 years agoCall Termination::report on main result in jit mode
bjorn3 [Sun, 18 Apr 2021 08:29:20 +0000 (10:29 +0200)]
Call Termination::report on main result in jit mode

3 years agoUpload artifacts for cross compiling to MinGW
bjorn3 [Fri, 16 Apr 2021 12:39:46 +0000 (14:39 +0200)]
Upload artifacts for cross compiling to MinGW

Fixes #1161

3 years agoFix overflow checking when multiplying two i64
bjorn3 [Fri, 16 Apr 2021 12:36:07 +0000 (14:36 +0200)]
Fix overflow checking when multiplying two i64

Fixes #1162

3 years agoFix rotate_left and rotate_right with 128bit shift amount
bjorn3 [Fri, 16 Apr 2021 12:02:57 +0000 (14:02 +0200)]
Fix rotate_left and rotate_right with 128bit shift amount

Fixes #1114

3 years agoDisable new test
bjorn3 [Fri, 16 Apr 2021 10:35:22 +0000 (12:35 +0200)]
Disable new test

3 years agoFix rustc tests by updating compiler-builtins dep to 0.1.40
bjorn3 [Fri, 16 Apr 2021 10:21:29 +0000 (12:21 +0200)]
Fix rustc tests by updating compiler-builtins dep to 0.1.40

3 years agoRustup to rustc 1.53.0-nightly (132b4e5d1 2021-04-13)
bjorn3 [Fri, 16 Apr 2021 09:59:20 +0000 (11:59 +0200)]
Rustup to rustc 1.53.0-nightly (132b4e5d1 2021-04-13)

3 years agoAdd more SIMD math.h intrinsics
Jubilee Young [Wed, 14 Apr 2021 22:07:36 +0000 (15:07 -0700)]
Add more SIMD math.h intrinsics

LLVM supports many functions from math.h in its IR. Many of these have
single-instruction variants on various platforms. So, let's add them so
std::arch can use them.

Yes, exact comparison is intentional: rounding must always return a
valid integer-equal value, except for inf/NAN.

3 years agoSync from rust b203b0d240b67916cfa77f640aedaf1c87d50f6d
bjorn3 [Wed, 14 Apr 2021 17:01:51 +0000 (19:01 +0200)]
Sync from rust b203b0d240b67916cfa77f640aedaf1c87d50f6d

3 years agoAvoid file name formatting when debug file writing is disabled
bjorn3 [Sun, 11 Apr 2021 14:35:45 +0000 (16:35 +0200)]
Avoid file name formatting when debug file writing is disabled

3 years agoTime object file writing
bjorn3 [Sat, 10 Apr 2021 11:46:28 +0000 (13:46 +0200)]
Time object file writing

3 years agoMerge pull request #1159 from bjorn3/driver_refactorings
bjorn3 [Wed, 14 Apr 2021 14:36:42 +0000 (16:36 +0200)]
Merge pull request #1159 from bjorn3/driver_refactorings

Driver refactorings

3 years agoAdd some documentation
bjorn3 [Fri, 9 Apr 2021 09:55:46 +0000 (11:55 +0200)]
Add some documentation

3 years agoFix docs
bjorn3 [Fri, 9 Apr 2021 09:34:58 +0000 (11:34 +0200)]
Fix docs

3 years agoExtract create_jit_module function
bjorn3 [Thu, 8 Apr 2021 19:34:55 +0000 (21:34 +0200)]
Extract create_jit_module function

3 years agoMerge BACKEND_CONFIG and CURRENT_MODULE thread locals
bjorn3 [Thu, 8 Apr 2021 17:22:48 +0000 (19:22 +0200)]
Merge BACKEND_CONFIG and CURRENT_MODULE thread locals

3 years agoDon't unregister unwind tables after the JIT is done
bjorn3 [Thu, 8 Apr 2021 16:27:26 +0000 (18:27 +0200)]
Don't unregister unwind tables after the JIT is done

3 years agoUse maybe_create_entry_wrapper again in jit mode
bjorn3 [Thu, 8 Apr 2021 17:03:15 +0000 (19:03 +0200)]
Use maybe_create_entry_wrapper again in jit mode

This simplifies the jit driver a lot

3 years agoInline driver::codegen_crate
bjorn3 [Thu, 8 Apr 2021 19:26:20 +0000 (21:26 +0200)]
Inline driver::codegen_crate

3 years agoRemove CodegenCx::finalize and pass Module separately from CodegenCx
bjorn3 [Thu, 8 Apr 2021 20:01:39 +0000 (22:01 +0200)]
Remove CodegenCx::finalize and pass Module separately from CodegenCx

3 years agoDon't store TyCtxt in UnwindContext
bjorn3 [Thu, 8 Apr 2021 20:04:58 +0000 (22:04 +0200)]
Don't store TyCtxt in UnwindContext

3 years agoRe-use Context in codegen_shim
bjorn3 [Thu, 8 Apr 2021 16:08:20 +0000 (18:08 +0200)]
Re-use Context in codegen_shim

3 years agoEnable and disable some rust-analyzer diagnostics
bjorn3 [Thu, 8 Apr 2021 15:57:15 +0000 (17:57 +0200)]
Enable and disable some rust-analyzer diagnostics

3 years agoMerge pull request #1158 from bjorn3/isolate_mono_items_pr
bjorn3 [Wed, 14 Apr 2021 09:43:58 +0000 (11:43 +0200)]
Merge pull request #1158 from bjorn3/isolate_mono_items_pr

Isolate mono items

3 years agoDon't deduplicate anonymous allocations
bjorn3 [Thu, 8 Apr 2021 10:08:13 +0000 (12:08 +0200)]
Don't deduplicate anonymous allocations

3 years agoDon't deduplicate vtables between functions
bjorn3 [Wed, 7 Apr 2021 12:54:59 +0000 (14:54 +0200)]
Don't deduplicate vtables between functions

3 years agoUpdate Cranelift
bjorn3 [Wed, 14 Apr 2021 08:34:04 +0000 (10:34 +0200)]
Update Cranelift

3 years agoRustfmt
bjorn3 [Mon, 12 Apr 2021 10:09:05 +0000 (12:09 +0200)]
Rustfmt

3 years agoFix outdated crate names in compiler docs
pierwill [Wed, 7 Apr 2021 19:47:01 +0000 (14:47 -0500)]
Fix outdated crate names in compiler docs

Changes `librustc_X` to `rustc_X`, only in documentation comments.
Plain code comments are left unchanged.

Also fix incorrect file paths.

3 years agoCentralize all configuration into config.rs
bjorn3 [Wed, 7 Apr 2021 09:52:11 +0000 (11:52 +0200)]
Centralize all configuration into config.rs

3 years agoMove BackendConfig to config.rs
bjorn3 [Wed, 7 Apr 2021 09:02:54 +0000 (11:02 +0200)]
Move BackendConfig to config.rs

3 years agoSimplify write_metadata
bjorn3 [Wed, 7 Apr 2021 08:54:43 +0000 (10:54 +0200)]
Simplify write_metadata

3 years agoRustup to rustc 1.53.0-nightly (c051c5ddd 2021-04-06)
bjorn3 [Wed, 7 Apr 2021 08:16:01 +0000 (10:16 +0200)]
Rustup to rustc 1.53.0-nightly (c051c5ddd 2021-04-06)

3 years agoFixup previous commit
bjorn3 [Tue, 6 Apr 2021 11:59:54 +0000 (13:59 +0200)]
Fixup previous commit

3 years agoFix rustc test suite by ignoring rustdoc test
bjorn3 [Tue, 6 Apr 2021 11:14:45 +0000 (13:14 +0200)]
Fix rustc test suite by ignoring rustdoc test

3 years agoRustup to rustc 1.53.0-nightly (d32238532 2021-04-05)
bjorn3 [Tue, 6 Apr 2021 10:27:45 +0000 (12:27 +0200)]
Rustup to rustc 1.53.0-nightly (d32238532 2021-04-05)

3 years agoSync from rust 354cc751b74e813f180755fa67bebcb669825755
bjorn3 [Tue, 6 Apr 2021 10:20:12 +0000 (12:20 +0200)]
Sync from rust 354cc751b74e813f180755fa67bebcb669825755

3 years agoRevert "Build with `-Cpanic=unwind` by default"
bjorn3 [Wed, 31 Mar 2021 11:47:10 +0000 (13:47 +0200)]
Revert "Build with `-Cpanic=unwind` by default"

This reverts commit afe74d71e4c2f08696ade0de321a45f7442440d8. It
shouldn't have been pushed to master as it isn't ready yet.

3 years agoRemove the cold block optimization
bjorn3 [Wed, 31 Mar 2021 10:42:30 +0000 (12:42 +0200)]
Remove the cold block optimization

It isn't effective with the new backend framework

3 years agoRemove the stack2reg optimization completely
bjorn3 [Wed, 31 Mar 2021 10:34:01 +0000 (12:34 +0200)]
Remove the stack2reg optimization completely

It is broken and needs to be rewritten from scratch

3 years agoBuild with `-Cpanic=unwind` by default
bjorn3 [Wed, 31 Mar 2021 09:39:03 +0000 (11:39 +0200)]
Build with `-Cpanic=unwind` by default

This doesn't enable unwinding as cg_clif doesn't support it yet. It does
allow for linking to a cg_llvm compiled libstd.so, which uses
`-Cpanic=unwind`.

3 years agoAdd an Mmap wrapper to rustc_data_structures
bjorn3 [Mon, 29 Mar 2021 09:18:52 +0000 (11:18 +0200)]
Add an Mmap wrapper to rustc_data_structures

This wrapper implements StableAddress and falls back to directly reading
the file on wasm32

3 years agoSync from rust 3aedcf06b73fc36feeebca3d579e1d2a6c40acc5
bjorn3 [Mon, 29 Mar 2021 14:33:09 +0000 (16:33 +0200)]
Sync from rust 3aedcf06b73fc36feeebca3d579e1d2a6c40acc5

3 years agoMerge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29
bjorn3 [Mon, 29 Mar 2021 08:45:09 +0000 (10:45 +0200)]
Merge commit '0969bc6dde001e01e7e1f58c8ccd7750f8a49ae1' into sync_cg_clif-2021-03-29

3 years agoRustup to rustc 1.53.0-nightly (4a20eb6a9 2021-03-28)
bjorn3 [Mon, 29 Mar 2021 08:26:20 +0000 (10:26 +0200)]
Rustup to rustc 1.53.0-nightly (4a20eb6a9 2021-03-28)

3 years agoMake all compiler-builtins symbols hidden
bjorn3 [Sat, 27 Mar 2021 16:32:41 +0000 (17:32 +0100)]
Make all compiler-builtins symbols hidden

This matches cg_llvm

Fixes #1152

3 years agoRustfmt
bjorn3 [Fri, 26 Mar 2021 13:35:51 +0000 (14:35 +0100)]
Rustfmt

3 years agoRustup to rustc 1.53.0-nightly (52e3dffa5 2021-03-25)
bjorn3 [Fri, 26 Mar 2021 12:33:03 +0000 (13:33 +0100)]
Rustup to rustc 1.53.0-nightly (52e3dffa5 2021-03-25)

3 years agoSync from rust 4137088d9da94f693b287f35e2b17782c0b1a283
bjorn3 [Fri, 26 Mar 2021 12:02:49 +0000 (13:02 +0100)]
Sync from rust 4137088d9da94f693b287f35e2b17782c0b1a283

3 years agoRustfmt
bjorn3 [Sun, 21 Mar 2021 09:05:48 +0000 (10:05 +0100)]
Rustfmt

3 years agoUpdate Cranelift
bjorn3 [Sun, 21 Mar 2021 09:05:22 +0000 (10:05 +0100)]
Update Cranelift

3 years agoupdate `const_eval_resolve`
lcnr [Sat, 13 Mar 2021 15:31:38 +0000 (16:31 +0100)]
update `const_eval_resolve`

3 years agoAdd simd_neg platform intrinsic
SparrowLii [Thu, 18 Mar 2021 18:16:21 +0000 (02:16 +0800)]
Add simd_neg platform intrinsic

3 years agoFix rustc test suite
bjorn3 [Thu, 18 Mar 2021 11:51:58 +0000 (12:51 +0100)]
Fix rustc test suite

3 years agoAvoid nightly feature usage where easily possible
bjorn3 [Thu, 18 Mar 2021 11:20:24 +0000 (12:20 +0100)]
Avoid nightly feature usage where easily possible

3 years agoRustup to rustc 1.52.0-nightly (36f1f04f1 2021-03-17)
bjorn3 [Thu, 18 Mar 2021 11:19:31 +0000 (12:19 +0100)]
Rustup to rustc 1.52.0-nightly (36f1f04f1 2021-03-17)

3 years agoSync from rust 04ae50179a802d1d18bb780baa85f55864f56616
bjorn3 [Wed, 17 Mar 2021 17:36:30 +0000 (18:36 +0100)]
Sync from rust 04ae50179a802d1d18bb780baa85f55864f56616

3 years agoDirectly invoke the main function in JIT mode
bjorn3 [Wed, 17 Mar 2021 12:56:54 +0000 (13:56 +0100)]
Directly invoke the main function in JIT mode

Fixes #1151

3 years agoRustfmt
bjorn3 [Wed, 17 Mar 2021 12:54:40 +0000 (13:54 +0100)]
Rustfmt

3 years agoEnable thread test in std_example
bjorn3 [Mon, 15 Mar 2021 17:01:48 +0000 (18:01 +0100)]
Enable thread test in std_example

Turns out libstd doesn't use #[thread_local] on Windows at all

3 years agoMerge pull request #1149 from bjorn3/test_rustc_testsuite
bjorn3 [Mon, 15 Mar 2021 15:30:52 +0000 (16:30 +0100)]
Merge pull request #1149 from bjorn3/test_rustc_testsuite

Run the rustc test suite on CI

3 years agoRun the rustc test suite on CI
bjorn3 [Mon, 15 Mar 2021 13:49:57 +0000 (14:49 +0100)]
Run the rustc test suite on CI

3 years agoSuppress an unnecessary warning and fix an incorrect warning
bjorn3 [Mon, 15 Mar 2021 13:48:58 +0000 (14:48 +0100)]
Suppress an unnecessary warning and fix an incorrect warning

3 years agoFix assert_assignable adt checking
bjorn3 [Mon, 15 Mar 2021 13:22:11 +0000 (14:22 +0100)]
Fix assert_assignable adt checking

3 years agoSplit rust fork setup out of test_bootstrap.sh
bjorn3 [Mon, 15 Mar 2021 13:21:15 +0000 (14:21 +0100)]
Split rust fork setup out of test_bootstrap.sh

3 years agoUpdate Cranelift
bjorn3 [Mon, 15 Mar 2021 13:04:22 +0000 (14:04 +0100)]
Update Cranelift

3 years agoRemove no longer necessary intcasts
bjorn3 [Mon, 15 Mar 2021 12:55:54 +0000 (13:55 +0100)]
Remove no longer necessary intcasts

3 years agos/ConstantSource/ConstantKind/
Oli Scherer [Mon, 15 Mar 2021 11:23:44 +0000 (11:23 +0000)]
s/ConstantSource/ConstantKind/

3 years agoUse mmap for metadata loading
bjorn3 [Mon, 15 Mar 2021 10:59:06 +0000 (11:59 +0100)]
Use mmap for metadata loading

This can have a significant improvement on compilation times. In
addition it reduces the memory consumption.

Fixes #927

3 years agoSpecial case ZST's in Rvalue::Repeat
bjorn3 [Mon, 15 Mar 2021 09:22:21 +0000 (10:22 +0100)]
Special case ZST's in Rvalue::Repeat

Fixes #1146 by preventing a hang for [(); usize::MAX], which is used in
a test of libcore.

3 years agoPrepare mir::Constant for ty::Const only supporting valtrees
Oli Scherer [Mon, 8 Mar 2021 16:18:03 +0000 (16:18 +0000)]
Prepare mir::Constant for ty::Const only supporting valtrees

3 years agoAuto merge of #76570 - cratelyn:implement-rfc-2945-c-unwind-abi, r=Amanieu
bors [Wed, 10 Mar 2021 16:44:04 +0000 (16:44 +0000)]
Auto merge of #76570 - cratelyn:implement-rfc-2945-c-unwind-abi, r=Amanieu

Implement RFC 2945: "C-unwind" ABI

## Implement RFC 2945: "C-unwind" ABI

This branch implements [RFC 2945]. The tracking issue for this RFC is #74990.

The feature gate for the issue is `#![feature(c_unwind)]`.

This RFC was created as part of the ffi-unwind project group tracked at rust-lang/lang-team#19.

### Changes

Further details will be provided in commit messages, but a high-level overview
of the changes follows:

* A boolean `unwind` payload is added to the `C`, `System`, `Stdcall`,
and `Thiscall` variants, marking whether unwinding across FFI boundaries is
acceptable. The cases where each of these variants' `unwind` member is true
correspond with the `C-unwind`, `system-unwind`, `stdcall-unwind`, and
`thiscall-unwind` ABI strings introduced in RFC 2945 [3].

* This commit adds a `c_unwind` feature gate for the new ABI strings.
Tests for this feature gate are included in `src/test/ui/c-unwind/`, which
ensure that this feature gate works correctly for each of the new ABIs.
A new language features entry in the unstable book is added as well.

* We adjust the `rustc_middle::ty::layout::fn_can_unwind` function,
used to compute whether or not a `FnAbi` object represents a function that
should be able to unwind when `panic=unwind` is in use.

* Changes are also made to
`rustc_mir_build::build::should_abort_on_panic` so that the function ABI is
used to determind whether it should abort, assuming that the `panic=unwind`
strategy is being used, and no explicit unwind attribute was provided.

[RFC 2945]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md

3 years agorustc_target: add "unwind" payloads to `Abi`
katelyn a. martin [Thu, 27 Aug 2020 15:49:18 +0000 (11:49 -0400)]
rustc_target: add "unwind" payloads to `Abi`

 ### Overview

    This commit begins the implementation work for RFC 2945. For more
    information, see the rendered RFC [1] and tracking issue [2].

    A boolean `unwind` payload is added to the `C`, `System`, `Stdcall`,
    and `Thiscall` variants, marking whether unwinding across FFI
    boundaries is acceptable. The cases where each of these variants'
    `unwind` member is true correspond with the `C-unwind`,
    `system-unwind`, `stdcall-unwind`, and `thiscall-unwind` ABI strings
    introduced in RFC 2945 [3].

 ### Feature Gate and Unstable Book

    This commit adds a `c_unwind` feature gate for the new ABI strings.
    Tests for this feature gate are included in `src/test/ui/c-unwind/`,
    which ensure that this feature gate works correctly for each of the
    new ABIs.

    A new language features entry in the unstable book is added as well.

 ### Further Work To Be Done

    This commit does not proceed to implement the new unwinding ABIs,
    and is intentionally scoped specifically to *defining* the ABIs and
    their feature flag.

 ### One Note on Test Churn

    This will lead to some test churn, in re-blessing hash tests, as the
    deleted comment in `src/librustc_target/spec/abi.rs` mentioned,
    because we can no longer guarantee the ordering of the `Abi`
    variants.

    While this is a downside, this decision was made bearing in mind
    that RFC 2945 states the following, in the "Other `unwind` Strings"
    section [3]:

    >  More unwind variants of existing ABI strings may be introduced,
    >  with the same semantics, without an additional RFC.

    Adding a new variant for each of these cases, rather than specifying
    a payload for a given ABI, would quickly become untenable, and make
    working with the `Abi` enum prone to mistakes.

    This approach encodes the unwinding information *into* a given ABI,
    to account for the future possibility of other `-unwind` ABI
    strings.

 ### Ignore Directives

    `ignore-*` directives are used in two of our `*-unwind` ABI test
    cases.

    Specifically, the `stdcall-unwind` and `thiscall-unwind` test cases
    ignore architectures that do not support `stdcall` and
    `thiscall`, respectively.

    These directives are cribbed from
    `src/test/ui/c-variadic/variadic-ffi-1.rs` for `stdcall`, and
    `src/test/ui/extern/extern-thiscall.rs` for `thiscall`.

    This would otherwise fail on some targets, see:
    https://github.com/rust-lang-ci/rust/commit/fcf697f90206e9c87b39d494f94ab35d976bfc60

 ### Footnotes

[1]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md
[2]: https://github.com/rust-lang/rust/issues/74990
[3]: https://github.com/rust-lang/rfcs/blob/master/text/2945-c-unwind-abi.md#other-unwind-abi-strings

3 years agoClean up todos
kadmin [Fri, 26 Feb 2021 16:42:51 +0000 (16:42 +0000)]
Clean up todos

Also add some span_bugs where it is unreachable

3 years agoBuild StKind::CopyOverlapping
kadmin [Sat, 23 Jan 2021 03:55:41 +0000 (03:55 +0000)]
Build StKind::CopyOverlapping

This replaces where it was previously being constructed in intrinsics, with direct construction
of the Statement.

3 years agoUpdate cranelift
kadmin [Tue, 29 Dec 2020 02:00:04 +0000 (02:00 +0000)]
Update cranelift