rmaprath added a comment.

In https://reviews.llvm.org/D26458#594069, @EricWF wrote:

> There are cases where it is useful to be able to name `std::nested_exception` 
> while exceptions are disabled.


I was thinking about the opposite. That is, we might want to consider disabling 
the `<exception>` header altogether when compiling with `-fno-exceptions`.  My 
particular use case is to do with futures:

  void make_hello(std::promise<std::string> &p, bool set_exception) {
    if (set_exception)
      p.set_exception(std::make_exception_ptr(
           std::runtime_error {"No hellos left."}));
    else
      p.set_value("Hello world!");
  }

This will compile fine with `-fno-exceptions` and when the client thread 
attempts to read from the promise, whole program would crash. May be they 
deserve it, but I feel like it's something we can help with; if we disable the 
`<exception>` header, this code wouldn't compile under `-fno-exceptions`.

In what cases do we need to allow various exception types under 
`-fno-exceptions`?

Cheers,

/ Asiri


Repository:
  rL LLVM

https://reviews.llvm.org/D26458



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to