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