[clang][IFS][test][NFC] Tightening up clang-ifs tests to use -cc1 more often.

Unless the test is explicitly testing a driver feature if clang
interface stubs I have changed the tests to use %clang_cc1. This should
make some changes I plan to make to the driver job pipeline cause fewer
test changes and breakages.
This commit is contained in:
Puyan Lotfi 2019-11-13 23:58:09 -05:00
parent 3db6783d8a
commit e782192d5e
22 changed files with 75 additions and 87 deletions

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,13 +1,11 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck -check-prefix=CHECK-TAPI %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck -check-prefix=CHECK-TAPI2 %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | \
// RUN: llvm-readelf -s - 2>&1 | \
// RUN: %clang -target x86_64-unknown-linux-gnu -c -o - %s | llvm-readelf -s - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
// For the following:

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,11 +1,12 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -x c -o %t1.so -emit-interface-stubs %s %S/object.c %S/weak.cpp && \
// RUN: llvm-nm %t1.so 2>&1 | FileCheck --check-prefix=CHECK-IFS %s
// RUN: %clang -target x86_64-unknown-linux-gnu -shared -x c -o %t1.so -emit-interface-stubs %s %S/object.c %S/weak.cpp
// RUN: llvm-nm %t1.so 2>&1 | FileCheck %s
// RUN: llvm-nm %t1.ifso 2>&1 | FileCheck %s
// CHECK-IFS-DAG: data
// CHECK-IFS-DAG: foo
// CHECK-IFS-DAG: strongFunc
// CHECK-IFS-DAG: weakFunc
// CHECK-DAG: data
// CHECK-DAG: foo
// CHECK-DAG: strongFunc
// CHECK-DAG: weakFunc
int foo(int bar) { return 42 + 1844; }

View File

@ -1,16 +1,16 @@
// RUN: %clang -fvisibility=default -c -DSTORAGE="extern" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: %clang -cc1 -fvisibility default -DSTORAGE="extern" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-EXTERN %s
// RUN: %clang -fvisibility=default -DSTORAGE="extern" -O0 -o - -c -std=c99 \
// RUN: -xc %s | llvm-nm - 2>&1 | FileCheck -check-prefix=CHECK-EXTERN %s
// RUN: %clang -fvisibility=default -c -DSTORAGE="extern" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: %clang -cc1 -fvisibility default -DSTORAGE="extern" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-EXTERN2 %s
// RUN: %clang -fvisibility=default -DSTORAGE="extern" -O0 -o - -c -std=c99 -xc %s | llvm-nm - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-EXTERN2 %s
// RUN: %clang -fvisibility=default -c -DSTORAGE="static" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: %clang -cc1 -fvisibility default -DSTORAGE="static" -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-STATIC %s
// RUN: %clang -fvisibility=default -DSTORAGE="static" -O0 -o - -c -std=c99 -xc %s | llvm-nm - 2>&1 | \

View File

@ -1,16 +1,12 @@
// REQUIRES: x86-registered-target
// TODO: Fix the case in llvm-ifs where it crashes on an empty Symbols list.
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -c \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DUSE_TEMPLATE_FUNCTION=1 %s | \
// RUN: FileCheck -check-prefix=CHECK-USES-TEMPLATE-FUNCTION %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DSPECIALIZE_TEMPLATE_FUNCTION=1 %s | \
// RUN: FileCheck -check-prefix=CHECK-SPECIALIZES-TEMPLATE-FUNCTION %s

View File

