1*673dc3d4SNico Weber // Just make sure we can link an implib into another DLL
2*673dc3d4SNico Weber // This used to fail between r212699 and r212814.
3*673dc3d4SNico Weber // RUN: %clang_cl_asan -DCONFIG=1 %s -c -Fo%t.1.obj
4*673dc3d4SNico Weber // RUN: link /nologo /DLL /OUT:%t.1.dll %t.1.obj %asan_dll_thunk
5*673dc3d4SNico Weber // RUN: %clang_cl_asan -DCONFIG=2 %s -c -Fo%t.2.obj
6*673dc3d4SNico Weber // RUN: link /nologo /DLL /OUT:%t.2.dll %t.2.obj %t.1.lib %asan_dll_thunk
7*673dc3d4SNico Weber // REQUIRES: asan-static-runtime
8*673dc3d4SNico Weber 
9*673dc3d4SNico Weber #if CONFIG==1
f1()10*673dc3d4SNico Weber extern "C" __declspec(dllexport) int f1() {
11*673dc3d4SNico Weber   int x = 0;
12*673dc3d4SNico Weber   return 1;
13*673dc3d4SNico Weber }
14*673dc3d4SNico Weber #else
f2()15*673dc3d4SNico Weber extern "C" __declspec(dllexport) int f2() {
16*673dc3d4SNico Weber   int x = 0;
17*673dc3d4SNico Weber   return 2;
18*673dc3d4SNico Weber }
19*673dc3d4SNico Weber #endif
20