/* { dg-do compile } */
/* { dg-options "-O2 -fnon-call-exceptions -fdump-tree-optimized"  } */
int *ptr;
static int barvar;

/* We can not detect A to be const because it may be interposed by unoptimized
   body.  */
inline
__attribute__ ((noinline))
int a(void)
{
  return *ptr == *ptr;
}
int main()
{
  int aa;
  ptr = &barvar;
  try {
    aa=!a();
  } catch  (...)
  {
    return 1;
  }
  ptr = 0;
  return aa;
}
/* { dg-final { scan-tree-dump "__cxa_begin_catch"  "optimized"  } } */
