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

10671 Коммитов

Автор SHA1 Сообщение Дата
Razvan Cojocaru 7d3f1ced24 Bug 1142667 - [elfhack] Leak of |relhack| in |do_relocation_section|. r=firefox-build-system-reviewers,glandium
Now using std::unique_ptr<> for relhack, relhackcode and init, so
that nothing can leak on non-success exit paths.

Differential Revision: https://phabricator.services.mozilla.com/D144138
2022-05-18 21:18:32 +00:00
Mike Hommey f5c03cb647 Bug 1769902 - Fix license lint. r=fix CLOSED TREE 2022-05-19 01:00:08 +03:00
Mike Hommey beaa7521c7 Bug 1769902 - Update the itoa crate to 1.0.x. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D146662
2022-05-18 21:04:31 +00:00
Kagami Sascha Rosylight a9e8954b79 Bug 1765832 - Part 1: Restrict MOZ_KNOWN_LIVE to be modifiable only by constructor/destructors r=andi
Differential Revision: https://phabricator.services.mozilla.com/D146023
2022-05-18 18:07:00 +00:00
criss 441a887295 Backed out 3 changesets (bug 1765832) for causing build bustages on Transferable.cpp
Backed out changeset c7c5a5208d60 (bug 1765832)
Backed out changeset 05a53421e1d8 (bug 1765832)
Backed out changeset 87cf3ec70aab (bug 1765832)
2022-05-18 16:28:24 +03:00
Kagami Sascha Rosylight 07b6302656 Bug 1765832 - Part 1: Restrict MOZ_KNOWN_LIVE to be modifiable only by constructor/destructors r=andi
Differential Revision: https://phabricator.services.mozilla.com/D146023
2022-05-18 12:57:44 +00:00
Kagami Sascha Rosylight 2a6bc5e42d Bug 1769494 - Exclude xpc from JSHandleRootedTypedefChecker r=andi
XPC also follows SpiderMonkey rule so it should be excluded for now. This will reduce a good amount of warnings.

Differential Revision: https://phabricator.services.mozilla.com/D146497
2022-05-18 10:38:10 +00:00
Andrew McCreight fa8bfd1245 Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D146457
2022-05-17 20:24:19 +00:00
Joel Maher db28226dd1 Bug 1769098 - initial work to allow taskcluster/mozbase/mozharness to support conditioned profiles. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D146220
2022-05-16 19:11:46 +00:00
Mike Hommey f723109187 Bug 1769174 - Synchronize patches between clang 14 and clang trunk. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D146266
2022-05-14 21:22:24 +00:00
Mike Hommey 395326c531 Bug 1769174 - Consistently indent clang json files. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D146265
2022-05-14 21:22:23 +00:00
Mike Hommey 8e398f6502 Bug 1768996 - Add LLVM-15 compatibility to MozsearchIndexer.cpp. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D146151
2022-05-14 13:44:50 +00:00
Molnar Sandor 74e42d0f2f Backed out 5 changesets (bug 1743020) for causing linux build bustages in function2.hpp CLOSED TREE
Backed out changeset cf237471cf75 (bug 1743020)
Backed out changeset 78eb51447ce5 (bug 1743020)
Backed out changeset c486f95d55ec (bug 1743020)
Backed out changeset c0abfda55404 (bug 1743020)
Backed out changeset 16be18ca73fb (bug 1743020)
2022-05-14 10:31:12 +03:00
Nika Layzell 960eaeae92 Bug 1743020 - Part 1: Opt third-party paths out of NoExplicitMoveConstructor checker, r=andi
The function2 library uses an explicit move constructor internally,
which would trigger this checker, and cause a build failure.

Differential Revision: https://phabricator.services.mozilla.com/D145689
2022-05-13 23:43:51 +00:00
Kagami Sascha Rosylight 31b6df6028 Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Differential Revision: https://phabricator.services.mozilla.com/D145802
2022-05-13 22:45:51 +00:00
Narcis Beleuzu c641ca6aa7 Backed out 2 changesets (bug 1766038) for SM bustages . CLOSED TREE
Backed out changeset 01bec52b2ba3 (bug 1766038)
Backed out changeset cfcc7c859257 (bug 1766038)
2022-05-13 22:54:28 +03:00
Iulian Moraru 1a0666e8ec Bug 1766038 - fix black lint failures on moz.build. r=fix CLOSED TREE 2022-05-13 21:53:16 +03:00
Kagami Sascha Rosylight 66628d8729 Bug 1766038 - Prefer full qualified types over typedefs for JS::Handle/Rooted r=andi,sfink
Differential Revision: https://phabricator.services.mozilla.com/D145802
2022-05-13 18:02:47 +00:00
Iulian Moraru bdd514047e Backed out changeset fee2a1521dfe (bug 1769098) for causing python failures. CLOSED TREE 2022-05-13 21:03:32 +03:00
Joel Maher e041c47bdc Bug 1769098 - initial work to allow taskcluster/mozbase/mozharness to support conditioned profiles. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D146220
2022-05-13 15:21:23 +00:00
Jonathan Kew 9fbe563a70 Bug 1765093 - Add perf tests for SVG text based on the testcase here. r=perftest-reviewers,emilio,sparky
Differential Revision: https://phabricator.services.mozilla.com/D145727
2022-05-07 13:12:00 +00:00
Cristian Tuns f1a3cc8348 Backed out 4 changesets (bug 1765093) for causing web-platform-test failures on boundary-shaping-010.html CLOSED TREE
Backed out changeset 4f24833ac254 (bug 1765093)
Backed out changeset 6e5b336588d1 (bug 1765093)
Backed out changeset 17d5218d84b7 (bug 1765093)
Backed out changeset bbc194412080 (bug 1765093)
2022-05-06 17:08:52 -04:00
Jonathan Kew 2923fa9995 Bug 1765093 - Add perf tests for SVG text based on the testcase here. r=perftest-reviewers,emilio,sparky
Differential Revision: https://phabricator.services.mozilla.com/D145727
2022-05-06 17:47:24 +00:00
Mike Hommey 9fa0488903 Bug 1767504 - Apply GCC upstream patch to silence a dubious warning. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D145404
2022-05-06 12:49:45 +00:00
Mike Hommey 5e6cd4e3a5 Bug 1767917 - Remove rust compiler-builtins-hack. r=firefox-build-system-reviewers,andi
The underlying issue in the LLVM gold plugin now has a proposed fix that we
can use to remove the hack.

Differential Revision: https://phabricator.services.mozilla.com/D145539
2022-05-06 12:26:38 +00:00
Christian Holler 0ccdc33183 Bug 1756778 - Integrate top-level IPC fuzzing. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D139471
2022-05-05 15:39:24 +00:00
Anna Weine 42196a472a Bug 1767934 - land NSS 85bf9240f3e1 UPGRADE_NSS_RELEASE, r=nss-reviewers,djackson
Differential Revision: https://phabricator.services.mozilla.com/D145546
2022-05-05 10:56:32 +00:00
Mike Hommey e6c12dc71e Bug 1767372 - Upgrade clang to 14.0.3. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D145294
2022-05-05 07:16:46 +00:00
Markus Stange 5011140bec Bug 1765399 - Rename mRefreshTimerNeedsVsync and NotifyRefreshTimerVsyncStatus. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144364
2022-05-05 02:15:13 +00:00
Markus Stange 5ef3c929f4 Bug 1765399 - Rename RefreshTimerVsyncDispatcher to VsyncDispatcher. r=smaug
RefreshTimerVsyncDispatcher manages a lot more than just the
RefreshDriverVsyncTimer these days.

Differential Revision: https://phabricator.services.mozilla.com/D144363
2022-05-05 02:15:13 +00:00
Marian-Vasile Laza 1cd0ac703f Backed out 16 changesets (bug 1765399) for causing build bustages on RefPtr.h.
Backed out changeset 8ff5e213e351 (bug 1765399)
Backed out changeset bd164f5cc8b3 (bug 1765399)
Backed out changeset 939b577eee05 (bug 1765399)
Backed out changeset ee00e3583f42 (bug 1765399)
Backed out changeset e5001537e536 (bug 1765399)
Backed out changeset d5a4004a2955 (bug 1765399)
Backed out changeset d3c1f6c420e3 (bug 1765399)
Backed out changeset d21fca656853 (bug 1765399)
Backed out changeset 5e5a29a99c9e (bug 1765399)
Backed out changeset ce326de1e107 (bug 1765399)
Backed out changeset 3890e83660b0 (bug 1765399)
Backed out changeset 2f3ceca7aefe (bug 1765399)
Backed out changeset 40c47c498858 (bug 1765399)
Backed out changeset 3a3a2aa6de9b (bug 1765399)
Backed out changeset 4a30a4b3d30d (bug 1765399)
Backed out changeset a9115d9d648e (bug 1765399)
2022-05-05 00:30:06 +03:00
Markus Stange 838ffad4a6 Bug 1765399 - Rename mRefreshTimerNeedsVsync and NotifyRefreshTimerVsyncStatus. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144364
2022-05-04 16:13:34 +00:00
Markus Stange 070677f86a Bug 1765399 - Rename RefreshTimerVsyncDispatcher to VsyncDispatcher. r=smaug
RefreshTimerVsyncDispatcher manages a lot more than just the
RefreshDriverVsyncTimer these days.

Differential Revision: https://phabricator.services.mozilla.com/D144363
2022-05-04 16:13:34 +00:00
Mike Hommey a3e1d0e570 Bug 1766371 - Fix class-varargs warnings in Windows builds. r=nika,mjf
dom/bindings/BindingUtils.cpp(202,62): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                         static_cast<unsigned>(errorNumber), funcNameStr.get(),
                                                             ^
dom/bindings/BindingUtils.cpp(203,26): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                         ifaceName.get());
                         ^
dom/media/webrtc/transport/third_party/nICEr/src/ice/ice_component.c(582,15): error: passing object of class type 'nr_transport_addr' (aka 'struct nr_transport_addr_') through variadic function [-Werror,-Wclass-varargs]
              component->stream->turn_servers[j].turn_server.addr);
              ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(44,45): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
        wprintf(L"%s is not registered.\n", aNames[i].get());
                                            ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(49,30): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
        wprintf(L"%s:%4d\n", aNames[i].get(), *entry);
                             ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(248,30): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
      wprintf(L"JSON: %s\n", json.get());
                             ^
xpcom/io/nsLocalFileWin.cpp(1647,20): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                   NS_ConvertASCIItoUTF16(nsDependentCString(aField)).get());
                   ^

Differential Revision: https://phabricator.services.mozilla.com/D144665
2022-05-03 21:48:22 +00:00
Greg Tatum 9884018277 Bug 1758012 - Add a tutorial for writing an XPCOM Interface; r=xpcom-reviewers,kmag
I wrote this tutorial while documenting my process of adding a
component. I attempted to figure out the process rather than just cargo
culting from examples. The idea is that you can follow along with this
to get a new component going, and then reference the more detailed
documentation for implementation details.

