make C++17 our default C++ version
Categories
(Firefox Build System :: General, enhancement)
Tracking
(firefox73 fixed)
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: froydnj, Assigned: froydnj)
References
(Blocks 3 open bugs)
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Current status, with some WIP patches for various open bugs:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6547a3b1315ef0b6aca230a70fb0481a267fab7e
- SM sanitizer-related configs are failing in check_vanilla_allocations.py, which is bug 1578876.
- Base toolchain GCC builds are failing somewhere in balrdash; probably just forgot some compiler flags somewhere?
- Base toolchain Clang builds are failing because Clang 4.0 doesn't support
-std=c++17
. I guess we get to bump our minimum clang version? - AArch64 Linux builds are failing, this is bug 1578535. Something in our docker image build process isn't installing the right GCC packages.
- Android 4.0 API16+ pgo builds are apparently failing for reasons I don't understand yet.
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
This change does not fully enable C++17, as we still need standard
library support from some platforms.
Will we be able to use C++17 language features already, e.g., constexpr if, fold expressions, etc.?
(Or should we hold off until everything is 17-ready?)
Thank you for making this happen!
Comment 5•5 years ago
|
||
(In reply to Gerald Squelart [:gerald] (he/him) (away until 2019-11-17) from comment #4)
Will we be able to use C++17 language features already, e.g., constexpr if, fold expressions, etc.?
Once this lands we should update the list of allowed features to clarify which C++17 features we can use. Our first use-case driving this is constexpr_if
.
Comment 7•5 years ago
|
||
Backed out changeset 9dea219937cd for causing valgrid bustages.
Backout link: https://hg.mozilla.org/integration/autoland/rev/08ddb3b1b528be17ca60d12d743eaf8f366888d5
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=279052737&repo=autoland&lineNumber=48889
[task 2019-12-02T14:40:58.813Z] 14:40:58 INFO - 4:50.27 --10442-- REDIR: 0x54c1060 (libstdc++.so.6:operator new(unsigned long)) redirected to 0x4c2ac90 (operator new(unsigned long))
[task 2019-12-02T14:40:58.853Z] 14:40:58 INFO - 4:50.31 --10442-- REDIR: 0x54bf370 (libstdc++.so.6:operator delete(void*)) redirected to 0x4c29ae0 (operator delete(void*))
[task 2019-12-02T14:40:58.854Z] 14:40:58 INFO - 4:50.31 TEST-UNEXPECTED-FAIL | valgrind-test | Mismatched free() / delete / delete [] at operator / deallocate / _M_destroy / _M_dispose
[task 2019-12-02T14:40:58.855Z] 14:40:58 INFO - 4:50.31 ==10442== Mismatched free() / delete / delete []
[task 2019-12-02T14:40:58.855Z] 14:40:58 INFO - 4:50.31 ==10442== at 0x4C29B4C: operator delete(void*)+108 (vg_replace_malloc.c:584)
Assignee | ||
Comment 9•5 years ago
|
||
Ah, yes, the difficulty of actually testing everything that gets built on real pushes via mach try fuzzy
. Sigh.
This is easily addressed. Fortunately, it looks like everything else might have actually stayed green.
Assignee | ||
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•