llvm-3.4 build error
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp: In function ‘llvm::AtomicOrdering mapFromLLVMOrdering(LLVMAtomicOrdering)’:
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp:811:51: error: ‘llvm::AtomicOrdering’ is not a class or namespace
case LLVMAtomicOrderingNotAtomic: return llvm::AtomicOrdering::NotAtomic;
2a55acbc1de0b8d1901988ee4f17d5697519c2d2 is the first bad commit
Author: Dave Airlie <email@example.com>
Date: Tue Jul 2 07:10:53 2019 +1000
gallivm: add compare exchange wrapper
This just pulls the wrapper from LLVM for older versions
Reviewed-by: Roland Scheidegger <firstname.lastname@example.org>
:040000 040000 cee7aedaa0ddff70fc6ab1b45205ed5d9d7bf771 4aa821efcbb5ee85301518e72b79afb636a1fd0f M src
bisect run success
Seems like different llvm versions (before 5.0) need different wrappers for AtomicCmpXchg(). Pretty much the same issue as bug 111102.
Although I can't reproduce this bug actually, maybe depends on compiler. (I can reproduce the other one, for llvm 3.5-3.8 the function parameters are wrong.)
Though I'm wondering if we actually need a mapping function, isn't it possible to just static cast the c enum to the class enum (as in (llvm::AtomicOrdering)SuccessOrdering)?
Any idea why the GitLab CI pipeline scons-llvm job doesn't hit this, which builds against LLVM 3.4.2? (See e.g. https://gitlab.freedesktop.org/mesa/mesa/-/jobs/460746)
It could be due to different default C++ standards used in different compilers.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/251.