Tiny fix to the parsing of linkage-specifications
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59820 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp
index 560edc1..17f5763 100644
--- a/lib/Parse/ParseDeclCXX.cpp
+++ b/lib/Parse/ParseDeclCXX.cpp
@@ -98,7 +98,7 @@
/// 'extern' string-literal declaration
///
Parser::DeclTy *Parser::ParseLinkage(unsigned Context) {
- assert(Tok.is(tok::string_literal) && "Not a stringliteral!");
+ assert(Tok.is(tok::string_literal) && "Not a string literal!");
llvm::SmallVector<char, 8> LangBuffer;
// LangBuffer is guaranteed to be big enough.
LangBuffer.resize(Tok.getLength());
@@ -110,7 +110,7 @@
SourceLocation LBrace, RBrace;
if (Tok.isNot(tok::l_brace)) {
- D = ParseDeclaration(Context);
+ D = ParseDeclarationOrFunctionDefinition();
} else {
LBrace = ConsumeBrace();
while (Tok.isNot(tok::r_brace) && Tok.isNot(tok::eof)) {
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp
index 861609c..86c2976 100644
--- a/lib/Parse/Parser.cpp
+++ b/lib/Parse/Parser.cpp
@@ -295,7 +295,7 @@
}
/// ParseExternalDeclaration:
-/// external-declaration: [C99 6.9]
+/// external-declaration: [C99 6.9], declaration: [C++ dcl.dcl]
/// function-definition
/// declaration
/// [EXT] ';'
@@ -307,7 +307,7 @@
/// [OBJC] objc-protocol-definition
/// [OBJC] objc-method-definition
/// [OBJC] @end
-///
+/// [C++] linkage-specification
/// [GNU] asm-definition:
/// simple-asm-expr ';'
///