[Insight-developers] VNL Warning: Is there an equivalent to itkNotUsed?

David Cole david.cole at kitware.com
Tue Aug 16 16:02:31 EDT 2011


Why are we trying to add "ifdefs" here?

Just do what Sean suggested, and it's done:

  (void) c;

before the existing code, leave all else alone. Then push it back to
upstream vnl to prevent it from coming back later...


On Tue, Aug 16, 2011 at 3:49 PM, Jean-Christophe Fillion-Robin
<jchris.fillionr at kitware.com> wrote:
> I guess doing the following would work ..
>
>   inline T get (unsigned r, unsigned c) const {
>     #ifdef NDEBUG
>        assert(r == c); assert (r<size()); return diagonal_[r];
>     #else
>       (void)c;
>       (void)r;
>     #endif
>   }
>
>
>
> On Tue, Aug 16, 2011 at 1:25 PM, Johnson, Hans J <hans-johnson at uiowa.edu>
> wrote:
>>
>> That does not solve the problem.  The declaration in the function
>> prototype would need to be if/def'ed
>> #ifndef NDEBUG
>>   #define vxlNotUsed(x)
>> #else
>>   #define vxlNotUsed(x) x
>> #endif
>> void RequireZeroFunction( const int vxlNotUsed(
>> possibleNotUsedVariableName) )
>> {
>>   assert( possibleNotUsedVariableName == 0 );
>>   return;
>> }
>> --
>> Hans J. Johnson, Ph.D.
>> hans-johnson at uiowa.edu
>> Assistant Professor of Psychiatry
>> University of Iowa Carver College of Medicine
>> W278 GH, 200 Hawkins Drive
>> Iowa City, Iowa 52242
>> Phone:  319-353-8587
>> From: Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
>> Date: Tue, 16 Aug 2011 13:12:51 -0400
>> To: Sean McBride <sean at rogue-research.com>
>> Cc: Hans Johnson <hans-johnson at uiowa.edu>, ITK
>> <insight-developers at itk.org>
>> Subject: Re: [Insight-developers] VNL Warning: Is there an equivalent to
>> itkNotUsed?
>>
>> What about something like that:
>>
>> #ifndef NDEBUG
>>   assert(...)
>> #endif
>>
>> Jc
>>
>> On Tue, Aug 16, 2011 at 11:58 AM, Sean McBride <sean at rogue-research.com>
>> wrote:
>>>
>>> On Tue, 16 Aug 2011 15:54:33 +0000, Johnson, Hans J said:
>>>
>>> >I am trying to silence warnings from ITK for external tools.  I've
>>> >noticed this warning that should be quite easy to silence, but I don't
>>> >know the "vxl" compliant way to do it.
>>> >
>>> >Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_diag_matrix.h
>>> >
>>> >  //: get element with boundary checks.
>>> >  inline T get (unsigned r, unsigned c) const {
>>> >    assert(r == c); assert (r<size()); return diagonal_[r];
>>> >  }
>>> >
>>> >/scratch/johnsonhj/src/Slicer/Applications/CLI/DiffusionApplications/
>>> >ResampleDTI/ResampleDTI.cxx:1144:   instantiated from here
>>>
>>> > >/scratch/johnsonhj/src/Slicer-git-itkv4/ITKv4/Modules/ThirdParty/VNL/src/
>>> >vxl/core/vnl/vnl_diag_matrix.h:106: warning: unused parameter ‘c’ [-
>>> >Wunused-parameter]
>>> >
>>> >Any recommendations on how to silence this?
>>>
>>> In my experience, the most portable way to silence that warning is to
>>> cast the expression to void, that is:
>>>
>>> (void)c;
>>>
>>> This works in C, C++, Objective-C, with gcc, icc, Visual Studio, clang,
>>> and CodeWarrior.
>>>
>>> Some people do this:
>>>
>>> c = c;
>>>
>>> But please don't, because clang will warn about an operation that does
>>> nothing. :)
>>>
>>> --
>>> ____________________________________________________________
>>> Sean McBride, B. Eng                 sean at rogue-research.com
>>> Rogue Research                        www.rogue-research.com
>>> Mac Software Developer              Montréal, Québec, Canada
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://kitware.com/products/protraining.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>>
>> --
>> +1 919 869 8849
>>
>>
>>
>> ________________________________
>> Notice: This UI Health Care e-mail (including attachments) is covered by
>> the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
>> confidential and may be legally privileged.  If you are not the intended
>> recipient, you are hereby notified that any retention, dissemination,
>> distribution, or copying of this communication is strictly prohibited.
>> Please reply to the sender that you have received the message in error, then
>> delete it.  Thank you.
>> ________________________________
>
>
> --
> +1 919 869 8849
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>
>


More information about the Insight-developers mailing list