comparison gcc/testsuite/gcc.dg/attr-alloc_align-3.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
3
4 char *my_alloc1 (int len, int align) __attribute__((__alloc_align__ (2)));
5 char *my_alloc2 (int align, int len) __attribute__((alloc_align (1)));
6
7 int
8 test1 (int len)
9 {
10 int i;
11 char *p = my_alloc1 (len, 32);
12 return ((__INTPTR_TYPE__) p) & 31;
13 }
14
15 int
16 test2 (int len)
17 {
18 int i;
19 char *p = my_alloc2 (32, len);
20 return ((__INTPTR_TYPE__) p) & 31;
21 }
22
23 int
24 test3 (int len)
25 {
26 int i;
27 char *p = my_alloc1 (len, 16);
28 return ((__INTPTR_TYPE__) p) & 15;
29 }
30
31 int
32 test4 (int len)
33 {
34 int i;
35 char *p = my_alloc2 (16, len);
36 return ((__INTPTR_TYPE__) p) & 15;
37 }
38
39 int
40 test5 (int len, int align)
41 {
42 int i;
43 char *p = my_alloc1 (len, align);
44 return ((__INTPTR_TYPE__) p) & 15;
45 }
46
47 int
48 test6 (int len, int align)
49 {
50 int i;
51 char *p = my_alloc2 (align, len);
52 return ((__INTPTR_TYPE__) p) & 15;
53 }
54
55 /* { dg-final { scan-tree-dump-times "return 0" 4 "optimized" } } */