[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