| /* { dg-do compile } */ |
| /* { dg-options "-fsanitize=unreachable -O2 -fno-reorder-blocks -fsanitize-coverage=trace-pc -fdump-tree-optimized" } */ |
| /* { dg-skip-if "" { *-*-* } { "-flto" } } */ |
| |
| extern unsigned int ioread32(void *); |
| struct vnic_wq_ctrl { |
| unsigned int error_status; |
| }; |
| struct snic { |
| unsigned int wq_count; |
| struct vnic_wq_ctrl *wq[1]; |
| int wq_lock[1]; |
| }; |
| void snic_log_q_error(struct snic *snic) |
| { |
| unsigned int i; |
| for (i = 0; i < snic->wq_count; i++) |
| ioread32(&snic->wq[i]->error_status); |
| } |
| |
| /* { dg-final { scan-tree-dump "__builtin___ubsan_handle_builtin_unreachable" "optimized" } } */ |