llvm-project/clang/lib/Serialization
Gauthier Harnisch 796ed03b84 [C++20] add Basic consteval specifier
Summary:
this revision adds Lexing, Parsing and Basic Semantic for the consteval specifier as specified by http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1073r3.html

with this patch, the consteval specifier is treated as constexpr but can only be applied to function declaration.

Changes:
 - add the consteval keyword.
 - add parsing of consteval specifier for normal declarations and lambdas expressions.
 - add the whether a declaration is constexpr is now represented by and enum everywhere except for variable because they can't be consteval.
 - adapt diagnostic about constexpr to print constexpr or consteval depending on the case.
 - add tests for basic semantic.

Reviewers: rsmith, martong, shafik

Reviewed By: rsmith

Subscribers: eraman, efriedma, rnkovacs, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D61790

llvm-svn: 363362
2019-06-14 08:56:20 +00:00
..
ASTCommon.cpp [OPENMP 5.0]Add initial support for 'allocate' directive. 2019-03-07 17:54:44 +00:00
ASTCommon.h [OPENMP 5.0]Add initial support for 'allocate' directive. 2019-03-07 17:54:44 +00:00
ASTReader.cpp [c++20] P0780R2: Support pack-expansion of init-captures. 2019-05-21 20:10:50 +00:00
ASTReaderDecl.cpp [C++20] add Basic consteval specifier 2019-06-14 08:56:20 +00:00
ASTReaderInternals.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ASTReaderStmt.cpp For DR712: store on a MemberExpr whether it constitutes an odr-use. 2019-06-11 17:50:36 +00:00
ASTWriter.cpp [c++20] P0780R2: Support pack-expansion of init-captures. 2019-05-21 20:10:50 +00:00
ASTWriterDecl.cpp [C++20] add Basic consteval specifier 2019-06-14 08:56:20 +00:00
ASTWriterStmt.cpp For DR712: store on a MemberExpr whether it constitutes an odr-use. 2019-06-11 17:50:36 +00:00
CMakeLists.txt Modules: Rename MemoryBufferCache to InMemoryModuleCache 2019-03-09 17:33:56 +00:00
GeneratePCH.cpp Modules: Add LangOptions::CacheGeneratedPCH 2019-03-12 18:38:04 +00:00
GlobalModuleIndex.cpp Adds `-ftime-trace` option to clang that produces Chrome `chrome://tracing` compatible JSON profiling output dumps. 2019-03-30 08:42:48 +00:00
InMemoryModuleCache.cpp Modules: Invalidate out-of-date PCMs as they're discovered 2019-03-09 17:44:01 +00:00
Module.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ModuleFileExtension.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ModuleManager.cpp Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
MultiOnDiskHashTable.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PCHContainerOperations.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00