OSDN Git Service

2010-04-09 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / stackalign / thiscall-1.c
1 /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
2
3 #include "check.h"
4
5 #ifndef ALIGNMENT
6 #define ALIGNMENT       64
7 #endif
8
9 typedef int aligned __attribute__((aligned(ALIGNMENT)));
10
11 int global;
12
13 __attribute__ ((thiscall))
14 void
15 foo (int j, int k, int m, int n, int o)
16 {
17   aligned i;
18
19   if (check_int (&i,  __alignof__(i)) != i)
20     abort ();
21
22   if (i != 20 || j != 1 || k != 2 || m != 3 || n != 4 || o != 5)
23     abort ();
24 }
25
26 int
27 main()
28 {
29   foo (1, 2, 3, 4, 5);
30   return 0;
31 }