annotate gcc/testsuite/gcc.dg/builtin-object-size-10.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O2 -fdump-tree-objsz1-details" } */
kono
parents:
diff changeset
3 // { dg-skip-if "packed attribute missing for drone_source_packet" { "epiphany-*-*" } }
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 typedef struct {
kono
parents:
diff changeset
6 char sentinel[4];
kono
parents:
diff changeset
7 char data[0];
kono
parents:
diff changeset
8 } drone_packet;
kono
parents:
diff changeset
9 typedef struct {
kono
parents:
diff changeset
10 char type_str[16];
kono
parents:
diff changeset
11 char channel_hop;
kono
parents:
diff changeset
12 } drone_source_packet;
kono
parents:
diff changeset
13 drone_packet *
kono
parents:
diff changeset
14 foo(char *x)
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 drone_packet *dpkt = __builtin_malloc(sizeof(drone_packet)
kono
parents:
diff changeset
17 + sizeof(drone_source_packet));
kono
parents:
diff changeset
18 drone_source_packet *spkt = (drone_source_packet *) dpkt->data;
kono
parents:
diff changeset
19 __builtin___snprintf_chk (spkt->type_str, 16,
kono
parents:
diff changeset
20 1, __builtin_object_size (spkt->type_str, 1),
kono
parents:
diff changeset
21 "%s", x);
kono
parents:
diff changeset
22 return dpkt;
kono
parents:
diff changeset
23 }
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 /* { dg-final { scan-tree-dump "maximum object size 21" "objsz1" } } */
kono
parents:
diff changeset
26 /* { dg-final { scan-tree-dump "maximum subobject size 16" "objsz1" } } */