<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/ui/codemap_tests/unicode.stderr, branch 1.52.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.52.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.52.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-03-09T19:38:29+00:00</updated>
<entry>
<title>rustc_target: add "unwind" payloads to `Abi`</title>
<updated>2021-03-09T19:38:29+00:00</updated>
<author>
<name>katelyn a. martin</name>
<email>me+rustlang@katelyn.world</email>
</author>
<published>2020-08-27T15:49:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=df45c579de97777617b6f12c77a5e6224f54c897'/>
<id>urn:sha1:df45c579de97777617b6f12c77a5e6224f54c897</id>
<content type='text'>
 ### 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]:

    &gt;  More unwind variants of existing ABI strings may be introduced,
    &gt;  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
</content>
</entry>
<entry>
<title>Add a new ABI to support cmse_nonsecure_call</title>
<updated>2021-02-02T13:04:31+00:00</updated>
<author>
<name>Hugues de Valon</name>
<email>hugues.devalon@arm.com</email>
</author>
<published>2021-01-24T17:15:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ce9818f2b7beaed0039f42605e2f547e9e461430'/>
<id>urn:sha1:ce9818f2b7beaed0039f42605e2f547e9e461430</id>
<content type='text'>
This commit adds a new ABI to be selected via `extern
"C-cmse-nonsecure-call"` on function pointers in order for the compiler to
apply the corresponding cmse_nonsecure_call callsite attribute.
For Armv8-M targets supporting TrustZone-M, this will perform a
non-secure function call by saving, clearing and calling a non-secure
function pointer using the BLXNS instruction.

See the page on the unstable book for details.

Signed-off-by: Hugues de Valon &lt;hugues.devalon@arm.com&gt;
</content>
</entry>
<entry>
<title>[AVR] Add required references for AVR to the parser test suites</title>
<updated>2020-06-09T05:35:48+00:00</updated>
<author>
<name>Dylan McKay</name>
<email>me@dylanmckay.io</email>
</author>
<published>2020-03-03T06:36:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=13edc57bfa9362ed04d930da3ff267756497cec4'/>
<id>urn:sha1:13edc57bfa9362ed04d930da3ff267756497cec4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Order the Rust and C ABIs first to reduce test churn</title>
<updated>2020-06-07T02:36:21+00:00</updated>
<author>
<name>Jake Goulding</name>
<email>jake.goulding@gmail.com</email>
</author>
<published>2020-06-02T02:20:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ae3586c9b7521ddb98b7cc4550fdeb91987a66cc'/>
<id>urn:sha1:ae3586c9b7521ddb98b7cc4550fdeb91987a66cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add long error explanation for E0703</title>
<updated>2020-03-26T06:02:56+00:00</updated>
<author>
<name>PankajChaudhary5</name>
<email>pankajchaudhary172@gmail.com</email>
</author>
<published>2020-03-26T06:02:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95870e25c631883a16da23b349738ebc0f3e2966'/>
<id>urn:sha1:95870e25c631883a16da23b349738ebc0f3e2966</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new EFIAPI ABI</title>
<updated>2019-10-25T13:01:25+00:00</updated>
<author>
<name>roblabla</name>
<email>unfiltered@roblab.la</email>
</author>
<published>2019-10-24T15:29:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=093ec70b1e4da3d814a137f5aea6f4ff75ad3399'/>
<id>urn:sha1:093ec70b1e4da3d814a137f5aea6f4ff75ad3399</id>
<content type='text'>
Adds a new ABI for the EFIAPI calls. This ABI should reflect the latest
version of the UEFI specification at the time of commit (UEFI spec 2.8,
URL below). The specification says that for x86_64, we should follow the
win64 ABI, while on all other supported platforms (ia32, itanium, arm,
arm64 and risc-v), we should follow the C ABI.

To simplify the implementation, we will simply follow the C ABI on all
platforms except x86_64, even those technically unsupported by the UEFI
specification.

https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
</content>
</entry>
<entry>
<title>hide `--explain` hint if error has no extended info</title>
<updated>2019-04-18T17:29:28+00:00</updated>
<author>
<name>Andy Russell</name>
<email>arussell123@gmail.com</email>
</author>
<published>2019-04-17T17:26:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b6f148c8bdf2dd1beb11445441366934f8b61f74'/>
<id>urn:sha1:b6f148c8bdf2dd1beb11445441366934f8b61f74</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update tests</title>
<updated>2019-03-11T20:10:26+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2019-03-09T12:03:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fa72a81bea27f1fda4287475e4cc2f684c971e7f'/>
<id>urn:sha1:fa72a81bea27f1fda4287475e4cc2f684c971e7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove licenses</title>
<updated>2018-12-26T04:08:33+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-12-25T15:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a663555ddf36f6b041445894a8c175cd1bc718c'/>
<id>urn:sha1:2a663555ddf36f6b041445894a8c175cd1bc718c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add the `amdgpu-kernel` ABI.</title>
<updated>2018-07-13T22:22:23+00:00</updated>
<author>
<name>Richard Diamond</name>
<email>wichard@vitalitystudios.com</email>
</author>
<published>2018-07-02T03:42:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6332bb15062b3e193ba64a4ddb2619e8940a079f'/>
<id>urn:sha1:6332bb15062b3e193ba64a4ddb2619e8940a079f</id>
<content type='text'>
Technically, there are requirements imposed by the LLVM
`AMDGPUTargetMachine` on functions with this ABI (eg, the return type
must be void), but I'm unsure exactly where this should be enforced.
</content>
</entry>
</feed>
