Boost logo

Boost :

Subject: Re: [boost] expected/result/etc
From: Giovanni Piero Deretta (gpderetta_at_[hidden])
Date: 2016-02-13 05:26:15


On 12 Feb 2016 11:20 a.m., "Niall Douglas" <s_sourceforge_at_[hidden]>
wrote:
[...].
>
> LLVM, for the record, has implemented a very similar "universal"
> exception handling mechanism which allows exception throws to
> traverse language boundaries within LLVM, and my great hope is that
> once LLVM becomes universal on POSIX platforms someone will go ahead
> and replace signals with structured exception handling.

As far as I know LLVM simply implements unwinding as mandates by the
Itanium ABI, which is already the de facto standard on many unices. Is this
what you are referring to?

This is completely orthogonal with handling OS/machine exceptions
(segfaults, division by zero, etc..).

And with right compiler and flag there are ways to convert (synchronous)
signals to exceptions. This actually required to support the semantics of
languages other than the C family, like Java and Ada.

Notably, it doesn't actually work with LLVM, but it does with gcc.

-- gpd


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk