[Bug c++/95066] [C++ 20] Incorrect successful compilation with a conditional explicit
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 13 20:26:13 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95066
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Marek Polacek <mpolacek@gcc.gnu.org>:
https://gcc.gnu.org/g:661232da72d29f8f2385d5f588727beb74360144
commit r11-371-g661232da72d29f8f2385d5f588727beb74360144
Author: Marek Polacek <polacek@redhat.com>
Date: Mon May 11 18:28:19 2020 -0400
c++: explicit(bool) malfunction with dependent expression [PR95066]
I forgot to set DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P when merging two
function declarations and as a sad consequence, we never tsubsted
the dependent explicit-specifier in tsubst_function_decl, leading to
disregarding the explicit-specifier altogether, and wrongly accepting
this test.
PR c++/95066
* decl.c (duplicate_decls): Set DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P.
* g++.dg/cpp2a/explicit16.C: New test.
More information about the Gcc-bugs
mailing list