zeno icon indicating copy to clipboard operation
zeno copied to clipboard

error: capturing a structured binding is not yet supported in OpenMP on FreeBSD

Open Martinfx opened this issue 1 year ago • 2 comments

Describe the bug (both Chinese and English are OK)

hi, I tried to build the last tag. It is a problem with OpenMP

rc/nodes/neo/PrimUnmerge.cpp.o -c /wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:237:35: warning: captured structured bindings are a C++20 extension [-Wc++20-extensions]
  237 |                     arr[i] = attr[val[i]];
      |                                   ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:227:26: note: 'val' declared here
  227 |         for (auto &[key, val]: mapping) {
      |                          ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:237:35: error: capturing a structured binding is not yet supported in OpenMP
  237 |                     arr[i] = attr[val[i]];
      |                                   ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:227:26: note: 'val' declared here
  227 |         for (auto &[key, val]: mapping) {
      |                          ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:261:35: warning: captured structured bindings are a C++20 extension [-Wc++20-extensions]
  261 |                     arr[i] = attr[val[i]];
      |                                   ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:251:26: note: 'val' declared here
  251 |         for (auto &[key, val]: mapping) {
      |                          ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:261:35: error: capturing a structured binding is not yet supported in OpenMP
  261 |                     arr[i] = attr[val[i]];
      |                                   ^
/wrkdirs/usr/ports/graphics/zeno/work/zeno-2024.10.1/zeno/src/nodes/neo/PrimUnmerge.cpp:251:26: note: 'val' declared here
  251 |         for (auto &[key, val]: mapping) {
      |                          ^
2 warnings and 2 errors generated.

Environment

  • System: FreeBSD 13.3. , FreeBSD clang version 17.0.6 (https://github.com/llvm/llvm-project.git llvmorg-17.0.6-0-g6009708b4367)

  • Zeno Version: zeno-2024.10.1/

  • Graphics card (for viewport bugs): NVIDIA GeForce GTX 1060 6GB

-- Found OpenMP_C: -fopenmp=libomp (found version "5.1") -- Found OpenMP_CXX: -fopenmp=libomp (found version "5.1") -- Found OpenMP: TRUE (found version "5.1") -- Found OpenMP::OpenMP_CXX

Martinfx avatar Oct 05 '24 19:10 Martinfx

Same here on FreeBSD 14.1-p6 amd64 with clang 18.1.5.

This commit added lines with error: https://github.com/zenustech/zeno/commit/5c493ad1d80688af55c5035492005c2a4c4285e7

VVD avatar Nov 20 '24 16:11 VVD

https://github.com/llvm/llvm-project/issues/33025

VVD avatar Nov 20 '24 17:11 VVD