On 11/22/18 6:40 PM, Alexandre Oliva wrote:
Mangling visits the base template function type, prior to template resolution, and on such types, exception specifications may contain unresolved noexcept expressions. nothrow_spec_p is called on them even when exception specifications are not part of function types, and it rejects unresolved noexcept expressions if processing_template_decl is not set.
The problem here is that the noexcept expression is unresolved even though it isn't dependent; it should have been resolved to 'true'. Ideally with a warning, since using the name of a function as a boolean value is pretty strange.
nothrow_spec_p is right to reject this. Jason