view gcc/testsuite/g++.dg/torture/pr85627.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-skip-if "" { *-*-* } { "-flto" } { "" } } */
/* { dg-additional-options "-fnon-call-exceptions -fdump-tree-optimized" } */

__complex double
foo (__complex double a, __complex double b)
{
  __complex res = a;
  try {
      res = a * b;
  }
  catch (...) {
      res = b;
  }
  return res;
}

__complex double
bar (__complex double a, __complex double b)
{
  __complex res = a;
  try {
      res = a / b;
  }
  catch (...) {
      res = b;
  }
  return res;
}

/* Verify EH is preserved by complex lowering.  */

/* { dg-final { scan-tree-dump-times "__cxa_begin_catch" 2 "optimized" } } */