// { dg-do compile { target c++14 } }

struct A { A(); };

constexpr int f(int i) {
  static int j = i;		// { dg-error "static" "" { target c++20_down } }
  thread_local int l = i;	// { dg-error "thread_local" "" { target c++20_down } }
  goto foo;			// { dg-error "goto" "" { target c++20_down } }
 foo:
  asm("foo");			// { dg-error "asm" "" { target c++17_down } }
  int k;			// { dg-error "uninitialized" "" { target c++17_down } }
  A a;				// { dg-error "non-literal" "" { target c++20_down } }
  return i;
}

// FIXME remove
// { dg-prune-output "return" }
