diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-09-23 11:40:58 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-09-23 11:40:58 +0000 |
commit | 7f92aa687a90ae8b7ed1f1767ffa401d24d17096 (patch) | |
tree | d14a68ad9c21010ca36e0c86f7ef5fd9c5ddcd86 | |
parent | e2b207cfd216b98c860cb4816b1ddb3a3f37b601 (diff) | |
download | bcm5719-llvm-7f92aa687a90ae8b7ed1f1767ffa401d24d17096.tar.gz bcm5719-llvm-7f92aa687a90ae8b7ed1f1767ffa401d24d17096.zip |
[ASan/Win] Slightly optimize the DLL thunk
llvm-svn: 191190
-rw-r--r-- | compiler-rt/lib/asan/asan_dll_thunk.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/compiler-rt/lib/asan/asan_dll_thunk.cc b/compiler-rt/lib/asan/asan_dll_thunk.cc index 56f271f5ab0..cedd60d342f 100644 --- a/compiler-rt/lib/asan/asan_dll_thunk.cc +++ b/compiler-rt/lib/asan/asan_dll_thunk.cc @@ -38,63 +38,63 @@ static void *getRealProcAddressOrDie(const char *name) { #define WRAP_V_V(name) \ extern "C" void name() { \ typedef void (*fntype)(); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ fn(); \ } #define WRAP_V_W(name) \ extern "C" void name(void *arg) { \ typedef void (*fntype)(void *arg); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ fn(arg); \ } #define WRAP_V_WW(name) \ extern "C" void name(void *arg1, void *arg2) { \ typedef void (*fntype)(void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ fn(arg1, arg2); \ } #define WRAP_V_WWW(name) \ extern "C" void name(void *arg1, void *arg2, void *arg3) { \ typedef void *(*fntype)(void *, void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ fn(arg1, arg2, arg3); \ } #define WRAP_W_V(name) \ extern "C" void *name() { \ typedef void *(*fntype)(); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(); \ } #define WRAP_W_W(name) \ extern "C" void *name(void *arg) { \ typedef void *(*fntype)(void *arg); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg); \ } #define WRAP_W_WW(name) \ extern "C" void *name(void *arg1, void *arg2) { \ typedef void *(*fntype)(void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg1, arg2); \ } #define WRAP_W_WWW(name) \ extern "C" void *name(void *arg1, void *arg2, void *arg3) { \ typedef void *(*fntype)(void *, void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg1, arg2, arg3); \ } #define WRAP_W_WWWW(name) \ extern "C" void *name(void *arg1, void *arg2, void *arg3, void *arg4) { \ typedef void *(*fntype)(void *, void *, void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg1, arg2, arg3, arg4); \ } @@ -102,7 +102,7 @@ static void *getRealProcAddressOrDie(const char *name) { extern "C" void *name(void *arg1, void *arg2, void *arg3, void *arg4, \ void *arg5) { \ typedef void *(*fntype)(void *, void *, void *, void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg1, arg2, arg3, arg4, arg5); \ } @@ -110,7 +110,7 @@ static void *getRealProcAddressOrDie(const char *name) { extern "C" void *name(void *arg1, void *arg2, void *arg3, void *arg4, \ void *arg5, void *arg6) { \ typedef void *(*fntype)(void *, void *, void *, void *, void *, void *); \ - fntype fn = (fntype)getRealProcAddressOrDie(#name); \ + static fntype fn = (fntype)getRealProcAddressOrDie(#name); \ return fn(arg1, arg2, arg3, arg4, arg5, arg6); \ } // }}} |