https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64634

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r151696, if for coverage the sequentially first bb with particular
lineno matters, then indeed emitting:
  [pr64434.C : 14:12] D.2096 = __cxa_allocate_exception (4);
  [pr64434.C : 14:12] D.2098 = (int *) D.2096;
  [pr64434.C : 14:12] *D.2098 = 5;
  [pr64434.C : 14:11] __cxa_throw (D.2096, &_ZTIi, 0B);
  <D.2104>:
  [pr64434.C : 0:0] D.2100 = 0;
  [pr64434.C : 0:0] goto <D.2101>;
  <D.2101>:
  return D.2100;
  <D.2102>:
  [pr64434.C : 16:9] __cxa_end_catch ();
  resx 2
  <D.2105>:
  eh_dispatch 1
  resx 1
  <D.2103>:
  [pr64434.C : 16:9] D.2099 = __builtin_eh_pointer (1);
  [pr64434.C : 16:9] __cxa_begin_catch (D.2099);
  [pr64434.C : 18:14] catchEx ();
  [pr64434.C : 16:9] __cxa_end_catch ();
  goto <D.2104>;
means the first bb with lineno 16 is __cxa_end_catch, while in r151695 we
emitted:
  [pr64434.C : 14:12] D.2093 = __cxa_allocate_exception (4);
  [pr64434.C : 14:12] D.2095 = (int *) D.2093;
  [pr64434.C : 14:12] *D.2095 = 5;
  [pr64434.C : 14:11] __cxa_throw (D.2093, &_ZTIi, 0B);
  <D.2104>:
  [pr64434.C : 16:9] __cxa_begin_catch ([pr64434.C : 16] <<<exception
object>>>);
  [pr64434.C : 18:14] catchEx ();
  goto <D.2103>;
  <D.2098>:
  save_filt.1 = [filter_expr] <<<filter object>>>;
  save_eptr.0 = [exc_ptr_expr] <<<exception object>>>;
  [pr64434.C : 16:9] __cxa_end_catch ();
  <<<exception object>>> = save_eptr.0;
  <<<filter object>>> = save_filt.1;
  resx 3
  <D.2101>:
  std::terminate ();
  <D.2103>:
  [pr64434.C : 16:9] __cxa_end_catch ();
  goto <D.2105>;
  <D.2105>:
  [pr64434.C : 0:0] D.2096 = 0;
  [pr64434.C : 0:0] goto <D.2097>;
  <D.2097>:
  return D.2096;

Reply via email to