Open cwfitzgerald opened 6 years ago
Thanks for the bug report! I see that you're using -std=gnu++1z
for GCC, could that be the culprit? That would explain why no such failures are seen on the test farm. The test matrix will need to be expanded to cover cases like this.
Could you also check, what standard you're using for clang?
I'm using -std=gnu++1z for both gcc and clang. It does appear to be the culprit with GCC, std=gnu++1y
works fine, though clang still reports the warning. I think that's because I have -Wpedantic on and zero variation macro arguments is not allowed as per the standard (though it's a widely supported extension). I have disabled the warning for my build -Wno-gnu-zero-variadic-macro-arguments
which is good enough for me, but thought I'd let you know about it.
I just modify the simdpp/types/empty_expr.h:220
SIMDPP_INL operator uint32<N>() const { return e; }
to
SIMDPP_INL operator uint32<N>() const { return uint32<N>(e); }
and the error gone.
I was compiling the following code (almost directly from your example, with minimal changes):
I am using the following cmake file:
I get the following error on gcc-7:
I get the following clang-5.0:
If you need any more info, let me know. Works perfectly on gcc<=6.