aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Parse/ParseCXXInlineMethods.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-06-10 20:21:15 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-06-10 20:21:15 +0000
commitcef7d378b68c7328d212e17b6fd3dc74b5d08086 (patch)
tree1159dbc3301660cc9eed485e10b59b3aa5c5e139 /clang/lib/Parse/ParseCXXInlineMethods.cpp
parent094f17beebea8fb909e99747979707a1bc1ceec4 (diff)
downloadllvm-cef7d378b68c7328d212e17b6fd3dc74b5d08086.zip
llvm-cef7d378b68c7328d212e17b6fd3dc74b5d08086.tar.gz
llvm-cef7d378b68c7328d212e17b6fd3dc74b5d08086.tar.bz2
[-fms-extensions] Don't crash on explicit class-scope specializations & default arguments
The code had a typo it was doing: Param->setUninstantiatedDefaultArg(Param->getUninstantiatedDefaultArg()); This is a no-op but may assert, we wanted to do: Param->setUninstantiatedDefaultArg(OldParam->getUninstantiatedDefaultArg()); This fixes PR28082. llvm-svn: 272425
Diffstat (limited to 'clang/lib/Parse/ParseCXXInlineMethods.cpp')
-rw-r--r--clang/lib/Parse/ParseCXXInlineMethods.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseCXXInlineMethods.cpp b/clang/lib/Parse/ParseCXXInlineMethods.cpp
index 3db75c7..3c51342 100644
--- a/clang/lib/Parse/ParseCXXInlineMethods.cpp
+++ b/clang/lib/Parse/ParseCXXInlineMethods.cpp
@@ -381,7 +381,7 @@ void Parser::ParseLexedMethodDeclaration(LateParsedMethodDeclaration &LM) {
assert (!OldParam->hasUnparsedDefaultArg());
if (OldParam->hasUninstantiatedDefaultArg())
Param->setUninstantiatedDefaultArg(
- Param->getUninstantiatedDefaultArg());
+ OldParam->getUninstantiatedDefaultArg());
else
Param->setDefaultArg(OldParam->getInit());
}