| /* { dg-do compile } */ |
| /* { dg-options "-O2 -g" } */ |
| |
| struct __gcov_var { |
| unsigned int offset; |
| unsigned int buffer[(1 << 10) + 1]; |
| } __gcov_var; |
| unsigned int * gcov_write_words (unsigned int words) { |
| unsigned int *result; |
| result = &__gcov_var.buffer[__gcov_var.offset]; |
| return result; |
| } |
| |
| struct gcov_ctr_summary { }; |
| struct gcov_summary { |
| unsigned int checksum; |
| struct gcov_ctr_summary ctrs[1]; |
| }; |
| void __gcov_write_unsigned (unsigned int); |
| void __gcov_write_summary (unsigned int tag, |
| const struct gcov_summary *summary) |
| { |
| unsigned ix; |
| const struct gcov_ctr_summary *csum; |
| __gcov_write_unsigned (summary->checksum); |
| for (csum = summary->ctrs, ix = 1; ix--; csum++) { } |
| } |