[all-commits] [llvm/llvm-project] 261a40: [Flang][OpenMP] Use internal linkage for OpenMP co...

Michael Klemm via All-commits all-commits at lists.llvm.org
Thu Nov 28 08:29:19 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 261a4026e8a367eda229879838709b92abaf445c
      https://github.com/llvm/llvm-project/commit/261a4026e8a367eda229879838709b92abaf445c
  Author: Michael Klemm <michael.klemm at amd.com>
  Date:   2024-11-28 (Thu, 28 Nov 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
    M flang/test/Integration/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate2.f90
    M flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir

  Log Message:
  -----------
  [Flang][OpenMP] Use internal linkage for OpenMP code-gen'ed helper functions (#117911)

When compiling WORKSHARE construct in different compilation units, a
linker error happened, when two equal WORKSHARE constructs with a copy
operation have been compiled:

```
/usr/bin/ld: module2.o: in function `_workshare_copy_f64':
FIRModule:(.text+0x0): multiple definition of `_workshare_copy_f64'; module1.o:FIRModule:(.text+0x0): first defined here
```

Reason is that the generate copy function has the wrong linkage:

```
0000000000000000 T _workshare_copy_f64
```

while it should be

```
0000000000000000 t _workshare_copy_f64
```



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