1111// gate-test-intrinsics
1212// gate-test-platform_intrinsics
1313// gate-test-abi_vectorcall
14+ // gate-test-abi_thiscall
1415// gate-test-abi_ptx
1516// gate-test-abi_x86_interrupt
1617
@@ -22,6 +23,7 @@ extern "rust-call" fn f4() {} //~ ERROR rust-call ABI is subject to change
2223extern "msp430-interrupt" fn f5 ( ) { } //~ ERROR msp430-interrupt ABI is experimental
2324extern "ptx-kernel" fn f6 ( ) { } //~ ERROR PTX ABIs are experimental and subject to change
2425extern "x86-interrupt" fn f7 ( ) { } //~ ERROR x86-interrupt ABI is experimental
26+ extern "thiscall" fn f8 ( ) { } //~ ERROR thiscall is experimental and subject to change
2527
2628// Methods in trait definition
2729trait Tr {
@@ -32,6 +34,7 @@ trait Tr {
3234 extern "msp430-interrupt" fn m5 ( ) ; //~ ERROR msp430-interrupt ABI is experimental
3335 extern "ptx-kernel" fn m6 ( ) ; //~ ERROR PTX ABIs are experimental and subject to change
3436 extern "x86-interrupt" fn m7 ( ) ; //~ ERROR x86-interrupt ABI is experimental
37+ extern "thiscall" fn m8 ( ) ; //~ ERROR thiscall is experimental and subject to change
3538
3639 extern "rust-intrinsic" fn dm1 ( ) { } //~ ERROR intrinsics are subject to change
3740 extern "platform-intrinsic" fn dm2 ( ) { } //~ ERROR platform intrinsics are experimental
@@ -40,6 +43,7 @@ trait Tr {
4043 extern "msp430-interrupt" fn dm5 ( ) { } //~ ERROR msp430-interrupt ABI is experimental
4144 extern "ptx-kernel" fn dm6 ( ) { } //~ ERROR PTX ABIs are experimental and subject to change
4245 extern "x86-interrupt" fn dm7 ( ) { } //~ ERROR x86-interrupt ABI is experimental
46+ extern "thiscall" fn dm8 ( ) { } //~ ERROR thiscall is experimental and subject to change
4347}
4448
4549struct S ;
@@ -53,6 +57,7 @@ impl Tr for S {
5357 extern "msp430-interrupt" fn m5 ( ) { } //~ ERROR msp430-interrupt ABI is experimental
5458 extern "ptx-kernel" fn m6 ( ) { } //~ ERROR PTX ABIs are experimental and subject to change
5559 extern "x86-interrupt" fn m7 ( ) { } //~ ERROR x86-interrupt ABI is experimental
60+ extern "thiscall" fn m8 ( ) { } //~ ERROR thiscall is experimental and subject to change
5661}
5762
5863// Methods in inherent impl
@@ -64,6 +69,7 @@ impl S {
6469 extern "msp430-interrupt" fn im5 ( ) { } //~ ERROR msp430-interrupt ABI is experimental
6570 extern "ptx-kernel" fn im6 ( ) { } //~ ERROR PTX ABIs are experimental and subject to change
6671 extern "x86-interrupt" fn im7 ( ) { } //~ ERROR x86-interrupt ABI is experimental
72+ extern "thiscall" fn im8 ( ) { } //~ ERROR thiscall is experimental and subject to change
6773}
6874
6975// Function pointer types
@@ -74,6 +80,7 @@ type A4 = extern "rust-call" fn(); //~ ERROR rust-call ABI is subject to change
7480type A5 = extern "msp430-interrupt" fn ( ) ; //~ ERROR msp430-interrupt ABI is experimental
7581type A6 = extern "ptx-kernel" fn ( ) ; //~ ERROR PTX ABIs are experimental and subject to change
7682type A7 = extern "x86-interrupt" fn ( ) ; //~ ERROR x86-interrupt ABI is experimental
83+ type A8 = extern "thiscall" fn ( ) ; //~ ERROR thiscall is experimental and subject to change
7784
7885// Foreign modules
7986extern "rust-intrinsic" { } //~ ERROR intrinsics are subject to change
@@ -83,5 +90,6 @@ extern "rust-call" {} //~ ERROR rust-call ABI is subject to change
8390extern "msp430-interrupt" { } //~ ERROR msp430-interrupt ABI is experimental
8491extern "ptx-kernel" { } //~ ERROR PTX ABIs are experimental and subject to change
8592extern "x86-interrupt" { } //~ ERROR x86-interrupt ABI is experimental
93+ extern "thiscall" { } //~ ERROR thiscall is experimental and subject to change
8694
8795fn main ( ) { }
0 commit comments