| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-optimized" } */ |
| extern const unsigned long base; |
| static inline void wreg(unsigned char val, unsigned long addr) __attribute__((always_inline)); |
| static inline void wreg(unsigned char val, unsigned long addr) |
| { |
| *((volatile unsigned char *) (__SIZE_TYPE__) (base + addr)) = val; |
| } |
| void wreg_twice(void) |
| { |
| wreg(0, 42); |
| wreg(0, 42); |
| } |
| |
| /* We should not remove the second null character store to (base+42) address. */ |
| /* { dg-final { scan-tree-dump-times " ={v} 0;" 2 "optimized" } } */ |