Commit Graph

268 Commits

Author SHA1 Message Date
David Major
5827377048 Bug 1557313 - Update ExplicitOperatorBoolChecker.cpp for clang trunk changes r=andi
https://reviews.llvm.org/rL360311 reworked the handling of `explicit` in `CXXConversionDecl`, and the `isExplicitSpecified()` method no longer exists. We can instead use `isExplicit()` which conveniently works on both old and new clangs. (Before 360311, `isExplicit()` just forwarded to `isExplicitSpecified()`.)

Differential Revision: https://phabricator.services.mozilla.com/D33958

--HG--
extra : moz-landing-system : lando
2019-06-06 15:42:25 +00:00
Andrew Sutherland
4e20ede87a Bug 1533802 - Sticky nesting for C++, Rust, JS r=kats
These are the changes from https://github.com/mozsearch/mozsearch/pull/212
(including the typo fixes requested today.

Differential Revision: https://phabricator.services.mozilla.com/D33701

--HG--
extra : moz-landing-system : lando
2019-06-04 20:49:34 +00:00
Yaron Tausky
7892bfc18a Bug 1554989 - Fix implicit checker on inheriting constructors r=andi
Inheriting constructors are implicitly introduced via a using-declaration.
Since the C++ grammar doesn't allow attributes on using-declarations, it
is currently impossible to add MOZ_IMPLICIT to implicit inheriting
constructors.

This commit changes the AST matcher such that it ignores inheriting
constructors altogether. If they are inheriting from an implicit inherited
constructor, that constructor's check should be enough to ensure that no
constructors are unintentionally implicit.

Differential Revision: https://phabricator.services.mozilla.com/D33281

--HG--
extra : moz-landing-system : lando
2019-06-04 11:36:46 +00:00
Mike Hommey
9454edbe38 Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

Differential Revision: https://phabricator.services.mozilla.com/D25328

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-04-02 02:18:10 +00:00
Noemi Erli
c479fa48df Backed out changeset 0d8cf467ed34 (bug 1538060) for Toolchains bustages CLOSED TREE
--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-04-02 04:54:34 +03:00
Mike Hommey
0b2041f465 Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

Differential Revision: https://phabricator.services.mozilla.com/D25328

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-04-01 12:23:13 +00:00
Sylvestre Ledru
04ccada040 Bug 1536790 - Also import clangTidyMPIModule when building the clang-plugin r=andi
Depends on D24175

Differential Revision: https://phabricator.services.mozilla.com/D25026

--HG--
extra : moz-landing-system : lando
2019-04-01 12:24:37 +00:00
Ciure Andrei
8a67ec169a Backed out 3 changesets (bug 1538060, bug 1539779, bug 1536790) for causing clang-tidy bustages CLOSED TREE
Backed out changeset 7d058f3174e5 (bug 1538060)
Backed out changeset 8839622122ed (bug 1539779)
Backed out changeset 9eb7867c1dd4 (bug 1536790)

--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-03-30 01:52:37 +02:00
Andreea Pavel
e9856466cd Bug 1538060 - Update non-Windows builds to clang 8.
Summary: Windows builds have been taken care of in bug 1535441.

Reviewers: froydnj

Reviewed By: froydnj

Subscribers: froydnj, sylvestre, rjl

Bug #: 1538060

Differential Revision: https://phabricator.services.mozilla.com/D25328

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : rebase_source : 4306240dd7bee404e83b6f0e651f4be0a1bfa165
extra : histedit_source : e569b2a5568d3aa2b9191b214947a8a11a3e06bf
2019-03-30 01:24:50 +02:00
Ciure Andrei
9fa2ff7bbe Backed out changeset dc3b81670b01 (bug 1538060) for causing clang-tidy bustages CLOSED TREE
--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-7-android.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-7-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-android.sh => taskcluster/scripts/misc/build-clang-7-android.sh
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-8-linux.sh => taskcluster/scripts/misc/build-clang-7-linux.sh
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2019-03-30 00:36:40 +02:00
Mike Hommey
632b7eac9a Bug 1538060 - Update non-Windows builds to clang 8. r=froydnj
Windows builds have been taken care of in bug 1535441.

Differential Revision: https://phabricator.services.mozilla.com/D25328

--HG--
rename : build/build-clang/clang-7-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-7-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : build/build-clang/clang-trunk-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-android.sh => taskcluster/scripts/misc/build-clang-8-android.sh
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-7-linux.sh => taskcluster/scripts/misc/build-clang-8-linux.sh
rename : taskcluster/scripts/misc/build-clang-trunk-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
extra : moz-landing-system : lando
2019-03-29 21:37:37 +00:00
Boris Zbarsky
b49b18f7fb Bug 1539013. Teach MOZ_CAN_RUN_SCRIPT about taking pointers to live references. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24840

--HG--
extra : moz-landing-system : lando
2019-03-26 20:55:41 +00:00
Boris Zbarsky
89dea017ae Bug 1539016 part 2. Teach MOZ_CAN_RUN_SCRIPT analysis about conditional operators. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24839

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:36 +00:00
Boris Zbarsky
80a2c9c2db Bug 1539016 part 1. Refactor the MOZ_CAN_RUN_SCRIPT analysis a bit to make new live things easier to add. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24838

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:16 +00:00
Boris Zbarsky
7d25b166ca Bug 1538030. Disable warning about dereferencing void* in can-run-script test. r=glandium
Some of our builds use --enable-warnings-as-errors and some don't, and I can't
figure out a way to write an expectation comment for that.

Differential Revision: https://phabricator.services.mozilla.com/D24469

--HG--
extra : moz-landing-system : lando
2019-03-22 03:25:51 +00:00
Boris Zbarsky
ba49f4de45 Bug 1537537. Improve the MOZ_CAN_RUN_SCRIPT analysis reporting around invalid args. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24258

--HG--
extra : moz-landing-system : lando
2019-03-21 11:52:50 +00:00
Boris Zbarsky
1e54f805f8 Bug 1536736. Allow constexpr things in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
Since these are compile-time constants, they can't exactly go away on us due to
running script, right?

Differential Revision: https://phabricator.services.mozilla.com/D24195

--HG--
extra : moz-landing-system : lando
2019-03-21 11:52:33 +00:00
Boris Zbarsky
534495abc4 Bug 1536825. Fix the interaction of ignoreTrivials and typechecks in MOZ_CAN_RUN_SCRIPT analysis. r=andi
We need to typecheck the trivials too, not just the final thing after trivials
are stripped, because casts are trivials.

Differential Revision: https://phabricator.services.mozilla.com/D24186

--HG--
extra : moz-landing-system : lando
2019-03-21 11:50:55 +00:00
Boris Zbarsky
b25b0dd1a9 Bug 1536724. Consider a smartptr temporary to be live for MOZ_CAN_RUN_SCRIPT analysis purposes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24120

--HG--
extra : moz-landing-system : lando
2019-03-21 11:49:11 +00:00
Boris Zbarsky
081fa29a04 Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

Differential Revision: https://phabricator.services.mozilla.com/D24117

--HG--
extra : moz-landing-system : lando
2019-03-21 11:48:33 +00:00
Boris Zbarsky
640cb8470a Bug 1536336. Change MOZ_CAN_RUN_SCRIPT analysis to allow const members of "this" in addition to stack refptrs. r=andi
"this" is guaranteed to stay alive as long as other MOZ_CAN_RUN_SCRIPT
conditions hold, and its const members can't change value and drop
their refs.

Differential Revision: https://phabricator.services.mozilla.com/D23997

--HG--
extra : moz-landing-system : lando
2019-03-21 11:47:22 +00:00
Brindusan Cristian
044c3936c7 Backed out 6 changesets (bug 1536736, bug 1536336, bug 1536719, bug 1536825, bug 1537537, bug 1536724) for build bustages at TestCanRunScript. CLOSED TREE
Backed out changeset f754116e738e (bug 1537537)
Backed out changeset f9df48cfea43 (bug 1536736)
Backed out changeset 7a9888e700cf (bug 1536825)
Backed out changeset e2551303c5cf (bug 1536724)
Backed out changeset f497ce3b7419 (bug 1536719)
Backed out changeset fd59264c47c1 (bug 1536336)
2019-03-21 07:33:33 +02:00
Boris Zbarsky
e3785e6699 Bug 1537537. Improve the MOZ_CAN_RUN_SCRIPT analysis reporting around invalid args. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24258

--HG--
extra : moz-landing-system : lando
2019-03-20 20:04:13 +00:00
Boris Zbarsky
22b27ec802 Bug 1536736. Allow constexpr things in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
Since these are compile-time constants, they can't exactly go away on us due to
running script, right?

Differential Revision: https://phabricator.services.mozilla.com/D24195

--HG--
extra : moz-landing-system : lando
2019-03-20 20:04:11 +00:00
Boris Zbarsky
9679412967 Bug 1536825. Fix the interaction of ignoreTrivials and typechecks in MOZ_CAN_RUN_SCRIPT analysis. r=andi
We need to typecheck the trivials too, not just the final thing after trivials
are stripped, because casts are trivials.

Differential Revision: https://phabricator.services.mozilla.com/D24186

--HG--
extra : moz-landing-system : lando
2019-03-20 15:25:55 +00:00
Boris Zbarsky
0d0978f826 Bug 1536724. Consider a smartptr temporary to be live for MOZ_CAN_RUN_SCRIPT analysis purposes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24120

--HG--
extra : moz-landing-system : lando
2019-03-20 14:40:34 +00:00
Boris Zbarsky
14f6385d4b Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

Differential Revision: https://phabricator.services.mozilla.com/D24117

--HG--
extra : moz-landing-system : lando
2019-03-20 18:08:16 +00:00
Boris Zbarsky
fd9223d7ac Bug 1536336. Change MOZ_CAN_RUN_SCRIPT analysis to allow const members of "this" in addition to stack refptrs. r=andi
"this" is guaranteed to stay alive as long as other MOZ_CAN_RUN_SCRIPT
conditions hold, and its const members can't change value and drop
their refs.

Differential Revision: https://phabricator.services.mozilla.com/D23997

--HG--
extra : moz-landing-system : lando
2019-03-20 04:19:24 +00:00
Boris Zbarsky
5c13f9c06d Bug 1535124 part 1. Add a MOZ_KnownLive() around callback-typed arguments in bindings. r=qdot
This allows calling a C++ MOZ_CAN_RUN_SCRIPT method that takes a callback argument.

The changes to TestCanRunScript.cpp are there to catch an incorrect change I was
going to make to the analysis to make this work, until I figured out that
RootedCallback should be MOZ_IS_SMARTPTR_TO_REFCOUNTED.

Differential Revision: https://phabricator.services.mozilla.com/D23519

--HG--
extra : moz-landing-system : lando
2019-03-19 12:59:53 +00:00
Boris Zbarsky
e348ad0b6c Improve the documentation around the MOZ_CAN_RUN_SCRIPT analysis. No bug. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D23762

--HG--
extra : moz-landing-system : lando
2019-03-16 12:52:33 +00:00
Boris Zbarsky
135d0b832e Bug 1535651. Whitelist std::__pair_base as memmovable for static analysis purposes. r=emilio
In at least some libstdc++ versions, std::pair (which we want to be
memmovable) inherits from __pair_base.  We have a similar setup
already for __atomic_base.

Differential Revision: https://phabricator.services.mozilla.com/D23698

--HG--
extra : moz-landing-system : lando
2019-03-15 16:17:52 +00:00
Boris Zbarsky
f3173cde3f Bug 1534421. Fix the CAN_RUN_SCRIPT analysis to treat a deref of an arg as live if it would treat the arg as live. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D23071

--HG--
extra : moz-landing-system : lando
2019-03-13 12:13:08 +00:00
Boris Zbarsky
b969a0f9f0 Bug 1534518. Change CanRunScriptChecker caller function note to point to the declaration, not the definition. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D23082

--HG--
extra : moz-landing-system : lando
2019-03-13 12:11:34 +00:00
Boris Zbarsky
4b76c0a954 Bug 1506439 part 1. Fix CanRunScript analysis handling of arguments that default to null. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D23064

--HG--
extra : moz-landing-system : lando
2019-03-13 02:33:57 +00:00
Boris Zbarsky
5bf2e408e6 Bug 1534608. MOZ_CAN_RUN_SCRIPT should disallow non-stack refptr arguments. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D23217

--HG--
extra : moz-landing-system : lando
2019-03-13 00:30:11 +00:00
Boris Zbarsky
cb94672630 Bug 1533617 part 5. Disallow virtual MOZ_CAN_RUN_SCRIPT methods overriding a non-MOZ_CAN_RUN_SCRIPT superclass method. r=andi
This way if a caller calls a method that has a MOZ_CAN_RUN_SCRIPT override, it
can detect that it's possibly calling a MOZ_CAN_RUN_SCRIPT thing without having
to know about the override.

Differential Revision: https://phabricator.services.mozilla.com/D22839

--HG--
extra : moz-landing-system : lando
2019-03-11 14:20:27 +00:00
Andi-Bogdan Postelnicu
891cf78a33 Bug 1529650 - For SprintfLiteral checker also disallow it in third party paths. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D21240

--HG--
extra : moz-landing-system : lando
2019-02-27 15:15:24 +00:00
Masatoshi Kimura
e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Kartikaya Gupta
6969f0ccfb Bug 1523082 - Remove assertion and more robustly handle destructor decls. r=emilio
Clang 8 seems to generate destructor decls from different source
locations which breaks an assertion in the code. This patch updates the
code to remove the assertion and more robustly handle the new
declarations.

Differential Revision: https://phabricator.services.mozilla.com/D17902

--HG--
extra : moz-landing-system : lando
2019-01-29 03:06:35 +00:00
David Major
fffbdc0db1 Bug 1522771: Use -brepro to build clang-plugin.dll deterministically. r=mshal 2019-01-25 11:09:13 -05:00
Emilio Cobos Álvarez
dc03fce9b5 Bug 1515314 - Fix the build of Searchfox's indexer with trunk clang and with assertions enabled. r=kats
CLANG_VERSION_FULL is a macro that lives in mozilla-central, so it doesn't exist
while building the indexer. Just use the macro clang provides.
2018-12-20 04:40:37 +01:00
Emilio Cobos Álvarez
092964cd45 Bug 1514599 - Remove code for clang <6 from the indexer plugin. r=kats
This picks up changes from https://github.com/mozsearch/mozsearch/pull/173.
2018-12-16 18:39:34 +01:00
Andi-Bogdan Postelnicu
fbd9a10021 Bug 1511889 - Update clang-plugin LoadLibraryUsageChecker to use getBeginLoc. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13726

--HG--
extra : moz-landing-system : lando
2018-12-06 16:34:13 +00:00
Sylvestre Ledru
ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Mike Hommey
cb4aa814b8 Bug 1506756 - Remove the use of real_path added in bug 1501903. r=andi
In the first part of bug 1501903, paths were canonicalized in
inThirdPartyPath. For some reason, this seems to add a non-negligible
overhead on Windows. OTOH, most include paths handed by the build system
are absolute, and most paths that contains .. are for system headers,
which don't matter for the inThirdPartyPath test.

Considering the inThirdPartyPath has been using non-canonicalized paths
for the longest, we'll assume it's fine to come back to that mode.

Differential Revision: https://phabricator.services.mozilla.com/D11725

--HG--
extra : moz-landing-system : lando
2018-11-13 08:22:25 +00:00
Andi-Bogdan Postelnicu
4f5c3e9078 Bug 1501821 - Update clang-plugin in order to make it compatiable with clang 8.0.0 trunk. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10806

--HG--
extra : moz-landing-system : lando
2018-11-03 13:41:36 +00:00
Kartikaya Gupta
86cb4f4e4d Bug 1418415 - Do more error checking. r=mccr8
While looking at this code I found a couple of places where errors could
get ignored or silently discarded and result in corrupt data. This
checks for the errors and fails harder.

Depends on D10353

Differential Revision: https://phabricator.services.mozilla.com/D10354

--HG--
extra : moz-landing-system : lando
2018-10-31 20:45:13 +00:00
Kartikaya Gupta
160df1fcad Bug 1418415 - Read and write analysis files in binary mode. r=mccr8
This is necessary because:
(a) the JSONFormatter emits a \n newline for each analysis line
(b) we truncate the file to the expected length after writing it
(c) on Windows writing the file in text mode replaces \n with \r\n
    and invalidates our computed "expected length"

Differential Revision: https://phabricator.services.mozilla.com/D10353

--HG--
extra : moz-landing-system : lando
2018-10-31 20:44:50 +00:00
Mike Hommey
3dabb0f250 Bug 1501903 - Cache the results of inThirdPartyPath. r=andi
The function is called a lot for the same paths and is rather costly, so
cache the results for each path.

Depends on D9758

Differential Revision: https://phabricator.services.mozilla.com/D9759

--HG--
extra : moz-landing-system : lando
2018-10-25 21:21:36 +00:00
Mike Hommey
371b282c0f Bug 1501903 - Properly handle paths in inThirdPartyPath. r=andi
SourceLocation that are passed to inThirdPartyPath might be macro
expansion locations, for which SourceManager.getFilename returns the
path of the directory containing the source, rather than of the
expansion location.

Furthermore, the paths getFileName returns are not canonical, and can
contain e.g. `..`.

Differential Revision: https://phabricator.services.mozilla.com/D9758

--HG--
extra : moz-landing-system : lando
2018-10-25 11:05:27 +00:00