llvm-project/llvm/unittests/IR
David Blaikie 774b584f42 -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11
Various value handles needed to be copy constructible and copy
assignable (mostly for their use in DenseMap). But to avoid an API that
might allow accidental slicing, make these members protected in the base
class and make derived classes final (the special members become
implicitly public there - but disallowing further derived classes that
might be sliced to the intermediate type).

Might be worth having a warning a bit like -Wnon-virtual-dtor that
catches public move/copy assign/ctors in classes with virtual functions.
(suppressable in the same way - by making them protected in the base,
and making the derived classes final) Could be fancier and only diagnose
them when they're actually called, potentially.

Also allow a few default implementations where custom implementations
(especially with non-standard return types) were implemented.

llvm-svn: 243909
2015-08-03 22:30:24 +00:00
..
AttributesTest.cpp Make one of the AttributeSet ctors maintain the invariant that the 2013-08-02 22:29:40 +00:00
CMakeLists.txt The leak detector is dead, long live asan and valgrind. 2014-12-22 13:00:36 +00:00
ConstantRangeTest.cpp [ConstantRange] Split makeICmpRegion in two. 2015-03-18 00:41:24 +00:00
ConstantsTest.cpp [opaque pointer type] Pass GlobalAlias the actual pointer type rather than decomposing it into pointee type + address space 2015-04-29 21:22:39 +00:00
DebugInfoTest.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DominatorTreeTest.cpp Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
IRBuilderTest.cpp Add support for fast-math flags to the FCmp instruction. 2015-07-10 12:52:00 +00:00
InstructionsTest.cpp [opaque pointer type] gep API migration 2015-03-14 21:40:10 +00:00
LegacyPassManagerTest.cpp Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
MDBuilderTest.cpp IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Makefile
MetadataTest.cpp DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
PassManagerTest.cpp [PM] Add names and debug logging for analysis passes to the new pass 2015-01-05 12:21:44 +00:00
PatternMatch.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypeBuilderTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TypesTest.cpp
UseTest.cpp Format: Modernize using variadic templates. 2015-02-15 22:15:41 +00:00
UserTest.cpp [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
ValueHandleTest.cpp -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 22:30:24 +00:00
ValueMapTest.cpp [lit] Fix running gtest type-parameterized tests on Windows 2015-04-06 21:49:55 +00:00
ValueTest.cpp IR: Expose the method 'getLocalSlot' in the module slot tracker. 2015-07-27 22:31:04 +00:00
VerifierTest.cpp Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
WaymarkTest.cpp Fix a leak found by asan. 2014-12-23 17:20:23 +00:00