[Development] New BiC gotcha: adding noexcept
Allan Sandfeld Jensen
kde at carewolf.com
Sat Dec 2 09:25:27 CET 2017
On Freitag, 1. Dezember 2017 15:41:18 CET Marc Mutz wrote:
> On 2017-12-01 15:21, Marc Mutz wrote:
> > Hi,
> >
> > I just realised: Since C++17, noexcept is part of the mangled name.
> > That means that adding noexcept to an exported function is BiC now!
>
> This is not correct, after all. The name mangling of functions does not
> change, since you can't overload on noexcept(true)/noexcept(false). It's
> the name of function pointer _types_ that change. That's not to say that
> there are no BiC issues lurking there (or, more probable, more SiC
> issues than what was fixed so far), but the above was false alarm. Pfew.
>
I had the same panic twice already. I even wrote a test to demonstate the
issue, which then failed to do so ;) C++17 did cause several source
incompatibilities though. Both for this issue and removal of explicit throw
declarations (the latter fortunately not used by Qt).
'Allan
More information about the Development
mailing list