Closed gulivarese closed 11 months ago
@albestro @msimberg I don't see any problem regarding lines https://github.com/eth-cscs/DLA-Future/blob/master/include/dlaf/eigensolver/tridiag_solver/merge.h#L1171-L1178
Can you please confirm that it is valid C++.
If yes, I don't know if we should invest time in making apple-clang
work.
@rasolca I don't know if that is for some reason not guaranteed to work by the standard, but it does look reasonable to me as well.
That said, I would guess that moving the struct definition outside of the lambda and solveRank1ProblemDist
would most likely fix the linker error. If that's enough to fix it I'd consider it worth the workaround to make apple-clang
work. If it's more complicated than that I'm not as sure anymore...
Update: clang 17 fails as well. Therefore I will increase the priority of this issue. Anyway, I implemented a quick workaround for @gulivarese such that he can continue with his task.
Not sure it is related, but from a very quick look it seems very similar: error is the same and code looks almost the same as our one.
https://github.com/llvm/llvm-project/issues/59734
Unfortunately no solution there and the issue is almost 1 year old, but at least it looks like something known.
High likely, this is the problem. @rasolca tested this with clang@14
and it works, while with clang@16
it complains (as expected, since it is a clang@15
regression).
I would go for just extracting that struct definition from the lambda, not a big deal. If you approve @rasolca @msimberg with a 👍, I can take care of it 😉