summaryrefslogtreecommitdiffstats
path: root/test/Sema/altivec-init.c
blob: f22c1fc4db8a6eb5f2daed1562675250df0df301 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// RUN: %clang_cc1 %s -faltivec -verify -pedantic -fsyntax-only

typedef int v4 __attribute((vector_size(16)));
typedef short v8 __attribute((vector_size(16)));

v8 foo(void) { 
  v8 a;
  v4 b;
  a = (v8){4, 2}; // expected-error {{too few elements in vector initialization (expected 8 elements, have 2)}}
  b = (v4)(5, 6, 7, 8, 9); // expected-warning {{excess elements in vector initializer}}
  b = (v4)(5, 6, 8, 8.0f);
  return (v8){0, 1, 2, 3, 1, 2, 3, 4};

  // FIXME: test that (type)(fn)(args) still works with -faltivec
  // FIXME: test that c++ overloaded commas still work -faltivec
}
OpenPOWER on IntegriCloud