[Bug c++/101651] vector extension and element access vs C++17 constexpr functions
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 27 20:59:10 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101651
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|vector extension and |vector extension and
|element write vs C++17 |element access vs C++17
|constexpr functions |constexpr functions
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So it is any vector array that matters:
#ifdef WORK
#include <array>
typedef std::array<char,2> vec;
#else
typedef char vec __attribute__((vector_size(2)));
#endif
constexpr auto gen () {
vec ret{1,2};
vec ret1{1,2};
for (int i = 0; i < sizeof(vec); ++i) {
ret[i] = ret1[0];
}
// ret1[0] =3;
// ret1[0] =ret[0];
return ret1;
};
auto m = gen();
Note clang rejects the above for non -DWORK case.
More information about the Gcc-bugs
mailing list