[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions
paolo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 2 18:46:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213
--- Comment #11 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-08-02 18:45:04 UTC ---
Author: paolo
Date: Thu Aug 2 18:44:58 2012
New Revision: 190093
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190093
Log:
/cp
2012-08-02 Jason Merrill <jason@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51213 (again)
* pt.c (type_unification_real): Call push_deferring_access_checks /
pop_deferring_access_checks around the substitution of default
template args.
(instantiate_template_1): When the specialization returned by
retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
are in a SFINAE context, simply return error_mark_node.
* cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.
/testsuite
2012-08-02 Jason Merrill <jason@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51213 (again)
* g++.dg/cpp0x/sfinae37.C: Extend.
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/cpp0x/sfinae37.C
More information about the Gcc-bugs
mailing list