[PATCH] D66179: [LifetimeAnalysis] Support more STL idioms (template forward declaration and DependentNameType)
Matthias Gehre via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 13 15:35:15 PDT 2019
mgehre created this revision.
mgehre added a reviewer: gribozavr.
Herald added a subscriber: Szelethus.
Herald added a project: clang.
This fixes inference of gsl::Pointer on std::set::iterator with libstdc++ (the typedef for iterator
on the template is a DependentNameType - we can only put the gsl::Pointer attribute
on the underlaying record after instantiation)
inference of gsl::Pointer on std::vector::iterator with libc++ (the class was forward-declared,
we added the gsl::Pointer on the canonical decl (the forward decl), and later when the
template was instantiated, there was no attribute on the definition so it was not instantiated).
and a duplicate gsl::Pointer on some class with libstdc++ (we first added an attribute to
a incomplete instantiation, and then another was copied from the template definition
when the instantiation was completed).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D66179
Files:
clang/lib/Sema/SemaAttr.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66179.214949.patch
Type: text/x-patch
Size: 5653 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190813/1c8126db/attachment-0001.bin>
More information about the cfe-commits
mailing list