Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/ext/attribute-test-1.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do run } // { dg-options "" } // PR c++/13989 extern "C" void abort(); #define vector __attribute__((vector_size(16))) struct Constants { inline vector unsigned int deadbeef(void) const { return (vector unsigned int){0xdeadbeef, 0xabababab, 0x55555555, 0x12345678}; }; }; inline vector unsigned int const_deadbeef(Constants &C) { return C.deadbeef(); } union u { unsigned int f[4]; vector unsigned int v; } data; int main() { Constants c; data.v = const_deadbeef(c); if (data.f[0] != 0xdeadbeef || data.f[1] != 0xabababab || data.f[2] != 0x55555555 || data.f[3] != 0x12345678) abort(); return 0; } /* Ignore a warning that is irrelevant to the purpose of this test. */ /* { dg-prune-output ".*GCC vector returned by reference.*" } */ /* { dg-prune-output "changes the ABI" } */