monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] 'warning: unused parameter'


From: Stephen Leake
Subject: Re: [Monotone-devel] 'warning: unused parameter'
Date: Wed, 30 Apr 2014 04:05:01 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (windows-nt)

Stephen Leake <address@hidden> writes:

> Stephen Leake <address@hidden> writes:
>
>> The code that generates this is in simplestring_xform.hh:
>>
>> template<> inline
>> origin::type get_made_from<std::string>(std::string const & thing)
>> {
>>   return origin::internal;
>> }
>>
>> Is there a way to mark 'thing' as unused? or do we have to disable that
>> warning with -Wno-unused-parameter?
>
> I found three answers on stack overflow:
>
> 1) comment out or delete the parameter name:
>
>     a) origin::type get_made_from<std::string>(std::string const & /* thing 
> */)
>
>     b) origin::type get_made_from<std::string>(std::string const & )
>
> 2) cast it to void:
>
>     (void)thing;
>
> I prefer 1a; it most clearly documents that we know there is a parameter
> by that name, but we are not using it in this case. Any objections?

However, that is not appropriate in this case (command.hh):

#define CMD_NO_WORKSPACE(C, name, aliases, parent, params, abstract, \
                         desc, opts)                                 \
namespace commands {                                                 \
  class cmd_ ## C : public command                                   \
  {                                                                  \
  public:                                                            \
    cmd_ ## C() : command(name, aliases, parent, false, false,       \
                          params, abstract, desc, false,             \
                          options::options_type() | opts, true)      \
    {}                                                               \
    virtual void exec(app_state & app,                               \
                      command_id const & execid,                     \
                      args_vector const & args) const;               \
  };                                                                 \
  cmd_ ## C C ## _cmd;                                               \
}                                                                    \
void commands::cmd_ ## C::exec(app_state & app,                      \
                               command_id const & execid,            \
                               args_vector const & args) const


In most uses of CMD_NO_WORKSPACE, "execid" is not used, but it is used
in some (cmd_netsync.cc clone).

So we have to use (void)exec_id in the body of each case where it is not
used.

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]