Commit Graph

7396 Commits

Author SHA1 Message Date
Gurzau Raul
09fe34b331 Merge inbound to mozilla-central. a=merge 2018-08-31 00:49:36 +03:00
Myk Melez
7978cd2fe4 Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
In conjunction with the cc crate changes in https://github.com/alexcrichton/cc-rs/pull/342 (which I'll land in https://phabricator.services.mozilla.com/D4699), this hides warnings generated by C code in Rust crates (by removing warnings flags from CFLAGS when compiling Rust libraries).

MozReview-Commit-ID: 9CZgLGbWjbA

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

--HG--
extra : moz-landing-system : lando
2018-08-30 17:29:54 +00:00
Mike Hommey
6e78f08178 Bug 1486998 - Use the binutils toolchain instead of gcc for builds using clang. r=froydnj
This avoids downloading and unpacking a large package that we only use
for binutils when building with clang.

Differential Revision: https://phabricator.services.mozilla.com/D4516
2018-08-30 07:30:30 +09:00
Mike Hommey
f3d7015c06 Bug 1486995 - Use fetch task for binutils source for the binutils toolchain. r=dmajor
While here, use nproc instead of hardcoding a -j value.

Differential Revision: https://phabricator.services.mozilla.com/D4515
2018-08-30 07:30:13 +09:00
Landry Breuil
24b40917e5 Bug 1457092 - Define XP_*BSD for OpenBSD/NetBSD/FreeBSD. r=glandium
--HG--
extra : histedit_source : eb42e923719f997e8bcdf3a38e9904c0e97c9af2
2018-08-23 04:55:00 +03:00
Mike Hommey
357a8bb20c Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 13:55:24 +09:00
Mike Hommey
99d57d4dfb Bug 1486652 - Make x86 linux builds actual cross builds. r=ted
The x86 linux builds originally were performed in x86 build environment.
That was a long time ago. Since then, they moved to x86-64 hosts with
x86 headers and libraries. But for reasons that might have to do with
the build system not really supporting cross-compilation nicely back
then, the build is still explicitly passing both --host and --target,
making those builds non-cross builds.

Since the toolchains used to build are for x86-64, the fact that --host
is for x86 actually prevents enabling the clang plugin, so we need to
turn these builds in actual cross builds if we want to enable the clang
plugin.
2018-08-29 13:50:02 +09:00
Dorel Luca
544b61c613 Backed out changeset 692efe8acba9 (bug 1486654) for wd failures on /builds/worker/workspace/build/tests/bin/geckodriver 2018-08-29 05:16:55 +03:00
Dorel Luca
05fb3381f3 Backed out changeset 9da60503ea49 (bug 1486652) for wd failures on /builds/worker/workspace/build/tests/bin/geckodriver 2018-08-29 05:16:13 +03:00
Mike Hommey
2ef817ea52 Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 08:02:06 +09:00
Mike Hommey
49b5785ec6 Bug 1486652 - Make x86 linux builds actual cross builds. r=ted
The x86 linux builds originally were performed in x86 build environment.
That was a long time ago. Since then, they moved to x86-64 hosts with
x86 headers and libraries. But for reasons that might have to do with
the build system not really supporting cross-compilation nicely back
then, the build is still explicitly passing both --host and --target,
making those builds non-cross builds.

Since the toolchains used to build are for x86-64, the fact that --host
is for x86 actually prevents enabling the clang plugin, so we need to
turn these builds in actual cross builds if we want to enable the clang
plugin.
2018-08-29 08:02:05 +09:00
arthur.iakab
5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Andi-Bogdan Postelnicu
2238536677 Bug 1483953 - Add a FixIt hint for the ExplicitImplicitChecker analysis. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D4191

--HG--
extra : moz-landing-system : lando
2018-08-24 14:11:26 +00:00
Andi-Bogdan Postelnicu
34a6c4ff8f Bug 1466427 - Migrate clang-tidy package from 5.0.1 to 7.0.0-rc2. r=glandium,janx
Differential Revision: https://phabricator.services.mozilla.com/D3980

