[PATCH] D106674: Runtime for Interop directive
Andrey Churbanov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 28 02:24:36 PST 2022
AndreyChurbanov added inline comments.
================
Comment at: openmp/runtime/src/dllexports:553
+ omp_get_interop_ptr 761
+ omp_get_interop_str 762
----------------
mstorsjo wrote:
> mstorsjo wrote:
> > jdoerfert wrote:
> > > Those values are taken by now, you need new values that are not taken yet.
> > This broke building for Windows:
> > ```
> > generate-def.pl: (x) Error parsing file "llvm-project/openmp/runtime/src/dllexports" line 556:
> > generate-def.pl: (x) omp_get_interop_int 2514
> > generate-def.pl: (x) Ordinal of user-callable entry must be < 1000
> > ```
> >
> ... and even with those ordinals changed to something in the right range, the build later fails with linker errors:
> ```
> ld.lld: error: <root>: undefined symbol: OMP_GET_INTEROP_INT
> ld.lld: error: <root>: undefined symbol: OMP_GET_INTEROP_PTR
> ld.lld: error: <root>: undefined symbol: OMP_GET_INTEROP_STR
> ```
> So please fix the Windows build of OpenMP, before the 14.x branch is made early next week.
As the warning says these should be < 1000, because lowercase are automatically replicated in uppercase adding +1000 to the ordinal and still be < 2000 (for some particular Fortran usages).
There are free ordinals below 1000 starting at 807. So, e.g. 807, 808, etc. should work fine.
Actually these interfaces described as "C/C++"-only in the specification, so there is no need to provide Fortran-specific versions, though it should not harm. Probably making them C-only does not worth efforts for now.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D106674/new/
https://reviews.llvm.org/D106674
More information about the llvm-commits
mailing list