mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neil Conway <neil.con...@gmail.com>
Subject Re: Review Request 59413: Fix constexpr compilation failure with GCC 7.1.
Date Fri, 19 May 2017 18:51:08 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59413/#review175555
-----------------------------------------------------------



`stout`, `libprocess`, and `mesos` are nominally distinct projects, so a single RR should
touch no more than one of them. i.e., please split the `stout` changes into a separate review.

Might also be worth waiting to see if GCC upstream is going to fix the problem promptly. If
GCC 7.2 fixes the problem, we don't necessarily need to workaround a bug that occurs in just
a single minor release of GCC.


src/master/constants.hpp
Line 49 (original), 49 (patched)
<https://reviews.apache.org/r/59413/#comment248949>

    This change (and all the similar changes) seems unfortunate. Can't we play a similar trick
to the change you made to `Bytes`?


- Neil Conway


On May 19, 2017, 6:45 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59413/
> -----------------------------------------------------------
> 
> (Updated May 19, 2017, 6:45 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, James Peach, Michael Park, and Neil Conway.
> 
> 
> Bugs: MESOS-7520
>     https://issues.apache.org/jira/browse/MESOS-7520
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Many of the `constexpr` variables fail to compile with errors such as `error: 'Megabytes(32).Megabytes::<anonymous>'
is not a constant expression because it refers to an incompletely initialized variable`.
> 
> This patch changes around the `Bytes` class a bit by getting rid of the small classes
that extend `Bytes`. Additionally, any usage of the `Duration` class has been adjusted to
not instantiate using the base type (which triggers the issue along with `constexpr`).
> 
> 
> Diffs
> -----
> 
>   3rdparty/stout/include/stout/bytes.hpp 98223db50 
>   src/master/constants.hpp 7edf9f65f 
>   src/sched/constants.hpp 9edb25b38 
>   src/sched/sched.cpp ef73c1dcc 
>   src/scheduler/constants.hpp e3da12646 
>   src/slave/constants.hpp 1159ac3b1 
>   src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp cf0466c62 
>   src/slave/slave.cpp 7564e8d39 
>   src/slave/status_update_manager.cpp df63a708c 
> 
> 
> Diff: https://reviews.apache.org/r/59413/diff/1/
> 
> 
> Testing
> -------
> 
> `./bootstrap && mkdir build && cd build && ../configure --disable-python
--disable-java --disable-optimize --disable-hardening &&  make -j$(nproc)`
> 
> 
> Thanks,
> 
> Aaron Wood
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message