[llvm] prepare explicit template instantiations in llvm/DebugInfo for DLL export annotations #140785
+27
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
This patch prepares the llvm/DebugInfo library for public interface annotations in support of an LLVM Windows DLL (shared library) build, tracked in #109483. The purpose of this patch is to make the upcoming codemod of this library more straight-forward. It is not expected to impact any functionality.
Overview
Adds declarations to the header files for two explicit specialized methods:
ContinuationRecordBuilder::writeMemberType
SimpleTypeSerializer::serialize
These specializations are already defined the corresponding implementation files:
llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp
This patch will not impact functionality, it just ensures they're exposed as part of the public ABI so they can be annotated for export in a subsequent patch.
Background
The LLVM Windows DLL effort is tracked in #109483. Additional context is provided in this discourse.
Validation
Local builds and tests to validate cross-platform compatibility. This included llvm, clang, and lldb on the following configurations: