HomePhabricator

Add lifetime categories attributes

Authored by mgehre on Jul 25 2019, 10:50 AM.

Description

Add lifetime categories attributes

Summary:
This is the first part of work announced in
"[RFC] Adding lifetime analysis to clang" [0],
i.e. the addition of the [[gsl::Owner(T)]] and
[[gsl::Pointer(T)]] attributes, which
will enable user-defined types to participate in
the lifetime analysis (which will be part of the
next PR).
The type T here is called "DerefType" in the paper,
and denotes the type that an Owner owns and a Pointer
points to. E.g. std::vector<int> should be annotated
with [[gsl::Owner(int)]] and
a std::vector<int>::iterator with [[gsl::Pointer(int)]].

[0] http://lists.llvm.org/pipermail/cfe-dev/2018-November/060355.html

Reviewers: gribozavr

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63954

llvm-svn: 367040

Details

Committed
mgehreJul 25 2019, 10:50 AM
Differential Revision
D63954: Add lifetime categories attributes
Parents
rG393094859e45: Remove CallingConvMethodType
Branches
Unknown
Tags
Unknown