Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICC can't compile CastImageFilter #1003

Open
agravgaard opened this issue Jun 10, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@agravgaard
Copy link

commented Jun 10, 2019

Description

I can't compile ITK 5 (master) with the intel compiler, version 17.0 update 8 on Windows 10 (1903).

Steps to Reproduce

  1. git clone itk master
  2. cmake configure with vs2015 generator and -T "Intel C++ Compiler 17.0"
  3. Build ALL_BUILD

Expected behavior

Successful compilation

Actual behavior

I get a trace like this for practically every file that uses the itkCastImageFilter:

9>  itkCastImageFilterTest.cxx
13>  itkExpandImageFilterTest.cxx
14>C:\Users\au451932\Projects\itk\Modules\Filtering\ImageFilterBase\include\itkCastImageFilter.hxx(127): error : name followed by "::" must be a class or namespace name
14>      static_assert( OutputPixelType::Dimension == InputPixelType::Dimension, "Vector dimensions are required to match!" );
14>                     ^
14>            detected during:
14>              instantiation of "void itk::CastImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateDataDispatched<TInputPixelType>(const itk::CastImageFilter<TInputImage, TOutputImage>::OutputImageRegionType &, std::false_type) [with TInputImage=itk::Image<float, 3U>, TOutputImage=itk::Image<float, 3U>, TInputPixelType=float]" at line 94
14>              instantiation of "void itk::CastImageFilter<TInputImage, TOutputImage>::DynamicThreadedGenerateData(const itk::CastImageFilter<TInputImage, TOutputImage>::OutputImageRegionType &) [with TInputImage=itk::Image<float, 3U>, TOutputImage=itk::Image<float, 3U>]" at line 60 of "C:\Users\au451932\Projects\itk\Modules\Core\Common\include\itkObjectFactory.h"
14>              instantiation of "T::Pointer itk::ObjectFactory<T>::Create() [with T=itk::CastImageFilter<itk::Image<float, 3U>, itk::Image<float, 3U>>]" at line 121 of "C:\Users\au451932\Projects\itk\Modules\Filtering\ImageFilterBase\include\itkCastImageFilter.h"
14>              instantiation of "itk::CastImageFilter<TInputImage, TOutputImage>::Pointer itk::CastImageFilter<TInputImage, TOutputImage>::New() [with TInputImage=itk::Image<float, 3U>, TOutputImage=itk::Image<float, 3U>]" at line 59 of "C:\Users\au451932\Projects\itk\Modules\Core\Common\test\itkExtractImageTest.cxx"
14>

Reproducibility

100% on my system

Versions

$ git rev-parse --short HEAD
2d07018762

Environment

Windows 10, 1903, build 18362.145
CMake 3.14.3
Intel C++ Compiler 17.0 update 8
Visual Studio 2015, 14.0.25431.01 Update 3

Additional Information

@blowekamp

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

I don't anticipate being able to look at this for ~2 weeks. I expect a traditional enable_if for SFINAE is needed.

blowekamp added a commit to blowekamp/ITK that referenced this issue Jun 13, 2019

blowekamp added a commit to blowekamp/ITK that referenced this issue Jun 13, 2019

blowekamp added a commit to blowekamp/ITK that referenced this issue Jun 13, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.