1*673dc3d4SNico Weber // Make sure we can link a DLL with large functions which would mean
2*673dc3d4SNico Weber // functions such as __asan_loadN and __asan_storeN will be called
3*673dc3d4SNico Weber // from the DLL. We simulate the large function with
4*673dc3d4SNico Weber // -mllvm -asan-instrumentation-with-call-threshold=0.
5*673dc3d4SNico Weber // RUN: %clang_cl_asan %s -c -Fo%t.obj -mllvm -asan-instrumentation-with-call-threshold=0
6*673dc3d4SNico Weber // RUN: link /nologo /DLL /OUT:%t.dll %t.obj %asan_dll_thunk
7*673dc3d4SNico Weber // REQUIRES: asan-static-runtime
8*673dc3d4SNico Weber
f(long * foo,long * bar)9*673dc3d4SNico Weber void f(long* foo, long* bar) {
10*673dc3d4SNico Weber // One load and one store
11*673dc3d4SNico Weber *foo = *bar;
12*673dc3d4SNico Weber }
13