Differential Revision: https://phabricator.services.mozilla.com/D140262
2022-04-29 18:26:54 +00:00
Mike Hommey 028ad1b883 Bug 1766377 - Fix remaining sign-compare warnings in Windows builds. r=rkraesig,gsvelto,media-playback-reviewers,gfx-reviewers,bryce,sotaro
browser/components/shell/WindowsUserChoice.cpp(233,23): error: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
    for (int j = 0; j < DWORDS_PER_BLOCK; ++j) {
                    ~ ^ ~~~~~~~~~~~~~~~~
browser/components/shell/WindowsUserChoice.cpp(388,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(exts); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~
browser/components/shell/nsWindowsShellService.cpp(1225,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(shortcutCSIDLs); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
browser/components/shell/nsWindowsShellService.cpp(1492,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(folders); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~
dom/media/platforms/wmf/MFTDecoder.cpp(85,23): error: comparison of integers of different signs: 'int' and 'UINT32' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 1; i < actsNum; i++) {
                    ~ ^ ~~~~~~~
gfx/2d/Factory.cpp(1276,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int y = 0; y < height; y++) {
                  ~ ^ ~~~~~~
gfx/layers/d3d11/CompositorD3D11.cpp(1096,36): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
        swapDesc.BufferDesc.Height == mSize.height) ||
        ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
gfx/layers/d3d11/CompositorD3D11.cpp(1095,35): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
  if (((swapDesc.BufferDesc.Width == mSize.width &&
        ~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
gfx/layers/d3d11/TextureD3D11.cpp(1278,30): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
          currentDesc.Height != mSize.height ||
          ~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
gfx/layers/d3d11/TextureD3D11.cpp(1277,29): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
      if (currentDesc.Width != mSize.width ||
          ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
gfx/layers/ipc/ContentCompositorBridgeParent.cpp(248,19): error: comparison of integers of different signs: 'const uint32_t' (aka 'const unsigned int') and 'int32_t' (aka 'int') [-Werror,-Wsign-compare]
  if (sequenceNum == status.sequenceNumber() && !dm->HasDeviceReset()) {
      ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(129,21): error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
    if (resultColor != 0xffffff00) {
        ~~~~~~~~~~~ ^  ~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(154,23): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
    for (int i = 0; i < PR_ARRAY_SIZE(checkModules); i += 1) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(409,14): error: comparison of integers of different signs: 'int32_t' (aka 'int') and 'UINT' (aka 'unsigned int') [-Werror,-Wsign-compare]
  if (vendor != desc.VendorId) {
      ~~~~~~ ^  ~~~~~~~~~~~~~
gfx/thebes/gfxDWriteFontList.cpp(1248,39): error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
        addFamily(names[index], index != sysLocIndex);
                                ~~~~~ ^  ~~~~~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(121,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int i = 0; i < aLength; ++i) {
                  ~ ^ ~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(132,23): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 0; i < aLength; ++i) {
                    ~ ^ ~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(138,23): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 0; i < aLength; ++i) {
                    ~ ^ ~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(319,26): error: comparison of integers of different signs: 'std::basic_string<char>::size_type' (aka 'unsigned long long') and 'int' [-Werror,-Wsign-compare]
    while (line.length() > whitespace &&
           ~~~~~~~~~~~~~ ^ ~~~~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(1003,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 1; i < noPlaceholderSpans.length(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(1708,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < dataLen / (2 * sizeof(double)); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/sandbox/chromium-shim/sandbox/win/permissionsService.cpp(40,16): error: comparison of integers of different signs: 'int' and 'const std::basic_string<wchar_t>::size_type' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
  if (slashIdx != std::wstring::npos) {
      ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~
toolkit/components/aboutthirdparty/tests/gtest/TestAboutThirdParty.cpp(107,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kDirectoriesUnsorted); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/breakpad-client/windows/crash_generation/crash_generation_server.cc(957,23): error: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
    for (int i = 0; i < kExceptionAppMemoryRegions; i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(373,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(kDefaultAttachedBottom) / sizeof(UINT); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(671,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(controls) / sizeof(controls[0]); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(1048,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(kDefaultAttachedBottom) / sizeof(UINT); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp(248,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < mozilla::ArrayLength(associations); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/system/windowsproxy/ProxyUtils.cpp(27,36): error: comparison of integers of different signs: 'const int' and 'nsTArray_base::size_type' (aka 'unsigned long long') [-Werror,-Wsign-compare]
                             if (i < addr.Length()) {
                                 ~ ^ ~~~~~~~~~~~~~
toolkit/xre/dllservices/mozglue/interceptor/Arm64.h(178,28): error: comparison of integers of different signs: 'int32_t' (aka 'int') and 'unsigned int' [-Werror,-Wsign-compare]
  if (signbits && signbits != 0xFE000000) {
                  ~~~~~~~~ ^  ~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned int' and 'const int' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned int, int>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(35,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned int, int, nullptr>' requested here
    EXPECT_EQ(mCounters.Count(), N);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(210,28): note: in instantiation of function template specialization 'ModuleLoadCounter::Remains<1>' requested here
    EXPECT_TRUE(waitForOne.Remains({kTestModules[0]}, {0}));
                           ^
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(139,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(151,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(164,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const int' and 'const unsigned long long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(138,3): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<int, unsigned long long, nullptr>' requested here
  EXPECT_EQ(len, ArrayLength(kExpectedArgsW));
  ^
widget/windows/TSFTextStore.cpp(3455,28): error: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'long' [-Werror,-Wsign-compare]
          range.mEndOffset == end - mComposition->StartOffset() &&
          ~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
widget/windows/TSFTextStore.cpp(3454,30): error: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'long' [-Werror,-Wsign-compare]
      if (range.mStartOffset == start - mComposition->StartOffset() &&
          ~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xpfe/appshell/AppWindow.cpp(1900,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int i = 0; i < toolbarSprings->Length(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144695
2022-04-29 09:14:12 +00:00
Norisz Fay 6e06e2da92 Backed out 4 changesets (bug 1766377) for causing mochitest failures on HyperTextAccessible.cpp CLOSED TREE
Backed out changeset 6335511477a4 (bug 1766377)
Backed out changeset e8108d6fab9f (bug 1766377)
Backed out changeset 80d16d55c490 (bug 1766377)
Backed out changeset 1a6583d6e52e (bug 1766377)
2022-04-29 07:35:11 +03:00
Mike Hommey 9cd056be1e Bug 1766377 - Fix remaining sign-compare warnings in Windows builds. r=rkraesig,gsvelto,media-playback-reviewers,gfx-reviewers,bryce,sotaro
browser/components/shell/WindowsUserChoice.cpp(233,23): error: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
    for (int j = 0; j < DWORDS_PER_BLOCK; ++j) {
                    ~ ^ ~~~~~~~~~~~~~~~~
browser/components/shell/WindowsUserChoice.cpp(388,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(exts); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~
browser/components/shell/nsWindowsShellService.cpp(1225,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(shortcutCSIDLs); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
browser/components/shell/nsWindowsShellService.cpp(1492,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(folders); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~
dom/media/platforms/wmf/MFTDecoder.cpp(85,23): error: comparison of integers of different signs: 'int' and 'UINT32' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 1; i < actsNum; i++) {
                    ~ ^ ~~~~~~~
gfx/2d/Factory.cpp(1276,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int y = 0; y < height; y++) {
                  ~ ^ ~~~~~~
gfx/layers/d3d11/CompositorD3D11.cpp(1096,36): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
        swapDesc.BufferDesc.Height == mSize.height) ||
        ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
gfx/layers/d3d11/CompositorD3D11.cpp(1095,35): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
  if (((swapDesc.BufferDesc.Width == mSize.width &&
        ~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
gfx/layers/d3d11/TextureD3D11.cpp(1278,30): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
          currentDesc.Height != mSize.height ||
          ~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~
gfx/layers/d3d11/TextureD3D11.cpp(1277,29): error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
      if (currentDesc.Width != mSize.width ||
          ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~
gfx/layers/ipc/ContentCompositorBridgeParent.cpp(248,19): error: comparison of integers of different signs: 'const uint32_t' (aka 'const unsigned int') and 'int32_t' (aka 'int') [-Werror,-Wsign-compare]
  if (sequenceNum == status.sequenceNumber() && !dm->HasDeviceReset()) {
      ~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(129,21): error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
    if (resultColor != 0xffffff00) {
        ~~~~~~~~~~~ ^  ~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(154,23): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
    for (int i = 0; i < PR_ARRAY_SIZE(checkModules); i += 1) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
gfx/thebes/D3D11Checks.cpp(409,14): error: comparison of integers of different signs: 'int32_t' (aka 'int') and 'UINT' (aka 'unsigned int') [-Werror,-Wsign-compare]
  if (vendor != desc.VendorId) {
      ~~~~~~ ^  ~~~~~~~~~~~~~
gfx/thebes/gfxDWriteFontList.cpp(1248,39): error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
        addFamily(names[index], index != sysLocIndex);
                                ~~~~~ ^  ~~~~~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(121,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int i = 0; i < aLength; ++i) {
                  ~ ^ ~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(132,23): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 0; i < aLength; ++i) {
                    ~ ^ ~~~~~~~
intl/lwbrk/nsUniscribeBreaker.cpp(138,23): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
    for (int i = 0; i < aLength; ++i) {
                    ~ ^ ~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(319,26): error: comparison of integers of different signs: 'std::basic_string<char>::size_type' (aka 'unsigned long long') and 'int' [-Werror,-Wsign-compare]
    while (line.length() > whitespace &&
           ~~~~~~~~~~~~~ ^ ~~~~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(1003,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 1; i < noPlaceholderSpans.length(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
mozglue/misc/PreXULSkeletonUI.cpp(1708,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < dataLen / (2 * sizeof(double)); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
security/sandbox/chromium-shim/sandbox/win/permissionsService.cpp(40,16): error: comparison of integers of different signs: 'int' and 'const std::basic_string<wchar_t>::size_type' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
  if (slashIdx != std::wstring::npos) {
      ~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~
toolkit/components/aboutthirdparty/tests/gtest/TestAboutThirdParty.cpp(107,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kDirectoriesUnsorted); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/breakpad-client/windows/crash_generation/crash_generation_server.cc(957,23): error: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long long') [-Werror,-Wsign-compare]
    for (int i = 0; i < kExceptionAppMemoryRegions; i++) {
                    ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(373,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(kDefaultAttachedBottom) / sizeof(UINT); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(671,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(controls) / sizeof(controls[0]); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/crashreporter/client/crashreporter_win.cpp(1048,21): error: comparison of integers of different signs: 'int' and 'unsigned long long' [-Werror,-Wsign-compare]
  for (int i = 0; i < sizeof(kDefaultAttachedBottom) / sizeof(UINT); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp(248,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < mozilla::ArrayLength(associations); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/system/windowsproxy/ProxyUtils.cpp(27,36): error: comparison of integers of different signs: 'const int' and 'nsTArray_base::size_type' (aka 'unsigned long long') [-Werror,-Wsign-compare]
                             if (i < addr.Length()) {
                                 ~ ^ ~~~~~~~~~~~~~
toolkit/xre/dllservices/mozglue/interceptor/Arm64.h(178,28): error: comparison of integers of different signs: 'int32_t' (aka 'int') and 'unsigned int' [-Werror,-Wsign-compare]
  if (signbits && signbits != 0xFE000000) {
                  ~~~~~~~~ ^  ~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const unsigned int' and 'const int' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<unsigned int, int>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(35,5): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<unsigned int, int, nullptr>' requested here
    EXPECT_EQ(mCounters.Count(), N);
    ^
obj-build/dist/include/gtest/gtest.h(1842,54): note: expanded from macro 'EXPECT_EQ'
  EXPECT_PRED_FORMAT2(::testing::internal::EqHelper::Compare, val1, val2)
                                                     ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(210,28): note: in instantiation of function template specialization 'ModuleLoadCounter::Remains<1>' requested here
    EXPECT_TRUE(waitForOne.Remains({kTestModules[0]}, {0}));
                           ^
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(139,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(151,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(164,21): error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long long') [-Werror,-Wsign-compare]
  for (int i = 0; i < ArrayLength(kExpectedArgsW); ++i) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
obj-build/dist/include/gtest/gtest.h(1354,11): error: comparison of integers of different signs: 'const int' and 'const unsigned long long' [-Werror,-Wsign-compare]
  if (lhs == rhs) {
      ~~~ ^  ~~~
obj-build/dist/include/gtest/gtest.h(1373,12): note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long long>' requested here
    return CmpHelperEQ(lhs_expression, rhs_expression, lhs, rhs);
           ^
toolkit/xre/test/gtest/TestAssembleCommandLineWin.cpp(138,3): note: in instantiation of function template specialization 'testing::internal::EqHelper::Compare<int, unsigned long long, nullptr>' requested here
  EXPECT_EQ(len, ArrayLength(kExpectedArgsW));
  ^
widget/windows/TSFTextStore.cpp(3455,28): error: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'long' [-Werror,-Wsign-compare]
          range.mEndOffset == end - mComposition->StartOffset() &&
          ~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
widget/windows/TSFTextStore.cpp(3454,30): error: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'long' [-Werror,-Wsign-compare]
      if (range.mStartOffset == start - mComposition->StartOffset() &&
          ~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xpfe/appshell/AppWindow.cpp(1900,21): error: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Werror,-Wsign-compare]
  for (int i = 0; i < toolbarSprings->Length(); i++) {
                  ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144695
2022-04-29 00:43:32 +00:00
Mike Hommey 38150e4463 Bug 1766368 - Fix ignored-qualifiers warnings in Windows builds. r=rkraesig
browser/app/winlauncher/test/TestCrossProcessWin.cpp(151,26): error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
        reinterpret_cast<const wchar_t (*)()>(::GetProcAddress(
                         ^~~~~~
widget/windows/nsWindow.h(374,8): error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
  bool const DestroyCalled() { return mDestroyCalled; }
       ^~~~~~
widget/windows/nsFilePicker.h(93,5): error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
    const uint32_t Length() { return mSpecList.Length(); }
    ^~~~~~
widget/windows/nsFilePicker.h(95,5): error: 'const' type qualifier on return type has no effect [-Werror,-Wignored-qualifiers]
    const bool IsEmpty() { return (mSpecList.Length() == 0); }
    ^~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144663
2022-04-28 22:03:05 +00:00
John Schanck 6028a138e9 Bug 1691122 - Remove subject common name fallback support in CertVerifier. r=keeler,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D143808
2022-04-28 19:48:06 +00:00
Butkovits Atila 94e2a597f6 Backed out changeset 0599b2a0913a (bug 1691122) for causing failures at test_peerConnection_basicAudioNATRelayTLS.html. CLOSED TREE 2022-04-28 03:58:05 +03:00
Mike Hommey 00732bfa12 Bug 1766375 - Fix implicit-fallthrough warnings in Windows builds. r=media-playback-reviewers,necko-reviewers,rkraesig,xpcom-reviewers,nika,bryce,kershaw
dom/media/platforms/wmf/WMFEncoderModule.cpp(31,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case MediaDataEncoder::CodecType::VP9:
    ^
dom/media/platforms/wmf/WMFEncoderModule.cpp(31,5): note: insert '[[fallthrough]];' to silence this warning
    case MediaDataEncoder::CodecType::VP9:
    ^
    [[fallthrough]];
netwerk/test/gtest/TestNamedPipeService.cpp(212,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    default:  // error
    ^
netwerk/test/gtest/TestNamedPipeService.cpp(212,5): note: insert '[[fallthrough]];' to silence this warning
    default:  // error
    ^
    [[fallthrough]];
widget/windows/KeyboardLayout.cpp(1973,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    default:
    ^
widget/windows/KeyboardLayout.cpp(1973,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    default:
    ^
    U_FALLTHROUGH;
widget/windows/WinMouseScrollHandler.cpp(633,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case SB_PAGEDOWN:
    ^
widget/windows/WinMouseScrollHandler.cpp(633,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case SB_PAGEDOWN:
    ^
    U_FALLTHROUGH;
widget/windows/WinMouseScrollHandler.cpp(640,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case SB_LINEDOWN:
    ^
widget/windows/WinMouseScrollHandler.cpp(640,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case SB_LINEDOWN:
    ^
    U_FALLTHROUGH;
widget/windows/nsLookAndFeel.cpp(188,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case ColorID::MozMenuhovertext:
    ^
widget/windows/nsLookAndFeel.cpp(188,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case ColorID::MozMenuhovertext:
    ^
    U_FALLTHROUGH;
widget/windows/nsLookAndFeel.cpp(194,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case ColorID::Highlighttext:
    ^
widget/windows/nsLookAndFeel.cpp(194,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case ColorID::Highlighttext:
    ^
    U_FALLTHROUGH;
widget/windows/nsLookAndFeel.cpp(469,15): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
              case ABE_BOTTOM:
              ^
widget/windows/nsLookAndFeel.cpp(469,15): note: insert 'U_FALLTHROUGH;' to silence this warning
              case ABE_BOTTOM:
              ^
              U_FALLTHROUGH;
widget/windows/nsNativeThemeWin.cpp(2540,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case StyleAppearance::Button:
    ^
widget/windows/nsNativeThemeWin.cpp(2540,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case StyleAppearance::Button:
    ^
    U_FALLTHROUGH;
widget/windows/nsNativeThemeWin.cpp(3278,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case StyleAppearance::Checkbox:
    ^
widget/windows/nsNativeThemeWin.cpp(3278,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case StyleAppearance::Checkbox:
    ^
    U_FALLTHROUGH;
widget/windows/nsNativeThemeWin.cpp(3332,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case StyleAppearance::Tabpanel:
    ^
widget/windows/nsNativeThemeWin.cpp(3332,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case StyleAppearance::Tabpanel:
    ^
    U_FALLTHROUGH;
widget/windows/nsNativeThemeWin.cpp(3461,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case StyleAppearance::Menuarrow: {
    ^
widget/windows/nsNativeThemeWin.cpp(3461,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case StyleAppearance::Menuarrow: {
    ^
    U_FALLTHROUGH;
widget/windows/nsWindow.cpp(1339,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case eWindowType_toplevel:
    ^
widget/windows/nsWindow.cpp(1339,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case eWindowType_toplevel:
    ^
    U_FALLTHROUGH;
widget/windows/nsWindow.cpp(1422,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case eWindowType_toplevel:
    ^
widget/windows/nsWindow.cpp(1422,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case eWindowType_toplevel:
    ^
    U_FALLTHROUGH;
widget/windows/nsWindow.cpp(3379,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case eTransparencyGlass:
    ^
widget/windows/nsWindow.cpp(3379,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case eTransparencyGlass:
    ^
    U_FALLTHROUGH;
widget/windows/nsWindow.cpp(5595,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case WM_MOUSELEAVE: {
    ^
widget/windows/nsWindow.cpp(5595,5): note: insert 'U_FALLTHROUGH;' to silence this warning
    case WM_MOUSELEAVE: {
    ^
    U_FALLTHROUGH;
xpcom/io/SpecialSystemDirectory.cpp(572,5): error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough]
    case Win_Programs: {
    ^
xpcom/io/SpecialSystemDirectory.cpp(572,5): note: insert '[[fallthrough]];' to silence this warning
    case Win_Programs: {
    ^
    [[fallthrough]];

Differential Revision: https://phabricator.services.mozilla.com/D144668
2022-04-27 22:12:53 +00:00
Mike Hommey b19d8a79aa Bug 1766378 - Enable thread-safety warnings in Windows builds. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D144755
2022-04-27 21:23:19 +00:00
John Schanck ea5479a8d7 Bug 1691122 - Remove subject common name fallback support in CertVerifier. r=keeler,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D143808
2022-04-27 20:57:31 +00:00
Mike Hommey ed8eeb522c Bug 1766364 - Fix unreachable-code warnings in Windows builds. r=mhowell,emilio,rkraesig
layout/base/nsLayoutUtils.cpp(9615,9): error: code will never be executed [-Werror,-Wunreachable-code]
        aDocument->ShouldAvoidNativeTheme();
        ^~~~~~~~~
layout/base/nsLayoutUtils.cpp(9613,9): note: silence by adding parentheses to mark code as explicitly dead
        true ||
        ^
        /* DISABLES CODE */ ( )
widget/windows/nsPrintSettingsWin.cpp(305,9): error: fallthrough annotation in unreachable code [-Werror,-Wunreachable-code-fallthrough]
        [[fallthrough]];
        ^
widget/windows/nsPrinterWin.cpp(165,9): error: fallthrough annotation in unreachable code [-Werror,-Wunreachable-code-fallthrough]
        [[fallthrough]];
        ^

Differential Revision: https://phabricator.services.mozilla.com/D144662
2022-04-26 22:12:09 +00:00
Mike Hommey 3da3b13f2a Bug 1766359 - Fix unreachable-code-return warnings in Windows builds. r=emilio,mhowell,nika,rkraesig
dom/system/PathUtils.cpp(77,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return false;
         ^~~~~
ipc/chromium/src/chrome/common/ipc_channel_win.cc(479,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return true;
         ^~~~
mozglue/misc/PreXULSkeletonUI.cpp(1263,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return 0;
         ^
mozglue/tests/TestPEExportSection.cpp(348,12): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
    return 0;
           ^
security/manager/ssl/OSReauthenticator.cpp(428,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return NS_OK;
         ^~~~~
toolkit/components/maintenanceservice/maintenanceservice.cpp(214,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return 0;
         ^
widget/windows/WindowsUIUtils.cpp(383,10): error: 'return' will never be executed [-Werror,-Wunreachable-code-return]
  return false;
         ^~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144661
2022-04-26 21:44:54 +00:00
Mike Hommey 3bb8f57dd5 Bug 1766370 - Fix bitfield-enum-conversion warnings in Windows builds. r=jandem
js/src/jit/x86-shared/Architecture-x86-shared.h(326,9): error: signed bit-field 'reg_' needs an extra bit to represent the largest positive enumerators of 'XMMRegisterID' [-Werror,-Wbitfield-enum-conversion]
      : reg_(Codes::Encoding(r)), type_(k), isInvalid_(false) {}
        ^
js/src/jit/x86-shared/Architecture-x86-shared.h(310,3): note: consider making the bitfield type unsigned
  Codes::Encoding reg_ : 5;
  ^~~~~~~~~~~~~~~
(...)
js/src/jit/RangeAnalysis.h(378,28): error: signed bit-field 'canHaveFractionalPart_' needs an extra bit to represent the largest positive enumerators of 'FractionalPartFlag' [-Werror,-Wbitfield-enum-conversion]
    canHaveFractionalPart_ = canHaveFractionalPart;
                           ^
js/src/jit/RangeAnalysis.h(227,25): note: consider making the bitfield type unsigned
  MOZ_INIT_OUTSIDE_CTOR FractionalPartFlag canHaveFractionalPart_ : 1;
                        ^~~~~~~~~~~~~~~~~~
(...)
js/src/jit/RangeAnalysis.h(379,24): error: signed bit-field 'canBeNegativeZero_' needs an extra bit to represent the largest positive enumerators of 'NegativeZeroFlag' [-Werror,-Wbitfield-enum-conversion]
    canBeNegativeZero_ = canBeNegativeZero;
                       ^
js/src/jit/RangeAnalysis.h(228,25): note: consider making the bitfield type unsigned
  MOZ_INIT_OUTSIDE_CTOR NegativeZeroFlag canBeNegativeZero_ : 1;
                        ^~~~~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144664
2022-04-26 21:23:46 +00:00
Csoregi Natalia b7da7c79ba Backed out changeset b3e2641c90ce (bug 1766370) for causing spidermonkey bustage. CLOSED TREE 2022-04-26 10:26:30 +03:00
Mike Hommey b634c56e07 Bug 1766370 - Fix bitfield-enum-conversion warnings in Windows builds. r=jandem
js/src/jit/x86-shared/Architecture-x86-shared.h(326,9): error: signed bit-field 'reg_' needs an extra bit to represent the largest positive enumerators of 'XMMRegisterID' [-Werror,-Wbitfield-enum-conversion]
      : reg_(Codes::Encoding(r)), type_(k), isInvalid_(false) {}
        ^
js/src/jit/x86-shared/Architecture-x86-shared.h(310,3): note: consider making the bitfield type unsigned
  Codes::Encoding reg_ : 5;
  ^~~~~~~~~~~~~~~
(...)
js/src/jit/RangeAnalysis.h(378,28): error: signed bit-field 'canHaveFractionalPart_' needs an extra bit to represent the largest positive enumerators of 'FractionalPartFlag' [-Werror,-Wbitfield-enum-conversion]
    canHaveFractionalPart_ = canHaveFractionalPart;
                           ^
js/src/jit/RangeAnalysis.h(227,25): note: consider making the bitfield type unsigned
  MOZ_INIT_OUTSIDE_CTOR FractionalPartFlag canHaveFractionalPart_ : 1;
                        ^~~~~~~~~~~~~~~~~~
(...)
js/src/jit/RangeAnalysis.h(379,24): error: signed bit-field 'canBeNegativeZero_' needs an extra bit to represent the largest positive enumerators of 'NegativeZeroFlag' [-Werror,-Wbitfield-enum-conversion]
    canBeNegativeZero_ = canBeNegativeZero;
                       ^
js/src/jit/RangeAnalysis.h(228,25): note: consider making the bitfield type unsigned
  MOZ_INIT_OUTSIDE_CTOR NegativeZeroFlag canBeNegativeZero_ : 1;
                        ^~~~~~~~~~~~~~~~

Differential Revision: https://phabricator.services.mozilla.com/D144664
2022-04-26 06:52:55 +00:00
Mike Hommey 49275714a9 Bug 1766347 - Fix comma warnings in Windows builds. r=media-playback-reviewers,bryce
media/gmp-clearkey/0.1/WMFH264Decoder.cpp(145,24): error: possible misuse of comma operator here [-Werror,-Wcomma]
  while (type = nullptr,
                       ^
media/gmp-clearkey/0.1/WMFH264Decoder.cpp(145,10): note: cast expression to void to silence warning
  while (type = nullptr,
         ^~~~~~~~~~~~~~
         static_cast<void>( )

Differential Revision: https://phabricator.services.mozilla.com/D144641
2022-04-26 02:04:58 +00:00
Mike Hommey 859225f457 Bug 1762484 - Enable most of the same warnings on Windows as on other platforms. r=firefox-build-system-reviewers,andi
This moves the manual addition of some flags from old-configure to
python configure, and disables the set of flags that still trigger a
bunch of warnings (which -Werror turns into bustage).

Differential Revision: https://phabricator.services.mozilla.com/D144406
2022-04-25 22:21:31 +00:00
Mike Hommey 43a4b9f47f Bug 1762484 - Remove `gcc` from warning and flag function names. r=firefox-build-system-reviewers,mhentges
This is in preparation for those functions taking care of all platforms
and compilers.

Differential Revision: https://phabricator.services.mozilla.com/D144405
2022-04-25 22:21:31 +00:00
Mike Hommey b229581b84 Bug 1762484 - Allow plain values instead of functions for depends()(). r=firefox-build-system-reviewers,mhentges
This allows to remove the requirement on "--help" for dependable(),
which avoids dependable() implying the execution of `when` when it's
within a `with only_when`.

Differential Revision: https://phabricator.services.mozilla.com/D144404
2022-04-25 22:21:29 +00:00
Dennis Jackson 93b3689c90 Bug 1764153 - land NSS NSS_3_78_BETA1 UPGRADE_NSS_RELEASE, r=nss-reviewers,bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D144282
2022-04-22 12:42:27 +00:00
Ray Kraesig e2273932cb Bug 1765845 - mach configure: check all candidate SDK directories r=mhentges
`get_sdk_dirs` does not actually return multiple candidate SDK
directories. This can lead to `mach` not finding a usable SDK dir if an
unusable one conceals it.

(This state of affairs was observed after installing the latest WDK
without its matching SDK -- which is something one might do just to get
WDK-associated tools like TraceView.)

Differential Revision: https://phabricator.services.mozilla.com/D144325
2022-04-21 18:04:52 +00:00
Emilio Cobos Álvarez ae3d893e6b Bug 1765746 - Update cbindgen again. r=dshin
This basically improves and turns on constexpr support:

  https://github.com/eqrion/cbindgen/pull/756

Also incorporates:

  https://github.com/eqrion/cbindgen/pull/754

Though that has no real impact for our builds.

Depends on D144316

Differential Revision: https://phabricator.services.mozilla.com/D144317
2022-04-21 17:23:39 +00:00
Mike Hommey 548aade9e4 Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-21 04:36:24 +00:00
ganguin e2f88e166b Bug 1661450 - 1/2 Make webrtc depend on MOZ_X11 r=ng
1. add the MOZ_X11 config flag in build/gn.mozbuild and set the gn_vars
accordingly.

2. create the new gn-config/mozconfig files and delete previous ones
dom/media/webrtc/third_party_build/gn-configs/**.mozconfig with
--enable-default-toolkit=cairo-gtk3-wayland-only for the non X11 version.
New toolkit nmae is required to force disable X11 detection as
cairo-gtk3-wayland will auto-detect X11 and make generate-gn-build-files.sh
fail.

3. Add the MOZ_X11 config flag in python/mozbuild/mozbuild/gn_processor.py

Then run
dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh

Differential Revision: https://phabricator.services.mozilla.com/D142904
2022-04-20 09:32:10 +00:00
ganguin df23203d4e Bug 1661450 - 8/8 Allow builds without MOZ_X11 r=glandium,stransky
Allow builds without MOZ_X11 when toolkit is cairo-gtk3-wayland and X11
dependencies are missing.

Depends on D139533

Differential Revision: https://phabricator.services.mozilla.com/D139534
2022-04-20 09:32:09 +00:00
Mike Hommey f82f54685f Bug 1765443 - Fixup after bug 1763937. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D144068
2022-04-20 03:45:30 +00:00
Narcis Beleuzu 0fd7ae053e Backed out 2 changesets (bug 1758780) for jsreftest failure on fp-evaluation-order.js . CLOSED TREE
Backed out changeset 10e2414392ae (bug 1758780)
Backed out changeset 481062597411 (bug 1758780)
2022-04-20 03:03:26 +03:00
Emilio Cobos Álvarez 65a2664032 Bug 1765291 - Update cbindgen to 0.22.0. r=layout-reviewers,boris
This will allow generating flags with complex expressions like:

  https://searchfox.org/mozilla-central/rev/4b3039b48c3cb67774270ebcc2a7d8624d888092/servo/components/style/values/specified/box.rs#1281-1285

Which now generates:

  inline const StyleContain StyleContain::STRICT = StyleContain{ /* .bits = */ (uint8_t)((((1 << 3) | (StyleContain::LAYOUT).bits) | (StyleContain::PAINT).bits) | (StyleContain::SIZE).bits) };

and a number of other improvements.

Differential Revision: https://phabricator.services.mozilla.com/D143980
2022-04-19 18:28:06 +00:00
criss 8d62d22b30 Backed out 10 changesets (bug 1661450) for causing build bustages on nsWindow.cpp. CLOSED TREE
Backed out changeset 2c41d82de0c5 (bug 1661450)
Backed out changeset 5f58fcd7ac0b (bug 1661450)
Backed out changeset 62e56a6dcd22 (bug 1661450)
Backed out changeset 4b422ffa729f (bug 1661450)
Backed out changeset 6ca4705772da (bug 1661450)
Backed out changeset 031a6313459f (bug 1661450)
Backed out changeset 06ddf05e97d6 (bug 1661450)
Backed out changeset 4388b1b9aafd (bug 1661450)
Backed out changeset 600f9fd09fa6 (bug 1661450)
Backed out changeset cc5e8efe3ebf (bug 1661450)
2022-04-19 12:25:14 +03:00
Andi-Bogdan Postelnicu f84172d14d Bug 1763937 - fix `clang-trunk` toolchain. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D143379
2022-04-19 09:01:27 +00:00
ganguin d87231be26 Bug 1661450 - 1/2 Make webrtc depend on MOZ_X11 r=ng
1. add the MOZ_X11 config flag in build/gn.mozbuild and set the gn_vars
accordingly.

2. create the new gn-config/mozconfig files and delete previous ones
dom/media/webrtc/third_party_build/gn-configs/**.mozconfig with
--enable-default-toolkit=cairo-gtk3-wayland-only for the non X11 version.
New toolkit nmae is required to force disable X11 detection as
cairo-gtk3-wayland will auto-detect X11 and make generate-gn-build-files.sh
fail.

3. Add the MOZ_X11 config flag in python/mozbuild/mozbuild/gn_processor.py

Then run
dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh

Differential Revision: https://phabricator.services.mozilla.com/D142904
2022-04-19 08:35:29 +00:00
ganguin a6f7d5578e Bug 1661450 - 8/8 Allow builds without MOZ_X11 r=glandium,stransky
Allow builds without MOZ_X11 when toolkit is cairo-gtk3-wayland and X11
dependencies are missing.

Depends on D139533

Differential Revision: https://phabricator.services.mozilla.com/D139534
2022-04-19 08:35:28 +00:00
Mike Hommey e778621ee4 Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-19 08:08:45 +00:00
Mitchell Hentges 97b39cb317 Bug 1764711: Move boto3 to requirement file r=ahal
The `upload_geneated_sources.py` script needs `boto3`, but was:
* Running in CI with Mach having a site-packages-source of `None`
* Using the `common` site (which inherits Mach's site-packages-source)
* Installing `boto3` outside of the knowledge of the centralized
  dependency system.

Make a `upload-generated-sources` site, and move `boto3` to it.

Differential Revision: https://phabricator.services.mozilla.com/D143715
2022-04-14 18:00:30 +00:00
Noemi Erli dff8ae5ed1 Backed out 2 changesets (bug 1758780) for causing OSX failures
Backed out changeset 2a3c0204b519 (bug 1758780)
Backed out changeset 330065f83d19 (bug 1758780)
2022-04-13 14:08:51 +03:00
Mike Hommey 72f2af9431 Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-13 05:09:09 +00:00
Butkovits Atila 3ce125b3f7 Backed out 2 changesets (bug 1758780) as per request by dev. CLOSED TREE
Backed out changeset 0f6aff1f340e (bug 1758780)
Backed out changeset e390fac06dae (bug 1758780)
2022-04-13 07:53:43 +03:00
Mike Hommey d0e55e7fec Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-13 04:35:11 +00:00
Mike Hommey ab789e51e7 Bug 1758780 - Add a toolchain for Visual Studio 2019. r=firefox-build-system-reviewers,mhentges
We're going to need it to bootstrap LLVM 14.

Differential Revision: https://phabricator.services.mozilla.com/D143174
2022-04-13 03:02:25 +00:00
Mike Hommey 752b35b2cf Bug 1758780 - Avoid linking libclang both statically and dynamically. r=firefox-build-system-reviewers,andi
This applies the same as https://reviews.llvm.org/D81967 to our
CMakeLists.txt. Interestingly, the upstream change landed in LLVM 11,
but not applying the same on our end doesn't cause problems until LLVM
14.

Differential Revision: https://phabricator.services.mozilla.com/D143172
2022-04-13 03:02:24 +00:00
Mike Hommey 557b38098e Bug 1289641 - Replace uses of the vs2017-15.9 tooltool manifest. r=firefox-build-system-reviewers,mhentges
Now that we have a toolchain artifact with the same function, we can use
that instead.

Differential Revision: https://phabricator.services.mozilla.com/D143127
2022-04-12 22:52:54 +00:00
Mike Hommey 7b07cf0b4c Bug 1289641 - Allow spaces in MIDL and FXC paths. r=firefox-build-system-reviewers,nalexander
On CI, 8.3 filenames are not generated, so the canonicalization of
program paths in `windows kits` doesn't work. But the build system can
actually deal with spaces in the specific case of MIDL and FXC.

Differential Revision: https://phabricator.services.mozilla.com/D143258
2022-04-12 22:52:54 +00:00
Mike Hommey 5ed622ab77 Bug 1289641 - Setup a taskcluster task to build the vs2017 toolchain. r=firefox-build-system-reviewers,mhentges
Its layout differs from the one in the tooltool archive for forward
compatibility with the upcoming (clang 15) -winsysroot flag.

There is probably more filtering we can do to somehow match what
windows_toolchain.py used to do, but we'll keep that for later.

Differential Revision: https://phabricator.services.mozilla.com/D143126
2022-04-12 22:52:53 +00:00
Butkovits Atila 59ebe1ff72 Backed out 7 changesets (bug 1289641) for causing Python failures. CLOSED TREE
Backed out changeset 0c1cedebf915 (bug 1289641)
Backed out changeset 575732020bd2 (bug 1289641)
Backed out changeset 55b68a71e03a (bug 1289641)
Backed out changeset 0b16a05aa405 (bug 1289641)
Backed out changeset acbff13b91b3 (bug 1289641)
Backed out changeset 2645367da7cb (bug 1289641)
Backed out changeset 8b22a8ec44fe (bug 1289641)
2022-04-12 22:23:27 +03:00
Mike Hommey f407aee2df Bug 1758780 - Take the ms-compat version used to build clang from a LLVM cmake file. r=firefox-build-system-reviewers,mhentges
While the llvm/cmake/platforms/WinMsvc.cmake file only supports
cross-compiles, it contains the right -fms-compatibility-version
to use to build clang/llvm (modulo when upstream forgets to update it).

It's better to rely on that, than to keep a version in build-clang.py
that would possibly need to cover multiple versions of clang.

Differential Revision: https://phabricator.services.mozilla.com/D143133
2022-04-12 01:30:54 +00:00
Mike Hommey ddf7fb3a88 Bug 1758780 - Use LLVM's lib and link tools when building clang with clang. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D143132
2022-04-12 01:30:54 +00:00
Mike Hommey 6f6aa13882 Bug 1758780 - Don't build tests when building clang. r=firefox-build-system-reviewers,mhentges
We never run them, so there's no point building them.

Differential Revision: https://phabricator.services.mozilla.com/D143131
2022-04-12 01:30:54 +00:00
Molnar Sandor e1dca6f382 Bug 1289641 - Fix lint failure. a=fix CLOSED TREE 2022-04-12 02:15:53 +03:00
Mike Hommey 7214f090f8 Bug 1289641 - Replace uses of the vs2017-15.9 tooltool manifest. r=firefox-build-system-reviewers,mhentges
Now that we have a toolchain artifact with the same function, we can use
that instead.

Differential Revision: https://phabricator.services.mozilla.com/D143127
2022-04-11 23:00:10 +00:00
Mike Hommey 9d89241f64 Bug 1289641 - Allow spaces in MIDL and FXC paths. r=firefox-build-system-reviewers,nalexander
On CI, 8.3 filenames are not generated, so the canonicalization of
program paths in `windows kits` doesn't work. But the build system can
actually deal with spaces in the specific case of MIDL and FXC.

Differential Revision: https://phabricator.services.mozilla.com/D143258
2022-04-11 23:00:10 +00:00
Mike Hommey d1119528d0 Bug 1289641 - Setup a taskcluster task to build the vs2017 toolchain. r=firefox-build-system-reviewers,mhentges
Its layout differs from the one in the tooltool archive for forward
compatibility with the upcoming (clang 15) -winsysroot flag.

There is probably more filtering we can do to somehow match what
windows_toolchain.py used to do, but we'll keep that for later.

Differential Revision: https://phabricator.services.mozilla.com/D143126
2022-04-11 23:00:09 +00:00
Shazib Summar 20cb0cdcb7 Bug 1617283 - Shifted AudioSession to MTA and removed COM violations r=handyman
Cleans up the interface to AudioSession and brings in line with COM best practices.  Uses background threads that are implicitly MTA and asserts proper thread behavior.  This also removes AudioSession's Co[Un]Initialize static analysis violations.

Differential Revision: https://phabricator.services.mozilla.com/D140741
2022-04-07 18:39:49 +00:00
Jonathan Kew d0a867d0e1 Bug 1748520 - Add valgrind suppression for the leak of a dynamic atom created by language lookup. r=jseward
Differential Revision: https://phabricator.services.mozilla.com/D142168
2022-03-29 13:05:10 +00:00
Mitchell Hentges 23cbe80fd0 Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs r=ahal
This is needed for a few reasons:
* All mach commands can use virtualenvs, not just `build`-related
  commands, so the files don't make sense to be in `build/`.
* When locking is added, more files associated with virtualenvs will be
  added, and this will change will ease the related directory structure
  setup.
* This removes the need for a redundant "_virtualenv_packages" keyword
  as part of the manifest filenames.

Differential Revision: https://phabricator.services.mozilla.com/D140382
2022-03-24 14:04:34 +00:00
Agi Sferro 31cdbe04d0 Bug 1761011 - Don't require tools directory in Android SDK. r=mhentges
This package is obsolete and we don't use it anymore.

Differential Revision: https://phabricator.services.mozilla.com/D141865
2022-03-23 15:48:06 +00:00
Mitchell Hentges 2ff00d22be Bug 1759681: Conditionally add each MozillaBuild path r=ahochheiden
When using Mach outside of MozillaBuild, rather than avoiding adding
paths entirely if any part of MozillaBuild is already in the `PATH`,
instead conditionally add each one if it doesn't exist already.

This ensures no duplication of paths, while also correctly handling the
not-uncommon case of developers manually adding MozillaBuild's Python to
their Windows `PATH`.

Differential Revision: https://phabricator.services.mozilla.com/D141377
2022-03-23 14:48:57 +00:00
Mitchell Hentges 83f95f6c5d Bug 1723237: Move low-hanging fruit commands to centralized Python dep system r=ahal
Creates/updates virtualenvs for some mach commands, replacing
their ad-hoc usage of `install_pip_package()`, `pip install`,
and `sys.path` modifications.

Note: The `docs` virtualenv has `Sphinx==1.1.3` installed, even
though a more modern version of `Sphinx` is used when
`./mach doc` is run. This is ok for now, since `./mach doc` will
just install the newer `Sphinx` over top of the old one. Secondarily,
when we port `./mach doc` to use the centralized system, we'll
be incentivized to make the different `doc` commands use synchonized
versions of the same packages. Success!

Also, note that manual installation of `html5lib` and `requests`
isn't ported to the `wpt` site: this is because they're already
provided by the inherited Mach site.

Differential Revision: https://phabricator.services.mozilla.com/D122902
2022-03-22 20:49:42 +00:00
Randell Jesup 4ed7155770 Bug 1759501: turn on clang thread-safety checking r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D140973
2022-03-18 10:48:12 +00:00
smolnar 0b222551dc Backed out changeset 64ec4c736bb4 (bug 1759501) for causing build bustages in dom/base/BodyStream.cpp CLOSED TREE 2022-03-18 02:19:11 +02:00
Randell Jesup b535ed97f5 Bug 1759501: turn on clang thread-safety checking r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D140973
2022-03-17 21:56:51 +00:00
Narcis Beleuzu c4cce6ea63 Backed out changeset 6fd4b72c9a6c (bug 1617283) for dt failure on browser_dbg-backgroundtask-debugging.js . CLOSED TREE 2022-03-16 02:26:38 +02:00
Shazib Summar d3f3302860 Bug 1617283 - Shifted AudioSession to MTA and removed COM violations r=handyman
Pointer to AudioSession object is made std::atomic to resolve crashes (bug 1755700) by atomically modifying/reading the pointer as an effort to make sure any update to the pointer is seen across other threads immediately while not using locks to maintain such concurrency and avoiding dataraces.

This patch is built upon the work done in D136377.

Differential Revision: https://phabricator.services.mozilla.com/D140741
2022-03-15 19:48:43 +00:00
Mike Hommey 03e9935f48 Bug 1758782 - Force-use DWARF-4 debug info. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D140795
2022-03-15 00:24:25 +00:00
Mitchell Hentges f04ccd7a53 Bug 1759256: Update all PATH-munging to use os.pathsep r=webdriver-reviewers,ahochheiden,jgraham
Windows uses `;` as the path separator, Unix-based systems use `:`.
`os.pathsep` conveniently represents the current system's separator.

All OS-specific path separators have been replaced with `os.pathsep`
except for some explicitly Windows-specific mozharness configs.

Differential Revision: https://phabricator.services.mozilla.com/D140981
2022-03-14 18:41:49 +00:00
Mitchell Hentges 23226da5f7 Bug 1755516: Explicitly use system Python packages for Firefox build CI r=ahal
Updates all build-related jobs (`artifact-build`, `build` and
`instrumented-build`) tasks to explicitly set
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system`. This allows them
to consume `psutil` (if installed on the system) without needing
to hit PyPI.org.

Modifies `build-l10n.sh` and `build-linux.sh` to no longer
explicitly fetch `psutil` from PyPI
(`./mach python --virtualenv psutil`), since that is replaced
by Mach's "native package source" behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D140257
2022-03-11 18:34:13 +00:00
Mike Hommey d6e5f60dce Bug 1758781 - Remove now unnecessary patch to link llvm-symbolizer statically. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D140712
2022-03-11 04:10:49 +00:00
Mike Hommey 3885f30dfb Bug 1758781 - Build llvm-symbolizer separately. r=firefox-build-system-reviewers,mhentges
The llvm-symbolizer tasks currently extract a llvm-symbolizer from clang
tasks. Changes in clang 14 make the hack that we have in place to keep
llvm-symbolizer statically linked to libllvm while clang uses a dynamic
libllvm not work anymore, so it's time to bite the bullet and build
llvm-symbolizer separately.

We share most of the build setup with the compiler-rt build.

Differential Revision: https://phabricator.services.mozilla.com/D140711
2022-03-11 04:10:49 +00:00
Chris Peterson 13de2f98de Bug 1758608 - Enable some Objective-C/C++ diagnostics that are currently warning-free. r=firefox-build-system-reviewers,andi
Only enable them when building on macOS or cross-compiling for macOS on Linux.

# catch redeclaration of ObjC method parameter name
-Wduplicate-method-arg

# catch multiple declarations of ObjC method found
-Wduplicate-method-match

# catch ObjC method with no return type specified
-Wmissing-method-return-type

# catch implicit conversions between ObjC BOOL and int
-Wobjc-signed-char-bool

# catch semicolon before ObjC method body
-Wsemicolon-before-method-body

# catch ObjC method parameter type not matching super class method
-Wsuper-class-method-mismatch

https://clang.llvm.org/docs/DiagnosticsReference.html

Differential Revision: https://phabricator.services.mozilla.com/D140598
2022-03-10 03:19:59 +00:00
Mike Hommey dcb88b4ebb Bug 1758617 - Make Firefox abort in case of content crash during PGO run. r=firefox-build-system-reviewers,mhentges
The expected behavior during a PGO run is that a browser is started and
exited once, and then it is started again on a page that runs various
workloads and once finished, exits.
When workload happens to crash the content process, the browser is left
running indefinitely, until the taskcluster task itself times out. This
leaves us with no possibility of knowing what actually went wrong during
the run, which is about the worst thing that can happen.
With the browser shutting down on its own in case of crash, the harness
can find the minidumps and report the crash, which is more useful.

Differential Revision: https://phabricator.services.mozilla.com/D140678
2022-03-09 21:46:18 +00:00
Alexis Beingessner ec10d290e7 Bug 1755602 - consistently use minidump-stackwalk instead of minidump_stackwalk. r=glandium
Inconsistency confuses some of our tools. As part of this, I:

* Updated some docs to point to rust-minidump
* Added a fallback to mozcrash.py to try both versions
* Make mozcrash.py use --brief output when the local mdsw is used
* Remove the renaming hack from build-minidump-stackwalk.sh

This isn't as simple as a sed because we still have breakpad in tree
for minidump-analyzer. I did my best to replace the right strings.

Differential Revision: https://phabricator.services.mozilla.com/D138971
2022-03-09 16:44:42 +00:00
mvollmer 96c7648608 Bug 1755305 - Fix invalid mach command for Visual Studio clean target r=mhentges DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D139595
2022-03-03 14:17:59 +00:00
Mitchell Hentges b48f6cf7dc Bug 1757813: Detect "MSYS" unames as `msyshost`s r=firefox-build-system-reviewers,nalexander
MozillaBuild 3.4's kernel name was `MINGW32_NT-6.2`, but the new
MozillaBuild's kernel name looks like `MSYS_NT-10.0-19044`.

Update existing first-party detection code to properly handle the modern
MSYS "kernel name" format.

Differential Revision: https://phabricator.services.mozilla.com/D140096
2022-03-02 21:01:07 +00:00
Nika Layzell 2f62d8c857 Bug 1751948 - Part 6: Add basic support for running IPDL unit tests during gtest, r=ipc-reviewers,andi,handyman
This patch introduces a new system for building IPDL unit tests, which is
roughly inspired by the old cxx unit test design, however designed to work with
gtest. It re-uses the existing IPDLUnitTest process type, using static
constructors only present in xul-gtest to register child actor constructors and
ProcessChild implementations to avoid bloating xul.

The IPDLUnitTest actor is used as a backchannel to communicate test failures
from the child process back to the parent process, and manage the test's async
lifecycle more reliably.

The IPDLUnitTest process also needed to have various properties about how it was
initialized adjusted:

* The IPDLUnitTest process should now always load xul-gtest when running
  gtests, by using the "Self" process type and adding a DYLD_LIBRARY_PATH override
  on macOS where the "Self" process type cannot be used.
* The IPDLUnitTest process now initializes minimal XPCOM, and runs a
  frankeneventloop to allow it to use XPCOM event loop structures such as
  SpinEventLoopUntil in tests.
* Support for creating IPDLUnitTest processes on Android was added, as these
  tests had never run on android before.

Differential Revision: https://phabricator.services.mozilla.com/D137170
2022-02-28 21:01:49 +00:00
Mitchell Hentges 6fb4802b2e Bug 1753182: Get realpath of Python during configure r=glandium
Previously, the Python virtualenv path would be `realpath`'d before the
virtualenv was activated [1].

However, now that (when going through Mach) we're calling `configure.py`
with the build virtualenv's Python binary directly, that `realpath()`
was lost.

We //could// `realpath(self.topsrcdir)` in `building.py`, but then the
virtualenv will be needlessly re-created when it's called from a
non-normpath'd context.

Instead, let's leave realpath-ing Mach's `self.topsrcdir` to another
day, and let's spot-fix this issue: when evaluating `PYTHON3` in
configure, do `realpath()` on the path we get from the running Python
process.

Note: `sys.prefix` was normpath'd instead of `(...).python_path`,
because on Linux virtualenv's `bin/python` is symlinked to the system
installation it's associated with, which we *don't* want here.

[1] https://hg.mozilla.org/mozilla-central/rev/ca4d439114f3#l1.61

Differential Revision: https://phabricator.services.mozilla.com/D138594
2022-02-28 16:12:41 +00:00
Zhao Jiazhong 62341514c5 Bug 1756570 - [loong64] Add basic build support for LoongArch64 port. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D139567
2022-02-25 03:42:34 +00:00
Zhao Jiazhong 8ec9867490 Bug 1756570 - Refresh config.guess and config.sub from upstream. r=glandium
Update config.{guess,sub} for LoongArch/Linux build support.

Differential Revision: https://phabricator.services.mozilla.com/D139456
2022-02-25 02:04:13 +00:00
Alex Ionescu 4f07163ef9 Bug 1749967 - Automated recording for android r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D135891
2022-02-21 07:32:13 +00:00
Andrew Osmond 45ae50555d Bug 1754978 - Part 1. Refactor CompositableHandle infrastructure to allow in-process driven handles. r=sotaro
For WebGPU, we produce the textures in the compositor process and the
content process doesn't need to be that involved except for hooking up
the texture to the display list. Currently this is done via an external
image ID.

Given that WebGPU needs to work with OffscreenCanvas, it would be best
if its display pipeline was consistent whether it was gotten from an
HTMLCanvasElement, OffscreenCanvas on the main thread, or on a worker
thread. As such, using an AsyncImagePipeline would be best.

However there is no real need to bounce the handles across process
boundaries. Hence this patch which adds CompositableInProcessManager.
This static class is responsible for collecting WebRenderImageHost
objects backed by TextureHost objects which do not leave the compositor
process. This will allow WebGPUParent to schedule compositions directly
in future patches.

Differential Revision: https://phabricator.services.mozilla.com/D138588
2022-02-18 15:59:12 +00:00
smolnar 4e4adb2951 Bug 1755956 - Fix python black failure. CLOSED TREE 2022-02-18 17:40:47 +02:00
Emilio Cobos Álvarez c9f9939aa6 Bug 1755956 - Really fix rusttests on windows, by using utf-8 to read Cargo.toml in RunCbindgen.py so it doesn't choke on my name.
(And revert the previous commit).

MANUAL PUSH: Silly windows-only encoding fix CLOSED TREE
2022-02-18 16:29:44 +01:00
Mitchell Hentges e2438c91d3 Bug 1732795: Install `coverage` using pip r=ahal
`coverage` has native code, so the vendored version was only used as
source code from which the actual package could be built.
Since its always used in a context where we can `pip install` over the
network, let's do that. This cleans up our tree a bit and allows us to
leverage the `coverage` wheels.

Differential Revision: https://phabricator.services.mozilla.com/D138816
2022-02-18 14:27:18 +00:00
Cosmin Sabou 66705c85f2 Bug 1755834 - Fix for clang-tidy bustage. r=glandium 2022-02-18 10:04:19 +02:00
Mike Hommey 2f9cc7e46f Bug 1755834 - Remove compiler-rt-13-no-codesign.patch. r=firefox-build-system-reviewers,andi
Now that mac compiler-rts are built with build-compiler-rt.sh, which has
its own hack around codesign (which was broken in bug 1755415, so fix that),
we don't need this patch anymore.

Differential Revision: https://phabricator.services.mozilla.com/D138985
2022-02-18 07:01:18 +00:00
Mike Hommey bc58a77443 Bug 1755826 - Apply clang upstream patch to ignore recent MSVC stdatomic.h. a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D138975
2022-02-17 13:36:59 +00:00
Mike Hommey c10d0fa5e2 Bug 1755415 - Ship most compiler-rts alongside clang toolchains on all platforms. r=firefox-build-system-reviewers,mhentges
This improves out-of-the-box support for cross-compiles on tier-1 build
platforms, including for asan. This also reduces the number of different
*-cross toolchains we need for CI builds.

The linux clang is now also a repack, like the others, and the insertion
of the wasm compiler-rt is moved to the repack, which also allows to
remove that part of the build-clang.py script.

Differential Revision: https://phabricator.services.mozilla.com/D138749
2022-02-17 03:44:39 +00:00
Mike Hommey 6ae8fef73d Bug 1755415 - Use compiler-rt artifacts for clang PGO. r=firefox-build-system-reviewers,mhentges
Instead of building compiler-rt alongside clang, we reuse the clang
repack logic to put compiler-rts in place when building clang stage2
(which requires the profiling runtime).

The repack logic is unified to handle all platforms as well, and now
that compiler-rt is not built in clang, we also need to copy everything
that is not lib/* from the compiler-rt artifacts, so we now also ensure
that they're not diverging between those compiler-rt artifacts (except
for darwin libs, which need to be unified into universal libraries).

And as a bonus, we can also cross-build the mac clang toolchains with
the stage1 clang and the clang runtime for the target platform.

Differential Revision: https://phabricator.services.mozilla.com/D138748
2022-02-17 03:44:38 +00:00
Mike Hommey 99f2a96c74 Bug 1755415 - Encode the target in the compiler-rt artifact/directory. r=firefox-build-system-reviewers,mhentges
This simplifies the setup for cross clang repacks.

Also use `ninja install` to get all the relevant things in the artifact.

Differential Revision: https://phabricator.services.mozilla.com/D138745
2022-02-17 03:44:37 +00:00
Csoregi Natalia 9bed262383 Merge autoland to mozilla-central. a=merge 2022-02-16 23:39:12 +02:00
Narcis Beleuzu 6146db617b Backed out changeset e1b946a41694 (bug 1617283) for audio related crashes and hangs (bug 1755700, bug 1755717). a=backout 2022-02-16 18:14:02 +02:00
Marian-Vasile Laza dc5a07f0b1 Backed out 5 changesets (bug 1755415) for causing build bustages. CLOSED TREE
Backed out changeset e836c26855d4 (bug 1755415)
Backed out changeset 69d9d8005a83 (bug 1755415)
Backed out changeset a84913234c63 (bug 1755415)
Backed out changeset 709af6e17057 (bug 1755415)
Backed out changeset 0a5c1fe00f26 (bug 1755415)
2022-02-16 13:31:05 +02:00
Mike Hommey cd4ff2c4e5 Bug 1755415 - Ship most compiler-rts alongside clang toolchains on all platforms. r=firefox-build-system-reviewers,mhentges
This improves out-of-the-box support for cross-compiles on tier-1 build
platforms, including for asan. This also reduces the number of different
*-cross toolchains we need for CI builds.

The linux clang is now also a repack, like the others, and the insertion
of the wasm compiler-rt is moved to the repack, which also allows to
remove that part of the build-clang.py script.

Differential Revision: https://phabricator.services.mozilla.com/D138749
2022-02-16 08:24:40 +00:00
Mike Hommey 6366f29369 Bug 1755415 - Use compiler-rt artifacts for clang PGO. r=firefox-build-system-reviewers,mhentges
Instead of building compiler-rt alongside clang, we reuse the clang
repack logic to put compiler-rts in place when building clang stage2
(which requires the profiling runtime).

The repack logic is unified to handle all platforms as well, and now
that compiler-rt is not built in clang, we also need to copy everything
that is not lib/* from the compiler-rt artifacts, so we now also ensure
that they're not diverging between those compiler-rt artifacts (except
for darwin libs, which need to be unified into universal libraries).

And as a bonus, we can also cross-build the mac clang toolchains with
the stage1 clang and the clang runtime for the target platform.

Differential Revision: https://phabricator.services.mozilla.com/D138748
2022-02-16 08:24:40 +00:00
Mike Hommey aaf5a314c5 Bug 1755415 - Encode the target in the compiler-rt artifact/directory. r=firefox-build-system-reviewers,mhentges
This simplifies the setup for cross clang repacks.

Also use `ninja install` to get all the relevant things in the artifact.

Differential Revision: https://phabricator.services.mozilla.com/D138745
2022-02-16 08:24:39 +00:00
Mike Hommey 37fcdf3f08 Bug 1755379 - Build cctools with the stage1 clang. r=firefox-build-system-reviewers,mhentges
Bug 1752977 attempted to do that, but that part had to be backed out as
a fixup because it broke LTO support for the linker.

To make it work, cctools needs to link against clang's libLTO, which
requires libLTO to be built with the toolchain sysroot. But system GCC
doesn't support that in a nice way, so we switch to system clang. We
explicitly don't use /usr/bin/clang++ because that would use the system
libstdc++ headers instead of the ones from the sysroot, while using
/usr/lib/llvm-11/bin/clang++ uses the ones from the sysroot.

We keep building clang 5.0 with gcc, though, because that one fails to
build with clang 11.

Differential Revision: https://phabricator.services.mozilla.com/D138712
2022-02-16 08:20:25 +00:00
Shazib Summar b8d30e610b Bug 1617283 - Removed COM violations and shifted AudioSession to MTA r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D136377
2022-02-15 22:28:41 +00:00
Thomas Wisniewski 6e59fe82c1 Bug 1715900 - Add a mach test-interventions command for testing webcompat interventions; r=jgraham,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D138384
2022-02-15 15:07:18 +00:00
Jan-Erik Rediger c6eac14b6e Bug 1754474 - Update to Glean 44.0.0 and glean_parser 5.0.1. r=janerik
Differential Revision: https://phabricator.services.mozilla.com/D138446
2022-02-15 13:35:07 +00:00
Mike Hommey 22040e3128 Bug 1726782 - Create a new task generating a clang profile for PGO. r=firefox-build-system-reviewers,mhentges
The new task builds a stage 2 compiler and uses it to generate the
profile as stage 3, and the profile is used to feed the now separate
stage 4 clang build. This will allow us to use this same profile to
build mac clangs with PGO.

Differential Revision: https://phabricator.services.mozilla.com/D138511
2022-02-14 21:10:00 +00:00
Mike Hommey 0f914f5902 Bug 1726782 - Separate stage from platform config for clang build. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D138510
2022-02-14 21:10:00 +00:00
smolnar 832f677438 Backed out 3 changesets (bug 1726782) for causing clang-format failures. CLOSED TREE
Backed out changeset 17bfaad3db80 (bug 1726782)
Backed out changeset f58fe19ec977 (bug 1726782)
Backed out changeset 2fc65de433eb (bug 1726782)
2022-02-13 11:27:16 +02:00
Mike Hommey 3789acd7bb Bug 1726782 - Create a new task generating a clang profile for PGO. r=firefox-build-system-reviewers,mhentges
The new task builds a stage 2 compiler and uses it to generate the
profile as stage 3, and the profile is used to feed the now separate
stage 4 clang build. This will allow us to use this same profile to
build mac clangs with PGO.

Differential Revision: https://phabricator.services.mozilla.com/D138511
2022-02-12 21:07:59 +00:00
Mike Hommey f0a2c36a16 Bug 1726782 - Separate stage from platform config for clang build. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D138510
2022-02-12 21:07:59 +00:00
Mike Hommey 52b59db295 Bug 1755076 - Remove loosen-msvc-detection.patch. r=firefox-build-system-reviewers,nalexander
The patch conflicts with latest clang trunk changes.

It was necessary back when we started using clang-cl instead of MSVC,
and we needed to fallback to MSVC for sources that clang-cl couldn't
build. Nowadays, with cross-compiles, that fallback can't happen
anyways, and even on native Windows builds we never use cl.exe.

Differential Revision: https://phabricator.services.mozilla.com/D138615
2022-02-12 05:52:14 +00:00
Mike Hommey 00c007643b Bug 1755076 - Adjust find_symbolizer_linux_clang patch to latest trunk. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D138592
2022-02-12 05:52:14 +00:00
Butkovits Atila 298b987a56 Backed out 3 changesets (bug 1715900) for causing Python failures. CLOSED TREE
Backed out changeset c1bad2dbd960 (bug 1715900)
Backed out changeset 2355ea418b97 (bug 1715900)
Backed out changeset 11c95163a2f6 (bug 1715900)
2022-02-11 20:41:49 +02:00
Thomas Wisniewski 10326d782c Bug 1715900 - Add a mach test-interventions command for testing webcompat interventions; r=jgraham,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D138384
2022-02-11 17:27:44 +00:00
Marian-Vasile Laza 013d79e7e6 Backed out 4 changesets (bug 1754474) for causing bc test failures. CLOSED TREE
Backed out changeset c6dd8b681aca (bug 1754474)
Backed out changeset 596955256cc6 (bug 1754474)
Backed out changeset fc692b3c27a2 (bug 1754474)
Backed out changeset 59eb7951a5eb (bug 1754474)
2022-02-11 17:30:03 +02:00
Jan-Erik Rediger 76df6d315f Bug 1754474 - Update to Glean 44.0.0 and glean_parser 5.0.1. r=janerik
Differential Revision: https://phabricator.services.mozilla.com/D138446
2022-02-11 14:27:38 +00:00
Mike Hommey dbc7289949 Bug 1754668 - Adjust clang trunk patches. r=firefox-build-system-reviewers,andi
llvmorg-13-init-8182-gc2297544c047 was finally backed out upstream which
means we don't need to revert it or its followups
(llvmorg-14-init-3651-g85ba583eba19 and llvmorg-14-init-3652-gf3c2094d8c11)

Differential Revision: https://phabricator.services.mozilla.com/D138399
2022-02-11 03:54:04 +00:00
Markus Stange 99a2412c5e Bug 1451902 - Enable framepointers for all macOS builds on all channels. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D138051
2022-02-11 00:38:45 +00:00
Mike Hommey 7ad2484904 Bug 1753859 - Adjust clang patches to newest trunk. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D138115
2022-02-08 08:20:00 +00:00
Mike Hommey 8d35881c8d Bug 1753859 - Remove changes to clang/test/CodeGen/alloc-fns-alignment.c from patches. r=firefox-build-system-reviewers,andi
We don't run tests, and this will help reduce the amount of changes
needed to adjust the patches to newer clang trunk.

Differential Revision: https://phabricator.services.mozilla.com/D138114
2022-02-08 08:20:00 +00:00
Benjamin Beurdouche bf3cd48302 Bug 1753980 - land NSS ac0c37493099 UPGRADE_NSS_RELEASE, r=nkulatova
Differential Revision: https://phabricator.services.mozilla.com/D138023
2022-02-07 16:31:57 +00:00
Butkovits Atila 96d2a50568 Backed out changeset 14ef7c10fef4 (bug 1617283) for causing bustages complaining about Unified_cpp_widget_windows0.obj. CLOSED TREE 2022-02-07 00:24:45 +02:00
Shazib Summar a913da4c47 Bug 1617283 - Removed COM violations and shifted AudioSession to MTA r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D136377
2022-02-06 22:01:29 +00:00
Sylvestre Ledru caaedeee98 Bug 1753413 - fx doc: Remove whitespaces, trailing lines & windows CR r=andi,perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D137741
2022-02-03 18:34:58 +00:00
Andi-Bogdan Postelnicu 40ca2d63f3 Bug 1744446 - Upgrade llvm toolchain to 13.0.1 r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D132870
2022-02-03 15:18:33 +00:00
Mike Hommey 8a445063c5 Bug 1752490 - Build the Windows clang toolchain as a repack or clang + compiler-rt. r=firefox-build-system-reviewers,andi
This means we can now skip building a 32-bit compiler-rt when building
clang itself, as well as the asan pdb files, which will be taken from
the compiler-rt artifact.

Differential Revision: https://phabricator.services.mozilla.com/D137259
2022-02-03 07:51:38 +00:00
Mike Hommey 083c25c7bf Bug 1752490 - Remove leftovers from bug 1751812. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D137258
2022-02-03 07:51:37 +00:00
Mike Hommey 40a80b3c3e Bug 1752486 - Replace the win64 clang 2 stages toolchain with a 1 stage one. r=firefox-build-system-reviewers,andi
As of bug 1751824, the only remaining use of the 2-stages Windows clang
toolchain is for llvm-profdata in the generate-profile runs.

We don't need that to be built by clang itself (whereas it was desirable
to get compiler-rt from stage 2 before bug 1751824), so we can drop that
build to one stage only.

And because as of bug 1751839 we can start building stage 2 from a
separate stage 1 task, we do that for the Windows clang toolchain, like
we do for the Linux one.

Also, make the win64-clang-toolchain alias point to that stage 1 build,
like for Linux.

Differential Revision: https://phabricator.services.mozilla.com/D137257
2022-02-03 07:51:37 +00:00
Mike Hommey 41bf6ee9ab Bug 1752072 - Remove check for RANLIB. r=firefox-build-system-reviewers,mhentges
It hasn't been used in the build system since bug 569597.

Differential Revision: https://phabricator.services.mozilla.com/D136987
2022-02-03 00:06:30 +00:00
Mike Hommey 1ea827dc69 Bug 1752064 - Move the remainder of AS to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136981
2022-02-03 00:06:29 +00:00
Alex Lopez 2da2365f75 Bug 1388894 - Replace list of mach modules to load with a dict of mach commands r=mhentges
This starts a centralized place to keep track of mach commands with some essential
metadata.

Differential Revision: https://phabricator.services.mozilla.com/D136790
2022-02-02 20:25:21 +00:00
Alex Lopez e39b3c93d9 Bug 1388894 - Add function in Mach to load commands from files in bulk. r=mhentges
This reduces some code duplication and paves the way for modifying how
Mach loads modules.

The plan is to follow this up by making this function take a more fleshed out 'spec'
that maps command names to the files they're defined at and possibly more metadata.
Since this may affect how Mach works internally (e.g. with lazy loading in the roadmap),
it makes sense to move this logic inside the Mach class.

Differential Revision: https://phabricator.services.mozilla.com/D136789
2022-02-02 20:25:20 +00:00
Markus Stange 648b57016d Bug 1753107 - Enable framepointers on all channels for macOS arm64 builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D137574
2022-02-02 15:52:31 +00:00
Masayuki Nakano 8d88df10f6 Bug 1718825 - Treat strong pointers which are members of class/struct and marked as `MOZ_KNOWN_LIVE` as safe r=andi
`MOZ_KNOWN_LIVE RefPtr<Foo> mFoo` is not treated as safe because its raw pointer
is referred with operators but they are not checked at handling `MOZ_KNOWN_LIVE`
annotation.

Additionally, when members marked as `MOZ_KNOWN_LIVE` are in the stack, they
are also not treated as safe, but they should be safe in most cases.

With these changes, `HTMLTableEditor.cpp` can get rid of a lot of
`MOZ_KnownLive` method calls.

Differential Revision: https://phabricator.services.mozilla.com/D136122
2022-02-02 00:48:19 +00:00
Jan-Ivar Bruaroey f144f24866 Bug 1225722 - Less restrictive non-memmovable static analysis of std::tuple. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D137573
2022-02-01 23:12:30 +00:00
Mike Hommey c0ade9e73b Bug 1748056 - Build libc++ in Windows clang for real. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D137256
2022-02-01 00:51:57 +00:00
Mike Hommey f214b100b4 Bug 1748056 - Stop forcing c++14 mode when building clang on Windows. r=firefox-build-system-reviewers,andi
Back when this was added, clang's default mode might have been c++11,
but it's not c++17, and we're effectively downgrading it (which
incidentally causes problems to build libc++).

Differential Revision: https://phabricator.services.mozilla.com/D137255
2022-02-01 00:51:57 +00:00
Mike Hommey 2705287f4b Bug 1596656 - Move STRIP to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-strip when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136976
2022-01-28 03:00:13 +00:00
Mike Hommey 9a384df16e Bug 1596656 - Move OBJCOPY to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-objcopy when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136975
2022-01-28 03:00:13 +00:00
Marian-Vasile Laza 6705627752 Backed out 2 changesets (bug 1596656) for causing jittest failures on 1659595.js. CLOSED TREE
Backed out changeset da8f11880896 (bug 1596656)
Backed out changeset 6c8f3c0aac51 (bug 1596656)
2022-01-27 18:20:30 +02:00
Nick Alexander ea098cb33e Bug 1751658 - Move `ANDROID_CPU_ARCH` to `moz.configure`. r=firefox-build-system-reviewers,glandium
Why not somewhere Android-specific?  Eventually, I'd like to expose
this to something very early in configure.

Differential Revision: https://phabricator.services.mozilla.com/D136702
2022-01-27 16:11:09 +00:00
Cristian Tuns 5eb2cfda19 Backed out 2 changesets (bug 1752064, bug 1752072) for causing build bustages on Windows 2012 CLOSED TREE
Backed out changeset 0cbd0cf9563e (bug 1752072)
Backed out changeset b6e0d43b43ab (bug 1752064)
2022-01-27 02:27:45 -05:00
Mike Hommey 53aae3cded Bug 1752072 - Remove check for RANLIB. r=firefox-build-system-reviewers,mhentges
It hasn't been used in the build system since bug 569597.

Differential Revision: https://phabricator.services.mozilla.com/D136987
2022-01-27 00:33:46 +00:00
Mike Hommey 7d09c915d1 Bug 1752068 - Stop using system_lib_option in old_configure_options. r=firefox-build-system-reviewers,mhentges
The last old-configure system option was removed in bug 1308558.

Differential Revision: https://phabricator.services.mozilla.com/D136982
2022-01-27 00:24:15 +00:00
Mike Hommey 4cd9b523ae Bug 1752064 - Move the remainder of AS to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136981
2022-01-27 00:18:27 +00:00
Mike Hommey c403bed2a2 Bug 1596656 - Move STRIP to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-strip when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136976
2022-01-26 23:53:38 +00:00
Mike Hommey c45108f00b Bug 1596656 - Move OBJCOPY to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-objcopy when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136975
2022-01-26 23:53:37 +00:00
Mitchell Hentges 758aca98bc Bug 1751663: Bump maximum zstandard version to `0.17.0` r=firefox-build-system-reviewers,glandium
It doesn't appear like the breaking changes will affect us.

Note that the taskcluster packages config wasn't updated because
`0.17.0` hasn't yet been deployed to the GitHub releases page.

Differential Revision: https://phabricator.services.mozilla.com/D136947
2022-01-26 16:11:59 +00:00
Andreas Pehrson f52bbb09fc Bug 1412333 - Remove traces of MULTI_MONITOR_SCREENSHARE. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D136942
2022-01-26 08:52:17 +00:00
Mike Hommey e83738f7d8 Bug 1629184 - Preprocess MIDL inputs manually. r=firefox-build-system-reviewers,nalexander
This avoids needing clang-cl.exe on cross compilations. We could keep
Windows builds on having MIDL do the preprocessing, but that would be
a difference between native and cross builds, and it's better to avoid
that.

Differential Revision: https://phabricator.services.mozilla.com/D136831
2022-01-25 22:43:56 +00:00
Mike Hommey b51dd0d34d Bug 1751839 - Build clang stage 1 as a separate task. r=firefox-build-system-reviewers,andi
This allows to start building other toolchains, compiler runtimes, much
earlier, since we don't have to wait for a complete 4-stage-optimized
compiler to start these, while the output produced by clang is
presumably the same whether it's a stage 1 or a stage 4 clang.

Differential Revision: https://phabricator.services.mozilla.com/D136844
2022-01-25 21:51:17 +00:00
Mike Hommey 49dc85a2b5 Bug 1751839 - Add options to skip clang build stages. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136843
2022-01-25 21:51:16 +00:00
Mike Hommey a92ea8069d Bug 1751839 - Don't build the gold linker plugin when not using a sysroot. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136842
2022-01-25 21:51:16 +00:00
Mike Hommey 53e4530689 Bug 1751837 - Explicitly enable libxml2 support in macos clang. r=firefox-build-system-reviewers,andi
It is currently enabled automatically because libxml2 is detected, but
we want to be sure it's not accidentally disabled.

Differential Revision: https://phabricator.services.mozilla.com/D136840
2022-01-25 21:51:15 +00:00
Mike Hommey d099cbd384 Bug 1751812 - Remove options to build compiler runtimes at the same time as clang. r=firefox-build-system-reviewers,andi
`extra_targets` was used for the aarch64-linux compiler runtime, which
moved to a separate task in bug 1690757, and `android_targets` was used
for android compiler runtimes, which moved to separate tasks in
bug 1690973.

Using separate tasks is now the prefered way to build compiler runtimes,
os we won't need these options.

Differential Revision: https://phabricator.services.mozilla.com/D136822
2022-01-25 21:51:15 +00:00
Mike Hommey 77ef469247 Bug 1752004 - Remove usage of six in python configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136946
2022-01-25 21:38:47 +00:00
Mike Hommey e013590cd1 Bug 1751331 - Add a mozbuild crate that exposes some build configuration items. r=firefox-build-system-reviewers,andi
This will be used as a central point of authority rather than individual
crates figuring things out on their own.

Differential Revision: https://phabricator.services.mozilla.com/D136558
2022-01-25 21:29:50 +00:00
Mike Hommey 677b775c8f Bug 1751811 - Stop installing msdia140.dll. r=firefox-build-system-reviewers,andi
It was added for llvm-symbolizer, and at the time, it was required.
However, since [1] (shipped in llvm 12), llvm-symbolizer, msdia140.dll
is not used by default, only when passing the -dia command line option,
which we don't use.

1. c74b427cb2

Differential Revision: https://phabricator.services.mozilla.com/D136821
2022-01-25 20:01:37 +00:00
criss 592389ca2d Backed out 10 changesets (bug 1751331) for causing bustages. CLOSED TREE
Backed out changeset 5ce212465a26 (bug 1751331)
Backed out changeset 14d62b8ffa5a (bug 1751331)
Backed out changeset 76f46bd9afa1 (bug 1751331)
Backed out changeset 147faaad046f (bug 1751331)
Backed out changeset f85b049d12f9 (bug 1751331)
Backed out changeset 16d8d3f8378b (bug 1751331)
Backed out changeset 1cd9386a3927 (bug 1751331)
Backed out changeset 20faacba6db6 (bug 1751331)
Backed out changeset 7d17f75bcb38 (bug 1751331)
Backed out changeset 28b9aab1f174 (bug 1751331)
2022-01-25 13:00:25 +02:00
Mike Hommey ba9b891611 Bug 1751810 - Stop checking for DIA SDK headers and libraries. r=firefox-build-system-reviewers,andi
After bug 1588538, the only use of the DIA SDK is to copy msdia140.dll
for llvm-symbolizer.exe.

Differential Revision: https://phabricator.services.mozilla.com/D136820
2022-01-25 09:23:03 +00:00
Mike Hommey 773fa3be25 Bug 1751817 - Pass --rtlib=libgcc to clang when building for Android. r=firefox-build-system-reviewers,andi
Instead of forcing it via a patch to clang itself (which now conflicts
with other changes on clang trunk, although the conflict is benign).

Because of https://github.com/llvm/llvm-project/issues/53397 we need to
narrow down the warnings that trigger errors in the check for
`pthread_cond_timedwait_monotonic_np`.

Differential Revision: https://phabricator.services.mozilla.com/D136850
2022-01-25 09:17:39 +00:00
Mike Hommey 68e6c861f5 Bug 1751331 - Add a mozbuild crate that exposes some build configuration items. r=firefox-build-system-reviewers,andi
This will be used as a central point of authority rather than individual
crates figuring things out on their own.

Differential Revision: https://phabricator.services.mozilla.com/D136558
2022-01-25 09:03:02 +00:00
Mike Hommey 8e8d1e77e5 Bug 1751415 - Fixup after bug 1750671. r=firefox-build-system-reviewers,mhentges
`extra_flags` is not necessarily a list, originally.

Differential Revision: https://phabricator.services.mozilla.com/D136660
2022-01-22 00:59:03 +00:00
Mitchell Hentges a37e7812d4 Bug 1748737: Bump attrs to be compatible with mochitest r=ahal
A bunch of modern packages (`pytest`, `twisted`, `automat`) all need
`attrs==19.2.0` (or newer).
We _could_ bump `attrs` all the way to the modern `21.4.0` version, but
I'd like to defer that upgrade risk, since there's a
lot of backwards-incompatible changes and deprecations. So, lightly bump
it to `19.2.0`.

As part of bumping it, `pytest` is no longer compatible.
The earliest candidate that seems to be compatible is `pytest` 4.6.6,
which boasts in its release notes that it's resolved some deprecation
warnings against `attrs>=19.2.0`.

Once `pytest` was bumped, it needed a newer version of `pluggy`, which
itself has dependencies.
Since we're using hashes in `tox_requirements.txt`, all dependencies
needed to be hashed as well.

Differential Revision: https://phabricator.services.mozilla.com/D135178
2022-01-21 18:21:56 +00:00
Mike Hommey d4919a8c5f Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-20 21:01:20 +00:00
Mike Hommey a3c1255269 Bug 1750599 - Keep track of the time spent running valgrind on perfherder. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136308
2022-01-19 22:27:48 +00:00
Mike Hommey 77e267d014 Bug 1750599 - Apply valgrind upstream patch that increases performance with --track-origins=yes. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136307
2022-01-19 22:27:47 +00:00
Mike Hommey cce437063b Bug 1749386 - Fall back to `mach artifact toolchain --from-build` if we cannot resolve to a task in configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136300
2022-01-19 22:17:44 +00:00
Mike Hommey 00fdf5557e Bug 1750893 - Move Android linker flags to python configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136294
2022-01-19 21:32:10 +00:00
Mike Hommey 9b6c3d38b3 Bug 1750855 - Don't valgrind dbus-launch and its subprocesses. r=firefox-build-system-reviewers,mhentges
For some reason, the execution of dbus-launch causes problems after bug
1734934, even though we were executing dbus-launch before. We don't
actually care about valgrind'ing its execution, though, because it's a
system program.

Differential Revision: https://phabricator.services.mozilla.com/D136312
2022-01-19 21:16:51 +00:00
Iulian Moraru f2f55d39bc Backed out changeset ffdd096022f9 (bug 1747970) for causing android build bustages. CLOSED TREE 2022-01-19 02:20:04 +02:00
Mike Hommey 464471142b Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-18 23:53:38 +00:00
Mike Hommey 933a6a1002 Bug 1750671 - Fixup for artifact builds. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D136274
2022-01-18 22:10:54 +00:00
Mike Hommey 6c2ecbdb2e Bug 1750671 - Adjustments to fix testcase. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D136270
2022-01-18 21:31:56 +00:00
Mike Hommey 88a7543acc Bug 1750671 - Pass linker flags to compiler when running check_symbols. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136204
2022-01-18 21:03:19 +00:00
Mike Hommey 2c9df18067 Bug 1750671 - Move linker detection around. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136203
2022-01-18 21:03:19 +00:00
Mike Hommey 168573ae42 Bug 1750659 - Refresh D116020 patch with what landed upstream. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136197
2022-01-18 00:59:16 +00:00
Mike Hommey 78aef3e33c Bug 1750486 - Refresh clang patch to fit upstream trunk changes. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136196
2022-01-18 00:59:16 +00:00
Mike Hommey 939ebefde9 Bug 1749607 - Only use bootstrapped pkgconf when using bootstrapped sysroot. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135978
2022-01-17 23:49:35 +00:00
Jan-Erik Rediger 8d108a59d0 Bug 1750544 - Upgrade to Glean v43.0.2. r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D136138
2022-01-17 16:26:33 +00:00
Andrew Halberstadt 0a81bd23a2 Bug 1740631 - Add requirements-plist-url to mac signing payloads, r=aki,glandium
This file will get picked up by our mac signing infrastructure and be
forwarded to the `productbuild` invocation.

Differential Revision: https://phabricator.services.mozilla.com/D135056
2022-01-17 15:36:38 +00:00
Jesse Schwartzentruber 7178259892 Bug 1708787 - Package UBSan runtime with MacOS builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D135635
2022-01-14 14:47:15 +00:00
Mike Hommey bb71e9f807 Bug 1749289 - Don't apply the win64-no-symlink patch on clang trunk. r=firefox-build-system-reviewers,mhentges DONTBUILD
The patch conflicts with recent clang changes, and we're not building a
win64 clang trunk anyways.

Differential Revision: https://phabricator.services.mozilla.com/D135567
2022-01-13 21:27:33 +00:00
Mitchell Hentges f389fa2412 Bug 1730712: Don't duplicate common virtualenv requirements r=ahal
Now that command virtualenvs are automatically containing Mach's
sys.path entries, they no longer need to be duplicated.

For compatibility's sake, all "common" requirements have
been moved to be "Mach" requirements. As time goes on
and we know which packages aren't needed for Mach itself,
we can move them back into the common (to commands) requirements
file, and eventually into only the virtualenvs that need them.

Differential Revision: https://phabricator.services.mozilla.com/D132083
2022-01-13 20:49:08 +00:00
Benjamin Beurdouche 84a342941b Bug 1748820 - land NSS 44e6341be5e8 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D135690
2022-01-12 10:40:38 +00:00
Agi Sferro fe94caaf56 Bug 1743469 - Target android 31. r=jgraham,jnicol,calu
Differential Revision: https://phabricator.services.mozilla.com/D133153
2022-01-11 19:16:03 +00:00
Kagami Sascha Rosylight 901a35ec10 Bug 1748874 - Part 5: Require CAN_RUN_SCRIPT to be at the first declaration r=andi
Depends on D135404

Differential Revision: https://phabricator.services.mozilla.com/D135405
2022-01-11 11:52:27 +00:00
Christian Holler 6a7cccb953 Bug 1747298 - Use CXX for Cargo linking when necessary. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D135219
2022-01-11 11:26:39 +00:00
Iulian Moraru 30ccf11d2e Backed out changeset 30fb33fe9ec3 (bug 1747298) for causing multiple mochitest failures. CLOSED TREE 2022-01-11 13:14:36 +02:00
Christian Holler 7db161c99e Bug 1747298 - Use CXX for Cargo linking when necessary. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D135219
2022-01-11 09:31:31 +00:00
Cristian Tuns dea3b789a7 Backed out 2 changesets (bug 1617369, bug 1519636) for causing lint failures on multiple files. CLOSED TREE
Backed out changeset 6726892a0012 (bug 1617369)
Backed out changeset c08caa5f8504 (bug 1519636)
2022-01-11 04:38:34 -05:00
Andi-Bogdan Postelnicu 91c41ec2e4 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Updated with rustfmt 1.4.37-stable (f1edd04 2021-11-29)

Differential Revision: https://phabricator.services.mozilla.com/D135527
2022-01-11 09:16:57 +00:00
Mike Hommey 3885215795 Bug 1747532 - Default to lld for local mac builds. r=firefox-build-system-reviewers,andi
When using clang >= 13.0

Differential Revision: https://phabricator.services.mozilla.com/D134862
2022-01-11 00:07:41 +00:00
Mike Hommey 5bf15edfdb Bug 1747532 - Add clang version mappings for more versions of Xcode. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134861
2022-01-11 00:07:41 +00:00
Kagami Sascha Rosylight 458177e66f Bug 1732673 - Add cppwinrt to include path on Windows r=firefox-build-system-reviewers,andi
This enables `#include <winrt/base.h>` to work.

While the build itself works, clangd still complains that it can't find winrt/base.h, probably because of https://github.com/llvm/llvm-project/issues/53112.

Differential Revision: https://phabricator.services.mozilla.com/D135510
2022-01-10 16:06:48 +00:00
Mike Hommey c8c1a3c5f2 Bug 1748966 - Speed up bootstrap. r=firefox-build-system-reviewers,andi
Currently, the bootstrap code from configure gets bootstrapped task info
from the taskgraph, and then invokes `mach artifact toolchain` which...
does the same again. That cumulatively wastes a noticeable amount of
time, especially on Windows.

So to avoid repeating this work that the configure side already did,
we do a little more on the configure side (resolution from index to
task-id), and just give a (task-id, artifact path) pair to `mach
artifact toolchain`. The added code to `mach artifact toolchain` is
actually ironically very similar to the code that was removed in
bug 1687594.

And now that mach bootstrap uses the configure code, it benefits from
this change as well.

Differential Revision: https://phabricator.services.mozilla.com/D135311
2022-01-07 21:26:44 +00:00
Mike Hommey f48d05698c Bug 1748779 - Update the list of features in the dummy web-sys crate. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135193
2022-01-07 09:14:10 +00:00
Mike Hommey 01c4ac46ad Bug 1748779 - Move dummy-web in-tree. r=firefox-build-system-reviewers,andi
It will make it easier to adjust those dummy libs when necessary.

Differential Revision: https://phabricator.services.mozilla.com/D135192
2022-01-07 09:14:10 +00:00
Dana Keeler 740734288a Bug 1748409 - regenerate expiring test certificates for 2022 r=jschanck
* the certificates were regenerated using `./mach generate-test-certs`
* the build/pgo/certs/ changes were made using
  `./mach python build/pgo/genpgocert.py`
* the zip files in security/manager/ssl/tests/unit/test_signed_apps/ were
  updated per the directions in the corresponding moz.build file
* security/manager/ssl/tests/unit/test_cert_override_read.js needed manual
  updating

Differential Revision: https://phabricator.services.mozilla.com/D135283
2022-01-07 02:13:06 +00:00
Csoregi Natalia 1f2a864c13 Backed out 2 changesets (bug 1747532) for busted artifact builds on MacOS. a=backout
Backed out changeset d0bc51a9eb47 (bug 1747532)
Backed out changeset 1b2a06b52985 (bug 1747532)
2022-01-06 19:38:33 +02:00
Mitchell Hentges 47520dab98 Bug 1725895: Add support for MSYS2 MozillaBuild r=glandium
MSYS2 has a slightly different directory structure (binaries are
now under "/usr/bin/" instead of "/bin/"), and we're now plonking
it in `%MOZILLABUILD%\msys2` instead of `%MOZILLABUILD%\msys` so that
MSYS1 files don't interfere with MSYS2 after a pave-over install.

Speaking of pave-over installs: if both `msys2` and `msys` are available,
this patch prefers `msys2`. This is because MozillaBuild installations
with MSYS2 are going to _assume_ they're using MSYS2, and therefore
be most compatible with the versions of packages shipped with MSYS2.

Differential Revision: https://phabricator.services.mozilla.com/D133549
2022-01-06 06:49:47 +00:00
Mitchell Hentges 92a19e0eb9 Bug 1740123: Allow invoking Mach outside of MozillaBuild r=glandium
Assuming that the `MOZILLABUILD` environment variable is set, allow
invoking Mach from non-MozillaBuild terminals.

Note that MozillaBuild still needs to be installed, and the
`MOZILLABUILD` environment variable will have to be set.

For future reference: when I tried setting this up with Windows
Store's Python 3.9, I encountered issues when running binaries installed
via `pip`: it would fail with `abort: failed to load Python DLL
python3x.dll`.

Differential Revision: https://phabricator.services.mozilla.com/D133936
2022-01-06 06:49:47 +00:00
Mitchell Hentges 0445e1ce71 Bug 1740123: Move Python version check earlier r=ahal
Move Python version check as early as possible so that more code can
safely depend on modern behaviour while out-of-date Python versions still
get graceful error messages.

Without this change, Python 2 usages fail on importing `importlib.util`
before the nice "out-of-date version" warning is printed.

Differential Revision: https://phabricator.services.mozilla.com/D134185
2022-01-06 00:32:49 +00:00
Mitchell Hentges 7e6a4952a2 Bug 1725895: Port `--profile-command` to pure-Python r=nalexander,glandium
As part of this, the shell-script part of `./mach` can be removed,
making it pure Python.

There's a change in `--profile-command` behaviour, though: it now only
profiles the specific command, rather than all of Mach.
This is because _so much of Mach_ has already been run before
CLI arguments are parsed in the Python process.

If a developer wants to profile Mach itself, they can manually run
`python3 -m cProfile -o <file> ./mach ...`

Differential Revision: https://phabricator.services.mozilla.com/D133928
2022-01-06 00:32:48 +00:00
Marian-Vasile Laza 7262acfd88 Backed out 2 changesets (bug 1725895, bug 1740123) for causing build bustages.
Backed out changeset a6eabd95e31d (bug 1740123)
Backed out changeset bfd5211060b4 (bug 1725895)
2022-01-05 03:46:17 +02:00
Mike Hommey 45bb78f8c8 Bug 1647542 - When cross-compiling on Windows, don't prioritize the target compiler as host compiler. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135005
2022-01-05 00:47:55 +00:00
Mike Hommey fca792ecaa Bug 1748384 - Properly handle Windows SDK when the host compiler is clang-cl and the target compiler is not. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135004
2022-01-05 00:47:55 +00:00
Mike Hommey d2d9350277 Bug 1748385 - Use the --dont-define-prefix flag of pkg-config when supported. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135012
2022-01-05 00:02:43 +00:00
Mike Hommey 7ebc2dc34a Bug 1748385 - Add --shared flag when using pkgconf >= 1.7.4. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135011
2022-01-05 00:02:42 +00:00
Mike Hommey 2fa5739371 Bug 1748385 - Use the system path separator for PKG_CONFIG_LIBDIR. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135010
2022-01-05 00:02:42 +00:00
Mike Hommey e1c71aa04b Bug 1748385 - Add a pkgconf toolchain and use it. r=firefox-build-system-reviewers,mhentges
pkgconf is an alternative implementation of pkg-config that is more
cross-platform. It has also become the default on Fedora, so it's not
some random project.

Differential Revision: https://phabricator.services.mozilla.com/D135009
2022-01-05 00:02:41 +00:00
Mike Hommey 4433dc7410 Bug 513617 - Only check pkg-config on platforms where we need it. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135008
2022-01-05 00:02:41 +00:00
Narcis Beleuzu 1b1effc9ba Backed out 5 changesets (bug 1748385, bug 513617) for bustages on pkg.configure . CLOSED TREE
Backed out changeset bc23b3cfb583 (bug 1748385)
Backed out changeset 53f3c4e3e600 (bug 1748385)
Backed out changeset 5c744edba720 (bug 1748385)
Backed out changeset ad23d3af4df6 (bug 1748385)
Backed out changeset 54e3431d9152 (bug 513617)
2022-01-05 01:23:29 +02:00
Mike Hommey 2d9ca36bea Bug 1748385 - Use the --dont-define-prefix flag of pkg-config when supported. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135012
2022-01-04 22:57:02 +00:00
Mike Hommey 55c350dbd6 Bug 1748385 - Add --shared flag when using pkgconf >= 1.7.4. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135011
2022-01-04 22:57:02 +00:00
Mike Hommey 3a4ba2a846 Bug 1748385 - Use the system path separator for PKG_CONFIG_LIBDIR. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135010
2022-01-04 22:57:02 +00:00
Mike Hommey 983fd05b85 Bug 1748385 - Add a pkgconf toolchain and use it. r=firefox-build-system-reviewers,mhentges
pkgconf is an alternative implementation of pkg-config that is more
cross-platform. It has also become the default on Fedora, so it's not
some random project.

Differential Revision: https://phabricator.services.mozilla.com/D135009
2022-01-04 22:57:01 +00:00
Mike Hommey e0bb0f4225 Bug 513617 - Only check pkg-config on platforms where we need it. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135008
2022-01-04 22:57:01 +00:00
Mike Hommey 1902c82787 Bug 1747532 - Default to lld for mac builds. r=firefox-build-system-reviewers,andi
When using clang >= 13.0

Differential Revision: https://phabricator.services.mozilla.com/D134862
2022-01-04 22:48:48 +00:00
Mike Hommey fd7ee0cb3f Bug 1748382 - Stop reverting 2a078c307204 on clang trunk. r=firefox-build-system-reviewers,mhentges
The content of the patch was applied as part of d76279404073.

Differential Revision: https://phabricator.services.mozilla.com/D135002
2022-01-04 22:15:17 +00:00
Mike Hommey a3fcd56183 Bug 1748373 - Don't print out the contents of CMake{Output,Error}.log. r=firefox-build-system-reviewers,mhentges
When cmake fails during the clang build, we currently print out the
contents of CMakeOutput.log and CMakeError.log because they may contain
something useful to debug what happened. Unfortunately, because the
treeherder log parser doesn't see the actual error, it reports the
normal error that are part of the logs as being the errors causing the
failure, the first one of which is a check whether malloc/malloc.h is a
thing, which it is not, and that's normal.

So instead of printing them out, we provide the files as artifacts.

Differential Revision: https://phabricator.services.mozilla.com/D134999
2022-01-04 22:15:16 +00:00
Mike Hommey afa3bcf77c Bug 1748372 - Apply lld trunk fix for weak symbols with LTO on mac. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D134992
2022-01-04 22:15:16 +00:00
Mitchell Hentges 8fff83d33d Bug 1740123: Move Python version check earlier r=ahal
Move Python version check as early as possible so that more code can
safely depend on modern behaviour while out-of-date Python versions still
get graceful error messages.

Without this change, Python 2 usages fail on importing `importlib.util`
before the nice "out-of-date version" warning is printed.

Differential Revision: https://phabricator.services.mozilla.com/D134185
2022-01-04 21:07:32 +00:00
Mitchell Hentges 07f875d674 Bug 1725895: Port `--profile-command` to pure-Python r=nalexander,glandium
As part of this, the shell-script part of `./mach` can be removed,
making it pure Python.

There's a change in `--profile-command` behaviour, though: it now only
profiles the specific command, rather than all of Mach.
This is because _so much of Mach_ has already been run before
CLI arguments are parsed in the Python process.

If a developer wants to profile Mach itself, they can manually run
`python3 -m cProfile -o <file> ./mach ...`

Differential Revision: https://phabricator.services.mozilla.com/D133928
2022-01-04 21:07:32 +00:00