Skip to content

Rollup of 11 pull requests #130247

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
5396124
Update compiler-builtins to 0.1.125
alexcrichton Sep 5, 2024
7ed9f94
Don't leave debug locations for constants sitting on the builder inde…
khuey Sep 6, 2024
f98ca32
Fix linking error when compiling for 32-bit watchOS
madsmtm Sep 7, 2024
0b20ffc
Remove needless returns detected by clippy in the compiler
eduardosm Sep 9, 2024
ce47935
remove dead code in CGREP script
jyn514 Dec 24, 2023
6ce3c6c
give a better error for tuple structs in `derive(Diagnostic)`
jyn514 Dec 24, 2023
b58c2fb
show linker warnings even if it returns 0
jyn514 Dec 24, 2023
6b77d59
don't show the full linker args unless `--verbose` is passed
jyn514 Dec 25, 2023
56b8c94
don't pass `-L .../auxiliary` unless it exists
jyn514 Jan 28, 2024
2f1e1be
maint: update docs for change_time ext and doc links
juliusl Sep 9, 2024
a0a89e5
chore: removing supporting links in favor of existing doc-comment style
juliusl Sep 9, 2024
713828d
Add test for S_OBJNAME and update test for LF_BUILDINFO cl and cmd for
nebulark Sep 6, 2024
180eace
these tests seem to work fine on i586 these days
RalfJung Aug 31, 2024
c40ee79
move float tests into their own dir
workingjubilee Sep 10, 2024
3daa951
enable and extend float-classify test
RalfJung Aug 31, 2024
e556c13
clean up internal comments about float semantics
RalfJung Aug 31, 2024
b44f1dd
update stdarch
RalfJung Aug 28, 2024
542a6c6
miri: support vector index arguments in simd_shuffle
RalfJung Sep 11, 2024
5b7be14
Revert warning empty patterns as unreachable
Nadrieril Aug 28, 2024
6c84238
docs: remove struct info
juliusl Sep 11, 2024
3842ea6
miri: fix overflow detection for unsigned pointer offset
RalfJung Sep 11, 2024
5527076
chore: remove struct details
juliusl Sep 11, 2024
ac27367
Rollup merge of #119286 - jyn514:linker-output, r=bjorn3
workingjubilee Sep 11, 2024
70b92e3
Rollup merge of #129103 - Nadrieril:dont-warn-empty-unreachable, r=co…
workingjubilee Sep 11, 2024
bf9a415
Rollup merge of #129696 - RalfJung:stdarch, r=Amanieu
workingjubilee Sep 11, 2024
fbb73c4
Rollup merge of #129835 - RalfJung:float-tests, r=workingjubilee
workingjubilee Sep 11, 2024
c266516
Rollup merge of #129992 - alexcrichton:update-compiler-builtins, r=tg…
workingjubilee Sep 11, 2024
a498fdc
Rollup merge of #130052 - khuey:clear-dilocation-after-const-emission…
workingjubilee Sep 11, 2024
2994fde
Rollup merge of #130077 - madsmtm:watchos-arm-unwind, r=workingjubilee
workingjubilee Sep 11, 2024
9e42180
Rollup merge of #130114 - eduardosm:needless-returns, r=compiler-errors
workingjubilee Sep 11, 2024
d86d1ad
Rollup merge of #130156 - nebulark:test_buildinfo, r=jieyouxu
workingjubilee Sep 11, 2024
0ad8638
Rollup merge of #130168 - juliusl:pr/fix-win-fs-change-time-links, r=…
workingjubilee Sep 11, 2024
b867f89
Rollup merge of #130239 - RalfJung:miri-ptr-offset-unsigned, r=compil…
workingjubilee Sep 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions library/std/src/sys/personality/dwarf/eh.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ pub enum EHAction {
Terminate,
}

