nothrow1.C   [plain text]


// Test that the nothrow optimization works properly.
// { dg-do compile }
// { dg-options "-O -fdump-tree-optimized" }
// LLVM LOCAL fdump not supported
// { dg-require-fdump "" }

extern void blah() throw();

int i, j, k;

int main()
{
  try
    {
      ++i;
      blah();
      ++j;
    }
  catch (...)
    {
      return -42;
    }
}

// The catch block should be optimized away.
// { dg-final { scan-tree-dump-times "-42" 0 "optimized" } }
// { dg-final { cleanup-tree-dump "optimized" } }