[serialization] PR34728: Don't assume that only a suffix of template
authorRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 31 Jul 2018 21:01:53 +0000 (21:01 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 31 Jul 2018 21:01:53 +0000 (21:01 +0000)
commit559cc6978964e20ed7cd1e999419cb3b225e1f49
treebed487618ab554c91b4425803c18a7e150f45371
parentbaf94f830ba4739647d6690c9535619a0175247b
[serialization] PR34728: Don't assume that only a suffix of template
parameters can have default arguments.

At least for function templates and class template partial
specializations, it's possible for a template parameter with a default
argument to be followed by a non-pack template parameter with no default
argument, and this case was not properly handled here.

Testcase by Steve O'Brien!

llvm-svn: 338438
clang/lib/Serialization/ASTReaderDecl.cpp
clang/test/PCH/cxx-templates.cpp
clang/test/PCH/cxx-templates.h