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 commit 2a55acbc1de0b8d1901988ee4f17d5697519c2d2 Author: Dave Airlie <airlied@redhat.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 <sroland@vmware.com> :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.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.