-
Notifications
You must be signed in to change notification settings - Fork 151
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
Vc fails with gcc 6 #125
Comments
just do entryType[0] instead of entryType[](I tried to post the diff here but this comment section is terrible) - I had to do this here to make it compile for krita. |
@tcanabrava Sadly this only resolves the compilation error. But it breaks the ABI of the type. I.e. after this change function arguments would be passed via the stack instead of via SIMD registers. This is a compatibility issue and a performance issue. |
Is there a new tag with these changes? |
Sorry, no. I have not even found time to fix it yet. But this one is high priority. Let's see. |
GCC 6 refuses to compile this implementation strategy since it requires non-standard `EntryType m[]` to keep the ABI. Refs: gh-125 Signed-off-by: Matthias Kretz <kretz@kde.org>
- most importantly, the -Wignored-attributes warning is veeery noisy since e.g. the use of __m128 as a template argument already triggers it. So add -Wno-ignored-attributes to the compile flags - #define Vc_TEMPLATES_DROP_ATTRIBUTES starting with GCC 6 - readd the may_alias attribute to the IntrinsicType in Storage<..., AliasStrategy::VectorBuiltin>. GCC6 lost it since the vector type is passed as a template argument. Refs: gh-125 Signed-off-by: Matthias Kretz <kretz@kde.org>
Refs: gh-125 Signed-off-by: Matthias Kretz <kretz@kde.org>
Refs: gh-125 Signed-off-by: Matthias Kretz <kretz@kde.org>
compiles and all tests pass on master now |
Is there a plan to get 1.3 out with this patch? The issue has been fixed for a while now and 1.3 milestone has no open issues. Why is it not being released? Apologies if these questions are silly and that information is readily available elsewhere. |
Yes, sorry for the long delay. I was/am working on this with high priority. I just closed/moved all 1.3 issues on Tuesday. There's a final failure lurking on the dashboard that I will hopefully fix today, and if all goes well we'll have a 1.3 release today (or tomorrow). |
Thank you so much for the update. Eagerly waiting! |
Vc fails with gcc 6 like so:
common/storage.h:189:21: error: flexible array member in union
EntryType m[];
I tested a hello world program like this:
int main() { union { int a; int b[]; }; return 0; }
$ g++-5.3.0 -std=c++14 foo.cpp
$
$ g++-6.1.0 -std=c++14 foo.cpp
foo.cpp: In function ‘int main()’:
foo.cpp:3:26: error: flexible array member in union
$
The text was updated successfully, but these errors were encountered: