[ 
https://issues.apache.org/jira/browse/MESOS-8763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gavin updated MESOS-8763:
-------------------------
    Comment: was deleted

(was: www.rtat.net)

> Enable -Wshadow in the build.
> -----------------------------
>
>                 Key: MESOS-8763
>                 URL: https://issues.apache.org/jira/browse/MESOS-8763
>             Project: Mesos
>          Issue Type: Improvement
>          Components: build
>            Reporter: James Peach
>            Priority: Major
>
> Shadowed variables are a source of confusion and bugs. We should enable 
> {{-Wshadow}} and eliminated these permanently. We would need to solve the 
> shadowing issues that we get from our 3rd party dependencies.
> {noformat}
> In file included from ../../src/common/protobuf_utils.cpp:28:
> In file included from ../../include/mesos/slave/isolator.hpp:27:
> In file included from 
> ../../3rdparty/libprocess/include/process/dispatch.hpp:20:
> ../../3rdparty/libprocess/include/process/process.hpp:242:54: error: 
> declaration shadows a field of 'process::ProcessBase' [-Werror,-Wshadow]
>   void delegate(const std::string& name, const UPID& pid)
>                                                      ^
> ../../3rdparty/libprocess/include/process/process.hpp:488:8: note: previous 
> declaration is here
>   UPID pid;
>        ^
> In file included from ../../src/common/protobuf_utils.cpp:53:
> In file included from ../../src/master/master.hpp:51:
> ../../3rdparty/libprocess/include/process/protobuf.hpp:460:12: error: 
> declaration shadows a local variable [-Werror,-Wshadow]
>     { Req* req = nullptr; google::protobuf::Message* m = req; (void)m; }
>            ^
> ../../3rdparty/libprocess/include/process/protobuf.hpp:457:18: note: previous 
> declaration is here
>       const Req& req) const
>                  ^
> In file included from ../../src/common/protobuf_utils.cpp:53:
> In file included from ../../src/master/master.hpp:54:
> In file included from 
> ../../3rdparty/libprocess/include/process/metrics/counter.hpp:19:
> In file included from 
> ../../3rdparty/libprocess/include/process/metrics/metric.hpp:22:
> In file included from 
> ../../3rdparty/libprocess/include/process/statistics.hpp:21:
> ../../3rdparty/libprocess/include/process/timeseries.hpp:106:24: error: 
> declaration shadows a field of 'TimeSeries<T>' [-Werror,-Wshadow]
>     std::vector<Value> values;
>                        ^
> ../../3rdparty/libprocess/include/process/timeseries.hpp:242:21: note: 
> previous declaration is here
>   std::map<Time, T> values;
>                     ^
> In file included from ../../src/common/protobuf_utils.cpp:53:
> In file included from ../../src/master/master.hpp:79:
> In file included from ../../src/master/flags.hpp:36:
> In file included from ../../src/messages/flags.hpp:30:
> ../../src/common/parse.hpp:119:35: error: declaration shadows a local 
> variable [-Werror,-Wshadow]
>                const JSON::Value& value,
>                                   ^
> ../../src/common/parse.hpp:108:72: note: previous declaration is here
> inline Try<hashmap<std::string, std::string>> parse(const std::string& value)
>                                                                        ^
> In file included from ../../src/common/protobuf_utils.cpp:53:
> ../../src/master/master.hpp:2983:46: error: declaration shadows a field of 
> 'mesos::internal::master::Role' [-Werror,-Wshadow]
>     auto allocatedTo = [](const std::string& role) {
>                                              ^
> ../../src/master/master.hpp:2998:21: note: previous declaration is here
>   const std::string role;
>                     ^
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to