On 4 April 2017 at 23:37, Chris Vine wrote:
> Aha, this may be it.
> http://en.cppreference.com/w/cpp/language/noexcept_spec also says:
> "Functions differing only in their exception specification cannot be
> overloaded (just like the return type, exception specification is part
> of function type, but not not part of the function signature) (since
> C++17)."
>
> So I suspect that the noexcept specification may still not affect name
> mangling.

Right. See the foo and bar examples.

You can't overload like this:

void f() noexcept;
void f();

But you can overload like this:

void g(void(*)());
void g(void (*)() noexcept);

The mangled name of a function doesn't depend on its exception
specification. It does depend on the parameter types (as it always has
in all versions of C++) and the parameter types can now be affected by
exception specifications.
_______________________________________________
gtkmm-list mailing list
gtkmm-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to