[all-commits] [llvm/llvm-project] 15dc2d: [IR] Prevent implicit SymbolTableListTraits templa...

Victor Mustya via All-commits all-commits at lists.llvm.org
Wed Oct 9 06:12:16 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 15dc2d5c5e55e6f0b9e3a78d352698b8873f2566
      https://github.com/llvm/llvm-project/commit/15dc2d5c5e55e6f0b9e3a78d352698b8873f2566
  Author: Victor Mustya <victor.mustya at intel.com>
  Date:   2024-10-09 (Wed, 09 Oct 2024)

  Changed paths:
    M llvm/include/llvm/IR/SymbolTableListTraits.h

  Log Message:
  -----------
  [IR] Prevent implicit SymbolTableListTraits template instantiation (#111600)

The `SymbolTableListTraits` template is explicitly instantiated for the
following types:
  * `llvm/lib/IR/Function.cpp`
    - `BasicBlock`
  * `llvm/lib/IR/Module.cpp`
    - `Function`
    - `GlobalAlias`
    - `GlobalIFunc`
    - `GlobalVariable`

When LLVM is built on Windows with the `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS`
option enabled, the implicit instantiation of the template prevents the
`SymbolTableListTraits` template from being exported. This causes link
errors when the template or IR API is used in a plugin.

This change prevents the template being implicitly instantiated for
these types.



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