[all-commits] [llvm/llvm-project] 10b61f: [llvm] include GenericLoopInfoImpl for full implem...

Andrew Rogers via All-commits all-commits at lists.llvm.org
Mon Jun 23 09:33:56 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 10b61fea8a1a458b6b9e4a4b375883d21f096468
      https://github.com/llvm/llvm-project/commit/10b61fea8a1a458b6b9e4a4b375883d21f096468
  Author: Andrew Rogers <andrurogerz at gmail.com>
  Date:   2025-06-23 (Mon, 23 Jun 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopInfo.h

  Log Message:
  -----------
  [llvm] include GenericLoopInfoImpl for full implementation (#144621)

MSVC issues a warning when a an `extern` template instantiation is
annotated for DLL export but it does not have the complete template
definition. Because the full implementation of `LoopBase` is in
`GenericLoopInfoImpl.h` rather than `GenericLoopInfo.h`, MSVC complains
whenever `LoopInfo.h` is included.
```
S:\llvm\llvm-project\llvm\include\llvm/Support/GenericLoopInfo.h(342): warning C4661: 'BlockT *llvm::LoopBase<BlockT,llvm::Loop>::getLoopLatch(void) const': no suitable definition provided for explicit template instantiation request
        with
        [
            BlockT=llvm::BasicBlock
        ]
S:\llvm\llvm-project\llvm\include\llvm/Support/GenericLoopInfo.h(326): note: see declaration of 'llvm::LoopBase<llvm::BasicBlock,llvm::Loop>::getLoopLatch'
```
Everything links fine but the warning is very noisy when building LLVM
as a Windows DLL. Interestingly, `clang-cl` does not warn here and is
fine with the code as-is.



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