forked from OSchip/llvm-project
0aa117dd2c
This change breaks on ARM because pointers to clang::InitializedEntity are only 4 byte aligned and do not have 3 bits to store values. A possible solution would be to change the fields in clang::InitializedEntity to enforce a bigger alignment requirement. The error message is llvm/include/llvm/ADT/PointerIntPair.h:132:3: error: static_assert failed "PointerIntPair with integer size too large for pointer" static_assert(IntBits <= PtrTraits::NumLowBitsAvailable, include/llvm/ADT/PointerIntPair.h:73:13: note: in instantiation of template class 'llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> >' requested here Value = Info::updateInt(Info::updatePointer(0, PtrVal), llvm/include/llvm/ADT/PointerIntPair.h:51:5: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::setPointerAndInt' requested here setPointerAndInt(PtrVal, IntVal); ^ llvm/tools/clang/lib/Sema/SemaInit.cpp:6237:12: note: in instantiation of member function 'llvm::PointerIntPair<const clang::InitializedEntity *, 3, (anonymous namespace)::LifetimeKind, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *>, llvm::PointerIntPairInfo<const clang::InitializedEntity *, 3, llvm::PointerLikeTypeTraits<const clang::InitializedEntity *> > >::PointerIntPair' requested here return {Entity, LK_Extended}; Full log here: http://lab.llvm.org:8011/builders/clang-cmake-armv7-global-isel/builds/1330 http://lab.llvm.org:8011/builders/clang-cmake-armv7-full/builds/1394 llvm-svn: 337255 |
||
---|---|---|
.. | ||
AnalysisBasedWarnings.cpp | ||
CMakeLists.txt | ||
CodeCompleteConsumer.cpp | ||
CoroutineStmtBuilder.h | ||
DeclSpec.cpp | ||
DelayedDiagnostic.cpp | ||
IdentifierResolver.cpp | ||
JumpDiagnostics.cpp | ||
MultiplexExternalSemaSource.cpp | ||
ParsedAttr.cpp | ||
Scope.cpp | ||
ScopeInfo.cpp | ||
Sema.cpp | ||
SemaAccess.cpp | ||
SemaAttr.cpp | ||
SemaCUDA.cpp | ||
SemaCXXScopeSpec.cpp | ||
SemaCast.cpp | ||
SemaChecking.cpp | ||
SemaCodeComplete.cpp | ||
SemaConsumer.cpp | ||
SemaCoroutine.cpp | ||
SemaDecl.cpp | ||
SemaDeclAttr.cpp | ||
SemaDeclCXX.cpp | ||
SemaDeclObjC.cpp | ||
SemaExceptionSpec.cpp | ||
SemaExpr.cpp | ||
SemaExprCXX.cpp | ||
SemaExprMember.cpp | ||
SemaExprObjC.cpp | ||
SemaFixItUtils.cpp | ||
SemaInit.cpp | ||
SemaLambda.cpp | ||
SemaLookup.cpp | ||
SemaObjCProperty.cpp | ||
SemaOpenMP.cpp | ||
SemaOverload.cpp | ||
SemaPseudoObject.cpp | ||
SemaStmt.cpp | ||
SemaStmtAsm.cpp | ||
SemaStmtAttr.cpp | ||
SemaTemplate.cpp | ||
SemaTemplateDeduction.cpp | ||
SemaTemplateInstantiate.cpp | ||
SemaTemplateInstantiateDecl.cpp | ||
SemaTemplateVariadic.cpp | ||
SemaType.cpp | ||
TreeTransform.h | ||
TypeLocBuilder.cpp | ||
TypeLocBuilder.h |