mpicbg-scicomp / gearshifft

Benchmark Suite for Heterogenuous FFT Implementations
Apache License 2.0
34 stars 9 forks source link

Minor issue resolving SFINAE on MSVC #135

Closed emmenlau closed 5 years ago

emmenlau commented 5 years ago

Currently I can not successfully build gearshifft on MSVC 2015 and 2017 x64 due to the following error:

d:\builds\gearshifft\inc\core\traits.hpp(39): error C2535: 'gearshifft::has_title<T>::one gearshifft::has_title<T>::test(unknown-type)': member function already defined or declared
d:\builds\gearshifft\inc\core\traits.hpp(38): note: see declaration of 'gearshifft::has_title<T>::test'
d:\builds\gearshifft\inc\core\traits.hpp(43): note: see reference to class template instantiation 'gearshifft::has_title<T>' being compiled

I would be quite curious to test MKL and cuFFT performance on MSVC. Is the build currently working for you?

tdd11235813 commented 5 years ago

never tried MSVC, so dangerous area ahead ;) Can you try again without the line:

https://github.com/mpicbg-scicomp/gearshifft/blob/3cb36528b97a4e01c14c1ef9c06e0e62411b086d/inc/core/traits.hpp#L39

Edit: off for today.

emmenlau commented 5 years ago

Thanks for this hint! Actually removing line https://github.com/mpicbg-scicomp/gearshifft/blob/3cb36528b97a4e01c14c1ef9c06e0e62411b086d/inc/core/traits.hpp#L38 works for me, whereas removing line https://github.com/mpicbg-scicomp/gearshifft/blob/3cb36528b97a4e01c14c1ef9c06e0e62411b086d/inc/core/traits.hpp#L39 shows errors on Linux. Please find my changes in #136.

tdd11235813 commented 5 years ago

yes, I have forgotten that uppercase version is actually used, see "Title" in fft.hpp.

emmenlau commented 5 years ago

I'm closing this issue as resolved since the above change works for me on all platforms. Its included in my latest PR's, lets continue the discussion there. Thanks!