1353944Sdim//===-- santizer_win_dynamic_runtime_thunk.cpp ----------------------------===// 2353944Sdim// 3353944Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353944Sdim// See https://llvm.org/LICENSE.txt for license information. 5353944Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6353944Sdim// 7353944Sdim//===----------------------------------------------------------------------===// 8353944Sdim// 9353944Sdim// This file defines things that need to be present in the application modules 10353944Sdim// to interact with Sanitizer Common, when it is included in a dll. 11353944Sdim// 12353944Sdim//===----------------------------------------------------------------------===// 13353944Sdim#ifdef SANITIZER_DYNAMIC_RUNTIME_THUNK 14353944Sdim#define SANITIZER_IMPORT_INTERFACE 1 15353944Sdim#include "sanitizer_win_defs.h" 16353944Sdim// Define weak alias for all weak functions imported from sanitizer common. 17353944Sdim#define INTERFACE_FUNCTION(Name) 18353944Sdim#define INTERFACE_WEAK_FUNCTION(Name) WIN_WEAK_IMPORT_DEF(Name) 19353944Sdim#include "sanitizer_common_interface.inc" 20353944Sdim#endif // SANITIZER_DYNAMIC_RUNTIME_THUNK 21353944Sdim 22353944Sdimnamespace __sanitizer { 23353944Sdim// Add one, otherwise unused, external symbol to this object file so that the 24353944Sdim// Visual C++ linker includes it and reads the .drective section. 25353944Sdimvoid ForceWholeArchiveIncludeForSanitizerCommon() {} 26353944Sdim} 27