llvm-project/clang/lib
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
..
ARCMigrate Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
AST [ASTImporter] Import implicit methods of existing class. 2018-07-16 12:16:39 +00:00
ASTMatchers [ASTMatchers] Introduce Objective-C matchers `hasReceiver` and `isInstanceMessage` for ObjCMessageExpr 2018-07-16 20:22:12 +00:00
Analysis [CFG] [analyzer] Allow elidable copies to have more than one arguments. 2018-07-17 00:57:57 +00:00
Basic [Hexagon] Diagnose intrinsics not supported by selected CPU/HVX 2018-07-12 18:54:04 +00:00
CodeGen [OPENMP] Fix checks for declare target link entries. 2018-07-16 20:05:25 +00:00
CrossTU [CrossTU] Fix handling of Cross Translation Unit directory path 2017-10-27 12:53:37 +00:00
Driver [Driver] Add -fno-digraphs 2018-07-17 04:56:22 +00:00
Edit Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Format [clang-format/ObjC] Put ObjC method arguments into one line when they fit 2018-07-09 07:08:45 +00:00
Frontend [Driver] Add -fno-digraphs 2018-07-17 04:56:22 +00:00
FrontendTool Add a new driver mode to dump compiler feature and extension options. 2018-05-31 13:57:09 +00:00
Headers [X86] Lowering integer truncation intrinsics to native IR 2018-07-10 08:22:44 +00:00
Index [Index] Add index::IndexingOptions::IndexImplicitInstantiation 2018-07-09 21:49:06 +00:00
Lex PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
Parse [Sema] Add fixit for unused lambda captures 2018-07-16 07:23:47 +00:00
Rewrite Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
Sema Temporarily revert r337226 "Restructure checking for, and warning on, lifetime extension." 2018-07-17 09:23:31 +00:00
Serialization PR15730/PR16986 Allow dependently typed vector_size types. 2018-07-13 19:46:04 +00:00
StaticAnalyzer [analyzer] pr37802: Fix symbolic-pointer-to-boolean casts during load. 2018-07-17 00:42:35 +00:00
Tooling [Tooling] Make standalone executor support user-provided vfs. 2018-07-12 18:32:11 +00:00
CMakeLists.txt Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00