llvm-project/clang/lib/Parse
Matthias Gehre d293cbd5fd 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
2019-07-25 17:50:51 +00:00
..
CMakeLists.txt
ParseAST.cpp Adds `-ftime-trace` option to clang that produces Chrome `chrome://tracing` compatible JSON profiling output dumps. 2019-03-30 08:42:48 +00:00
ParseCXXInlineMethods.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseDecl.cpp Add lifetime categories attributes 2019-07-25 17:50:51 +00:00
ParseDeclCXX.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseExpr.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseExprCXX.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseInit.cpp Rearrange and clean up how we disambiguate lambda-introducers from ObjC 2019-05-20 18:01:54 +00:00
ParseObjc.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseOpenMP.cpp [Lex] Allow to consume tokens while preprocessing 2019-05-17 09:32:05 +00:00
ParsePragma.cpp [Clang] New loop pragma vectorize_predicate 2019-07-25 07:33:13 +00:00
ParseStmt.cpp Ignore trailing NullStmts in StmtExprs for GCC compatibility. 2019-07-09 15:02:07 +00:00
ParseStmtAsm.cpp Change std::{lower,upper}_bound to llvm::{lower,upper}_bound or llvm::partition_point. NFC 2019-07-03 08:13:17 +00:00
ParseTemplate.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
ParseTentative.cpp [C++20] add Basic consteval specifier 2019-06-14 08:56:20 +00:00
Parser.cpp [Lex] Allow to consume tokens while preprocessing 2019-05-17 09:32:05 +00:00