llvm-project/clang/test
Richard Smith b23c5e8c3d [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose
template name is not visible to unqualified lookup.

In order to support this without a severe degradation in our ability to
diagnose typos in template names, this change significantly restructures
the way we handle template-id-shaped syntax for which lookup of the
template name finds nothing.

Instead of eagerly diagnosing an undeclared template name, we now form a
placeholder template-name representing a name that is known to not find
any templates. When the parser sees such a name, it attempts to
disambiguate whether we have a less-than comparison or a template-id.
Any diagnostics or typo-correction for the name are delayed until its
point of use.

The upshot should be a small improvement of our diagostic quality
overall: we now take more syntactic context into account when trying to
resolve an undeclared identifier on the left hand side of a '<'. In
fact, this works well enough that the backwards-compatible portion (for
an undeclared identifier rather than a lookup that finds functions but
no function templates) is enabled in all language modes.

llvm-svn: 360308
2019-05-09 03:31:27 +00:00
..
ARCMT
AST [clang] fixing -ast-print for variadic parameter pack in lambda capture 2019-05-05 12:35:12 +00:00
ASTMerge/choose-expr [ASTImporter] Add support for importing ChooseExpr AST nodes. 2019-02-26 19:26:41 +00:00
Analysis [analyzer] Fix a crash when doing RVO from within blocks. 2019-05-07 22:33:13 +00:00
CXX [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
CodeCompletion [CodeComplete] Add a trailing semicolons to some pattern completions 2019-05-06 13:18:00 +00:00
CodeGen [COFF] Use COFF stubs for extern_weak functions 2019-05-07 23:06:21 +00:00
CodeGenCUDA [HIP] Fix visibility of `__constant__` variables. 2019-04-26 19:31:48 +00:00
CodeGenCXX Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)" 2019-05-06 21:55:05 +00:00
CodeGenCoroutines
CodeGenObjC Revert "Re-commit r357452: SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)" 2019-05-06 21:55:05 +00:00
CodeGenObjCXX Re-land r359250, [COFF] Statically link certain runtime library functions 2019-04-29 23:05:47 +00:00
CodeGenOpenCL [Sema][OpenCL] Make address space conversions a bit stricter. 2019-05-08 14:23:49 +00:00
CodeGenOpenCLCXX [OpenCL] Prevent mangling kernel functions. 2019-05-07 14:22:34 +00:00
Coverage
CoverageMapping Fix clang tests broken by r353547 that depend on InstrProf 2019-02-10 20:17:07 +00:00
Driver [OpenMP][Clang] Support for target math functions 2019-05-08 15:52:33 +00:00
FixIt [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
Format
Frontend Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
Headers Try to restore some clang test headers lost in r360291 2019-05-08 22:30:46 +00:00
Import [ASTImporter] Copy Argument Passing Restrictions setting when importing a CXXRecordDecl definition 2019-04-26 18:51:28 +00:00
Index Add an explicit triple to this test to hopefully appease the build bots. 2019-05-07 14:40:37 +00:00
Integration
Layout
Lexer Factor out repeated code parsing and concatenating header-names from 2019-03-19 01:51:19 +00:00
Misc [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
Modules [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
OpenMP [OPENMP]Fix PR41767: diagnose DSA for variables in clauses with 2019-05-06 20:07:20 +00:00
PCH Revert r359949 "[clang] adding explicit(bool) from c++2a" 2019-05-06 09:51:10 +00:00
Parser [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
Preprocessor Enable intrinsics of AVX512_BF16, which are supported for BFLOAT16 in Cooper Lake 2019-05-06 08:25:11 +00:00
Profile [PGO] Fix buildbot failure in 359215 2019-04-25 21:16:41 +00:00
Refactor
Rewriter
Sema Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
SemaCUDA Permit redeclarations of a builtin to specify calling convention. 2019-03-21 13:30:56 +00:00
SemaCXX [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
SemaObjC Fix for the greendragon bots. 2019-05-08 05:59:25 +00:00
SemaObjCXX Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
SemaOpenCL [Sema][OpenCL] Make address space conversions a bit stricter. 2019-05-08 14:23:49 +00:00
SemaOpenCLCXX [OpenCL] Prevent mangling kernel functions. 2019-05-07 14:22:34 +00:00
SemaTemplate [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
TableGen Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Templight
Tooling Remove a bogus sed option in test. 2019-04-08 16:34:38 +00:00
Unit [lit] Set shlibpath_var on AIX 2019-03-29 23:33:04 +00:00
VFS [VFS] Implement `RedirectingFileSystem::getRealPath`. 2018-11-16 01:18:04 +00:00
clang-rename
.clang-format
CMakeLists.txt Revert r359717, "Make check-clang depend on the clang-check binary always" 2019-05-01 23:32:38 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg.py Another attempt to fix "could not find clang-check" lit warning in analyzer-less builds 2019-05-02 19:47:05 +00:00
lit.site.cfg.py.in Moved everything SMT-related to LLVM and updated the cmake scripts. 2019-03-25 17:47:45 +00:00
make_test_dirs.pl