--HG--
rename : tools/clang-tidy/test/misc-bool-pointer-implicit-conversion.cpp => tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
rename : tools/clang-tidy/test/misc-forward-declaration-namespace.cpp => tools/clang-tidy/test/bugprone-forward-declaration-namespace.cpp
rename : tools/clang-tidy/test/misc-macro-repeated-side-effects.cpp => tools/clang-tidy/test/bugprone-macro-repeated-side-effects.cpp
rename : tools/clang-tidy/test/misc-string-constructor.cpp => tools/clang-tidy/test/bugprone-string-constructor.cpp
rename : tools/clang-tidy/test/misc-string-integer-assignment.cpp => tools/clang-tidy/test/bugprone-string-integer-assignment.cpp
rename : tools/clang-tidy/test/misc-suspicious-missing-comma.cpp => tools/clang-tidy/test/bugprone-suspicious-missing-comma.cpp
rename : tools/clang-tidy/test/misc-swapped-arguments.cpp => tools/clang-tidy/test/bugprone-swapped-arguments.cpp
rename : tools/clang-tidy/test/misc-unused-raii.cpp => tools/clang-tidy/test/bugprone-unused-raii.cpp
extra : moz-landing-system : lando
2018-08-24 12:39:58 +00:00
Andi-Bogdan Postelnicu
d25759d92e Bug 1485949 - fix busted build of clang-plugin on MacOS native build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4204

--HG--
extra : moz-landing-system : lando
2018-08-24 11:44:38 +00:00
Mike Hommey
a6d35e4199 Bug 1481670 - Add a non-mangled version of the valgrind suppression for SaveWordToEnv. r=njn
This is similar to what was done with SaveToEnv in bug 1457999.
2018-08-24 21:44:12 +09:00
Mike Hommey
95f25c8a5d Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj
See bug 1485562 for an example of bad things that can happen with such
relocations, and see also
c90379ddfe/ELF/Relocations.cpp (L496-L537)
2018-08-24 08:57:04 +09:00
Mike Hommey
32f6c1b795 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 08:39:30 +09:00
Mike Hommey
1894266228 Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings. 2018-08-24 07:39:04 +09:00
Mike Hommey
a4d874c7b8 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 07:33:38 +09:00
Nathan Froyd
c1c5987ee2 Bug 1485716 - part 1 - always use frame pointers on aarch64 windows; r=dmajor
This support is not necessary, but the ABI conventions
page (https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions)
encourages people to use frame pointers for fast stack walking, and
using frame pointers means we're compatible with ETW, which is a Good
Thing.
2018-08-23 16:48:53 -04:00
Nathan Froyd
684e72b2ab Bug 1486905 - add a HOST_LINKER variable for cross windows builds; r=dmajor
This setup seems to work well enough to enable me to link
HOST_SIMPLE_PROGRAMS with an AArch64-cross setup.  Necessary library
paths are passed to the linker via -LIBPATH and HOST_LDFLAGS rather than
letting MSVC fish them out of the environment.  The change to
HOST_SIMPLE_PROGRAMS to pass HOST_LDFLAGS was necessary for this to
work, in addition to the HOST_LINKER changes.
2018-08-30 10:28:15 -04:00
Sebastian Hengst
ceebee3842 Backed out 4 changesets (bug 1417646) for Webdriver missing geckodriver binary, at least on Linux x64 asan
Backed out changeset 1c7e3f8af2e3 (bug 1417646)
Backed out changeset 42ea09d91d7e (bug 1417646)
Backed out changeset 1a3c37471045 (bug 1417646)
Backed out changeset 7179a078b7b4 (bug 1417646)
2018-08-30 12:54:45 +03:00
Hiroyuki Ikezoe
84dbd47154 Bug 1417646 - Remove explicit ac_add_options --enable-geckodriver for linux32 build. r=me 2018-08-30 18:08:45 +09:00
Hiroyuki Ikezoe
fde587cfd6 Bug 1417646 - Create a symlink named dsymutil to llvm-dsymutil. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4041
2018-08-23 13:07:36 +09:00
Chris Peterson
1f8394cea3 Bug 1483761 - Enable clang's -Wtautological-overlap-compare warning. r=glandium
-Wtautological-overlap-compare is an opt-in warning added in clang 3.5. It warns about overlapping comparisons that are always true or false, such as:

