Botond Ballo
b197e46728
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
f03fd8179e
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
...
--HG--
extra : rebase_source : c76a1dbb2942a07788ec1e87bc5edab79bfee3f5
extra : source : 4abfbfd822789a609c5a7c8c7eef499c776ba489
2015-06-03 16:51:36 -04:00
Ehsan Akhgari
6532f9f013
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
Ehsan Akhgari
399276d5fc
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
638b28b8e0
Backed out changeset 02e6a50741a9 (bug 1153348) to hopefully fix the static bustage CLOSED TREE
2015-04-21 15:47:40 -07:00
Wes Kocher
78060d2f53
Backed out changeset 8b99d282cd87 (bug 1156084) for static bustage CLOSED TREE
2015-04-21 14:23:56 -07:00
Ehsan Akhgari
3d21a05904
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
3f4737e49a
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
ac6176637b
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
68ebc60aef
Backed out changeset 5f48890c23c1 (bug 1153304)
2015-04-14 16:32:42 -07:00
Ehsan Akhgari
b98cfc5a8e
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
a84e5979ce
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
464d8fa62a
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
b2262a1e39
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
a402464ce0
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
7afb1a818c
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
fb8a584ff5
Backed out changeset fae8ad41a604 (bug 927430) because of build bustage on a CLOSED TREE
2015-01-18 19:04:23 -05:00
Ehsan Akhgari
c63941d33e
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
3474c1cff3
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
3b65f212d1
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
4f72aaa22b
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
ec1321f90b
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
3d7d4af71d
Backed out changesets acb4dd16755c and 40768f723990 (bug 867348) for static analysis bustage.
...
CLOSED TREE
2014-12-18 15:59:51 -05:00
Ehsan Akhgari
b791aba21c
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
828c32884e
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
39ece9769c
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
Mike Hommey
51f6cc88c1
Bug 1062219 - Don't build build/clang-plugin as an external directory. r=jcranmer
2014-09-04 17:44:01 +09:00
Joshua Cranmer
f39213113a
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
Joshua Cranmer
f9295075bf
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
6a948c71c1
Bug 868285 - Fix static checking builds, part 1: infer MOZ_STACK_CLASS. r=bsmedberg
2013-05-27 16:04:18 -05:00
Joshua Cranmer
be07522e81
Bug 856108 - Port static analyses to clang, part 1: stack-class. r=ehsan
2013-04-11 22:20:02 -05:00
Joshua Cranmer
557e5bbac0
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