c++: Track lifetimes in constant evaluation [PR70331,PR96630,PR98675]
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / constexpr-lifetime3.C
blob53785521d057472c3b312f67b5a9dae482549d81
1 // PR c++/70331
2 // { dg-do compile { target c++14 } }
4 constexpr int f(int i) {
5   int *p = &i;
6   if (i == 0) {
7     int j = 123;  // { dg-message "note: declared here" }
8     p = &j;
9   }
10   return *p;  // { dg-error "accessing object outside its lifetime" }
13 constexpr int i = f(0);  // { dg-message "in .constexpr. expansion" }