[
https://issues.apache.org/jira/browse/MESOS-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13900746#comment-13900746
]
Benjamin Hindman commented on MESOS-1000:
-----------------------------------------
Where we can avoid UNREACHABLE because we don't need to return anything that is
ideal. But where we need to return something we should use UNREACHABLE instead
of creating "valid" objects to return because (a) sometimes those objects can't
be created easily (i.e., we need to construct lots of dummy args for
construction) and (b) sometimes the creation of those objects can have
unintended side-effects. I'd rather have consistency using UNREACHABLE then
using valid objects in some places and UNREACHABLE in others, so let's fix the
implementation of UNREACHABLE if we need to.
> Clang build broken on 0.18.0 master
> -----------------------------------
>
> Key: MESOS-1000
> URL: https://issues.apache.org/jira/browse/MESOS-1000
> Project: Mesos
> Issue Type: Bug
> Components: libprocess
> Affects Versions: 0.18.0
> Environment: Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM
> 3.3svn)
> Reporter: Till Toenshoff
> Labels: clang, stout
>
> There are at least three new issues preventing mesos to build on clang.
> 1. ../../src/slave/containerizer/mesos_containerizer.hpp:174:8: error:
> 'mesos::internal::slave::MesosContainerizerProcess::exited' hides overloaded
> virtual function [-Werror,-Woverloaded-virtual]
> That one is rather easy to overcome; simply add something like the following
> to that header;
> // Prevent clang warning on hidden overloaded virtual function.
> using process::ProcessBase::exited;
> 2. ../../src/slave/containerizer/launcher.cpp:120:12: error: conversion from
> 'Unreachable' to 'Try<pid_t>' is ambiguous
> Can overcome by a nasty but simple disambiguation of the returned value by
> updating that line towards:
> static_cast<Try<int> >(UNREACHABLE());
> In this case, I guess it would be better to revisit the Unreachable
> implementation.
> 3. ../../src/slave/containerizer/mesos_containerizer.cpp:220:18: error: no
> matching function for call to 'defer'
> For that one, I am still trying to find out which overload of defer would be
> the best match and hence should possibly be updated accordingly.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)