llvm-project/clang/lib/Serialization
Richard Smith df054d3d22 C++ DR1611, 1658, 2180: implement "potentially constructed subobject" rules for special member functions.
Essentially, as a base class constructor does not construct virtual bases, such
a constructor for an abstract class does not need the corresponding base class
construction to be valid, and likewise for destructors.

This creates an awkward situation: clang will sometimes generate references to
the complete object and deleting destructors for an abstract class (it puts
them in the construction vtable for a derived class). But we can't generate a
"correct" version of these because we can't generate references to base class
constructors any more (if they're template specializations, say, we might not
have instantiated them and can't assume any other TU will emit a copy).
Fortunately, we don't need to, since no correct program can ever invoke them,
so instead emit symbols that just trap.

We should stop emitting references to these symbols, but still need to emit
definitions for compatibility.

llvm-svn: 296275
2017-02-25 23:53:05 +00:00
..
ASTCommon.cpp Add an explicit derived class of FunctionDecl to model deduction guides rather 2017-02-17 20:05:37 +00:00
ASTCommon.h PR29097: add an update record when we instantiate the default member 2016-08-24 21:25:37 +00:00
ASTReader.cpp [ODRHash] Finish FieldDecl support by handling mutable and initializers. 2017-02-24 23:35:37 +00:00
ASTReaderDecl.cpp C++ DR1611, 1658, 2180: implement "potentially constructed subobject" rules for special member functions. 2017-02-25 23:53:05 +00:00
ASTReaderInternals.h Remove move constructors that are identical to the generated default move ctor. 2016-10-21 18:55:07 +00:00
ASTReaderStmt.cpp [OpenMP] Prepare Sema for initial implementation for pragma 'distribute parallel for' 2017-02-17 21:29:13 +00:00
ASTWriter.cpp C++ DR1611, 1658, 2180: implement "potentially constructed subobject" rules for special member functions. 2017-02-25 23:53:05 +00:00
ASTWriterDecl.cpp Add an explicit derived class of FunctionDecl to model deduction guides rather 2017-02-17 20:05:37 +00:00
ASTWriterStmt.cpp [OpenMP] Prepare Sema for initial implementation for pragma 'distribute parallel for' 2017-02-17 21:29:13 +00:00
CMakeLists.txt Introduce module file extensions to piggy-back data onto module files. 2015-11-03 18:33:07 +00:00
GeneratePCH.cpp Use shared_ptr instead of IntrusiveRefCntPtr for ModuleFileExtension 2017-01-05 18:23:18 +00:00
GlobalModuleIndex.cpp Fix for LLVM Bitcode API change (to use std::shared_ptr) 2017-01-04 22:36:43 +00:00
Module.cpp Modules: Simplify the ModuleFile constructor; likely NFC 2017-01-29 00:39:09 +00:00
ModuleFileExtension.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
ModuleManager.cpp [modules] Load the ModuleOffsetMap from the module header lazily. 2017-02-18 00:32:02 +00:00
MultiOnDiskHashTable.h [NFC] Header cleanup 2016-07-18 19:02:11 +00:00