llvm-project/clang/lib
Sam McCall 05ed3efc2a Handle delayed-template-parsing functions imported into a non-dtp TU
Summary:
DelayedTemplateParsing is marked as BENIGN_LANGOPT, so we are allowed to
use a delayed template in a non-delayed TU.
(This is clangd's default configuration on windows: delayed-template-parsing
is on for the preamble and forced off for the current file)

However today clang fails to parse implicit instantiations in a non-dtp
TU of templates defined in a dtp PCH file (and presumably module?).
In this case the delayed parser is not registered, so the function is
simply marked "delayed" again. We then hit an assert:
end of TU template instantiation should not create more late-parsed templates

Reviewers: rsmith

Subscribers: ilya-biryukov, usaxena95, cfe-commits, kadircet

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81474
2020-06-12 16:09:38 +02:00
..
ARCMigrate [NFC] Refactoring PropertyAttributeKind for ObjCPropertyDecl and ObjCDeclSpec. 2020-04-23 17:21:25 -04:00
AST [clang] Rename Decl::isHidden() to isUnconditionallyVisible(). 2020-06-12 09:33:42 +02:00
ASTMatchers [clang][NFC] Generate the {Type,ArrayType,UnaryExprOrType,Expression}Traits... 2020-06-11 14:35:52 +01:00
Analysis Assignment and Inc/Dec operators wouldn't register as a mutation when Implicit Paren Casts were present 2020-06-09 19:45:57 +01:00
Basic [clang][NFC] Generate the {Type,ArrayType,UnaryExprOrType,Expression}Traits... 2020-06-11 14:35:52 +01:00
CodeGen [CodeGen] Increase applicability of ffine-grained-bitfield-accesses for targets with limited native integer widths 2020-06-12 10:33:47 +01:00
CrossTU [analyzer] On-demand parsing capability for CTU 2020-06-11 10:56:59 +02:00
DirectoryWatcher [DirectoryWatcher] Do not use FSEvents on non-macOS platforms 2020-04-23 10:22:28 -07:00
Driver [hip] Fix device-only relocatable code compilation. 2020-06-10 14:10:41 -04:00
Edit [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
Format [clang-format] Microsoft style fixes for C# properties 2020-06-09 14:50:34 +01:00
Frontend [AST][RecoveryExpr] Build recovery expressions by default for C++. 2020-06-12 15:21:38 +02:00
FrontendTool [llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists. 2020-04-01 10:49:06 -04:00
Headers Fix __clang_cuda_math_forward_declares.h 2020-06-10 23:47:13 -04:00
Index [ARM] Add __bf16 as new Bfloat16 C Type 2020-06-05 10:32:43 +01:00
Lex [clang] Always allow including builtin headers in [no_undeclared_headers] modules. 2020-06-04 08:33:39 +02:00
Parse Handle delayed-template-parsing functions imported into a non-dtp TU 2020-06-12 16:09:38 +02:00
Rewrite [Rewrite][NFC] Add FIXMEs and tests for RemoveLineIfEmpty bug 2019-08-15 21:17:48 +00:00
Sema (PR46111) Properly handle elaborated types in an implicit deduction guide 2020-06-12 05:32:13 -07:00
Serialization [clang] Rename Decl::isHidden() to isUnconditionallyVisible(). 2020-06-12 09:33:42 +02:00
StaticAnalyzer Get rid of -Wunused warnings in release build, NFC. 2020-06-12 15:42:29 +02:00
Testing Fix MSVC "not all control paths return a value" warning. NFC. 2020-06-05 10:45:59 +01:00
Tooling Propose naming principle for NodeRole and apply it 2020-06-04 20:08:35 +02:00
CMakeLists.txt Move unittest helpers to a shared location 2020-05-29 16:47:33 +02:00