Commit Graph

99 Commits

Author SHA1 Message Date
Andrea Marchesini
768515aa3e Bug 1253187 - Remove some warnings in clang-plugin tests, r=ehsan 2016-03-03 18:31:12 +01:00
Ehsan Akhgari
17746eca90 Bug 1251587 - Add Windows support to the clang plugin; r=jrmuizel 2016-02-26 16:14:12 -05:00
Ehsan Akhgari
e521904bcc Bug 1246334 - Add support for building the clang plugin using clang-cl; r=glandium 2016-02-26 07:29:48 -05:00
Ehsan Akhgari
ab1bf1e0f2 Reformat clang-plugin.cpp using clang-format, no bug 2016-02-05 10:29:39 -05:00
Ehsan Akhgari
5f41a8ae9c Bug 1245269 - Part 2: Add a configure check for the existence of the new AST Matcher API names; r=glandium 2016-02-05 10:29:39 -05:00
Ehsan Akhgari
9d79527f47 Bug 1245269 - Part 1: Make clang-plugin build with clang 3.8 and newer; r=mystor 2016-02-05 10:29:39 -05:00
Carsten "Tomcat" Book
17f3703246 Backed out changeset b542e3e8bb79 (bug 1245269) for bustage on a CLOSED TREE 2016-02-03 15:47:02 +01:00
Carsten "Tomcat" Book
1a14b6a4f8 Backed out changeset ad3e81d12128 (bug 1245275) 2016-02-03 15:46:47 +01:00
Carsten "Tomcat" Book
57ccf7668a Backed out changeset 70ca2c2cb7d9 2016-02-03 15:46:46 +01:00
Ehsan Akhgari
bc91b3836f Reformat clang-plugin.cpp using clang-format, no bug 2016-02-03 09:19:18 -05:00
Ehsan Akhgari
e8f6b95f41 Bug 1245275 - Fix "Name is not a simple identifier" assertions in clang-plugin; r=mystor
Some methods may not have names.  NamedDecl::getName() already returns
an empty string for those, but it also asserts the consumer is asking
for something that makes sense.
2016-02-03 09:19:18 -05:00
Ehsan Akhgari
6394ca3d55 Bug 1245269 - Make clang-plugin build with clang 3.8 and newer; r=mystor 2016-02-03 09:19:18 -05:00
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