[all-commits] [llvm/llvm-project] 8d187e: [llvm] annotate interfaces in llvm/DebugInfo for D...
Andrew Rogers via All-commits
all-commits at lists.llvm.org
Wed Jun 4 14:23:23 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8d187e580e8499fd55413591c6639487dc1579a0
https://github.com/llvm/llvm-project/commit/8d187e580e8499fd55413591c6639487dc1579a0
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-04 (Wed, 04 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/BTF/BTFContext.h
M llvm/include/llvm/DebugInfo/BTF/BTFParser.h
M llvm/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
M llvm/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
M llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
M llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
M llvm/include/llvm/DebugInfo/CodeView/Formatters.h
M llvm/include/llvm/DebugInfo/CodeView/GUID.h
M llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
M llvm/include/llvm/DebugInfo/CodeView/Line.h
M llvm/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
M llvm/include/llvm/DebugInfo/CodeView/RecordName.h
M llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h
M llvm/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
M llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
M llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
M llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h
M llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
M llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
M llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/include/llvm/DebugInfo/GSYM/CallSiteInfo.h
M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
M llvm/include/llvm/DebugInfo/GSYM/ExtractRanges.h
M llvm/include/llvm/DebugInfo/GSYM/FileWriter.h
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/Header.h
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
M llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVCompare.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVOptions.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVReader.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSort.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/include/llvm/DebugInfo/LogicalView/LVReaderHandler.h
M llvm/include/llvm/DebugInfo/MSF/MSFBuilder.h
M llvm/include/llvm/DebugInfo/MSF/MSFCommon.h
M llvm/include/llvm/DebugInfo/MSF/MSFError.h
M llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h
M llvm/include/llvm/DebugInfo/PDB/GenericError.h
M llvm/include/llvm/DebugInfo/PDB/IPDBFrameData.h
M llvm/include/llvm/DebugInfo/PDB/IPDBInjectedSource.h
M llvm/include/llvm/DebugInfo/PDB/IPDBLineNumber.h
M llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSession.h
M llvm/include/llvm/DebugInfo/PDB/IPDBSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
M llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/Hash.h
M llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/InputFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/LinePrinter.h
M llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
M llvm/include/llvm/DebugInfo/PDB/Native/NativeSourceFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFile.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
M llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
M llvm/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/RawError.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
M llvm/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiHashing.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h
M llvm/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
M llvm/include/llvm/DebugInfo/PDB/PDB.h
M llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymDumper.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolData.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
M llvm/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
M llvm/include/llvm/DebugInfo/PDB/UDTLayout.h
M llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
M llvm/include/llvm/DebugInfo/Symbolize/Markup.h
M llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
M llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp
Log Message:
-----------
[llvm] annotate interfaces in llvm/DebugInfo for DLL export (#140778)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/DebugInfo` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Add `#include "llvm/Support/Compiler.h"` to files where it was not
auto-added by IDS due to no pre-existing block of include statements.
- Explicitly make classes non-copyable where needed to due IDS adding
LLVM_ABI at the class level
- Add `LLVM_ABI` and to exported APIs defined via X-macro
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list