llvm-project/clang/lib/Sema
Faisal Vali 936de9d666 [c++2a] [concepts] Add rudimentary parsing support for template concept declarations
This patch is a tweak of changyu's patch: https://reviews.llvm.org/D40381. It differs in that the recognition of the 'concept' token is moved into the machinery that recognizes declaration-specifiers - this allows us to leverage the attribute handling machinery more seamlessly.

See the test file to get a sense of the basic parsing that this patch supports. 

There is much more work to be done before concepts are usable...

Thanks Changyu!

llvm-svn: 330794
2018-04-25 02:42:26 +00:00
..
AnalysisBasedWarnings.cpp Fix some handling of AST nodes with diagnostics. 2018-03-28 04:16:13 +00:00
AttributeList.cpp [Sema] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-02-20 02:16:28 +00:00
CMakeLists.txt Enabling the /bigobj flag for SemaDeclAttr.cpp. 2017-05-12 14:30:49 +00:00
CodeCompleteConsumer.cpp [Sema] Revert r329346 because of memory sanitizer failures. 2018-04-05 22:15:42 +00:00
CoroutineStmtBuilder.h [coroutines] Pass coro func args to promise ctor 2018-01-24 22:15:42 +00:00
DeclSpec.cpp [c++2a] [concepts] Add rudimentary parsing support for template concept declarations 2018-04-25 02:42:26 +00:00
DelayedDiagnostic.cpp [Sema] Make deprecation fix-it replace all multi-parameter ObjC method slots. 2018-03-29 17:34:09 +00:00
IdentifierResolver.cpp [Sema] Revert r329346 because of memory sanitizer failures. 2018-04-05 22:15:42 +00:00
JumpDiagnostics.cpp [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
MultiplexExternalSemaSource.cpp [modules] Correctly overload getModule in the MultiplexExternalSemaSource 2018-01-22 15:27:25 +00:00
Scope.cpp Fix Scope::dump() 2018-01-18 04:28:56 +00:00
ScopeInfo.cpp [coroutines] Pass coro func args to promise ctor 2018-01-24 22:15:42 +00:00
Sema.cpp Revert r329684 (and follow-ups 329693, 329714). See discussion on https://reviews.llvm.org/D43578. 2018-04-10 18:53:28 +00:00
SemaAccess.cpp Revert r325321 "[Sema] Take into account the current context when checking the" 2018-02-16 12:06:32 +00:00
SemaAttr.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaCUDA.cpp [HIP] Add hip input kind and codegen for kernel launching 2018-04-25 01:10:37 +00:00
SemaCXXScopeSpec.cpp Add support for editor placeholders to Clang 2017-04-19 08:58:56 +00:00
SemaCast.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaChecking.cpp Improve -Warray-bounds to handle multiple array extents rather than only handling the top-most array extent. 2018-04-24 19:21:04 +00:00
SemaCodeComplete.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaConsumer.cpp
SemaCoroutine.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaDecl.cpp [c++2a] [concepts] Add rudimentary parsing support for template concept declarations 2018-04-25 02:42:26 +00:00
SemaDeclAttr.cpp [Availability] Improve availability to consider functions run at load time 2018-04-16 23:34:18 +00:00
SemaDeclCXX.cpp [c++2a] [concepts] Add rudimentary parsing support for template concept declarations 2018-04-25 02:42:26 +00:00
SemaDeclObjC.cpp [Availability] Improve availability to consider functions run at load time 2018-04-16 23:34:18 +00:00
SemaExceptionSpec.cpp Remove redundant casts. NFC 2018-03-01 05:43:23 +00:00
SemaExpr.cpp [Sema] Add -Wno-self-assign-overloaded 2018-04-23 21:35:21 +00:00
SemaExprCXX.cpp Revert "[ObjC] Make C++ triviality type traits available to non-trivial C" 2018-04-09 19:39:27 +00:00
SemaExprMember.cpp [OPENMP] Code cleanup and code improvements. 2018-04-18 15:57:46 +00:00
SemaExprObjC.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaFixItUtils.cpp [Sema] Revert r329346 because of memory sanitizer failures. 2018-04-05 22:15:42 +00:00
SemaInit.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaLambda.cpp [SemaCXX] _Pragma("clang optimize off") not affecting lambda. 2018-03-26 13:48:03 +00:00
SemaLookup.cpp [clang] Change std::sort to llvm::sort in response to r327219 2018-03-27 16:50:00 +00:00
SemaObjCProperty.cpp Remove redundant casts. NFC 2018-03-01 05:43:23 +00:00
SemaOpenMP.cpp [OPENMP] Fix -Wunused-lambda-capture. NFC 2018-04-18 19:32:01 +00:00
SemaOverload.cpp [Sema] Disable built-in increment operator for bool in overload resolution in C++17 2018-04-18 13:38:39 +00:00
SemaPseudoObject.cpp Clean carriage returns from lib/ and include/. NFC. 2018-04-16 08:31:08 +00:00
SemaStmt.cpp Diagnose cases of "return x" that should be "return std::move(x)" for efficiency 2018-04-12 14:48:48 +00:00
SemaStmtAsm.cpp Re-land "[Sema] Make getCurFunction() return null outside function parsing" 2018-03-12 21:43:02 +00:00
SemaStmtAttr.cpp Now that C++17 is official (https://www.iso.org/standard/68564.html), start changing the C++1z terminology over to C++17. NFC intended, these are all mechanical changes. 2017-12-04 20:27:34 +00:00
SemaTemplate.cpp [c++2a] [concepts] Add rudimentary parsing support for template concept declarations 2018-04-25 02:42:26 +00:00
SemaTemplateDeduction.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
SemaTemplateInstantiate.cpp Sink PrettyDeclStackTrace down to the AST library 2018-03-23 00:07:18 +00:00
SemaTemplateInstantiateDecl.cpp [c++2a] [concepts] Add rudimentary parsing support for template concept declarations 2018-04-25 02:42:26 +00:00
SemaTemplateVariadic.cpp Fix crash when trying to pack-expand a GNU statement expression. 2018-02-03 00:44:57 +00:00
SemaType.cpp Fix typos in clang 2018-04-06 15:14:32 +00:00
TreeTransform.h [Sema] Fix PR35832 - Ambiguity accessing anonymous struct/union with multiple bases. 2018-04-08 06:21:33 +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