@ -1,6 +1,5 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DPARENT_CLASS_VISIBILITY="" -DCHILD_CLASS_VISIBILITY="" \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
// RUN: FileCheck -check-prefix=CHECK-X %s
@ -10,12 +9,11 @@
// RUN: llvm-readelf -s - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-X-RE %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DPARENT_CLASS_VISIBILITY=HIDDEN -DCHILD_CLASS_VISIBILITY="" \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
// RUN: FileCheck -check-prefix=CHECK-HP %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: -DPARENT_CLASS_VISIBILITY=HIDDEN -DCHILD_CLASS_VISIBILITY="" \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
@ -26,13 +24,11 @@
// RUN: llvm-readelf -s - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-HP-RE %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DPARENT_CLASS_VISIBILITY="" -DCHILD_CLASS_VISIBILITY=HIDDEN \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
// RUN: FileCheck -check-prefix=CHECK-HC %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DPARENT_CLASS_VISIBILITY="" -DCHILD_CLASS_VISIBILITY=HIDDEN \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
// RUN: FileCheck -check-prefix=CHECK-HC2 %s
@ -42,8 +38,7 @@
// RUN: llvm-readelf -s - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-HC-RE %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -DPARENT_CLASS_VISIBILITY=HIDDEN -DCHILD_CLASS_VISIBILITY=HIDDEN \
// RUN: -DPARENT_METHOD_VISIBILITY="" -DCHILD_METHOD_VISIBILITY="" %s | \
// RUN: FileCheck -check-prefix=CHECK-HP-HC %s

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,31 +1,31 @@
// REQUIRES: x86-registered-target
// RUN: %clang -c -DINLINE=inline -target x86_64-unknown-linux-gnu -o - \
// RUN: %clang_cc1 -DINLINE=inline -triple x86_64-unknown-linux-gnu -o - \
// RUN: -emit-interface-stubs -std=gnu89 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-GNU %s
// RUN: %clang -DINLINE=inline -target x86_64-linux-gnu -O0 -o - -c \
// RUN: -std=gnu89 -xc %s | llvm-nm - | FileCheck -check-prefix=CHECK-GNU %s
// RUN: %clang -c -DINLINE="__attribute__((always_inline))" \
// RUN: -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -xc %s | \
// RUN: %clang_cc1 -DINLINE="__attribute__((always_inline))" \
// RUN: -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-GNU %s
// RUN: %clang -DINLINE="__attribute__((always_inline))" \
// RUN: -target x86_64-linux-gnu -O0 -o - -c -xc %s | \
// RUN: llvm-nm - | FileCheck -check-prefix=CHECK-GNU %s
// RUN: %clang -c -DINLINE=inline -target x86_64-unknown-linux-gnu -o - \
// RUN: %clang_cc1 -DINLINE=inline -triple x86_64-unknown-linux-gnu -o - \
// RUN: -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-STD %s
// RUN: %clang -DINLINE=inline -target x86_64-linux-gnu -O0 -o - -c -std=c99 \
// RUN: -xc %s | llvm-nm - 2>&1 | FileCheck -check-prefix=CHECK-STD %s
// RUN: %clang -c -DINLINE="__attribute__((noinline))" \
// RUN: -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: %clang_cc1 -DINLINE="__attribute__((noinline))" \
// RUN: -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-NOINLINE %s
// RUN: %clang -DINLINE="__attribute__((noinline))" -target x86_64-linux-gnu \
// RUN: -O0 -o - -c -std=c99 -xc %s | llvm-nm - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-NOINLINE %s
// RUN: %clang -c -DINLINE="static" -target x86_64-unknown-linux-gnu -o - \
// RUN: %clang_cc1 -DINLINE="static" -triple x86_64-unknown-linux-gnu -o - \
// RUN: -emit-interface-stubs -std=c99 -xc %s | \
// RUN: FileCheck -check-prefix=CHECK-STATIC %s
// RUN: %clang -DINLINE="static" -target x86_64-linux-gnu -O0 -o - -c \
@ -45,11 +45,11 @@ INLINE int foo() {
return var;
}
// RUN: %clang -c -DINLINE=inline -target x86_64-linux-gnu -o - \
// RUN: %clang_cc1 -DINLINE=inline -triple x86_64-linux-gnu -o - \
// RUN: -emit-interface-stubs \
// RUN: -std=gnu89 -xc %s | FileCheck -check-prefix=CHECK-TAPI %s
// RUN: %clang -c -DINLINE=inline -target x86_64-linux-gnu -o - \
// RUN: %clang_cc1 -DINLINE=inline -triple x86_64-linux-gnu -o - \
// RUN: -emit-interface-stubs \
// RUN: -std=gnu89 -xc %s | FileCheck -check-prefix=CHECK-SYMBOLS %s
// RUN: %clang -DINLINE=inline -target x86_64-linux-gnu -o - \

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,5 +1,4 @@
// RUN: %clang -fvisibility=default -c -o - -emit-interface-stubs %s | FileCheck -check-prefix=CHECK-TAPI %s
// RUN: %clang -fvisibility=default -c -o - -emit-interface-stubs %s | FileCheck -check-prefix=CHECK-SYMBOLS %s
// RUN: %clang_cc1 -fvisibility default -o - -emit-interface-stubs %s | FileCheck -check-prefix=CHECK-TAPI %s
// RUN: %clang -fvisibility=default -c -o - %s | llvm-nm - 2>&1 | FileCheck -check-prefix=CHECK-SYMBOLS %s
// CHECK-TAPI: data" : { Type: Object, Size: 4 }

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,16 +1,15 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-nm - 2>&1 | \
// RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
// CHECK: Symbols:
// CHECK-DAG: _ZN3qux3barEii: { Type: Func }
// CHECK-DAG: _ZN3baz3addIiEET_S1_S1_: { Type: Func }
// CHECK-DAG: _Z4fbarff: { Type: Func }
// CHECK-DAG: _ZN3baz3addIfEET_S1_S1_: { Type: Func }
// CHECK-DAG: "_ZN3qux3barEii" : { Type: Func }
// CHECK-DAG: "_ZN3baz3addIiEET_S1_S1_" : { Type: Func }
// CHECK-DAG: "_Z4fbarff" : { Type: Func }
// CHECK-DAG: "_ZN3baz3addIfEET_S1_S1_" : { Type: Func }
// Same symbols just different order.
// CHECK-SYMBOLS-DAG: _Z4fbarff

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,6 +1,6 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fcxx-exceptions -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
@ -12,4 +12,4 @@
// CHECK-NEXT: ...
class C5 {};
void f() { try {} catch(C5&){} }
void f() { try {} catch(C5&){} }

