llvm-project/clang/lib/Sema
Florian Hahn 0aa117dd2c Temporarily revert r337226 "Restructure checking for, and warning on, lifetime extension."
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
2018-07-17 09:23:31 +00:00
..
AnalysisBasedWarnings.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
CMakeLists.txt [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
CodeCompleteConsumer.cpp Optionally add code completion results for arrow instead of dot 2018-05-25 12:56:26 +00:00
CoroutineStmtBuilder.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
DeclSpec.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
DelayedDiagnostic.cpp [Sema] Make deprecation fix-it replace all multi-parameter ObjC method slots. 2018-03-29 17:34:09 +00:00
IdentifierResolver.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
JumpDiagnostics.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
MultiplexExternalSemaSource.cpp [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801) 2018-06-25 13:23:49 +00:00
ParsedAttr.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
Scope.cpp Revert r335019 "Update NRVO logic to support early return (Attempt 2)" 2018-06-19 05:35:30 +00:00
ScopeInfo.cpp [coroutines] Pass coro func args to promise ctor 2018-01-24 22:15:42 +00:00
Sema.cpp Add caching when looking up coroutine_traits 2018-07-14 18:21:44 +00:00
SemaAccess.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SemaAttr.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
SemaCUDA.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
SemaCXXScopeSpec.cpp Check returned type is valid before using it. 2018-07-07 00:17:25 +00:00
SemaCast.cpp DR330: look through array types when forming the cv-decomposition of a type. 2018-07-11 00:19:19 +00:00
SemaChecking.cpp [Hexagon] Diagnose intrinsics not supported by selected CPU/HVX 2018-07-12 18:54:04 +00:00
SemaCodeComplete.cpp [clangd] Uprank delcarations when "using q::name" is present in the main file 2018-07-11 14:49:49 +00:00
SemaConsumer.cpp
SemaCoroutine.cpp Add caching when looking up coroutine_traits 2018-07-14 18:21:44 +00:00
SemaDecl.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
SemaDeclAttr.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
SemaDeclCXX.cpp Temporarily revert r337226 "Restructure checking for, and warning on, lifetime extension." 2018-07-17 09:23:31 +00:00
SemaDeclObjC.cpp AttributeList de-listifying: 2018-07-12 21:09:05 +00:00
SemaExceptionSpec.cpp PR38141: check whether noexcept-specifications are equivalent in redeclarations 2018-07-12 21:11:25 +00:00
SemaExpr.cpp [C++17] Disallow lambdas in template parameters (PR33696). 2018-07-12 18:45:41 +00:00
SemaExprCXX.cpp Temporarily revert r337226 "Restructure checking for, and warning on, lifetime extension." 2018-07-17 09:23:31 +00:00
SemaExprMember.cpp [Sema][ObjC] Do not DiagnoseUseOfDecl in LookupMemberExpr 2018-05-24 01:01:43 +00:00
SemaExprObjC.cpp DR1687: When overload resolution selects a built-in operator, implicit 2018-06-27 20:30:34 +00:00
SemaFixItUtils.cpp [Sema] Revert r329346 because of memory sanitizer failures. 2018-04-05 22:15:42 +00:00
SemaInit.cpp Temporarily revert r337226 "Restructure checking for, and warning on, lifetime extension." 2018-07-17 09:23:31 +00:00
SemaLambda.cpp [Sema] Add fixit for unused lambda captures 2018-07-16 07:23:47 +00:00
SemaLookup.cpp [Sema] Fix a structured binding typo correction bug 2018-07-10 02:15:07 +00:00
SemaObjCProperty.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SemaOpenMP.cpp [OPENMP] Do not mark local variables as declare target. 2018-07-09 19:58:08 +00:00
SemaOverload.cpp DR330: look through array types when forming the cv-decomposition of a type. 2018-07-11 00:19:19 +00:00
SemaPseudoObject.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SemaStmt.cpp AttributeList de-listifying: 2018-07-12 21:09:05 +00:00
SemaStmtAsm.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
SemaStmtAttr.cpp [NFC] Rename clang::AttributeList to clang::ParsedAttr 2018-07-13 15:07:47 +00:00
SemaTemplate.cpp PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
SemaTemplateDeduction.cpp PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
SemaTemplateInstantiate.cpp AttributeList de-listifying: 2018-07-12 21:09:05 +00:00
SemaTemplateInstantiateDecl.cpp AttributeList de-listifying: 2018-07-12 21:09:05 +00:00
SemaTemplateVariadic.cpp [Fixed Point Arithmetic] Addition of the remaining fixed point types and their saturated equivalents 2018-06-14 14:53:51 +00:00
SemaType.cpp PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
TreeTransform.h PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
TypeLocBuilder.cpp [Sema] Fix bug in TypeLocBuilder::pushImpl 2016-02-18 21:05:09 +00:00
TypeLocBuilder.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00