<div dir="ltr">with llvm3.7<div><br></div><div><div>In file included from /usr/lib/llvm-3.7/include/clang/AST/Decl.h:17:0,</div><div>                 from /usr/lib/llvm-3.7/include/clang/AST/ASTTypeTraits.h:20,</div><div>                 from /usr/lib/llvm-3.7/include/clang/AST/ASTContext.h:18,</div><div>                 from /usr/lib/llvm-3.7/include/clang/Frontend/ASTUnit.h:18,</div><div>                 from /usr/lib/llvm-3.7/include/clang/Frontend/FrontendAction.h:24,</div><div>                 from /usr/lib/llvm-3.7/include/clang/CodeGen/CodeGenAction.h:13,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp:64:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getInt()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:202:34: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *(APSInt*)(char*)Data.buffer;</div><div>                                  ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getFloat()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:210:35: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *(APFloat*)(char*)Data.buffer;</div><div>                                   ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntReal()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:218:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPSInt*)(char*)Data.buffer)->Real;</div><div>                                                ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntImag()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:226:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPSInt*)(char*)Data.buffer)->Imag;</div><div>                                                ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatReal()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:234:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPFloat*)(char*)Data.buffer)->Real;</div><div>                                                 ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatImag()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:242:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPFloat*)(char*)Data.buffer)->Imag;</div><div>                                                 ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getVectorElt(unsigned int)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:261:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Vec*)(char*)Data.buffer)->Elts[I];</div><div>                                      ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getVectorLength() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:268:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Vec*)(const void *)Data.buffer)->NumElts;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayInitializedElt(unsigned int)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:274:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Arr*)(char*)Data.buffer)->Elts[I];</div><div>                                      ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayFiller()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:285:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Arr*)(char*)Data.buffer)->Elts[getArrayInitializedElts()];</div><div>                                      ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArrayInitializedElts() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:292:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Arr*)(const void *)Data.buffer)->NumElts;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArraySize() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:296:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Arr*)(const void *)Data.buffer)->ArrSize;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumBases() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:301:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const StructData*)(const char*)Data.buffer)->NumBases;</div><div>                                                         ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumFields() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:305:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const StructData*)(const char*)Data.buffer)->NumFields;</div><div>                                                         ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructBase(unsigned int)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:309:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((StructData*)(char*)Data.buffer)->Elts[i];</div><div>                                             ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructField(unsigned int)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:313:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((StructData*)(char*)Data.buffer)->Elts[getStructNumBases() + i];</div><div>                                             ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const clang::FieldDecl* clang::APValue::getUnionField() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:324:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const UnionData*)(const char*)Data.buffer)->Field;</div><div>                                                        ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getUnionValue()’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:328:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *((UnionData*)(char*)Data.buffer)->Value;</div><div>                                             ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:340:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->LHSExpr;</div><div>                                                                ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS() const’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:344:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->RHSExpr;</div><div>                                                                ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setInt(clang::APValue::APSInt)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:349:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *(APSInt *)(char *)Data.buffer = std::move(I);</div><div>                             ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setFloat(clang::APValue::APFloat)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:353:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *(APFloat *)(char *)Data.buffer = std::move(F);</div><div>                              ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setVector(const clang::APValue*, unsigned int)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:357:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((Vec*)(char*)Data.buffer)->Elts = new APValue[N];</div><div>                               ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:358:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((Vec*)(char*)Data.buffer)->NumElts = N;</div><div>                               ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:360:33: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>       ((Vec*)(char*)Data.buffer)->Elts[i] = E[i];</div><div>                                 ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexInt(clang::APValue::APSInt, clang::APValue::APSInt)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:366:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPSInt *)(char *)Data.buffer)->Real = std::move(R);</div><div>                                           ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:367:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPSInt *)(char *)Data.buffer)->Imag = std::move(I);</div><div>                                           ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexFloat(clang::APValue::APFloat, clang::APValue::APFloat)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:373:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPFloat *)(char *)Data.buffer)->Real = std::move(R);</div><div>                                            ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:374:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);</div><div>                                            ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setUnion(const clang::FieldDecl*, const clang::APValue&)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:383:37: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((UnionData*)(char*)Data.buffer)->Field = Field;</div><div>                                     ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:384:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *((UnionData*)(char*)Data.buffer)->Value = Value;</div><div>                                      ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setAddrLabelDiff(const clang::AddrLabelExpr*, const clang::AddrLabelExpr*)’:</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:388:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((AddrLabelDiffData*)(char*)Data.buffer)->LHSExpr = LHSExpr;</div><div>                                             ^</div><div>/usr/lib/llvm-3.7/include/clang/AST/APValue.h:389:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((AddrLabelDiffData*)(char*)Data.buffer)->RHSExpr = RHSExpr;</div><div>                                             ^</div><div>In file included from /home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/vector.hpp:28:0,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/./ir/register.hpp:27,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/./ir/instruction.hpp:27,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/./backend/context.hpp:23,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.hpp:29,</div><div>                 from /home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp:26:</div><div>/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h: At global scope:</div><div>/home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token</div><div> #define MB (KB*KB)</div><div>            ^</div><div>/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h:67:70: note: in expansion of macro ‘MB’</div><div>   static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,</div><div>                                                                      ^</div><div>/home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token</div><div> #define MB (KB*KB)</div><div>            ^</div><div>/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h:92:34: note: in expansion of macro ‘MB’</div><div>   bool parse(const MemoryBuffer *MB, std::string &Error);</div><div>                                  ^</div><div>/home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp: In function ‘bool gbe::buildModuleFromSource(const char*, llvm::Module**, llvm::LLVMContext*, std::vector<std::basic_string<char> >&, size_t, char*, size_t*)’:</div><div>/home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp:624:44: error: cannot convert ‘std::unique_ptr<llvm::Module>’ to ‘llvm::Module*’ in initialization</div><div>     llvm::Module *module = Act->takeModule();</div><div>                                            ^</div><div><span>backend/src/CMakeFiles/<a class="" href="http://gbe.dir/build.make:586">gbe.dir/build.make:586</a>: recipe for target 'backend/src/CMakeFiles/<a class="" href="http://gbe.dir/backend/program.cpp.o">gbe.dir/backend/program.cpp.o</a>' failed</span></div><div><span>make[3]: *** [backend/src/CMakeFiles/<a class="" href="http://gbe.dir/backend/program.cpp.o">gbe.dir/backend/program.cpp.o</a>] Error 1</span></div><div>make[3]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'</div><div><span>CMakeFiles/Makefile2:115: recipe for target 'backend/src/CMakeFiles/<a class="" href="http://gbe.dir/all">gbe.dir/all</a>' failed</span></div><div><span>make[2]: *** [backend/src/CMakeFiles/<a class="" href="http://gbe.dir/all">gbe.dir/all</a>] Error 2</span></div><div>make[2]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'</div><div>Makefile:126: recipe for target 'all' failed</div><div>make[1]: *** [all] Error 2</div><div>make[1]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'</div><div>dh_auto_build: make -j1 returned exit code 2</div><div>debian/rules:8: recipe for target 'build' failed</div><div>make: *** [build] Error 2</div><div>dpkg-buildpackage: error: debian/rules build gave error exit status 2</div><div>debuild: fatal error at line 1364:</div><div>dpkg-buildpackage -rfakeroot -d -us -uc failed</div></div><div><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">| Paulo Dias<div>| <a href="mailto:paulo.miguel.dias@gmail.com" target="_blank">paulo.miguel.dias@gmail.com</a><br><p><b><i><span style="font-size:8pt;font-family:Arial,sans-serif;background-color:white;background-repeat:initial initial">Tempora mutantur, nos et mutamur in illis.</span></i></b><span style="font-size:8.0pt"></span></p></div></div></div>
<br><div class="gmail_quote">On Mon, Feb 2, 2015 at 4:32 PM, Paulo Dias <span dir="ltr"><<a href="mailto:paulo.miguel.dias@gmail.com" target="_blank">paulo.miguel.dias@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi, im still unable to compile beignet with llvm 3.6/3.7 git.<div><br></div><div>I get this errors:</div><div><br></div><div><span class=""><div>In file included from /usr/lib/llvm-3.6/include/clang/AST/Decl.h:17:0,</div><div>                 from /usr/lib/llvm-3.6/include/clang/AST/ASTTypeTraits.h:20,</div><div>                 from /usr/lib/llvm-3.6/include/clang/AST/ASTContext.h:18,</div><div>                 from /usr/lib/llvm-3.6/include/clang/Frontend/ASTUnit.h:18,</div><div>                 from /usr/lib/llvm-3.6/include/clang/Frontend/FrontendAction.h:24,</div><div>                 from /usr/lib/llvm-3.6/include/clang/CodeGen/CodeGenAction.h:13,</div></span><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:64:</div><div><div class="h5"><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getInt()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:202:34: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *(APSInt*)(char*)Data.buffer;</div><div>                                  ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getFloat()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:210:35: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *(APFloat*)(char*)Data.buffer;</div><div>                                   ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntReal()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:218:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPSInt*)(char*)Data.buffer)->Real;</div><div>                                                ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntImag()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:226:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPSInt*)(char*)Data.buffer)->Imag;</div><div>                                                ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatReal()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:234:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPFloat*)(char*)Data.buffer)->Real;</div><div>                                                 ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatImag()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:242:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((ComplexAPFloat*)(char*)Data.buffer)->Imag;</div><div>                                                 ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getVectorElt(unsigned int)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:261:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Vec*)(char*)Data.buffer)->Elts[I];</div><div>                                      ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getVectorLength() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:268:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Vec*)(const void *)Data.buffer)->NumElts;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayInitializedElt(unsigned int)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:274:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Arr*)(char*)Data.buffer)->Elts[I];</div><div>                                      ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayFiller()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:285:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((Arr*)(char*)Data.buffer)->Elts[getArrayInitializedElts()];</div><div>                                      ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArrayInitializedElts() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:292:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Arr*)(const void *)Data.buffer)->NumElts;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArraySize() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:296:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const Arr*)(const void *)Data.buffer)->ArrSize;</div><div>                                                   ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumBases() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:301:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const StructData*)(const char*)Data.buffer)->NumBases;</div><div>                                                         ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumFields() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:305:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const StructData*)(const char*)Data.buffer)->NumFields;</div><div>                                                         ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructBase(unsigned int)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:309:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((StructData*)(char*)Data.buffer)->Elts[i];</div><div>                                             ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructField(unsigned int)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:313:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((StructData*)(char*)Data.buffer)->Elts[getStructNumBases() + i];</div><div>                                             ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::FieldDecl* clang::APValue::getUnionField() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:324:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const UnionData*)(const char*)Data.buffer)->Field;</div><div>                                                        ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getUnionValue()’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:328:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return *((UnionData*)(char*)Data.buffer)->Value;</div><div>                                             ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:340:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->LHSExpr;</div><div>                                                                ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS() const’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:344:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->RHSExpr;</div><div>                                                                ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setInt(clang::APValue::APSInt)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:349:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *(APSInt *)(char *)Data.buffer = std::move(I);</div><div>                             ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setFloat(clang::APValue::APFloat)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:353:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *(APFloat *)(char *)Data.buffer = std::move(F);</div><div>                              ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setVector(const clang::APValue*, unsigned int)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:357:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((Vec*)(char*)Data.buffer)->Elts = new APValue[N];</div><div>                               ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:358:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((Vec*)(char*)Data.buffer)->NumElts = N;</div><div>                               ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:360:33: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>       ((Vec*)(char*)Data.buffer)->Elts[i] = E[i];</div><div>                                 ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexInt(clang::APValue::APSInt, clang::APValue::APSInt)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:366:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPSInt *)(char *)Data.buffer)->Real = std::move(R);</div><div>                                           ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:367:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPSInt *)(char *)Data.buffer)->Imag = std::move(I);</div><div>                                           ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexFloat(clang::APValue::APFloat, clang::APValue::APFloat)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:373:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPFloat *)(char *)Data.buffer)->Real = std::move(R);</div><div>                                            ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:374:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);</div><div>                                            ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setUnion(const clang::FieldDecl*, const clang::APValue&)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:383:37: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((UnionData*)(char*)Data.buffer)->Field = Field;</div><div>                                     ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:384:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     *((UnionData*)(char*)Data.buffer)->Value = Value;</div><div>                                      ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setAddrLabelDiff(const clang::AddrLabelExpr*, const clang::AddrLabelExpr*)’:</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:388:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((AddrLabelDiffData*)(char*)Data.buffer)->LHSExpr = LHSExpr;</div><div>                                             ^</div><div>/usr/lib/llvm-3.6/include/clang/AST/APValue.h:389:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]</div><div>     ((AddrLabelDiffData*)(char*)Data.buffer)->RHSExpr = RHSExpr;</div><div>                                             ^</div></div></div><span class=""><div>In file included from /home/groo/devel/intel/beignet/beignet/backend/src/./sys/vector.hpp:28:0,</div><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/./ir/register.hpp:27,</div><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/./ir/instruction.hpp:27,</div><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/./backend/context.hpp:23,</div><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.hpp:29,</div><div>                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:26:</div><div>/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h: At global scope:</div><div>/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token</div><div> #define MB (KB*KB)</div><div>            ^</div><div>/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:67:70: note: in expansion of macro ‘MB’</div><div>   static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,</div><div>                                                                      ^</div><div>/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token</div><div> #define MB (KB*KB)</div><div>            ^</div><div>/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:92:34: note: in expansion of macro ‘MB’</div><div>   bool parse(const MemoryBuffer *MB, std::string &Error);</div><div>                                  ^</div><div>/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp: In function ‘bool gbe::buildModuleFromSource(const char*, llvm::Module**, llvm::LLVMContext*, std::vector<std::basic_string<char> >&, size_t, char*, size_t*)’:</div></span><div>/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:624:44: error: cannot convert ‘std::unique_ptr<llvm::Module>’ to ‘llvm::Module*’ in initialization</div><span class=""><div>     llvm::Module *module = Act->takeModule();</div><div>                                            ^</div><div><span>backend/src/CMakeFiles/<a href="http://gbe.dir/build.make:586" target="_blank">gbe.dir/build.make:586</a>: recipe for target 'backend/src/CMakeFiles/<a href="http://gbe.dir/backend/program.cpp.o" target="_blank">gbe.dir/backend/program.cpp.o</a>' failed</span></div></span><span class=""><div><span>make[3]: *** [backend/src/CMakeFiles/<a href="http://gbe.dir/backend/program.cpp.o" target="_blank">gbe.dir/backend/program.cpp.o</a>] Error 1</span></div></span><div>make[3]: Leaving directory '/home/groo/devel/intel/beignet/beignet'</div><div><span>CMakeFiles/Makefile2:115: recipe for target 'backend/src/CMakeFiles/<a href="http://gbe.dir/all" target="_blank">gbe.dir/all</a>' failed</span></div><div><span>make[2]: *** [backend/src/CMakeFiles/<a href="http://gbe.dir/all" target="_blank">gbe.dir/all</a>] Error 2</span></div></div><div><br></div><div>can you take a look at this?</div><div><br></div><div>thanks in advance :)</div><div class="gmail_extra"><span class=""><br clear="all"><div><div>| Paulo Dias<div>| <a href="mailto:paulo.miguel.dias@gmail.com" target="_blank">paulo.miguel.dias@gmail.com</a><br><p><b><i><span style="font-size:8pt;font-family:Arial,sans-serif;background-color:white;background-repeat:initial initial">Tempora mutantur, nos et mutamur in illis.</span></i></b><span style="font-size:8.0pt"></span></p></div></div></div>
<br></span><div><div class="h5"><div class="gmail_quote">On Tue, Dec 16, 2014 at 12:19 AM, Yang, Rong R <span dir="ltr"><<a href="mailto:rong.r.yang@intel.com" target="_blank">rong.r.yang@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I planned to support llvm3.6 before. But after fix all llvm3.6 compiler errors, there are some beignet’s utests fails.<u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Because llvm 3.6 seems has some bugs in that time and it’s release schedule delayed, I pending it.<u></u><u></u></span></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Now, I will restart supporting and need some time.<u></u><u></u></span></p>
<p class="MsoNormal"><a name="14b4b910e2c5eee5_14a50e4d7f1b5df9__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></a></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks<u></u><u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Beignet [mailto:<a href="mailto:beignet-bounces@lists.freedesktop.org" target="_blank">beignet-bounces@lists.freedesktop.org</a>]
<b>On Behalf Of </b>Paulo Dias<br>
<b>Sent:</b> Monday, December 15, 2014 19:47<br>
<b>To:</b> Zhenyu Wang; Yang, Rong R<br>
<b>Cc:</b> <a href="mailto:junyan.he@linux.intel.com" target="_blank">junyan.he@linux.intel.com</a>; <a href="mailto:beignet@lists.freedesktop.org" target="_blank">beignet@lists.freedesktop.org</a><br>
<b>Subject:</b> Re: [Beignet] beignet doesnt compile with LLVM 3.6<u></u><u></u></span></p>
</div>
</div><div><div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Hi to you,<br>
<br>
sorry to bother you guys again, but llvm 3.6 is almost out and beignet still doesnt compile with the latest git:<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">In file included from /home/groo/devel/intel/beignet/beignet/backend/src/./sys/vector.hpp:28:0,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                 from /home/groo/devel/intel/beignet/beignet/backend/src/./ir/register.hpp:27,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                 from /home/groo/devel/intel/beignet/beignet/backend/src/./ir/instruction.hpp:27,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                 from /home/groo/devel/intel/beignet/beignet/backend/src/./backend/context.hpp:23,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.hpp:29,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:26:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h: At global scope:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> #define MB (KB*KB)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ^<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:67:70: note: in expansion of macro ‘MB’<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                                                                      ^<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: error: expected ‘,’ or ‘...’ before ‘(’ token<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> #define MB (KB*KB)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            ^<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:92:34: note: in expansion of macro ‘MB’<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">   bool parse(const MemoryBuffer *MB, std::string &Error);<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                                  ^<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp: In function ‘bool gbe::buildModuleFromSource(const char*, llvm::Module**, llvm::LLVMContext*, std::vector<std::basic_string<char> >&, size_t, char*, size_t*)’:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:614:44: error: cannot convert ‘std::unique_ptr<llvm::Module>’ to ‘llvm::Module*’ in initialization<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">     llvm::Module *module = Act->takeModule();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">                                            ^<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">backend/src/CMakeFiles/<a href="http://gbe.dir/build.make:586" target="_blank">gbe.dir/build.make:586</a>: recipe for target 'backend/src/CMakeFiles/<a href="http://gbe.dir/backend/program.cpp.o" target="_blank">gbe.dir/backend/program.cpp.o</a>' failed<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">make[2]: *** [backend/src/CMakeFiles/<a href="http://gbe.dir/backend/program.cpp.o" target="_blank">gbe.dir/backend/program.cpp.o</a>] Error 1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">CMakeFiles/Makefile2:114: recipe for target 'backend/src/CMakeFiles/<a href="http://gbe.dir/all" target="_blank">gbe.dir/all</a>' failed<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">could you guys take a look at it?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">thanks in advance<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Paulo Dias<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Tue Nov 04 2014 at 5:18:25 AM Zhenyu Wang <<a href="mailto:zhenyuw@linux.intel.com" target="_blank">zhenyuw@linux.intel.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">On 2014.11.03 08:46:41 +0000, Yang, Rong R wrote:<br>
> Yes, some errors is because llvm use std:: unique_ptr as some function’s return<br>
> value instead of the normal ptr, there are some other errors after fix std::<br>
> unique_ptr error.<br>
><br>
> As we notice that LLVM plan to release LLVM/Clang 3.6 soon, suppose the LLVM<br>
> 3.6 approach to stable now, I am working to support LLVM 3.6 now. Hope could<br>
> finish it soon.<br>
><br>
<br>
One option is to explicitly say the llvm version that beignet does support<br>
and refuse to go on otherwise, like below one?<br>
<br>
From: Zhenyu Wang <<a href="mailto:zhenyuw@linux.intel.com" target="_blank">zhenyuw@linux.intel.com</a>><br>
Date: Tue, 4 Nov 2014 15:14:44 +0800<br>
Subject: [PATCH] Explicitly check LLVM version when building<br>
<br>
Instead of allowing for failure attemps to build with llvm unstable<br>
version this trys to explicitly tell the llvm version that beignet support.<br>
<br>
Signed-off-by: Zhenyu Wang <<a href="mailto:zhenyuw@linux.intel.com" target="_blank">zhenyuw@linux.intel.com</a>><br>
---<br>
 CMakeLists.txt | 3 +++<br>
 1 file changed, 3 insertions(+)<br>
<br>
diff --git a/CMakeLists.txt b/CMakeLists.txt<br>
index 40cb74c..7059b2b 100644<br>
--- a/CMakeLists.txt<br>
+++ b/CMakeLists.txt<br>
@@ -94,6 +94,9 @@ set (CMAKE_C_FLAGS_RELEASE        "-O2 -DNDEBUG -DGBE_DEBUG=0")<br>
 # Front end stuff we need<br>
 #INCLUDE(CMake/FindLLVM.cmake)<br>
 Find_Package(LLVM 3.3)<br>
+IF(LLVM_VERSION VERSION_GREATER 3.5)<br>
+  MESSAGE(FATAL_ERROR "Don't support LLVM > 3.5 now.")<br>
+ENDIF(LLVM_VERSION VERSION_GREATER 3.5)<br>
<br>
 set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${LLVM_LDFLAGS}")<br>
<br>
--<br>
2.1.1<br>
<br>
--<br>
Open Source Technology Center, Intel ltd.<br>
<br>
$gpg --keyserver <a href="http://wwwkeys.pgp.net" target="_blank">wwwkeys.pgp.net</a> --recv-keys 4D781827<u></u><u></u></p>
</blockquote>
</div>
</div></div></div>
</div>
</div>

</blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>