2b1af22926
Before, pre-existing fwd decls of specializations got unloaded. OTOH, any decl produced during (failed) template instantiation must also be unloaded; see #6331. Those are easiest identified by unloading the whole (failed) transaction. ``` error: no member named 'value' in 'std::__and_<std::is_copy_assignable<std::__cxx11::basic_string<char> >, std::is_copy_assignable<Inner<int> > >' is_copy_assignable<_T2>>::value, ~~~~~~~~~~~~~~~~~~~~~~~~~~^ ``` which is due to the first decl being invalid (as `Inner<int>` does not have a deinition and a `static_assert` /usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/type_traits:1093 being triggered), then not unloaded, and then picked up again where we *do* have the definition for `Inner<int>`. Add test for templt spec lookup vs unloading. |
||
---|---|---|
.. | ||
Autoloading | ||
CodeGeneration | ||
CodeUnloading | ||
CUDADeviceCode | ||
Driver | ||
ErrorRecovery | ||
Extensions | ||
Interfaces | ||
LibraryCall | ||
Lookup | ||
MultipleInterpreters | ||
NullDeref | ||
Plugins | ||
Pragmas | ||
Prompt | ||
Recursion | ||
SourceCall | ||
Utils | ||
CMakeLists.txt | ||
lit.cfg | ||
lit.site.cfg.in |