Michael Layzell
aa2b0131c4
Bug 1242789 - Allow lambdas to capture raw pointers to refcounted objects by reference, r=ehsan
2016-01-26 13:32:41 -05:00
Michael Layzell
66ff47de76
Bug 1226376 - Part 1: Allow non-trivial constexpr constructors in MOZ_TRIVIAL_CTOR_DTOR classes, r=ehsan
2016-01-08 15:34:24 -05:00
Randell Jesup
d32ed4e100
Bug 1198458: Rollup of changes previously applied to media/webrtc/trunk/webrtc and fixes to those rs=jesup r=froyd,jib,bwc,jesup,gcp,sotaro,pkerr,pehrsons
...
Landing as one rolled-up patch to avoid breaking regression tests, and in
keeping with previous WebRTC imports. Broken out parts that needed review
are on the bug.
2015-11-18 15:03:25 -05:00
Jed Davis
a57efa0d96
Bug 1201314 - Make most of std:: non-memmovable for static analysis purposes. r=mystor r=ehsan
...
For simplicity, the exceptions are hard-coded in the plugin: currently
std::pair and std::atomic.
2015-10-14 18:13:00 +02:00
Michael Layzell
e034601238
Bug 1214037 - Don't consider the result of an assignment expression MOZ_MUST_USE, r=ehsan
2015-10-14 16:06:36 -04:00
Michael Layzell
d9344de2ee
Bug 1208814 - Part 1: Add an analysis to prevent default copy constructors from being called on refcounted objects, r=ehsan
2015-10-03 11:23:52 -04:00
Ehsan Akhgari
9a58833114
Bug 1182727 - Part 15: Build the clang-plugin C test in C11 mode; r=mystor
...
For some mysterious reason, the plugin crashes when loaded under
the -std=gnu89 that we use by default for C.
2015-10-02 11:09:23 -04:00
Botond Ballo
56e0b97c28
Bug 1209330 - Get the clang plugin to compile with clang 3.7 and warnings-as-errors. r=mystor
2015-09-28 18:52:44 -04:00
Ehsan Akhgari
f48f2563c2
Bug 1205242 - Part 2: Require libc++ for building the clang plugin on OSX; r=ted
2015-09-28 22:40:49 -04:00
Ehsan Akhgari
eac578d6c8
Bug 1204763 follow-up: Fix the comments, DONTBUILD
2015-09-28 22:18:56 -04:00
Ehsan Akhgari
48247b560b
Bug 1204763 - Enable cross compiling the clang plugin for OS X on Linux; r=glandium
2015-09-28 22:14:53 -04:00
Michael Layzell
e40461bd14
Bug 1201190 - Part 1: Add an analysis to prevent a type from being allocated in a temporary, r=ehsan
2015-09-12 16:53:31 -04:00
Michael Layzell
180393117d
Bug 1156802 - Part 1: Add an analysis which prohibits explicit move constructors, r=ehsan
2015-09-12 12:34:44 -04:00
Jed Davis
56bddf5f5f
Bug 1201309 - Make MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS work with MOZ_NON_MEMMOVABLE. r=ehsan f=mystor
...
This patch migrates moz_non_memmovable into the CustomTypeAnnotation
framework; bonus side-effects are more helpful error messages and less
code duplication.
2015-09-10 08:23:53 -07:00
Botond Ballo
4ae6af1589
Bug 1170388 - Removed an outdated workaround for old clang versions in the static analysis plugin. r=mystor
2015-09-04 12:37:33 -04:00
Michael Layzell
49d7af815f
Bug 1200413 - Part 1: Re-write RefCountedInsideLambdaChecker to use captures instead of checking for DeclRef instances, r=ehsan
2015-09-01 18:20:46 -04:00
Ehsan Akhgari
78fdf87fa4
Run clang-format on clang-plugin.cpp, no bug
2015-08-18 23:09:24 -04:00
Michael Layzell
2ffea2bfd7
Bug 1195960 - Correct naming of CustomTypeAnnotation::reportErrorIfAbsent, r=me
2015-08-18 20:24:30 -04:00
Michael Layzell
8de4ef2721
Bug 1192130 - Part 1: Add MOZ_NON_AUTOABLE to restrict using auto in place of certain types, r=ehsan
2015-08-14 17:33:52 -04:00
Michael Layzell
fc32758878
Bug 1192271 - Add helper method CustomTypeAnnotation::reportErrorIfAbsent to clang-plugin, r=ehsan
2015-08-14 17:33:50 -04:00
Michael Layzell
a19237a067
Bug 885515 - Part 1: Add an analysis for detecting non-heap allocations of MOZ_HEAP_CLASS, r=ehsan
2015-08-09 12:42:10 -04:00
Michael Layzell
cf8d2169e5
Bug 1192015 - Refactor allocation analysis in clang plugin to better allow adding new analyses, and support detecting temporary value allocations, r=ehsan
2015-08-09 12:42:09 -04:00
Ehsan Akhgari
41ccf85272
Fix some bad variable names, no bug
2015-08-04 19:11:16 -04:00
Michael Layzell
ae763d5318
Bug 1187073 - Add the MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS annotation to clang-plugin. r=ehsan
2015-07-24 12:52:00 -04:00
Michael Layzell
aed2b64cc2
Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan
2015-07-30 20:31:11 -04:00
Ryan VanderMeulen
5a336f34d0
Backed out changeset 3e78fb4512a6 (bug 1187486) for static analysis failures.
2015-07-30 14:47:52 -04:00
Michael Layzell
367814b92d
Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan
2015-07-30 14:03:18 -04:00
Michael Layzell
6389115c4d
Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan
2015-07-30 01:05:06 -04:00
Boris Zbarsky
3e70a7ec26
Back out revision 6d94504b602d (bug 602122).
2015-07-28 17:19:46 -04:00
Michael Layzell
63663e0bb6
Bug 602122 - Add a static analysis to find XPCOM classes with duplicate mRefCnt members; r=ehsan
2015-07-28 16:55:20 -04:00
Ehsan Akhgari
96dd813af5
Bug 1187982 - Fix building clang-plugin with clang 3.5; r=mystor
2015-07-27 14:06:03 -04:00
Michael Layzell
10dd826b58
Bug 1159433 - Part 1: Add an analysis to ensure that some template arguments cannot be non-memmovable types; r=ehsan
2015-07-24 19:14:37 -04:00
Michael Layzell
9d46061b4d
Bug 1123907 - Part 1: Add an analysis to ensure that a class marked MOZ_NEEDS_NO_VTABLE_TYPE cannot be instantiated by a class with a VTable; r=ehsan
2015-07-24 19:13:52 -04:00
Michael Layzell
ffe699b5dc
Bug 1185044 - Unify type annotation logic between MOZ_*_CLASS and MOZ_MUST_USE; r=ehsan
2015-07-24 19:13:15 -04:00
Michael Layzell
b2987686b9
Bug 1185188 - Support multiple clang-plugin annotations; r=ehsan
2015-07-24 19:12:54 -04:00
Jed Davis
d732870d2e
Bug 1183485 - Exempt security/sandbox/chromium from MOZ_IMPLICIT enforcement. r=ehsan
2015-07-17 14:57:00 -04:00
Ehsan Akhgari
20a6030350
Bug 1123386 - Part 2: Temporarily relax the libstdc++ symbol version requirements for Linux static analysis builds; r=glandium
2015-07-13 22:42:14 -04:00
Michael Layzell
0eb57dfbb4
Bug 1180993 - Part 1: Add an analysis to help catch unused return values of specific types. r=ehsan
2015-07-10 09:46:00 -04:00
Ehsan Akhgari
7505da2c29
Bug 1180549 - Fix a startup crash when using the clang-plugin with clang>3.5; r=mystor
...
We were de-referencing the checker variable after having moved it into
the array, which was causing a null pointer crash.
With this fixed, the plugin can be built with more recent versions of
clang.
2015-07-06 14:48:36 -04:00
Ehsan Akhgari
fa44aad141
Bug 1180506 - Fix building the clang-plugin with ToT clang; r=mystor
2015-07-06 14:48:35 -04:00
Ehsan Akhgari
dc533a8281
Bug 1075758 - Do not look at the ICU version number when whitelisting the ICU namespace in the clang plugin; r=Waldo
2015-06-15 14:29:28 -04:00
Botond Ballo
77d3b666a0
Bug 1170388 - Restrict the static analysis error given about raw pointers to refcounted objects inside a lambda, to the case where the raw pointer is captured. r=ehsan
2015-06-03 16:51:36 -04:00
Botond Ballo
9cbfb04730
Backed out d952a7d6bfb4 (bug 1170388) on a CLOSED TREE for static analysis bustage. r=bustage
2015-06-05 00:14:14 -04:00
Botond Ballo
75fa4313c2
Bug 1170388 - Restrict the static analysis error given about raw pointers to refcounted objects inside a lambda, to the case where the raw pointer is captured. r=ehsan
2015-06-03 16:51:36 -04:00
Ehsan Akhgari
aee7f7274a
Bug 1156084 - Disallow AddRef() and Release() calls on the return value of methods returning XPCOM objects; r=jrmuizel
...
When a method returns type D derived from RefCounted type B, there is an
ImplicitCastExpr (or an ExplicitCastExpr, if there is an explicit cast
to the base type in the code) in the AST between the CallExpr and
MemberExpr, which we didn't take into account before. This caused the
analysis to not work on common patterns such as
nsCOMPtr<nsIXPCOMInterface>.
2015-05-15 08:39:55 -04:00
Birunthan Mohanathas
e0adbad231
Bug 1163029 - Use NamedDecl::getName instead of expensive NamedDecl::getNameAsString. r=ehsan
2015-05-08 09:29:11 -07:00
Ehsan Akhgari
0915a15420
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 21:40:49 -04:00
Wes Kocher
5c13924153
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Wes Kocher
6fdfd8574e
Backed out changeset 8b99d282cd87 (bug 1156084) for static bustage CLOSED TREE
2015-04-21 14:23:56 -07:00
Ehsan Akhgari
783d64de67
Bug 1153348 - Add an analysis to prohibit operator bools which aren't marked as either explicit or MOZ_IMPLICIT; r=jrmuizel
...
This is the counterpart to the existing analysis to catch
constructors which aren't marked as either explicit or
MOZ_IMPLICIT.
2015-04-21 16:31:58 -04:00