[Insight-developers] Warning - possible candidate for noreturn attribute

Mathieu Coursolle mcoursolle at rogue-research.com
Mon Mar 19 13:27:28 EST 2007


Hi,

I currently use ITK in a XCode project on Mac OSX.
When I include some ITK headers, I get the following
warning:

/Common/itkImageSource.txx: In member function 'void
itk::ImageSource<TOutputImage>::ThreadedGenerateData(const typename
TOutputImage::RegionType&, int) [with TOutputImage = ITK2DImage]':
/Common/itkImageSource.txx:244: warning: function might be possible
candidate for attribute 'noreturn'

This is cause by the fact that the implementation of ThreadedGenerateData
from itkImageSource (base class) just throws an exception, so it does
not return.

//----------------------------------------------------------------------------
// The execute method created by the subclass.
template <class TOutputImage>
void 
ImageSource<TOutputImage>
::ThreadedGenerateData(const OutputImageRegionType&,
                       int)
{
  itkExceptionMacro("subclass should override this method!!!");
}

I can remove that warning by changing the function prototype to use the
noreturn
attribute:

virtual
  void ThreadedGenerateData(const OutputImageRegionType&
outputRegionForThread,
                            int threadId )
__attribute__ ((noreturn));

However, I believe that the noreturn attribute is not defined on all
compilers.

Any suggestion to get rid of that warning?

Thank you.

Mathieu

-- 
____________________________________________________________
Mathieu Coursolle                   mcoursolle at rogue-research.com
Rogue Research                      www.rogue-research.com 
Montréal, Québec, Canada



More information about the Insight-developers mailing list