LLVM 24.0.0git
JITDylibLookupFlags.h
Go to the documentation of this file.
1//===- JITDylibLookupFlags.h - Flags for JITDylib lookups -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// JITDylibLookupFlags and its SPS serialization.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_JITDYLIBLOOKUPFLAGS_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_JITDYLIBLOOKUPFLAGS_H
15
17
18namespace llvm::orc {
19
20/// Lookup flags that apply to each dylib in the search order for a lookup.
21///
22/// If MatchExportedSymbolsOnly is used (the default) for a given dylib, then
23/// only symbols in that dylib's interface will be searched. If MatchAllSymbols
24/// is used then symbols with hidden visibility will match as well.
26
27namespace shared {
28
29/// SPS tag for JITDylibLookupFlags. Serialized as a bool: true for
30/// MatchAllSymbols, false for MatchExportedSymbolsOnly.
31struct SPSJITDylibLookupFlags;
32
33template <>
34class SPSSerializationTraits<SPSJITDylibLookupFlags, JITDylibLookupFlags> {
35public:
39
44
46 bool MatchAll;
47 if (!SPSArgList<bool>::deserialize(IB, MatchAll))
48 return false;
51 return true;
52 }
53};
54
55} // namespace shared
56} // namespace llvm::orc
57
58#endif // LLVM_EXECUTIONENGINE_ORC_SHARED_JITDYLIBLOOKUPFLAGS_H
#define F(x, y, z)
Definition MD5.cpp:54
A utility class for serializing to a blob from a variadic list.
Input char buffer with underflow check.
Output char buffer with overflow check.
static bool serialize(SPSOutputBuffer &OB, const JITDylibLookupFlags &F)
Specialize to describe how to serialize/deserialize to/from the given concrete type.
JITDylibLookupFlags
Lookup flags that apply to each dylib in the search order for a lookup.