summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-01-13 05:28:24 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-01-13 05:28:24 +0000
commit906ed278b96692cdb9546c16ea1f958b6213d9e1 (patch)
tree09d02eebc5ff83b364d4689cefd2fa7b099f37fb /clang/lib/Parse/ParseDecl.cpp
parent64e3dedf3bf53da84a4b71ede2440bac232c7684 (diff)
downloadbcm5719-llvm-906ed278b96692cdb9546c16ea1f958b6213d9e1.tar.gz
bcm5719-llvm-906ed278b96692cdb9546c16ea1f958b6213d9e1.zip
Parse: Don't crash if missing an initializer expression
llvm-svn: 225768
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r--clang/lib/Parse/ParseDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index 0d8b0cc05fc..93125e9fed7 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -5625,13 +5625,14 @@ void Parser::ParseParameterDeclarationClause(
// FIXME: Can we use a smart pointer for Toks?
DefArgToks = new CachedTokens;
+ SourceLocation ArgStartLoc = NextToken().getLocation();
if (!ConsumeAndStoreInitializer(*DefArgToks, CIK_DefaultArgument)) {
delete DefArgToks;
DefArgToks = nullptr;
Actions.ActOnParamDefaultArgumentError(Param, EqualLoc);
} else {
Actions.ActOnParamUnparsedDefaultArgument(Param, EqualLoc,
- (*DefArgToks)[1].getLocation());
+ ArgStartLoc);
}
} else {
// Consume the '='.
OpenPOWER on IntegriCloud