// test that contract attributes cause errors pre-c++2a
// { dg-do compile { target c++17_only } }

int fun(int a)
  [[ pre: a > 0 ]] // { dg-error "contracts are only available with .-fcontracts." }
  [[ post r: r < 0 ]] // { dg-error "contracts are only available with .-fcontracts." }
{
  [[ assert: a != 0 ]]; // { dg-error "contracts are only available with .-fcontracts." }
  return -a;
}