[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).


More information about the Development mailing list