Ehsan Akhgari
ed25606ef3
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
9c4f84f7ac
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
e90e955195
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
3431dc395b
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
123f153e5a
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
24ee07fb04
Bug 1163029 - Use NamedDecl::getName instead of expensive NamedDecl::getNameAsString. r=ehsan
2015-05-08 09:29:11 -07:00
Ehsan Akhgari
d278570d19
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
01d294be4b
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Wes Kocher
bb85f7a5bc
Backed out changeset 8b99d282cd87 (bug 1156084) for static bustage CLOSED TREE
2015-04-21 14:23:56 -07:00
Ehsan Akhgari
74f43d26e8
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
Ehsan Akhgari
69a1633117
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-04-21 16:24:41 -04:00
Ehsan Akhgari
897e09b883
Bug 1153304 follow-up: Fix the build bustage
2015-04-14 21:15:53 -04:00
Ehsan Akhgari
ee87bda2a2
Bug 1153304 - Add an analysis to prohibit the usage of pointers to refcounted types inside C++ lambdas; r=jrmuizel
2015-04-14 20:55:05 -04:00
Wes Kocher
9b5bcb1185
Backed out changeset 5f48890c23c1 (bug 1153304)
2015-04-14 16:32:42 -07:00
Ehsan Akhgari
5c8f4eb0c9
Bug 1153304 - Add an analysis to prohibit the usage of pointers to refcounted types inside C++ lambdas; r=jrmuizel
2015-04-14 18:34:46 -04:00
Ehsan Akhgari
b0661f5ce2
Bug 1114999 - Part 1: Create an analysis for disallowing calling AddRef and Release on the return value of functions; r=jrmuizel
2015-01-22 17:54:54 -05:00
Nicholas Nethercote
c186747b35
Bug 1123527 - Initialized some locals in TestNoArithmeticExprInArgument.cpp. r=ehsan.
...
I think these undefined variables don't matter because it's a static analysis
input, but defining them does stop cppcheck from complaining.
--HG--
extra : rebase_source : 9f663aad5c939af6798cb9a080d25256c3d105fe
2015-01-15 22:16:38 -08:00
Ehsan Akhgari
d89604a3ea
Bug 1123459 - Add an informational note to the diagnostic explaining to use the explicit keyword; r=jrmuizel
2015-01-19 16:39:29 -05:00
Ehsan Akhgari
73eae9b894
Bug 1123429: Allow implicit conversions on abstract C++ classes; r=jrmuizel
...
Such classes cannot be constructed at all, so worrying about how their
constructors can be invoked is pointless.
2015-01-19 16:38:38 -05:00
Ehsan Akhgari
c2bf626dfe
Bug 927430 - Add a static analysis to detect is-NaN testing using |x == x| or |x != x|; r=jrmuizel
...
--HG--
extra : rebase_source : d80c866ecc7e5f415c83db757e82bd4bac299b67
2014-12-21 12:33:25 -05:00
Ehsan Akhgari
558e8c0479
Backed out changeset fae8ad41a604 (bug 927430) because of build bustage on a CLOSED TREE
2015-01-18 19:04:23 -05:00
Ehsan Akhgari
92449e6463
Bug 927430 - Add a static analysis to detect is-NaN testing using |x == x| or |x != x|; r=jrmuizel
2015-01-18 18:44:43 -05:00
Ehsan Akhgari
ce7a0a3b04
Bug 1111269 - Enable running the clang-plugin tests as part of the build; r=glandium
2014-12-24 12:13:36 -05:00
Ehsan Akhgari
5ea2e0a605
Bug 1114267 - Part 1: Add an analysis to force some classes to have trivial ctors and dtors; r=jrmuizel
2014-12-22 18:15:42 -05:00
Ehsan Akhgari
5726a71b1a
Bug 773014 - Part 1: Add an analysis for marking classes as global-only; r=jrmuizel
2014-12-22 18:10:32 -05:00
Ehsan Akhgari
16e8b5c836
Bug 867348 - Part 1: Add an analysis that catches calls to certain functions involving arithmetic expressions; r=jrmuizel
2014-12-18 15:25:15 -05:00
Ryan VanderMeulen
a799d74695
Backed out changesets acb4dd16755c and 40768f723990 (bug 867348) for static analysis bustage.
...
CLOSED TREE
2014-12-18 15:59:51 -05:00
Ehsan Akhgari
545e0b3667
Bug 867348 - Part 1: Add an analysis that catches calls to certain functions involving arithmetic expressions; r=jrmuizel
...
--HG--
extra : rebase_source : d89b16b9ab591479400a3e5e89b217a67319669d
2014-12-18 15:25:15 -05:00
Ehsan Akhgari
bbaaddb3ff
Bug 1111266 - Optimize the clang plugin a bit; r=jrmuizel
...
--HG--
extra : rebase_source : a716418dc06db34fe62ee08bcf33e99c41400c32
2014-12-16 12:54:06 -05:00
Ehsan Akhgari
6db2d849d2
Bug 1111425 - Silence the warning about operator new returning null in TestNonHeapClass.cpp; r=jrmuizel
...
clang issues the following warning on this:
'operator new' should not return a null pointer unless it is declared 'throw()' or 'noexcept'
2014-12-16 00:38:21 -05:00
Ehsan Akhgari
f0b47b1741
Bug 1009631 - Add a static check to the clang plugin to detect bad implicit conversion constructors; r=jcranmer
2014-12-13 14:18:54 -05:00
Ehsan Akhgari
b96c196756
Bug 1109246 - Support the ToT clang in the clang-plugin; r=jrmuizel
2014-12-10 10:46:10 -05:00
Ehsan Akhgari
e14d077a57
Bug 1108595 - Enable using libc++ in clang-plugin on OSX 10.10; r=glandium
2014-12-09 08:51:15 -05:00
Mike Hommey
d667f4bb59
Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
...
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.
Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.
Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey
d0c653396e
Bug 1062219 - Don't build build/clang-plugin as an external directory. r=jcranmer
2014-09-04 17:44:01 +09:00
Mike Hommey
59053e50c0
Bug 1046533 - Completely wrap subconfigures. r=mshal
...
While bug 903369 added some kind of wrapping, msys mangling on Windows made
it hard to make the python wrapper invoke subconfigures itself. This change
overcomes this, allowing to run subconfigures entirely independently of
the main configure if necessary, or to do more fancy checks without having
to resort to m4 and shell.
2014-08-02 08:02:30 +09:00
Ehsan Akhgari
b2db2316b2
Bug 861425 - Build the clang plugin on Mac; r=jcranmer
2014-05-31 09:13:32 -04:00
Joshua Cranmer
2864f1b299
Bug 929200, part 1: Add MOZ_HEAP_ALLOCATOR to stack-only/non-heap analyses, r=Waldo.
...
--HG--
extra : rebase_source : 1ea94cf7a8ab7207d238c65877001549f3f828be
2013-12-06 21:23:06 -06:00
Mike Hommey
589863dd6b
Bug 926010 - Create 'binaries' stamp when recursing build/clang-plugin; r=jcranmer
2013-10-12 10:07:13 +09:00
Mike Hommey
5cb4c3e1ff
Bug 923862 - Add binaries rule in build/clang-plugin. r=jcranmer
2013-10-09 11:03:42 +09:00
Mike Hommey
d86dcbb470
Another fixup for static analysis builds after bug 912832. r=jcranmer
2013-09-06 13:30:47 +09:00
Mike Hommey
6156da846f
Fixup for bug 912832 busting static analysis builds. r=me
2013-09-06 10:09:52 +09:00
Joshua Cranmer
c6a8662716
Bug 868285 - Fix static checking builds, part 2: Add MOZ_NONHEAP_CLASS. r=ehsan
...
--HG--
rename : build/clang-plugin/tests/TestStackClass.cpp => build/clang-plugin/tests/TestNonHeapClass.cpp
2013-05-27 16:05:02 -05:00
Joshua Cranmer
2cf82af930
Bug 868285 - Fix static checking builds, part 1: infer MOZ_STACK_CLASS. r=bsmedberg
2013-05-27 16:04:18 -05:00
Joshua Cranmer
b721b5a37b
Bug 856108 - Port static analyses to clang, part 1: stack-class. r=ehsan
2013-04-11 22:20:02 -05:00
Joshua Cranmer
5588a09e5f
Bug 767563 - Add a clang static checker, part 2: Implement the MOZ_MUST_OVERRIDE attribute. r=ehsan
2013-03-23 21:13:24 -05:00
Joshua Cranmer
951b7571e3
Bug 767563 - Add a clang static checker, part 1: add the plugin shell. r=glandium
2013-03-23 21:12:25 -05:00