|
1 |
| -// revisions:m68k wasm x86_64-linux x86_64-windows |
| 1 | +// revisions:m68k wasm x86_64-linux x86_64-windows i686-linux i686-windows |
2 | 2 |
|
3 | 3 | //[m68k] compile-flags: --target m68k-unknown-linux-gnu
|
4 | 4 | //[m68k] needs-llvm-components: m68k
|
|
8 | 8 | //[x86_64-linux] needs-llvm-components: x86
|
9 | 9 | //[x86_64-windows] compile-flags: --target x86_64-pc-windows-msvc
|
10 | 10 | //[x86_64-windows] needs-llvm-components: x86
|
| 11 | +//[i686-linux] compile-flags: --target i686-unknown-linux-gnu |
| 12 | +//[i686-linux] needs-llvm-components: x86 |
| 13 | +//[i686-windows] compile-flags: --target i686-pc-windows-msvc |
| 14 | +//[i686-windows] needs-llvm-components: x86 |
11 | 15 |
|
12 | 16 | // Tests that `byval` alignment is properly specified (#80127).
|
13 |
| -// The only targets that use `byval` are m68k, wasm, x86-64, and x86. Note that |
14 |
| -// x86 has special rules (see #103830), and it's therefore ignored here. |
| 17 | +// The only targets that use `byval` are m68k, wasm, x86-64, and x86. |
15 | 18 | // Note also that Windows mandates a by-ref ABI here, so it does not use byval.
|
16 | 19 |
|
17 | 20 | #![feature(no_core, lang_items)]
|
@@ -43,6 +46,12 @@ extern "C" {
|
43 | 46 | // x86_64-windows: declare void @f(
|
44 | 47 | // x86_64-windows-NOT: byval
|
45 | 48 | // x86_64-windows-SAME: align 16{{.*}})
|
| 49 | + |
| 50 | + // i686-linux: declare void @f({{.*}}byval(%Foo) align 4{{.*}}) |
| 51 | + |
| 52 | + // i686-windows: declare void @f( |
| 53 | + // i686-windows-NOT: byval |
| 54 | + // i686-windows-SAME: align 16{{.*}}) |
46 | 55 | fn f(foo: Foo);
|
47 | 56 | }
|
48 | 57 |
|
|
0 commit comments