-
Notifications
You must be signed in to change notification settings - Fork 15k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaclang:headersHeaders provided by Clang, e.g. for intrinsicsHeaders provided by Clang, e.g. for intrinsicsworksformeResolved as "works for me"Resolved as "works for me"
Description
| Bugzilla Link | 12736 |
| Resolution | WORKSFORME |
| Resolved on | Jul 09, 2013 13:36 |
| Version | trunk |
| OS | All |
| Blocks | llvm/llvm-bugzilla-archive#13707 |
| Reporter | LLVM Bugzilla Contributor |
| CC | @AaronBallman,@tritao |
Extended Description
Test which demonstrates this, using clang version 3.2 (trunk 156145)
cat > test-emmintrin.c << EOF
#include <emmintrin.h>
EOF
clang -c test-emmintrin.c -fms-compatibility -msse2
... results in errors like this:
/opt/clang-3.2svn/bin/../lib/clang/3.2/include/emmintrin.h:134:20: error:
invalid conversion between vector type '__v4si' and scalar type '__m128d'
(aka 'double')
return (__m128d)((__v4si)a & (__v4si)b);
^~~~~~~~~
From <emmintrin.h>:
typedef double __m128d attribute((vector_size(16)));
It looks like newer versions of Clang ignore gcc-style vector attributes when using the -fms-compatibility flag. This very well might be the intended behavior - but it seems like such a simple test case shouldn't fail to compile.
This behavior doesn't occur with clang version 3.1 (trunk 145140).
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillaclang:headersHeaders provided by Clang, e.g. for intrinsicsHeaders provided by Clang, e.g. for intrinsicsworksformeResolved as "works for me"Resolved as "works for me"