111
|
1 /* PR middle-end/80020 - gcc confused about aligned_alloc argument order
|
|
2 { dg-do compile }
|
|
3 { dg-options "-O2 -Wall -fdump-tree-optimized" } */
|
|
4
|
|
5 void sink (void*);
|
|
6
|
|
7 void foo (void)
|
|
8 {
|
|
9 enum {
|
|
10 Align = 32,
|
|
11 Size = 123
|
|
12 };
|
|
13
|
|
14 void *p = __builtin_aligned_alloc (Align, Size);
|
|
15 unsigned n = __builtin_object_size (p, 0);
|
|
16
|
|
17 if (n != Size)
|
|
18 __builtin_abort ();
|
|
19
|
|
20 __builtin___memset_chk (p, 0, Size, n);
|
|
21
|
|
22 sink (p);
|
|
23 }
|
|
24
|
|
25 /* { dg-final { scan-tree-dump-not "abort" "optimized" } }
|
|
26 { dg-final { scan-tree-dump-not "memset_chk" "optimized" } } */
|