[Insight-developers] GCC 4.8.2 compiler warning
Johnson, Hans J
hans-johnson at uiowa.edu
Wed Nov 27 09:48:56 EST 2013
Brad,
That does look wrong.
At line #148 should (i + 1 < _RegionType::ImageDimension) -> (i < _RegionType::ImageDimension – 1 )
At line #154, should the (++inCurrentIndex[i + 1];) be ( if( i < _RegionType::ImageDimension – 1 ) {++inCurrentIndex[i + 1];} )
Hans
From: Bradley Lowekamp <blowekamp at mail.nih.gov<mailto:blowekamp at mail.nih.gov>>
Date: Wednesday, November 27, 2013 at 6:46 AM
To: Hans Johnson <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>>
Cc: ITK <insight-developers at itk.org<mailto:insight-developers at itk.org>>
Subject: Re: GCC 4.8.2 compiler warning
There are two loops which look like this:
https://github.com/Kitware/ITK/blob/master/Modules/Core/Common/include/itkImageAlgorithm.hxx#L148
for(unsignedinti=movingDirection;i+1<_RegionType::ImageDimension;++i)
The use of the +1 there with the loop control variable is a little odd, but it was done to avoid a -1, and signed/unsigned interaction. I'd be curious of changing that made this warning go away, in exchanged for the signed/unsigned comparison warning.
Brad
On Nov 27, 2013, at 7:33 AM, "Johnson, Hans J" <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>> wrote:
Thanks Brad.
I too am beginning to think this compiler warnings are incorrect.
Hans
On 11/27/13, 6:31 AM, "Bradley Lowekamp" <blowekamp at mail.nih.gov<mailto:blowekamp at mail.nih.gov>> wrote:
Hans,
I have looked into this issue a couple times. It shows up on the Debian
sid (unstable) nightly build:
http://open.cdash.org/viewBuildError.php?type=1&buildid=3116766
The code in the ImageAlgorithm looks correct and no other system has
issues. Even VS debug which adds buffer over run check is OK.
Given that the error does not include line number, I figured it's deep in
the optimization phases of the compiler. I think the issue is with the
compiler.
That being said, you might be able to move a couple lines and statements
around to get rid of the warning. But I have not seen any issue with the
logic.
Brad
On Nov 26, 2013, at 8:41 PM, "Johnson, Hans J" <hans-johnson at uiowa.edu<mailto:hans-johnson at uiowa.edu>>
wrote:
I¹m getting the following warning on gcc 4.8.2:
In file included from
/tmp/src/ITK/Modules/Core/Common/include/itkContinuousIndex.h:22:0,
from
/tmp/src/ITK/Modules/Core/Common/include/itkImageRegion.h:34,
from
/tmp/src/ITK/Modules/Core/Common/include/itkImage.h:21,
from
/tmp/src/ITK/Modules/Core/Common/include/itkImageSource.h:32,
from
/tmp/src/ITK/Modules/Core/Mesh/include/itkTriangleMeshToBinaryImageFilter
.h
:21,
from
/tmp/src/ITK/Modules/Core/Mesh/test/itkTriangleMeshToBinaryImageFilterTes
t3
.cxx:19:
/tmp/src/ITK/Modules/Core/Common/include/itkIndex.h: In static member
function Œstatic void itk::ImageAlgorithm::DispatchedCopy(const
InputImageType*, OutputImageType*, const typename
InputImageType::RegionType&, const typename
OutputImageType::RegionType&,
itk::ImageAlgorithm::TrueType) [with InputImageType =
itk::Image<unsigned
char, 3u>; OutputImageType = itk::Image<unsigned char, 3u>; typename
InputImageType::RegionType = itk::ImageRegion<3u>; typename
OutputImageType::RegionType = itk::ImageRegion<3u>;
itk::ImageAlgorithm::TrueType = std::tr1::integral_constant<bool,
true>]¹:
/tmp/src/ITK/Modules/Core/Common/include/itkIndex.h:226:19: warning:
array
subscript is above array bounds [-Warray-bounds]
{ return m_Index[dim]; }
^
/tmp/src/ITK/Modules/Core/Common/include/itkIndex.h:226:19: warning:
array
subscript is above array bounds [-Warray-bounds]
/tmp/src/ITK/Modules/Core/Common/include/itkIndex.h:226:19: warning:
array
subscript is above array bounds [-Warray-bounds]
{ return m_Index[dim]; }
^
It looks serious to me, but I don¹t know how to decipher it.
I¹m not going to be able to look at this anytime soon.
Hans
________________________________
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.
________________________________
________________________________
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.
________________________________
________________________________
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.
________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-developers/attachments/20131127/6805dd11/attachment-0001.htm>
More information about the Insight-developers
mailing list