diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-08 23:14:54 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-08 23:14:54 +0000 |
commit | 8df390f9ebc87702ae2b6155e5d81477c481db6f (patch) | |
tree | 493246882f1e97949bb1b2966ca99a3a1da21aaa /clang/lib/Parse/Parser.cpp | |
parent | 10037b93e90672f1819b3bc32d8d2dbeec68ae83 (diff) | |
download | llvm-8df390f9ebc87702ae2b6155e5d81477c481db6f.zip llvm-8df390f9ebc87702ae2b6155e5d81477c481db6f.tar.gz llvm-8df390f9ebc87702ae2b6155e5d81477c481db6f.tar.bz2 |
C++ Modules TS: Add parsing and some semantic analysis support for
export-declarations. These don't yet have an effect on name visibility;
we still export everything by default.
llvm-svn: 280999
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
-rw-r--r-- | clang/lib/Parse/Parser.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 0a54ea0..8cc97e5 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -770,11 +770,17 @@ Parser::ParseExternalDeclaration(ParsedAttributesWithRange &attrs, : Sema::PCC_Namespace); cutOffParsing(); return nullptr; + case tok::kw_export: + if (getLangOpts().ModulesTS) { + SingleDecl = ParseExportDeclaration(); + break; + } + // This must be 'export template'. Parse it so we can diagnose our lack + // of support. case tok::kw_using: case tok::kw_namespace: case tok::kw_typedef: case tok::kw_template: - case tok::kw_export: // As in 'export template' case tok::kw_static_assert: case tok::kw__Static_assert: // A function definition cannot start with any of these keywords. |