1 /* { dg-do compile } */
2 /* { dg-options "-O2 -g" } */
3 
4 struct __gcov_var {
5    unsigned int offset;
6    unsigned int buffer[(1 << 10) + 1];
7 } __gcov_var;
gcov_write_words(unsigned int words)8 unsigned int * gcov_write_words (unsigned int words) {
9    unsigned int *result;
10    result = &__gcov_var.buffer[__gcov_var.offset];
11    return result;
12 }
13 
14 struct gcov_ctr_summary { };
15 struct gcov_summary {
16    unsigned int checksum;
17    struct gcov_ctr_summary ctrs[1];
18 };
19 void __gcov_write_unsigned (unsigned int);
__gcov_write_summary(unsigned int tag,const struct gcov_summary * summary)20 void __gcov_write_summary (unsigned int tag,
21 			   const struct gcov_summary *summary)
22 {
23    unsigned ix;
24    const struct gcov_ctr_summary *csum;
25    __gcov_write_unsigned (summary->checksum);
26    for (csum = summary->ctrs, ix = 1; ix--; csum++) { }
27 }
28