[Beignet] beignet doesnt compile with LLVM 3.6
Paulo Dias
paulo.miguel.dias at gmail.com
Mon Feb 2 10:43:27 PST 2015
with llvm3.7
In file included from /usr/lib/llvm-3.7/include/clang/AST/Decl.h:17:0,
from
/usr/lib/llvm-3.7/include/clang/AST/ASTTypeTraits.h:20,
from /usr/lib/llvm-3.7/include/clang/AST/ASTContext.h:18,
from /usr/lib/llvm-3.7/include/clang/Frontend/ASTUnit.h:18,
from
/usr/lib/llvm-3.7/include/clang/Frontend/FrontendAction.h:24,
from
/usr/lib/llvm-3.7/include/clang/CodeGen/CodeGenAction.h:13,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp:64:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APSInt& clang::APValue::getInt()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:202:34: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return *(APSInt*)(char*)Data.buffer;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APFloat& clang::APValue::getFloat()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:210:35: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return *(APFloat*)(char*)Data.buffer;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APSInt& clang::APValue::getComplexIntReal()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:218:48: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((ComplexAPSInt*)(char*)Data.buffer)->Real;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APSInt& clang::APValue::getComplexIntImag()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:226:48: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((ComplexAPSInt*)(char*)Data.buffer)->Imag;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APFloat& clang::APValue::getComplexFloatReal()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:234:49: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((ComplexAPFloat*)(char*)Data.buffer)->Real;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue::APFloat& clang::APValue::getComplexFloatImag()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:242:49: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((ComplexAPFloat*)(char*)Data.buffer)->Imag;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getVectorElt(unsigned int)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:261:38: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((Vec*)(char*)Data.buffer)->Elts[I];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned
int clang::APValue::getVectorLength() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:268:51: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const Vec*)(const void *)Data.buffer)->NumElts;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getArrayInitializedElt(unsigned int)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:274:38: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((Arr*)(char*)Data.buffer)->Elts[I];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getArrayFiller()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:285:38: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((Arr*)(char*)Data.buffer)->Elts[getArrayInitializedElts()];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned
int clang::APValue::getArrayInitializedElts() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:292:51: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const Arr*)(const void *)Data.buffer)->NumElts;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned
int clang::APValue::getArraySize() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:296:51: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const Arr*)(const void *)Data.buffer)->ArrSize;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned
int clang::APValue::getStructNumBases() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:301:57: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const StructData*)(const char*)Data.buffer)->NumBases;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘unsigned
int clang::APValue::getStructNumFields() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:305:57: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const StructData*)(const char*)Data.buffer)->NumFields;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getStructBase(unsigned int)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:309:45: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((StructData*)(char*)Data.buffer)->Elts[i];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getStructField(unsigned int)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:313:45: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((StructData*)(char*)Data.buffer)->Elts[getStructNumBases() +
i];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const
clang::FieldDecl* clang::APValue::getUnionField() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:324:56: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const UnionData*)(const char*)Data.buffer)->Field;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function
‘clang::APValue& clang::APValue::getUnionValue()’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:328:45: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return *((UnionData*)(char*)Data.buffer)->Value;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const
clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:340:64: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const AddrLabelDiffData*)(const char*)Data.buffer)->LHSExpr;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘const
clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS() const’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:344:64: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
return ((const AddrLabelDiffData*)(const char*)Data.buffer)->RHSExpr;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setInt(clang::APValue::APSInt)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:349:29: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
*(APSInt *)(char *)Data.buffer = std::move(I);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setFloat(clang::APValue::APFloat)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:353:30: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
*(APFloat *)(char *)Data.buffer = std::move(F);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setVector(const clang::APValue*, unsigned int)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:357:31: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((Vec*)(char*)Data.buffer)->Elts = new APValue[N];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:358:31: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((Vec*)(char*)Data.buffer)->NumElts = N;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:360:33: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((Vec*)(char*)Data.buffer)->Elts[i] = E[i];
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setComplexInt(clang::APValue::APSInt,
clang::APValue::APSInt)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:366:43: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((ComplexAPSInt *)(char *)Data.buffer)->Real = std::move(R);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:367:43: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((ComplexAPSInt *)(char *)Data.buffer)->Imag = std::move(I);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setComplexFloat(clang::APValue::APFloat,
clang::APValue::APFloat)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:373:44: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((ComplexAPFloat *)(char *)Data.buffer)->Real = std::move(R);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:374:44: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setUnion(const clang::FieldDecl*, const clang::APValue&)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:383:37: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((UnionData*)(char*)Data.buffer)->Field = Field;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:384:38: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
*((UnionData*)(char*)Data.buffer)->Value = Value;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h: In member function ‘void
clang::APValue::setAddrLabelDiff(const clang::AddrLabelExpr*, const
clang::AddrLabelExpr*)’:
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:388:45: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((AddrLabelDiffData*)(char*)Data.buffer)->LHSExpr = LHSExpr;
^
/usr/lib/llvm-3.7/include/clang/AST/APValue.h:389:45: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
((AddrLabelDiffData*)(char*)Data.buffer)->RHSExpr = RHSExpr;
^
In file included from
/home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/vector.hpp:28:0,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/./ir/register.hpp:27,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/./ir/instruction.hpp:27,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/./backend/context.hpp:23,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.hpp:29,
from
/home/groo/devel/intel/beignet/beignet_test/backend/src/backend/program.cpp:26:
/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h: At global scope:
/home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/platform.hpp:263:12:
error: expected ‘,’ or ‘...’ before ‘(’ token
#define MB (KB*KB)
^
/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h:67:70: note: in
expansion of macro ‘MB’
static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,
^
/home/groo/devel/intel/beignet/beignet_test/backend/src/./sys/platform.hpp:263:12:
error: expected ‘,’ or ‘...’ before ‘(’ token
#define MB (KB*KB)
^
/usr/lib/llvm-3.7/include/llvm/Support/SpecialCaseList.h:92:34: note: in
expansion of macro ‘MB’
bool parse(const MemoryBuffer *MB, std::string &Error);
^
/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*)’:
/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
llvm::Module *module = Act->takeModule();
^
backend/src/CMakeFiles/gbe.dir/build.make:586: recipe for target
'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o' failed
make[3]: *** [backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o] Error 1
make[3]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'
CMakeFiles/Makefile2:115: recipe for target 'backend/src/CMakeFiles/
gbe.dir/all' failed
make[2]: *** [backend/src/CMakeFiles/gbe.dir/all] Error 2
make[2]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'
Makefile:126: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/groo/devel/intel/beignet/beignet_test'
dh_auto_build: make -j1 returned exit code 2
debian/rules:8: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -d -us -uc failed
| Paulo Dias
| paulo.miguel.dias at gmail.com
*Tempora mutantur, nos et mutamur in illis.*
On Mon, Feb 2, 2015 at 4:32 PM, Paulo Dias <paulo.miguel.dias at gmail.com>
wrote:
> Hi, im still unable to compile beignet with llvm 3.6/3.7 git.
>
> I get this errors:
>
> In file included from /usr/lib/llvm-3.6/include/clang/AST/Decl.h:17:0,
> from
> /usr/lib/llvm-3.6/include/clang/AST/ASTTypeTraits.h:20,
> from /usr/lib/llvm-3.6/include/clang/AST/ASTContext.h:18,
> from
> /usr/lib/llvm-3.6/include/clang/Frontend/ASTUnit.h:18,
> from
> /usr/lib/llvm-3.6/include/clang/Frontend/FrontendAction.h:24,
> from
> /usr/lib/llvm-3.6/include/clang/CodeGen/CodeGenAction.h:13,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:64:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APSInt& clang::APValue::getInt()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:202:34: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return *(APSInt*)(char*)Data.buffer;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APFloat& clang::APValue::getFloat()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:210:35: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return *(APFloat*)(char*)Data.buffer;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APSInt& clang::APValue::getComplexIntReal()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:218:48: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((ComplexAPSInt*)(char*)Data.buffer)->Real;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APSInt& clang::APValue::getComplexIntImag()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:226:48: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((ComplexAPSInt*)(char*)Data.buffer)->Imag;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APFloat& clang::APValue::getComplexFloatReal()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:234:49: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((ComplexAPFloat*)(char*)Data.buffer)->Real;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue::APFloat& clang::APValue::getComplexFloatImag()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:242:49: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((ComplexAPFloat*)(char*)Data.buffer)->Imag;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getVectorElt(unsigned int)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:261:38: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((Vec*)(char*)Data.buffer)->Elts[I];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘unsigned int clang::APValue::getVectorLength() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:268:51: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const Vec*)(const void *)Data.buffer)->NumElts;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getArrayInitializedElt(unsigned int)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:274:38: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((Arr*)(char*)Data.buffer)->Elts[I];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getArrayFiller()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:285:38: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((Arr*)(char*)Data.buffer)->Elts[getArrayInitializedElts()];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘unsigned int clang::APValue::getArrayInitializedElts() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:292:51: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const Arr*)(const void *)Data.buffer)->NumElts;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘unsigned int clang::APValue::getArraySize() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:296:51: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const Arr*)(const void *)Data.buffer)->ArrSize;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘unsigned int clang::APValue::getStructNumBases() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:301:57: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const StructData*)(const char*)Data.buffer)->NumBases;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘unsigned int clang::APValue::getStructNumFields() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:305:57: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const StructData*)(const char*)Data.buffer)->NumFields;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getStructBase(unsigned int)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:309:45: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((StructData*)(char*)Data.buffer)->Elts[i];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getStructField(unsigned int)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:313:45: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((StructData*)(char*)Data.buffer)->Elts[getStructNumBases() +
> i];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const
> clang::FieldDecl* clang::APValue::getUnionField() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:324:56: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const UnionData*)(const char*)Data.buffer)->Field;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function
> ‘clang::APValue& clang::APValue::getUnionValue()’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:328:45: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return *((UnionData*)(char*)Data.buffer)->Value;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const
> clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:340:64: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const AddrLabelDiffData*)(const char*)Data.buffer)->LHSExpr;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const
> clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS() const’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:344:64: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> return ((const AddrLabelDiffData*)(const char*)Data.buffer)->RHSExpr;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setInt(clang::APValue::APSInt)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:349:29: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> *(APSInt *)(char *)Data.buffer = std::move(I);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setFloat(clang::APValue::APFloat)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:353:30: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> *(APFloat *)(char *)Data.buffer = std::move(F);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setVector(const clang::APValue*, unsigned int)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:357:31: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((Vec*)(char*)Data.buffer)->Elts = new APValue[N];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:358:31: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((Vec*)(char*)Data.buffer)->NumElts = N;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:360:33: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((Vec*)(char*)Data.buffer)->Elts[i] = E[i];
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setComplexInt(clang::APValue::APSInt,
> clang::APValue::APSInt)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:366:43: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((ComplexAPSInt *)(char *)Data.buffer)->Real = std::move(R);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:367:43: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((ComplexAPSInt *)(char *)Data.buffer)->Imag = std::move(I);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setComplexFloat(clang::APValue::APFloat,
> clang::APValue::APFloat)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:373:44: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((ComplexAPFloat *)(char *)Data.buffer)->Real = std::move(R);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:374:44: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setUnion(const clang::FieldDecl*, const clang::APValue&)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:383:37: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((UnionData*)(char*)Data.buffer)->Field = Field;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:384:38: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> *((UnionData*)(char*)Data.buffer)->Value = Value;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void
> clang::APValue::setAddrLabelDiff(const clang::AddrLabelExpr*, const
> clang::AddrLabelExpr*)’:
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:388:45: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((AddrLabelDiffData*)(char*)Data.buffer)->LHSExpr = LHSExpr;
> ^
> /usr/lib/llvm-3.6/include/clang/AST/APValue.h:389:45: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> [-Wstrict-aliasing]
> ((AddrLabelDiffData*)(char*)Data.buffer)->RHSExpr = RHSExpr;
> ^
> In file included from
> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/vector.hpp:28:0,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/./ir/register.hpp:27,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/./ir/instruction.hpp:27,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/./backend/context.hpp:23,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.hpp:29,
> from
> /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:26:
> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h: At global scope:
> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12:
> error: expected ‘,’ or ‘...’ before ‘(’ token
> #define MB (KB*KB)
> ^
> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:67:70: note: in
> expansion of macro ‘MB’
> static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,
> ^
> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12:
> error: expected ‘,’ or ‘...’ before ‘(’ token
> #define MB (KB*KB)
> ^
> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:92:34: note: in
> expansion of macro ‘MB’
> bool parse(const MemoryBuffer *MB, std::string &Error);
> ^
> /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*)’:
> /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
> llvm::Module *module = Act->takeModule();
> ^
> backend/src/CMakeFiles/gbe.dir/build.make:586: recipe for target
> 'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o' failed
> make[3]: *** [backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o] Error
> 1
> make[3]: Leaving directory '/home/groo/devel/intel/beignet/beignet'
> CMakeFiles/Makefile2:115: recipe for target 'backend/src/CMakeFiles/
> gbe.dir/all' failed
> make[2]: *** [backend/src/CMakeFiles/gbe.dir/all] Error 2
>
> can you take a look at this?
>
> thanks in advance :)
>
> | Paulo Dias
> | paulo.miguel.dias at gmail.com
>
> *Tempora mutantur, nos et mutamur in illis.*
>
> On Tue, Dec 16, 2014 at 12:19 AM, Yang, Rong R <rong.r.yang at intel.com>
> wrote:
>
>> I planned to support llvm3.6 before. But after fix all llvm3.6 compiler
>> errors, there are some beignet’s utests fails.
>>
>> Because llvm 3.6 seems has some bugs in that time and it’s release
>> schedule delayed, I pending it.
>>
>> Now, I will restart supporting and need some time.
>>
>>
>>
>> Thanks
>>
>> *From:* Beignet [mailto:beignet-bounces at lists.freedesktop.org] *On
>> Behalf Of *Paulo Dias
>> *Sent:* Monday, December 15, 2014 19:47
>> *To:* Zhenyu Wang; Yang, Rong R
>> *Cc:* junyan.he at linux.intel.com; beignet at lists.freedesktop.org
>> *Subject:* Re: [Beignet] beignet doesnt compile with LLVM 3.6
>>
>>
>>
>> Hi to you,
>>
>> sorry to bother you guys again, but llvm 3.6 is almost out and beignet
>> still doesnt compile with the latest git:
>>
>>
>>
>> In file included from
>> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/vector.hpp:28:0,
>>
>> from
>> /home/groo/devel/intel/beignet/beignet/backend/src/./ir/register.hpp:27,
>>
>> from
>> /home/groo/devel/intel/beignet/beignet/backend/src/./ir/instruction.hpp:27,
>>
>> from
>> /home/groo/devel/intel/beignet/beignet/backend/src/./backend/context.hpp:23,
>>
>> from
>> /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.hpp:29,
>>
>> from
>> /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:26:
>>
>> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h: At global scope:
>>
>> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12:
>> error: expected ‘,’ or ‘...’ before ‘(’ token
>>
>> #define MB (KB*KB)
>>
>> ^
>>
>> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:67:70: note: in
>> expansion of macro ‘MB’
>>
>> static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,
>>
>> ^
>>
>> /home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12:
>> error: expected ‘,’ or ‘...’ before ‘(’ token
>>
>> #define MB (KB*KB)
>>
>> ^
>>
>> /usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:92:34: note: in
>> expansion of macro ‘MB’
>>
>> bool parse(const MemoryBuffer *MB, std::string &Error);
>>
>> ^
>>
>> /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*)’:
>>
>> /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
>>
>> llvm::Module *module = Act->takeModule();
>>
>> ^
>>
>> backend/src/CMakeFiles/gbe.dir/build.make:586: recipe for target
>> 'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o' failed
>>
>> make[2]: *** [backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o]
>> Error 1
>>
>> CMakeFiles/Makefile2:114: recipe for target 'backend/src/CMakeFiles/
>> gbe.dir/all' failed
>>
>>
>>
>> could you guys take a look at it?
>>
>>
>>
>> thanks in advance
>>
>>
>>
>> Paulo Dias
>>
>>
>>
>> On Tue Nov 04 2014 at 5:18:25 AM Zhenyu Wang <zhenyuw at linux.intel.com>
>> wrote:
>>
>> On 2014.11.03 08:46:41 +0000, Yang, Rong R wrote:
>> > Yes, some errors is because llvm use std:: unique_ptr as some
>> function’s return
>> > value instead of the normal ptr, there are some other errors after fix
>> std::
>> > unique_ptr error.
>> >
>> > As we notice that LLVM plan to release LLVM/Clang 3.6 soon, suppose the
>> LLVM
>> > 3.6 approach to stable now, I am working to support LLVM 3.6 now. Hope
>> could
>> > finish it soon.
>> >
>>
>> One option is to explicitly say the llvm version that beignet does support
>> and refuse to go on otherwise, like below one?
>>
>> From: Zhenyu Wang <zhenyuw at linux.intel.com>
>> Date: Tue, 4 Nov 2014 15:14:44 +0800
>> Subject: [PATCH] Explicitly check LLVM version when building
>>
>> Instead of allowing for failure attemps to build with llvm unstable
>> version this trys to explicitly tell the llvm version that beignet
>> support.
>>
>> Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
>> ---
>> CMakeLists.txt | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index 40cb74c..7059b2b 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -94,6 +94,9 @@ set (CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG
>> -DGBE_DEBUG=0")
>> # Front end stuff we need
>> #INCLUDE(CMake/FindLLVM.cmake)
>> Find_Package(LLVM 3.3)
>> +IF(LLVM_VERSION VERSION_GREATER 3.5)
>> + MESSAGE(FATAL_ERROR "Don't support LLVM > 3.5 now.")
>> +ENDIF(LLVM_VERSION VERSION_GREATER 3.5)
>>
>> set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${LLVM_LDFLAGS}")
>>
>> --
>> 2.1.1
>>
>> --
>> Open Source Technology Center, Intel ltd.
>>
>> $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/beignet/attachments/20150202/306a29ca/attachment-0001.html>
More information about the Beignet
mailing list