summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseTemplate.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-07-11 22:42:07 +0000
committerChris Lattner <sabre@nondot.org>2010-07-11 22:42:07 +0000
commit1390134c1804d6356ebcfdf8ce48fb747e03f250 (patch)
tree27f73722fa5f8840c894b424633a9c26f39185e6 /clang/lib/Parse/ParseTemplate.cpp
parentdbb1e93a9fc79d136ffbaea0dbe5342785ab9d2e (diff)
downloadbcm5719-llvm-1390134c1804d6356ebcfdf8ce48fb747e03f250.tar.gz
bcm5719-llvm-1390134c1804d6356ebcfdf8ce48fb747e03f250.zip
Fix PR7617 by not entering ParseFunctionDefinition when
a function prototype is followed by a declarator if we aren't parsing a K&R style identifier list. Also, avoid skipping randomly after a declaration if a semicolon is missing. Before we'd get: t.c:3:1: error: expected function body after function declarator void bar(); ^ Now we get: t.c:1:11: error: invalid token after top level declarator void foo() ^ ; llvm-svn: 108105
Diffstat (limited to 'clang/lib/Parse/ParseTemplate.cpp')
-rw-r--r--clang/lib/Parse/ParseTemplate.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseTemplate.cpp b/clang/lib/Parse/ParseTemplate.cpp
index 1713a4f9553..e1aaf91bd65 100644
--- a/clang/lib/Parse/ParseTemplate.cpp
+++ b/clang/lib/Parse/ParseTemplate.cpp
@@ -238,7 +238,7 @@ Parser::ParseSingleDeclarationAfterTemplate(
}
if (DeclaratorInfo.isFunctionDeclarator() &&
- isStartOfFunctionDefinition()) {
+ isStartOfFunctionDefinition(DeclaratorInfo)) {
if (DS.getStorageClassSpec() == DeclSpec::SCS_typedef) {
Diag(Tok, diag::err_function_declared_typedef);
OpenPOWER on IntegriCloud