2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / opt / pr82577.C
blob1a06897a403e779a1abf72a98ac28c9413b08953
1 // { dg-additional-options "-O2" }
2 // PR c++/82577 ICE when optimizing
4 #if __cplusplus > 201500L
5 // register is no longer a keyword in C++17.
6 #define register
7 #endif
9 class a {
10 public:
11   int *b();
13 struct c {
14   int d;
15   a e;
16 } f;
17 void fn1(register c *g) {
18   register int *h;
19   do
20     (h) = g->e.b() + (g)->d;
21   while (&f);