Commit Graph

104 Commits

Author SHA1 Message Date
Ehsan Akhgari
09ce2152c7 Bug 1264827 - Part 2: Add a static analysis to help check Rust wrapped C++ classes for members which are unsafe to memmove; r=mystor 2016-04-18 15:43:46 -04:00
Ehsan Akhgari
18c66f1103 Bug 1264827 - Part 1: Rename the existing code to make it clear it's checking for template args; r=mystor 2016-04-18 15:43:44 -04:00
Michael Layzell
c4c75e9287 Bug 1254247 - Ignore implicit Expr wrappers due to temporary cleanup in MUST_USE analysis, r=ehsan 2016-03-11 18:29:47 -05:00
Mike Hommey
cbb8f056e6 Bug 1255540 - Properly run the clang-plugin tests. r=gps 2016-03-11 12:22:24 +09:00
Ehsan Akhgari
fca32e35f3 Bug 1254807 - Disambiguate ArrayType for clang trunk static analysis builds; r=jrmuizel 2016-03-09 08:36:15 -05:00
Andrea Marchesini
856342a4be Bug 1253187 - Remove some warnings in clang-plugin tests, r=ehsan 2016-03-03 18:31:12 +01:00
Ehsan Akhgari
2218f47481 Bug 1251587 - Add Windows support to the clang plugin; r=jrmuizel 2016-02-26 16:14:12 -05:00
Ehsan Akhgari
b7dad904d3 Bug 1246334 - Add support for building the clang plugin using clang-cl; r=glandium 2016-02-26 07:29:48 -05:00
Ehsan Akhgari
b49b986147 Reformat clang-plugin.cpp using clang-format, no bug 2016-02-05 10:29:39 -05:00
Ehsan Akhgari
ef18719332 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
e20df1a14b 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
41a734ee6d Backed out changeset b542e3e8bb79 (bug 1245269) for bustage on a CLOSED TREE 2016-02-03 15:47:02 +01:00
Carsten "Tomcat" Book
f3a1230220 Backed out changeset ad3e81d12128 (bug 1245275) 2016-02-03 15:46:47 +01:00
Carsten "Tomcat" Book
ad9044964a Backed out changeset 70ca2c2cb7d9 2016-02-03 15:46:46 +01:00
Ehsan Akhgari
0c9cd58411 Reformat clang-plugin.cpp using clang-format, no bug 2016-02-03 09:19:18 -05:00
Ehsan Akhgari
e04c60ccf0 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
fc3fe4e32e Bug 1245269 - Make clang-plugin build with clang 3.8 and newer; r=mystor 2016-02-03 09:19:18 -05:00
Michael Layzell
299ac653c2 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
2b12d59585 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
9c83bc8f96 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
f377ca14ea 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
24a4505d6d 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
977f9a33ea 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
f8824f7e03 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
3538b31b78 Bug 1209330 - Get the clang plugin to compile with clang 3.7 and warnings-as-errors. r=mystor
--HG--
extra : rebase_source : 72788f51cda5a8383cb2e286c92b307e3baab007
extra : source : 233c50497b6115de816b989f4f4398cb0a57baa7
2015-09-28 18:52:44 -04:00
Ehsan Akhgari
132b75b223 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
55a9d754c2 Bug 1204763 follow-up: Fix the comments, DONTBUILD 2015-09-28 22:18:56 -04:00
Ehsan Akhgari
3dffc9c59e 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
ee6e600d85 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
da3af84697 Bug 1156802 - Part 1: Add an analysis which prohibits explicit move constructors, r=ehsan 2015-09-12 12:34:44 -04:00
Jed Davis
3a2bfc48d5 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
6811428930 Bug 1170388 - Removed an outdated workaround for old clang versions in the static analysis plugin. r=mystor
--HG--
extra : source : c3993efa33510e1fbd3c16d4b4cf25f838a2d308
2015-09-04 12:37:33 -04:00
Michael Layzell
5cb124397c 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
bdd686cb19 Run clang-format on clang-plugin.cpp, no bug 2015-08-18 23:09:24 -04:00
Michael Layzell
e67c2f600e Bug 1195960 - Correct naming of CustomTypeAnnotation::reportErrorIfAbsent, r=me 2015-08-18 20:24:30 -04:00
Michael Layzell
40e60e8a8e 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
be3d67125a Bug 1192271 - Add helper method CustomTypeAnnotation::reportErrorIfAbsent to clang-plugin, r=ehsan 2015-08-14 17:33:50 -04:00
Michael Layzell
535f5ff710 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
256c460c0c 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
a2853f82dd Fix some bad variable names, no bug 2015-08-04 19:11:16 -04:00
Michael Layzell
fd765fa5fa Bug 1187073 - Add the MOZ_INHERIT_TYPE_ANNOTATIONS_FROM_TEMPLATE_ARGS annotation to clang-plugin. r=ehsan
--HG--
extra : rebase_source : ecdbc00b315c36420b066792ee3664addecb9812
2015-07-24 12:52:00 -04:00
Michael Layzell
bd071c9515 Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 20:31:11 -04:00
Ryan VanderMeulen
2ab90188e0 Backed out changeset 3e78fb4512a6 (bug 1187486) for static analysis failures. 2015-07-30 14:47:52 -04:00
Michael Layzell
5644f5a00c Bug 1187486 - Update the clang plugin to detect templated implicit constructors; r=ehsan 2015-07-30 14:03:18 -04:00
Michael Layzell
4fffaa9e34 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
d0799d6f5c Back out revision 6d94504b602d (bug 602122). 2015-07-28 17:19:46 -04:00
Michael Layzell
259a9c490b 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
4209f5efcd Bug 1187982 - Fix building clang-plugin with clang 3.5; r=mystor 2015-07-27 14:06:03 -04:00
Michael Layzell
bf91a08bcc 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
91c1e847d6 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