llvm-project/clang/lib/Sema
Richard Smith 17c59472e8 Improve error recovery for missing 'template' keyword in contexts where the
template is valid with or without it (with different meanings).

If we see "dependent.x<...", and what follows the '<' is a valid expression,
we must parse the '<' as a comparison rather than a template angle bracket.
When we later come to instantiate, if we find that the LHS of the '<' actually
names an overload set containing function templates, produce a diagnostic
suggesting that the 'template' keyword was missed rather than producing a
mysterious diagnostic saying that the function must be called (and pointing
at what looks to already be a function call!).

llvm-svn: 304852
2017-06-07 00:29:44 +00:00
..
AnalysisBasedWarnings.cpp [coroutines] Fix fallthrough diagnostics for coroutines 2017-05-25 02:16:53 +00:00
AttributeList.cpp Add #pragma clang attribute 2017-04-18 14:33:39 +00:00
CMakeLists.txt Enabling the /bigobj flag for SemaDeclAttr.cpp. 2017-05-12 14:30:49 +00:00
CodeCompleteConsumer.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
CoroutineStmtBuilder.h [coroutines] Fix rebuilding of dependent coroutine parameters 2017-06-03 00:22:18 +00:00
DeclSpec.cpp Recommit r289979 [OpenCL] Allow disabling types and declarations associated with extensions 2016-12-18 05:18:55 +00:00
DelayedDiagnostic.cpp [Sema] Delay partial availability diagnostics, just like deprecated 2016-10-28 21:39:27 +00:00
IdentifierResolver.cpp [modules] Separately track whether an identifier's preprocessor information and 2016-02-05 19:03:40 +00:00
JumpDiagnostics.cpp [Sema][ObjC] Disallow jumping into ObjC fast enumeration loops. 2017-04-19 17:54:08 +00:00
MultiplexExternalSemaSource.cpp Modular Codegen: Support homing debug info for types in modular objects 2017-04-11 21:13:37 +00:00
Scope.cpp [Parser] Clear the TemplateParamScope bit of the current scope's flag 2016-04-29 02:24:14 +00:00
ScopeInfo.cpp [coroutines] Fix diagnostics depending on the first coroutine statement. 2017-03-11 02:35:37 +00:00
Sema.cpp [modules] When creating a declaration, cache its owning module immediately 2017-05-17 00:24:14 +00:00
SemaAccess.cpp P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
SemaAttr.cpp Add support for #pragma clang section 2017-06-05 10:11:57 +00:00
SemaCUDA.cpp Factor out some common code between SpecialMemberExceptionSpecInfo and SpecialMemberDeletionInfo. 2017-02-24 02:07:20 +00:00
SemaCXXScopeSpec.cpp Add support for editor placeholders to Clang 2017-04-19 08:58:56 +00:00
SemaCast.cpp [Sema] Make typeof(OverloadedFunctionName) not a pointer. 2017-05-09 04:06:24 +00:00
SemaChecking.cpp [PowerPC] Implement vec_xxsldwi builtin. 2017-05-24 15:54:13 +00:00
SemaCodeComplete.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:35:06 +00:00
SemaConsumer.cpp
SemaCoroutine.cpp [coroutines] Fix rebuilding of dependent coroutine parameters 2017-06-03 00:22:18 +00:00
SemaDecl.cpp Add support for #pragma clang section 2017-06-05 10:11:57 +00:00
SemaDeclAttr.cpp Make helper functions static. NFC. 2017-05-26 20:08:24 +00:00
SemaDeclCXX.cpp PR33318: Add missing full-expression checking to static_assert expression. 2017-06-06 01:34:24 +00:00
SemaDeclObjC.cpp [Sema][ObjC] Don't emit availability diags for category @implementations 2017-05-31 15:45:57 +00:00
SemaExceptionSpec.cpp [coroutines] Add DependentCoawaitExpr and fix re-building CoroutineBodyStmt. 2017-03-06 23:38:15 +00:00
SemaExpr.cpp Improve error recovery for missing 'template' keyword in contexts where the 2017-06-07 00:29:44 +00:00
SemaExprCXX.cpp PR33232: implement support for MSVC's __is_trivially_destructible trait. 2017-06-01 00:28:16 +00:00
SemaExprMember.cpp [NFC, Scoped Enum] Convert Sema::ExpressionEvaluationContext into a scoped Enum 2017-04-01 21:30:49 +00:00
SemaExprObjC.cpp [Sema][ObjC] Clean up possible null dereference. 2017-05-09 01:54:51 +00:00
SemaFixItUtils.cpp Wire a SourceLocation into IsDerivedFrom and move the RequireCompleteType call 2015-12-18 21:45:41 +00:00
SemaInit.cpp Fix PR 10758: Infinite recursion when dealing with copy-initialization 2017-05-16 10:23:58 +00:00
SemaLambda.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:35:06 +00:00
SemaLookup.cpp Fix crash when an 'import a module' TypoCorrection has its CorrectionDecls 2017-06-05 22:29:36 +00:00
SemaObjCProperty.cpp [Sema][ObjC] Avoid the "type of property does not match type of accessor" 2017-03-30 13:33:51 +00:00
SemaOpenMP.cpp [OPENMP] Allow 'use_device_ptr' clause in 'target data' alone. 2017-05-30 16:00:04 +00:00
SemaOverload.cpp Strip trailing whitespace. NFCI. 2017-06-01 18:17:18 +00:00
SemaPseudoObject.cpp [Objective-C] Fix "weak-unavailable" warning with -fobjc-weak 2017-03-29 18:09:02 +00:00
SemaStmt.cpp Minor fixes to for-loop warning. 2017-06-02 04:24:46 +00:00
SemaStmtAsm.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:35:06 +00:00
SemaStmtAttr.cpp Add [[clang::suppress(rule, ...)]] attribute 2017-03-27 19:45:24 +00:00
SemaTemplate.cpp [modules] Switch from inferring owning modules based on source location to 2017-05-18 02:29:20 +00:00
SemaTemplateDeduction.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:35:06 +00:00
SemaTemplateInstantiate.cpp Switch from using a DiagnosticTrap and a note for "while defining a special 2017-05-25 22:47:05 +00:00
SemaTemplateInstantiateDecl.cpp Rename RAII objects for performing eager instantiation to have names that 2017-05-20 01:36:41 +00:00
SemaTemplateVariadic.cpp PR24440: Do not silently discard a fold-expression appearing as the operand of a cast-expression. 2017-02-15 19:57:10 +00:00
SemaType.cpp [clang] Remove double semicolons. NFC. 2017-06-06 19:47:56 +00:00
TreeTransform.h [coroutines] Fix rebuilding of dependent coroutine parameters 2017-06-03 00:22:18 +00:00
TypeLocBuilder.cpp [Sema] Fix bug in TypeLocBuilder::pushImpl 2016-02-18 21:05:09 +00:00
TypeLocBuilder.h Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00