[Mesa-dev] [PATCH] clover: Fix build against clang SVN >= r299965

Alan Swanson reiver at improbability.net
Thu Apr 13 14:57:20 UTC 2017


On Thu, 2017-04-13 at 13:00 +0900, Michel Dänzer wrote:
> On 13/04/17 03:15 AM, Francisco Jerez wrote:
> > Michel Dänzer <michel at daenzer.net> writes:
> > 
> > > From: Michel Dänzer <michel.daenzer at amd.com>
> > > 
> > > clang::LangAS::Offset is gone, the behaviour is as if it was 0.
> > > Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> > > ---
> > >  src/gallium/state_trackers/clover/llvm/codegen/common.cpp | 5
> > > ++++-
> > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > > 
> > > diff --git
> > > a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
> > > b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
> > > index 13ccd591c1..9c81cc5acb 100644
> > > --- a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
> > > +++ b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp
> > > @@ -129,7 +129,10 @@ namespace {
> > >                    cast<::llvm::PointerType>(actual_type)-
> > > >getAddressSpace();
> > >  
> > >                 if (address_space ==
> > > address_spaces[clang::LangAS::opencl_local
> > > -                                                   -
> > > clang::LangAS::Offset]) {
> > > +#if HAVE_LLVM < 0x0500
> > > +                                                   -
> > > clang::LangAS::Offset
> > > +#endif
> > 
> > Please let's not obfuscate this further with compatibility
> > preprocessor
> > conditionals mid-expression, you could instead add a conditional
> > define
> > into the llvm/compat.hpp file along the lines of:
> > 
> > +#if HAVE_LLVM >= 0x0500
> > +         const auto lang_as_offset = 0;
> > +#else
> > +         const auto lang_as_offset = clang::LangAS::Offset;
> > +#endif
> > 
> > With that cleaned up patch is:
> > 
> > Reviewed-by: Francisco Jerez <currojerez at riseup.net>
> 
> Pushed v2, which is hopefully what you were thinking of, thanks!

Hi Michael.

You need to add a "#include <clang/Basic/AddressSpaces.h>" to
compat.hpp as it's failing to build with LLVM 4.0 as LangAS is
undefined.

-- 
Cheers, Alan.


More information about the mesa-dev mailing list