if (x > 4 || x < 10) {} // warning! always true
int b = x < 2 && x > 5; // warning! always false
return x > 4 || x < 10; // warning! always true

https://clang.llvm.org/docs/DiagnosticsReference.html#wtautological-overlap-compare

There are currently no -Wtautological-overlap-compare warnings in mozilla-central.

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

--HG--
extra : rebase_source : e6aa211a338633e5fb7507b3a8f341709d72d6c9
2018-08-14 22:39:03 -07:00
Chris Peterson
8cddf640b9 Bug 1483761 - Enable clang's -Wshadow-field-in-constructor warnings. r=glandium
This opt-in warning catches bugs where a constructor modifies a constructor parameter that shadows member variable name. The code probably intended to change the member variable value, not the paramter. There are currently no -Wshadow-field-in-constructor warnings in mozilla-central.

https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-field-in-constructor-modified

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

--HG--
extra : rebase_source : 604ff90e036d536955db41351ee9ee97e8424d92
extra : intermediate-source : 712f538afc160f4efae2383130727edbd1dd70f6
extra : source : 300fff9a58515c7cac0647afc9ccc0e69bc8c5cb
2018-08-20 10:10:57 -07:00
Chris Peterson
874e8bf033 Bug 1483761 - Enable clang's -Wfloat-(overflow|zero)-conversion warnings. r=glandium
-Wfloat-overflow-conversion detects when a constant floating point value is converted to an integer type and will overflow the target type.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-overflow-conversion

-Wfloat-zero-conversion detects when a non-zero floating point value is converted to a zero integer value.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-zero-conversion

There are currently no -Wfloat-overlap-conversion warnings in mozilla-central. There is one -Wfloat-zero-conversion warning in a webrtc test. It doesn't block enabling this check because the webrtc tests are not compiled with warnings-as-errors.

media/webrtc/trunk/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc:255:54 [-Wfloat-zero-conversion] implicit conversion from 'const float' to 'int' changes non-zero value from 0.045000002 to 0

We can't enable all -Wfloat-conversion warnings (for any implicit conversion of a floating-point number into an integer) because there are currently over 1400 warnings. I spot checked a few of these -Wfloat-conversion warnings. I didn't find any obvious bugs, but there is some suspicious code, such as implicit conversions of floats to bools.

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

--HG--
extra : rebase_source : 589be9e593749c7000b1f89ca155e4f95a487f8f
2018-08-14 23:03:52 -07:00
Chris Peterson
863d823722 Bug 1483761 - Enable clang's -Wc++2a-compat warnings. r=glandium
Warn about C++ constructs whose meaning change in C++2a.

https://clang.llvm.org/docs/DiagnosticsReference.html#wc-2a-compat

So far the only -Wc++2a-compat check that I know of is for valid pre-C++2a code that inadvertently parses as C++2a's new <=> "spaceship" comparison operator. `f<&A::operator<=>();` is an example of a warning reported for a real project on GitHub. That code can be rewritten as `f< &operator<= >();`.

There are currently no -Wc++2a-compat warnings in mozilla-central.

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

--HG--
extra : rebase_source : 4ec8147ad3fe2d1ef7c543d100c660a000385786
2018-08-15 10:02:07 -07:00
Chris Manchester
b8b943575b Bug 1481604 - Require nightly Cargo in addition to a particular rustc when building with tup. r=mshal
Our version check is removed as well, as the current required rustc version for
Firefox includes all features required to build with tup.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 20:39:33 +00:00
svoisen
d9fce4a9d0 Bug 1466722 - Remove remaining references to nsCSSRuleProcessor since it has been removed. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D3928

--HG--
extra : moz-landing-system : lando
2018-08-22 01:29:39 +00:00
Mike Hommey
89dfab93fc Bug 1485210 - Add --sym-offsets=yes to valgrind command line. r=njn
When valgrind prints out backtraces, it prints raw addresses and symbol
names, but that doesn't help find the exact code that caused the errors,
because we don't know where the libraries are loaded.

