This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[c++-concepts] constrained friends redux


This patch implements constrained friends and disallows declarations
of constrained friend template specialization.

There was a previous question about whether I was doing the right
thing in determine_specialization. I'm looking at that issue
separately.

2013-10-01  Andrew Sutton  <andrew.n.sutton@gmail.com>
        * gcc/cp/parser.c (cp_parser_member_declaration): Check that
        a constrained friend definition is valid.
        * gcc/cp/decl.c (grokfndecl): Disallow constrained friend template
        specializations.
        * gcc/cp/constraints.cc (check_constrained_friend): New.
        * gcc/cp/typeck.c (cp_build_function_call_vec): Diagnose constraints
        in the presence of the failure of a single candidate.
        * gcc/cp/cp-tree.h (check_constrained_friend): New.
        * gcc/cp/call.c (is_non_template_member_fn): Make inline.
        (is_non_template_friend), (is_constrainable_non_template_fn): New.
        (add_function_candidate): Predicate check on
        is_constrainable_non_template_fn.

Andrew Sutton

Attachment: friends-2.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]