Issue 141404
Summary [mlir] ODR violation in Pass.h
Labels mlir
Assignees
Reporter imwints
    Downstream bug report https://bugs.gentoo.org/956603

```
/dev/shm/portage/llvm-core/mlir-21.0.0_pre20250523/work/mlir/include/mlir/Pass/Pass.h:400:7: error: virtual table of type ‘struct OperationPass’ violates one definition rule [-Werror=odr]
  400 | class OperationPass<void> : public Pass {
      |       ^
/dev/shm/portage/llvm-core/mlir-21.0.0_pre20250523/work/mlir/include/mlir/Pass/Pass.h:400:7: note: the conflicting type defined in another translation unit
  400 | class OperationPass<void> : public Pass {
      |       ^
/dev/shm/portage/llvm-core/mlir-21.0.0_pre20250523/work/mlir/include/mlir/Pass/Pass.h:189:25: note: virtual method ‘initialize’
  189 |   virtual LogicalResult initialize(MLIRContext *context) { return success(); }
      |                         ^
<built-in>: note: ought to match virtual method ‘__cxa_pure_virtual’ but does not
lto1: some warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-g++ returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/15/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
```

According to https://wiki.gentoo.org/wiki/LTO we should enable `-Werror=odr` to detect possible runtime issues.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to