With --sym-offsets=yes, it adds the offset from the symbol, which allows
to find the relevant code in the binary.
2018-08-22 13:44:38 +09:00
Andreea Pavel
c8dfc19d97 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-08-22 06:38:49 +03:00
Andreea Pavel
883da574e8 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-22 06:35:14 +03:00
Mike Hommey
9c245b8d05 Bug 1484888 - Apply upstream patch that fixes a clang crash with stack overflow on PGO + LTO on Linux. r=froydnj
For some reason, clang 6 crashes with a stack overflow on PGO + LTO on
Linux 64 bits. Clang 7 doesn't, but has other problems.

After some bisecting, I found the following:
- r322684 is the first revision that is broken on the release_60 branch.
- that revision is a cherry pick of r322313 from trunk, which is
  similarly broken.
- trunk was fixed by r322325, which, funnily enough, predates when
  r322313 was cherry-picked.

While the change from r322325 is relatively large, mixing multiple
different changes in a single commit, there also haven't been
significant changes to the same file on trunk since (one macro name
change, one documentation change, and a change related to debug info),
which would tend to indicate the change is not going to break anything,
or at least not more than upgrading to clang 7 would.

The exact part that fixes the issue could probably be found in this
large commit, but I didn't feel like digging into it further considering
the above.
2018-08-22 09:52:17 +09:00
Boris Chiou
d56d102ae0 Bug 1485197 - Bump cbindgen to 0.6.2. r=heycam
In order to support operator==() for tagged enum, we have to bump the version to
0.6.2.

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

--HG--
extra : moz-landing-system : lando
2018-08-21 23:40:51 +00:00
Jan Beich
e459b11dc1 Bug 1484535 - Allow C++ files to check MOZ_SYSTEM_ICU. r=froydnj 2018-08-21 16:02:00 +03:00
David Major
e57877cd63 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium 2018-08-21 11:30:16 -04:00
Nathan Froyd
93ba371b66 Bug 1480558 - part 4 - add icudata support for aarch64 windows; r=mshal
yasm doesn't support aarch64, and trying to use GNU as with an MSVC
build seems like sadness waiting to happen.  Instead, we'll generate our
own assembly file that armasm64 will accept.
2018-08-21 11:00:34 -04:00
Nathan Froyd
ad9e5941dc Bug 1480558 - part 1 - set AS appropriately on aarch64 windows; r=mshal 2018-08-21 11:00:35 -04:00
Margareta Eliza Balazs
751b15f741 Backed out changeset 1b533762e9cb (bug 1483835) for causing build bustage in /python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py on a CLOSED TREE 2018-08-21 17:03:40 +03:00
David Major
e14b59ea94 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium
--HG--
extra : rebase_source : 4abacd94c31ca33d8388f5e0da22010320c561a8
2018-08-21 09:34:33 -04:00
Mike Hommey
6df1b75554 Fix Android bustage from bug 1484872. r=me on a CLOSED TREE 2018-08-21 09:14:28 +09:00
Mike Hommey
d1714fc61d Bug 1484872 - Move LTO flags to python configure. r=froydnj 2018-08-21 08:40:26 +09:00
Mike Hommey
1b5bd092ec Bug 1484872 - Don't look for llvm-symbolizer for LTO builds. r=froydnj
Similar to bug 1478923.
2018-08-21 08:40:10 +09:00
Mike Hommey
7b448e6258 Bug 1484872 - Remove --enable-llvm-hacks. r=froydnj
It calls for cargo-culting its use when using clang, when it's specific
to skipping one linker flags for sanitizers.
2018-08-21 08:40:00 +09:00
Mike Hommey
6f1f972c02 Bug 1484872 - Remove MOZ_CFLAGS_NSS. r=froydnj
It hasn't been used since bug 1295937.
2018-08-21 08:39:49 +09:00
Mike Hommey
4debc3c875 Bug 1341222 - Avoid m4 breaking the sed expressions that set NSPR_INCLUDE_DIR and NSPR_LIB_DIR. r=froydnj 2018-08-21 07:25:00 +09:00
Masatoshi Kimura
20bf6de031 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
--HG--
extra : rebase_source : 9d43a9cec951deabcb224efcc6bea2be0e772394
extra : source : 36e41ebefc3512f840f646be3fc14f0f3b5b538d
2018-08-17 20:41:49 +09:00
Csoregi Natalia
0b0d5bd64a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-21 01:04:16 +03:00