diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-02-28 03:02:23 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-02-28 03:02:23 +0000 |
commit | 77a9c60aa670d262d9bc98fe327067a40c3c2afc (patch) | |
tree | f613992afcd3d40fb8756bcb0e00f0105e7b78d0 /llvm/lib/Object/Object.cpp | |
parent | c1a40220b4f4983706a4509f0291bb8c2a24b8a1 (diff) | |
download | llvm-77a9c60aa670d262d9bc98fe327067a40c3c2afc.zip llvm-77a9c60aa670d262d9bc98fe327067a40c3c2afc.tar.gz llvm-77a9c60aa670d262d9bc98fe327067a40c3c2afc.tar.bz2 |
Fix a couple of cases where we would fail to correctly parse deduced class template specialization types.
Specifically, we would not properly parse these types within template arguments
(for non-type template parameters), and in tentative parses. Fixing both of
these essentially requires that we parse deduced template specialization types
as types in all contexts, even in template argument lists -- in particular,
tentative parsing may look ahead and annotate a deduced template specialization
type before we figure out that we're actually supposed to treat the tokens as a
template-name. We deal with this by simply permitting deduced template
specialization types when parsing template arguments, and converting them to
template template arguments.
llvm-svn: 326299
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions