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

--- Comment #18 from ibuclaw at gcc dot gnu.org ---
Author: ibuclaw
Date: Wed Jan 16 20:40:21 2019
New Revision: 267985

URL: https://gcc.gnu.org/viewcvs?rev=267985&root=gcc&view=rev
Log:
[D] Fix failing EH execution test on i386.

Turn off partitioning unless it was explicitly requested, as it doesn't
work with D exception chaining, where personality routines use LSDA to
determine whether two thrown exceptions are in the same context.

The following distills what was failing in the D testsuite.
```
try {
  try {
    fn();  // throws "1"
  }
  finally {
    throw new Exception("2");
  }
}
catch (Exception e) {
  assert(e.msg == "1");
  assert(e.next.msg == "2");
}
```

gcc/d/ChangeLog:

        PR d/87824
        * d-lang.cc (d_post_options): Disable implicit
        -forder-blocks-and-partition.

Modified:
    trunk/gcc/d/ChangeLog
    trunk/gcc/d/d-lang.cc

Reply via email to