xref: /llvm-project/clang/test/Sema/aix-attr-aligned-vector-warn.c (revision f75b73549d4adb7e111444f4144af7bffb532f91)
1 // RUN: %clang_cc1 -triple powerpc64-unknown-aix -target-feature +altivec -target-cpu pwr7 -verify -fsyntax-only %s
2 // RUN: %clang_cc1 -triple powerpc-unknown-aix -target-feature +altivec -target-cpu pwr7 -verify -fsyntax-only %s
3 
4 int escape(vector int*);
5 
6 typedef vector int __attribute__((aligned(8))) UnderAlignedVI;
7 UnderAlignedVI TypedefedGlobal;
8 
9 vector int V __attribute__((aligned(8))); // expected-warning {{requested alignment is less than minimum alignment of 16 for type '__vector int' (vector of 4 'int' values)}}
10 vector int V __attribute__((aligned(8))); // expected-warning {{requested alignment is less than minimum alignment of 16 for type '__vector int' (vector of 4 'int' values)}}
11 
localTypedefed(void)12 int localTypedefed(void) {
13   UnderAlignedVI TypedefedLocal;
14   return escape(&TypedefedLocal); // expected-warning {{passing 8-byte aligned argument to 16-byte aligned parameter 1 of 'escape' may result in an unaligned pointer access}}
15 }
16