View File

@ -1,4 +1,4 @@
// RUN: %clang -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0

View File

@ -1,5 +1,5 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -c -o - -emit-interface-stubs %s | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | FileCheck %s
// CHECK: --- !experimental-ifs-v1
// CHECK-NEXT: IfsVersion: 1.0
@ -14,4 +14,4 @@ template<typename T, T v> struct S9 {
};
template<typename T> struct S0 : public S9<bool, true> { };
template<typename T> constexpr bool CE2 = S0<T>::value;
int a = CE2<int>;
int a = CE2<int>;

View File

@ -1,9 +1,7 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck -check-prefix=CHECK-TAPI %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck -check-prefix=CHECK-TAPI2 %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | \
// RUN: llvm-readelf -s - 2>&1 | FileCheck -check-prefix=CHECK-SYMBOLS %s

View File

@ -1,26 +1,20 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 -fvisibility=hidden \
// RUN: %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -fvisibility hidden %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 -fvisibility=hidden \
// RUN: %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -fvisibility hidden %s | FileCheck --check-prefix=CHECK-CMD-HIDDEN %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck --check-prefix=CHECK-CMD %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck --check-prefix=CHECK-CMD %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck --check-prefix=CHECK-CMD2 %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -o - -emit-interface-stubs %s | \
// RUN: FileCheck --check-prefix=CHECK-CMD2 %s
// RUN: %clang -target x86_64-unknown-linux-gnu -o - -c %s | llvm-readelf -s - 2>&1 | \

View File

@ -1,5 +1,5 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-linux-gnu -o - -emit-interface-stubs -emit-merged-ifs \
// RUN: %clang_cc1 -triple x86_64-linux-gnu -o - -emit-interface-stubs \
// RUN: -interface-stub-version=experimental-ifs-v1 %s | \
// RUN: FileCheck %s
@ -7,8 +7,8 @@
// RUN: FileCheck -check-prefix=CHECK-SYMBOLS %s
// CHECK: Symbols:
// CHECK-DAG: _Z8weakFuncv: { Type: Func, Weak: true }
// CHECK-DAG: _Z10strongFuncv: { Type: Func }
// CHECK-DAG: "_Z8weakFuncv" : { Type: Func, Weak: true }
// CHECK-DAG: "_Z10strongFuncv" : { Type: Func }
// CHECK-SYMBOLS-DAG: _Z10strongFuncv
// CHECK-SYMBOLS-DAG: _Z8weakFuncv

View File

@ -1,7 +1,15 @@
// REQUIRES: x86-registered-target
// RUN: %clang -target x86_64-windows-msvc -o - %s \
// RUN: -emit-interface-stubs -emit-merged-ifs | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-windows-msvc -o - %s -emit-interface-stubs | FileCheck -check-prefix=CHECK-CC1 %s
// RUN: %clang -target x86_64-windows-msvc -o - %s -emit-interface-stubs -emit-merged-ifs | FileCheck -check-prefix=CHECK-IFS %s
// CHECK-CC1: Symbols:
// CHECK-CC1-NEXT: ?helloWindowsMsvc@@YAHXZ
// CHECK-IFS: --- !experimental-ifs-v1
// CHECK-IFS: IfsVersion: 1.0
// CHECK-IFS: Triple: x86_64-unknown-windows-msvc19.11.0
// CHECK-IFS: Symbols:
// CHECK-IFS: ?helloWindowsMsvc@@YAHXZ: { Type: Func }
// CHECK-IFS: ...
// CHECK: Symbols:
// CHECK-NEXT: ?helloWindowsMsvc@@YAHXZ
int helloWindowsMsvc();