Граф коммитов

40 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru 20b343675a Bug 1577726 - Move generated directories into a dedicated file (Generated.txt) from ThirdPartyPaths.txt r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D44147

--HG--
extra : moz-landing-system : lando
2019-09-05 14:24:21 +00:00
Tom Ritter 9dfb78cd80 Bug 1576710 - Perform the correct comparison with OS Arch r=nalexander
This removes an unrecognized parameter warning.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 18:58:51 +00:00
Aaron Klotz b21e723d2e Bug 1569681: Part 1 - Add support for moz_static_local_class and moz_trivial_dtor to clang-plugin; r=Ehsan
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as
static locals, taking advantage of C++11 "magic statics" such that we can lazily
initialize those variables in a thread-safe way.

In support of those classes, this patch adds two new attributes:

* `moz_static_local_class` to ensure that any instantiations of that class only
  occur as static local variables;
* `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit`
  and add a whole bunch of shutdown crap.

`moz_static_local_class` works similarly to `moz_global_class`, except that its
object must only instantiate as static locals.

`TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific
bits removed.

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

--HG--
rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp
rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h
extra : moz-landing-system : lando
2019-07-30 18:50:52 +00:00
Mihai Alexandru Michis fbddadbfab Backed out 3 changesets (bug 1569681) for causing build bustages. CLOSED TREE
Backed out changeset 292cc6853e82 (bug 1569681)
Backed out changeset 4d0a7b968eb0 (bug 1569681)
Backed out changeset be9e5f8f00d0 (bug 1569681)
2019-07-29 23:21:01 +03:00
Aaron Klotz f6ac9f6aff Bug 1569681: Part 1 - Add support for moz_static_local_class and moz_trivial_dtor to clang-plugin; r=Ehsan
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as
static locals, taking advantage of C++11 "magic statics" such that we can lazily
initialize those variables in a thread-safe way.

In support of those classes, this patch adds two new attributes:

* `moz_static_local_class` to ensure that any instantiations of that class only
  occur as static local variables;
* `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit`
  and add a whole bunch of shutdown crap.

`moz_static_local_class` works similarly to `moz_global_class`, except that its
object must only instantiate as static locals.

`TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific
bits removed.

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

--HG--
rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp
rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h
extra : moz-landing-system : lando
2019-07-29 20:10:01 +00:00
Mihai Alexandru Michis ab5f499ef3 Backed out 3 changesets (bug 1569681) for causing build bustages. CLOSED TREE
Backed out changeset 075b818a46fe (bug 1569681)
Backed out changeset 2c543b239808 (bug 1569681)
Backed out changeset 21ea6fea046e (bug 1569681)
2019-07-29 22:53:13 +03:00
Aaron Klotz b802d4c147 Bug 1569681: Part 1 - Add support for moz_static_local_class and moz_trivial_dtor to clang-plugin; r=Ehsan
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as
static locals, taking advantage of C++11 "magic statics" such that we can lazily
initialize those variables in a thread-safe way.

In support of those classes, this patch adds two new attributes:

* `moz_static_local_class` to ensure that any instantiations of that class only
  occur as static local variables;
* `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit`
  and add a whole bunch of shutdown crap.

`moz_static_local_class` works similarly to `moz_global_class`, except that its
object must only instantiate as static locals.

`TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific
bits removed.

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

--HG--
rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp
rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h
extra : moz-landing-system : lando
2019-07-29 19:40:19 +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
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
Mike Hommey f8798bbeb2 Bug 1487622 - Refactor the clang plugin wrt attributes r=andi
- We forcefully remove annotations from the AST so that they don't end
up impacting codegen.
- We change the API such that we use identifiers instead of strings,
reducing the chances of typo errors.

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

--HG--
extra : moz-landing-system : lando
2018-09-18 13:03:33 +00:00
Andi-Bogdan Postelnicu d25759d92e Bug 1485949 - fix busted build of clang-plugin on MacOS native build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4204

--HG--
extra : moz-landing-system : lando
2018-08-24 11:44:38 +00:00
Mike Hommey b2837054ff Bug 1469091 - Build the clang plugin as a host shared library. r=ted
This adds just enough host shared library support for this one use case,
but also takes shortcuts, because fully supporting host shared library
is a deep rabbit hole I'm not ready to take just to fix --enable-lto
--enable-clang-plugin on mac builds.

One downside is that one my machine the plugin now takes > 80s to build,
instead of 15s before, thanks to the lack of unified sources.

--HG--
extra : rebase_source : bf52a72a01d4e3eb77cf52b646b19734b9273075
2018-07-05 14:58:09 +09:00
Mike Hommey 67a5371f47 Bug 1467658 - Upgrade the default clang toolchain to clang 6. r=chmanchester
The linux64-clang toolchain alias is currently clang 5. Switch it to
clang 6, but keep the spidermonkey tsan builds on clang 5 because of
bug 1467673.

The LLVM headers that come with clang 6 contain a DEBUG define that
conflicts with our DEBUG define and breaks the clang-plugin build,
so force unset ours.

--HG--
extra : rebase_source : aae88f1166108f003b06c022f14d5f4c61fc1ed9
2018-06-08 10:36:07 +09:00
Andi-Bogdan Postelnicu c523c8faa9 Bug 1440886 - Implement a static analysis checker to detect usage of PR_LoadLibrary and LoadLibraryA/LoadLibraryExA/LoadLibrary/LoadLibraryEx. r=Nika
MozReview-Commit-ID: CUjfeBeOdsk

--HG--
extra : rebase_source : 633b900794cba24030c2b93d4d070d1447fff39b
2018-03-07 14:36:44 +02:00
Julian Hector 378f6d9cfb Bug 1398874 - Add static analysis to reject ParamTraits specializations for enum types. r=mystor 2017-12-05 10:26:41 -05:00
Bill McCloskey 794104b1e1 Bug 1413738 - Mozsearch clang plugin (r=mystor)
MozReview-Commit-ID: 53zUQ0vDMpd
2017-11-16 15:06:32 -08:00
Chris Manchester 2a7d541658 Bug 1411712 - Move ldflags munging by the clang-plugin to moz.build r=mshal
MozReview-Commit-ID: JTZlXscUvlX

--HG--
extra : rebase_source : 96d7963429a362ac246b5ff93c828709168ef3cf
2017-11-02 11:47:48 -07:00
Chris Manchester d43c1ef2dd Bug 1403346 - Implement clang-plugin cxxflags in moz.build. r=glandium
MozReview-Commit-ID: 9zSryJcTRGl
2017-10-25 15:12:10 -07:00
Chris Manchester fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07:00
Chris Manchester c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Tristan Bourvon ba0998ae31 Bug 1380423 - Add static-analysis to enforce strict rules on functions which can run scripts. r=mystor
MozReview-Commit-ID: GGSyq0z5msB
2017-08-08 19:48:53 +03:00
Tristan Bourvon 2e77c99160 Bug 1374024 - add checker to prevent dangling pointers returned by method calls on temporaries. r=mystor
MozReview-Commit-ID: 9khNt59ONF
2017-07-05 16:14:21 +02:00
Carsten "Tomcat" Book 6f930b42b1 Backed out changeset 1a0693cc418b (bug 1374024) for bustage 2017-07-13 15:14:51 +02:00
Tristan Bourvon 473b245885 Bug 1374024 - add checker to prevent dangling pointers returned by method calls on temporaries. r=mystor
MozReview-Commit-ID: 9khNt59ONFE
2017-07-05 16:14:21 +02:00
Carsten "Tomcat" Book 2332473008 Backed out changeset 1a49d403a9a4 (bug 1374024) for bustage 2017-07-13 11:10:31 +02:00
Tristan Bourvon 20068f7ba3 Bug 1374024 - add checker to prevent dangling pointers returned by method calls
on temporaries. r=mystor

MozReview-Commit-ID: 9khNt59ONFE
2017-07-05 16:14:21 +02:00
Michael Layzell 71b5c1a204 Bug 1339537 - Part 1: Teach the clang plugin about ThirdPartyPaths.txt, r=ehsan
MozReview-Commit-ID: PS9x7Nh1h8
2017-04-27 12:44:46 -04:00
Michael Layzell 4689eec07a Bug 1331434 - Part 1: Add an analysis to require a return after calls to annotated functions, r=ehsan
MozReview-Commit-ID: 7NqXap8FdSn
2017-03-07 19:06:48 -05:00
Ehsan Akhgari 21f0768c95 Bug 1324328 - Remove MozChecker and some unused code; r=mystor 2016-12-28 21:14:51 -05:00
Ehsan Akhgari 2f3ebccb92 Bug 1324325 - Port the muse-use check to the clang-tidy compatible framework; r=mystor 2016-12-28 21:14:49 -05:00
Ehsan Akhgari cd93cff857 Bug 1324320 - Port the must-override check to the clang-tidy compatible framework; r=mystor 2016-12-28 21:14:39 -05:00
Ehsan Akhgari 3ddb346120 Bug 1324239 - Refactor the clang plugin; r=mystor
This patch mostly just splits up clang-plugin.cpp into separate files for
different classes or helpers.
2016-12-28 20:17:48 -05:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06: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
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