[Bug c++/125613] explicit instantiation and noexcept-specifier
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 17 15:05:37 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125613
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Marek Polacek <mpolacek@gcc.gnu.org>:
https://gcc.gnu.org/g:53efe2f8d66bb6344d084ca731cdec56873c62a0
commit r17-1624-g53efe2f8d66bb6344d084ca731cdec56873c62a0
Author: Marek Polacek <polacek@redhat.com>
Date: Fri Jun 5 13:42:06 2026 -0400
c++: explicit instantiation and noexcept-specifier [PR125613]
This patch implements this part of [except.spec]: In an explicit
instantiation a noexcept-specifier may be specified, but is not required.
If a noexcept-specifier is specified in an explicit instantiation, the
exception specification shall be the same as the exception specification
of all other declarations of that function.
But we are not checking this, and are the only compiler that accepts:
template<typename T>
void fn (T) {}
template void fn<int>(int) noexcept;
PR c++/125613
gcc/cp/ChangeLog:
* pt.cc (check_explicit_specialization): Detect mismatches in
exception specifications in explicit instantiations.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/explicit-inst2.C: New test.
Reviewed-by: Jason Merrill <jason@redhat.com>
More information about the Gcc-bugs
mailing list