Skip to content

Commit

Permalink
Auto merge of rust-lang#102305 - flba-eb:remove_exclude_list, r=Mark-…
Browse files Browse the repository at this point in the history
…Simulacrum

Get rid of exclude-list for Windows-only tests

Main purpose of this change is to get rid of a quite long (and growing) list of excluded targets, while this test should only be useful on Windows (as far as I understand it). The `// only-windows` header seams to implement exactly what we need here.

I don't know why there are some whitespace changes, but `x.py fmt` and `.git/hooks/pre-push` are happy.
  • Loading branch information
bors committed Oct 2, 2022
2 parents de692f1 + 0919c94 commit 573fd5a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 30 deletions.
26 changes: 5 additions & 21 deletions src/test/ui/abi/x86stdcall.rs
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
// run-pass
// ignore-wasm32-bare no libc to test ffi with
// ignore-sgx no libc
// only-windows
// GetLastError doesn't seem to work with stack switching

#[cfg(windows)]
mod kernel32 {
extern "system" {
pub fn SetLastError(err: usize);
pub fn GetLastError() -> usize;
}
extern "system" {
pub fn SetLastError(err: usize);
pub fn GetLastError() -> usize;
}
}


#[cfg(windows)]
pub fn main() {
unsafe {
Expand All @@ -22,17 +20,3 @@ pub fn main() {
assert_eq!(expected, actual);
}
}

#[cfg(any(target_os = "android",
target_os = "dragonfly",
target_os = "emscripten",
target_os = "freebsd",
target_os = "fuchsia",
target_os = "illumos",
target_os = "linux",
target_os = "macos",
target_os = "netbsd",
target_os = "openbsd",
target_os = "solaris",
target_os = "vxworks"))]
pub fn main() { }
12 changes: 3 additions & 9 deletions src/test/ui/abi/x86stdcall2.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// only-windows

#![allow(non_camel_case_types)]
pub type HANDLE = usize;
Expand All @@ -7,27 +8,20 @@ pub type SIZE_T = u32;
pub type LPVOID = usize;
pub type BOOL = u8;

#[cfg(windows)]
mod kernel32 {
use super::{HANDLE, DWORD, SIZE_T, LPVOID, BOOL};
use super::{BOOL, DWORD, HANDLE, LPVOID, SIZE_T};

extern "system" {
pub fn GetProcessHeap() -> HANDLE;
pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T)
-> LPVOID;
pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID;
pub fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL;
}
}


#[cfg(windows)]
pub fn main() {
let heap = unsafe { kernel32::GetProcessHeap() };
let mem = unsafe { kernel32::HeapAlloc(heap, 0, 100) };
assert!(mem != 0);
let res = unsafe { kernel32::HeapFree(heap, 0, mem) };
assert!(res != 0);
}

#[cfg(not(windows))]
pub fn main() { }

0 comments on commit 573fd5a

Please sign in to comment.