/// 32-bit Apple ARM uses SjLj exceptions, except for watchOS.
/// 32-bit ARM Darwin platforms uses SjLj exceptions.
///
/// I.e. iOS and tvOS, as those are the only Apple OSes that used 32-bit ARM
/// devices.
/// The exception is watchOS armv7k (specifically that subarchitecture), which
/// instead uses DWARF Call Frame Information (CFI) unwinding.
///
/// <https://github.com/llvm/llvm-project/blob/llvmorg-18.1.4/clang/lib/Driver/ToolChains/Darwin.cpp#L3107-L3119>
pub const USING_SJLJ_EXCEPTIONS: bool =
Expand Down
13 changes: 7 additions & 6 deletions library/std/src/sys/personality/gcc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,15 @@ const UNWIND_DATA_REG: (i32, i32) = (4, 5); // a0, a1

cfg_if::cfg_if! {
if #[cfg(all(
target_arch = "arm",
not(all(target_vendor = "apple", not(target_os = "watchos"))),
not(target_os = "netbsd"),
))] {
target_arch = "arm",
not(target_vendor = "apple"),
not(target_os = "netbsd"),
))] {
/// personality fn called by [ARM EHABI][armeabi-eh]
///
/// Apple 32-bit ARM (but not watchOS) uses the default routine instead
/// since it uses "setjmp-longjmp" unwinding.
/// 32-bit ARM on iOS/tvOS/watchOS does not use ARM EHABI, it uses
/// either "setjmp-longjmp" unwinding or DWARF CFI unwinding, which is
/// handled by the default routine.
///
/// [armeabi-eh]: https://web.archive.org/web/20190728160938/https://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf
#[lang = "eh_personality"]
Expand Down
13 changes: 8 additions & 5 deletions library/unwind/src/libunwind.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ pub const unwinder_private_data_size: usize = 2;
#[cfg(all(target_arch = "x86_64", target_os = "windows"))]
pub const unwinder_private_data_size: usize = 6;

#[cfg(all(target_arch = "arm", not(all(target_vendor = "apple", not(target_os = "watchos")))))]
#[cfg(all(target_arch = "arm", not(target_vendor = "apple")))]
pub const unwinder_private_data_size: usize = 20;

#[cfg(all(target_arch = "arm", all(target_vendor = "apple", not(target_os = "watchos"))))]
#[cfg(all(target_arch = "arm", target_vendor = "apple"))]
pub const unwinder_private_data_size: usize = 5;

#[cfg(all(target_arch = "aarch64", target_pointer_width = "64", not(target_os = "windows")))]
Expand Down Expand Up @@ -123,8 +123,11 @@ extern "C" {
}

cfg_if::cfg_if! {
if #[cfg(any(all(target_vendor = "apple", not(target_os = "watchos")), target_os = "netbsd", not(target_arch = "arm")))] {
if #[cfg(any(target_vendor = "apple", target_os = "netbsd", not(target_arch = "arm")))] {
// Not ARM EHABI
//
// 32-bit ARM on iOS/tvOS/watchOS use either DWARF/Compact unwinding or
// "setjmp-longjmp" / SjLj unwinding.
#[repr(C)]
#[derive(Copy, Clone, PartialEq)]
pub enum _Unwind_Action {
Expand Down Expand Up @@ -259,8 +262,8 @@ if #[cfg(any(all(target_vendor = "apple", not(target_os = "watchos")), target_os

cfg_if::cfg_if! {
if #[cfg(all(target_vendor = "apple", not(target_os = "watchos"), target_arch = "arm"))] {
// 32-bit ARM Apple (except for watchOS) uses SjLj and does not provide
// _Unwind_Backtrace()
// 32-bit ARM Apple (except for watchOS armv7k specifically) uses SjLj and
// does not provide _Unwind_Backtrace()
extern "C-unwind" {
pub fn _Unwind_SjLj_RaiseException(e: *mut _Unwind_Exception) -> _Unwind_Reason_Code;
}
Expand Down