mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-02 06:40:25 +08:00
re PR c++/45329 (When printing a list of candidate functions, explain why each function failed to match.)
gcc/cp/ PR c++/45329 * call.c (struct conversion): Document bad_p field. (enum rejection_reason_code): Define. (struct conversion_info): Define. (struct rejection_reason): Define. (struct z_candidate): Add `reason' field. (add_candidate): Add `reason' parameter. Store it in CAND. (alloc_rejection, arity_rejection, arg_conversion_rejection): New functions. (bad_arg_conversion_rejection): New function. (convert_class_to_reference): Add comment. (remaining_arguments): New function. (add_function_candidate): Record rejection reason and pass it to add_candidate. (add_conv_candidate, build_builtin_candidate): Likewise. (add_template_candidate_real): Likewise. (print_conversion_rejection): New function. (print_z_candidate): Print CAND->REASON if it exists. Adjust diagnostic strings. (print_z_candidates): Add location_t argument. Adjust calling sequence for print_z_candidate. Print header line directly. (build_user_type_conversion_1): Add reason for rejection to CAND. Adjust call to print_z_candidates. (print_error_for_call_failure): New function. (build_new_function_call): Call it. Adjust call to print_z_candidates. (build_operator_new_call): Likewise. (build_op_call): Likewise. (build_conditional_expr): Likewise. (build_new_op): Likewise. (build_new_method_call): Likewise. gcc/testsuite/ PR c++/45329 * testsuite/g++.dg/conversion/ambig1.C: Adjust. * testsuite/g++.dg/conversion/op1.C: Adjust. * testsuite/g++.dg/conversion/simd1.C: Adjust. * testsuite/g++.dg/cpp0x/defaulted14.C: Adjust. * testsuite/g++.dg/cpp0x/defaulted18.C: Adjust. * testsuite/g++.dg/cpp0x/defaulted20.C: Adjust. * testsuite/g++.dg/cpp0x/explicit3.C: Adjust. * testsuite/g++.dg/cpp0x/explicit4.C: Adjust. * testsuite/g++.dg/cpp0x/implicit4.C: Adjust. * testsuite/g++.dg/cpp0x/nullptr15.C: Adjust. * testsuite/g++.dg/cpp0x/nullptr19.C: Adjust. * testsuite/g++.dg/cpp0x/pr31431-2.C: Adjust. * testsuite/g++.dg/cpp0x/pr31431.C: Adjust. * testsuite/g++.dg/cpp0x/pr31434.C: Adjust. * testsuite/g++.dg/cpp0x/pr31437.C: Adjust. * testsuite/g++.dg/cpp0x/rv2n.C: Adjust. * testsuite/g++.dg/cpp0x/rv3n.C: Adjust. * testsuite/g++.dg/cpp0x/rv4n.C: Adjust. * testsuite/g++.dg/cpp0x/rv5n.C: Adjust. * testsuite/g++.dg/cpp0x/rv6n.C: Adjust. * testsuite/g++.dg/cpp0x/rv7n.C: Adjust. * testsuite/g++.dg/cpp0x/temp_default2.C: Adjust. * testsuite/g++.dg/cpp0x/trailing4.C: Adjust. * testsuite/g++.dg/cpp0x/variadic-ex3.C: Adjust. * testsuite/g++.dg/cpp0x/variadic-ex4.C: Adjust. * testsuite/g++.dg/cpp0x/variadic35.C: Adjust. * testsuite/g++.dg/cpp0x/vt-35147.C: Adjust. * testsuite/g++.dg/cpp0x/vt-37737-2.C: Adjust. * testsuite/g++.dg/expr/cond9.C: Adjust. * testsuite/g++.dg/expr/pmf-1.C: Adjust. * testsuite/g++.dg/ext/label5.C: Adjust. * testsuite/g++.dg/ext/visibility/anon8.C: Adjust. * testsuite/g++.dg/ext/vla2.C: Adjust. * testsuite/g++.dg/gomp/pr26690-1.C: Adjust. * testsuite/g++.dg/gomp/pr26690-2.C: Adjust. * testsuite/g++.dg/init/synth2.C: Adjust. * testsuite/g++.dg/lookup/conv-1.C: Adjust. * testsuite/g++.dg/lookup/new1.C: Adjust. * testsuite/g++.dg/lookup/using9.C: Adjust. * testsuite/g++.dg/other/error13.C: Adjust. * testsuite/g++.dg/other/error20.C: Adjust. * testsuite/g++.dg/other/error31.C: Adjust. * testsuite/g++.dg/other/pr28114.C: Adjust. * testsuite/g++.dg/other/ptrmem10.C: Adjust. * testsuite/g++.dg/other/ptrmem11.C: Adjust. * testsuite/g++.dg/overload/ambig1.C: Adjust. * testsuite/g++.dg/overload/arg3.C: Adjust. * testsuite/g++.dg/overload/builtin1.C: Adjust. * testsuite/g++.dg/overload/copy1.C: Adjust. * testsuite/g++.dg/overload/new1.C: Adjust. * testsuite/g++.dg/overload/template4.C: Adjust. * testsuite/g++.dg/overload/unknown1.C: Adjust. * testsuite/g++.dg/overload/using2.C: Adjust. * testsuite/g++.dg/parse/crash5.C: Adjust. * testsuite/g++.dg/parse/error19.C: Adjust. * testsuite/g++.dg/parse/error28.C: Adjust. * testsuite/g++.dg/parse/template7.C: Adjust. * testsuite/g++.dg/parse/typename7.C: Adjust. * testsuite/g++.dg/rtti/typeid6.C: Adjust. * testsuite/g++.dg/tc1/dr152.C: Adjust. * testsuite/g++.dg/template/conv11.C: Adjust. * testsuite/g++.dg/template/copy1.C: Adjust. * testsuite/g++.dg/template/crash37.C: Adjust. * testsuite/g++.dg/template/deduce3.C: Adjust. * testsuite/g++.dg/template/dependent-expr5.C: Adjust. * testsuite/g++.dg/template/error38.C: Adjust. * testsuite/g++.dg/template/error40.C: Adjust. * testsuite/g++.dg/template/friend.C: Adjust. * testsuite/g++.dg/template/incomplete2.C: Adjust. * testsuite/g++.dg/template/instantiate5.C: Adjust. * testsuite/g++.dg/template/local4.C: Adjust. * testsuite/g++.dg/template/local6.C: Adjust. * testsuite/g++.dg/template/new3.C: Adjust. * testsuite/g++.dg/template/operator9.C: Adjust. * testsuite/g++.dg/template/overload6.C: Adjust. * testsuite/g++.dg/template/ptrmem2.C: Adjust. * testsuite/g++.dg/template/ptrmem20.C: Adjust. * testsuite/g++.dg/template/ptrmem4.C: Adjust. * testsuite/g++.dg/template/ptrmem8.C: Adjust. * testsuite/g++.dg/template/qualttp5.C: Adjust. * testsuite/g++.dg/template/sfinae2.C: Adjust. * testsuite/g++.dg/template/spec22.C: Adjust. * testsuite/g++.dg/template/spec23.C: Adjust. * testsuite/g++.dg/template/ttp25.C: Adjust. * testsuite/g++.dg/template/typedef4.C: Adjust. * testsuite/g++.dg/template/unify10.C: Adjust. * testsuite/g++.dg/template/unify11.C: Adjust. * testsuite/g++.dg/template/unify6.C: Adjust. * testsuite/g++.dg/template/unify7.C: Adjust. * testsuite/g++.dg/template/unify9.C: Adjust. * testsuite/g++.dg/template/varmod1.C: Adjust. * testsuite/g++.old-deja/g++.benjamin/15799.C: Adjust. * testsuite/g++.old-deja/g++.benjamin/15800-1.C: Adjust. * testsuite/g++.old-deja/g++.brendan/ambiguity1.C: Adjust. * testsuite/g++.old-deja/g++.brendan/crash29.C: Adjust. * testsuite/g++.old-deja/g++.brendan/crash48.C: Adjust. * testsuite/g++.old-deja/g++.brendan/crash56.C: Adjust. * testsuite/g++.old-deja/g++.brendan/cvt3.C: Adjust. * testsuite/g++.old-deja/g++.brendan/overload1.C: Adjust. * testsuite/g++.old-deja/g++.brendan/overload4.C: Adjust. * testsuite/g++.old-deja/g++.brendan/overload9.C: Adjust. * testsuite/g++.old-deja/g++.bugs/900127_01.C: Adjust. * testsuite/g++.old-deja/g++.bugs/900205_04.C: Adjust. * testsuite/g++.old-deja/g++.bugs/900330_02.C: Adjust. * testsuite/g++.old-deja/g++.bugs/900404_03.C: Adjust. * testsuite/g++.old-deja/g++.bugs/900514_03.C: Adjust. * testsuite/g++.old-deja/g++.eh/ctor1.C: Adjust. * testsuite/g++.old-deja/g++.jason/conversion11.C: Adjust. * testsuite/g++.old-deja/g++.jason/crash3.C: Adjust. * testsuite/g++.old-deja/g++.jason/overload16.C: Adjust. * testsuite/g++.old-deja/g++.jason/overload28.C: Adjust. * testsuite/g++.old-deja/g++.jason/scoping10.C: Adjust. * testsuite/g++.old-deja/g++.jason/template30.C: Adjust. * testsuite/g++.old-deja/g++.jason/temporary2.C: Adjust. * testsuite/g++.old-deja/g++.law/arg1.C: Adjust. * testsuite/g++.old-deja/g++.law/arg11.C: Adjust. * testsuite/g++.old-deja/g++.law/arm9.C: Adjust. * testsuite/g++.old-deja/g++.law/ctors11.C: Adjust. * testsuite/g++.old-deja/g++.law/ctors17.C: Adjust. * testsuite/g++.old-deja/g++.law/ctors5.C: Adjust. * testsuite/g++.old-deja/g++.law/ctors9.C: Adjust. * testsuite/g++.old-deja/g++.law/enum4.C: Adjust. * testsuite/g++.old-deja/g++.law/missed-error2.C: Adjust. * testsuite/g++.old-deja/g++.law/operators32.C: Adjust. * testsuite/g++.old-deja/g++.law/operators9.C: Adjust. * testsuite/g++.old-deja/g++.mike/net2.C: Adjust. * testsuite/g++.old-deja/g++.mike/net22.C: Adjust. * testsuite/g++.old-deja/g++.mike/p11110.C: Adjust. * testsuite/g++.old-deja/g++.mike/p1989.C: Adjust. * testsuite/g++.old-deja/g++.mike/p2431.C: Adjust. * testsuite/g++.old-deja/g++.mike/p438.C: Adjust. * testsuite/g++.old-deja/g++.mike/p807a.C: Adjust. * testsuite/g++.old-deja/g++.mike/p9068.C: Adjust. * testsuite/g++.old-deja/g++.niklas/t120.C: Adjust. * testsuite/g++.old-deja/g++.niklas/t121.C: Adjust. * testsuite/g++.old-deja/g++.niklas/t128.C: Adjust. * testsuite/g++.old-deja/g++.ns/overload2.C: Adjust. * testsuite/g++.old-deja/g++.ns/using12.C: Adjust. * testsuite/g++.old-deja/g++.other/crash24.C: Adjust. * testsuite/g++.old-deja/g++.other/expr1.C: Adjust. * testsuite/g++.old-deja/g++.other/overload11.C: Adjust. * testsuite/g++.old-deja/g++.other/pmf3.C: Adjust. * testsuite/g++.old-deja/g++.other/volatile1.C: Adjust. * testsuite/g++.old-deja/g++.pt/auto_ptr.C: Adjust. * testsuite/g++.old-deja/g++.pt/crash28.C: Adjust. * testsuite/g++.old-deja/g++.pt/crash60.C: Adjust. * testsuite/g++.old-deja/g++.pt/explicit38.C: Adjust. * testsuite/g++.old-deja/g++.pt/explicit39.C: Adjust. * testsuite/g++.old-deja/g++.pt/explicit41.C: Adjust. * testsuite/g++.old-deja/g++.pt/explicit67.C: Adjust. * testsuite/g++.old-deja/g++.pt/explicit77.C: Adjust. * testsuite/g++.old-deja/g++.pt/expr2.C: Adjust. * testsuite/g++.old-deja/g++.pt/ptrmem10.C: Adjust. * testsuite/g++.old-deja/g++.pt/ptrmem6.C: Adjust. * testsuite/g++.old-deja/g++.pt/spec35.C: Adjust. * testsuite/g++.old-deja/g++.pt/spec5.C: Adjust. * testsuite/g++.old-deja/g++.pt/spec6.C: Adjust. * testsuite/g++.old-deja/g++.pt/t05.C: Adjust. * testsuite/g++.old-deja/g++.pt/t24.C: Adjust. * testsuite/g++.old-deja/g++.pt/unify4.C: Adjust. * testsuite/g++.old-deja/g++.pt/unify6.C: Adjust. * testsuite/g++.old-deja/g++.pt/unify8.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb109.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb119.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb131.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb22.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb69.C: Adjust. * testsuite/g++.old-deja/g++.robertl/eb98.C: Adjust. From-SVN: r167607
This commit is contained in:
parent
abccc9a925
commit
feb6efc1f4
@ -1,3 +1,37 @@
|
||||
2010-12-08 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
PR c++/45329
|
||||
* call.c (struct conversion): Document bad_p field.
|
||||
(enum rejection_reason_code): Define.
|
||||
(struct conversion_info): Define.
|
||||
(struct rejection_reason): Define.
|
||||
(struct z_candidate): Add `reason' field.
|
||||
(add_candidate): Add `reason' parameter. Store it in CAND.
|
||||
(alloc_rejection, arity_rejection, arg_conversion_rejection):
|
||||
New functions.
|
||||
(bad_arg_conversion_rejection): New function.
|
||||
(convert_class_to_reference): Add comment.
|
||||
(remaining_arguments): New function.
|
||||
(add_function_candidate): Record rejection reason and pass it to
|
||||
add_candidate.
|
||||
(add_conv_candidate, build_builtin_candidate): Likewise.
|
||||
(add_template_candidate_real): Likewise.
|
||||
(print_conversion_rejection): New function.
|
||||
(print_z_candidate): Print CAND->REASON if it exists. Adjust
|
||||
diagnostic strings.
|
||||
(print_z_candidates): Add location_t argument. Adjust calling
|
||||
sequence for print_z_candidate. Print header line directly.
|
||||
(build_user_type_conversion_1): Add reason for rejection to
|
||||
CAND. Adjust call to print_z_candidates.
|
||||
(print_error_for_call_failure): New function.
|
||||
(build_new_function_call): Call it. Adjust call to
|
||||
print_z_candidates.
|
||||
(build_operator_new_call): Likewise.
|
||||
(build_op_call): Likewise.
|
||||
(build_conditional_expr): Likewise.
|
||||
(build_new_op): Likewise.
|
||||
(build_new_method_call): Likewise.
|
||||
|
||||
2010-12-08 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/45822
|
||||
|
347
gcc/cp/call.c
347
gcc/cp/call.c
@ -85,6 +85,9 @@ struct conversion {
|
||||
BOOL_BITFIELD user_conv_p : 1;
|
||||
BOOL_BITFIELD ellipsis_p : 1;
|
||||
BOOL_BITFIELD this_p : 1;
|
||||
/* True if this conversion would be permitted with a bending of
|
||||
language standards, e.g. disregarding pointer qualifiers or
|
||||
converting integers to pointers. */
|
||||
BOOL_BITFIELD bad_p : 1;
|
||||
/* If KIND is ck_ref_bind ck_base_conv, true to indicate that a
|
||||
temporary should be created to hold the result of the
|
||||
@ -130,6 +133,7 @@ struct conversion {
|
||||
|
||||
static struct obstack conversion_obstack;
|
||||
static bool conversion_obstack_initialized;
|
||||
struct rejection_reason;
|
||||
|
||||
static struct z_candidate * tourney (struct z_candidate *);
|
||||
static int equal_functions (tree, tree);
|
||||
@ -152,7 +156,7 @@ static void op_error (enum tree_code, enum tree_code, tree, tree,
|
||||
static VEC(tree,gc) *resolve_args (VEC(tree,gc) *);
|
||||
static struct z_candidate *build_user_type_conversion_1 (tree, tree, int);
|
||||
static void print_z_candidate (const char *, struct z_candidate *);
|
||||
static void print_z_candidates (struct z_candidate *);
|
||||
static void print_z_candidates (location_t, struct z_candidate *);
|
||||
static tree build_this (tree);
|
||||
static struct z_candidate *splice_viable (struct z_candidate *, bool, bool *);
|
||||
static bool any_strictly_viable (struct z_candidate *);
|
||||
@ -191,7 +195,7 @@ static conversion *maybe_handle_ref_bind (conversion **);
|
||||
static void maybe_handle_implicit_object (conversion **);
|
||||
static struct z_candidate *add_candidate
|
||||
(struct z_candidate **, tree, tree, const VEC(tree,gc) *, size_t,
|
||||
conversion **, tree, tree, int);
|
||||
conversion **, tree, tree, int, struct rejection_reason *);
|
||||
static tree source_type (conversion *);
|
||||
static void add_warning (struct z_candidate *, struct z_candidate *);
|
||||
static bool reference_compatible_p (tree, tree);
|
||||
@ -417,6 +421,43 @@ struct candidate_warning {
|
||||
candidate_warning *next;
|
||||
};
|
||||
|
||||
/* Information for providing diagnostics about why overloading failed. */
|
||||
|
||||
enum rejection_reason_code {
|
||||
rr_none,
|
||||
rr_arity,
|
||||
rr_arg_conversion,
|
||||
rr_bad_arg_conversion
|
||||
};
|
||||
|
||||
struct conversion_info {
|
||||
/* The index of the argument, 0-based. */
|
||||
int n_arg;
|
||||
/* The type of the actual argument. */
|
||||
tree from_type;
|
||||
/* The type of the formal argument. */
|
||||
tree to_type;
|
||||
};
|
||||
|
||||
struct rejection_reason {
|
||||
enum rejection_reason_code code;
|
||||
union {
|
||||
/* Information about an arity mismatch. */
|
||||
struct {
|
||||
/* The expected number of arguments. */
|
||||
int expected;
|
||||
/* The actual number of arguments in the call. */
|
||||
int actual;
|
||||
/* Whether the call was a varargs call. */
|
||||
bool call_varargs_p;
|
||||
} arity;
|
||||
/* Information about an argument conversion mismatch. */
|
||||
struct conversion_info conversion;
|
||||
/* Same, but for bad argument conversions. */
|
||||
struct conversion_info bad_conversion;
|
||||
} u;
|
||||
};
|
||||
|
||||
struct z_candidate {
|
||||
/* The FUNCTION_DECL that will be called if this candidate is
|
||||
selected by overload resolution. */
|
||||
@ -438,6 +479,7 @@ struct z_candidate {
|
||||
type. */
|
||||
conversion *second_conv;
|
||||
int viable;
|
||||
struct rejection_reason *reason;
|
||||
/* If FN is a member function, the binfo indicating the path used to
|
||||
qualify the name of FN at the call site. This path is used to
|
||||
determine whether or not FN is accessible if it is selected by
|
||||
@ -519,6 +561,49 @@ conversion_obstack_alloc (size_t n)
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Allocate rejection reasons. */
|
||||
|
||||
static struct rejection_reason *
|
||||
alloc_rejection (enum rejection_reason_code code)
|
||||
{
|
||||
struct rejection_reason *p;
|
||||
p = (struct rejection_reason *) conversion_obstack_alloc (sizeof *p);
|
||||
p->code = code;
|
||||
return p;
|
||||
}
|
||||
|
||||
static struct rejection_reason *
|
||||
arity_rejection (tree first_arg, int expected, int actual)
|
||||
{
|
||||
struct rejection_reason *r = alloc_rejection (rr_arity);
|
||||
int adjust = first_arg != NULL_TREE;
|
||||
r->u.arity.expected = expected - adjust;
|
||||
r->u.arity.actual = actual - adjust;
|
||||
return r;
|
||||
}
|
||||
|
||||
static struct rejection_reason *
|
||||
arg_conversion_rejection (tree first_arg, int n_arg, tree from, tree to)
|
||||
{
|
||||
struct rejection_reason *r = alloc_rejection (rr_arg_conversion);
|
||||
int adjust = first_arg != NULL_TREE;
|
||||
r->u.conversion.n_arg = n_arg - adjust;
|
||||
r->u.conversion.from_type = from;
|
||||
r->u.conversion.to_type = to;
|
||||
return r;
|
||||
}
|
||||
|
||||
static struct rejection_reason *
|
||||
bad_arg_conversion_rejection (tree first_arg, int n_arg, tree from, tree to)
|
||||
{
|
||||
struct rejection_reason *r = alloc_rejection (rr_bad_arg_conversion);
|
||||
int adjust = first_arg != NULL_TREE;
|
||||
r->u.bad_conversion.n_arg = n_arg - adjust;
|
||||
r->u.bad_conversion.from_type = from;
|
||||
r->u.bad_conversion.to_type = to;
|
||||
return r;
|
||||
}
|
||||
|
||||
/* Dynamically allocate a conversion. */
|
||||
|
||||
static conversion *
|
||||
@ -1148,6 +1233,10 @@ convert_class_to_reference (tree reference_type, tree s, tree expr, int flags)
|
||||
if (TREE_CODE (t2) != REFERENCE_TYPE
|
||||
|| !reference_compatible_p (t, TREE_TYPE (t2)))
|
||||
{
|
||||
/* No need to set cand->reason here; this is most likely
|
||||
an ambiguous match. If it's not, either this candidate
|
||||
will win, or we will have identified a reason for it
|
||||
losing already. */
|
||||
cand->viable = 0;
|
||||
}
|
||||
else
|
||||
@ -1558,7 +1647,7 @@ add_candidate (struct z_candidate **candidates,
|
||||
tree fn, tree first_arg, const VEC(tree,gc) *args,
|
||||
size_t num_convs, conversion **convs,
|
||||
tree access_path, tree conversion_path,
|
||||
int viable)
|
||||
int viable, struct rejection_reason *reason)
|
||||
{
|
||||
struct z_candidate *cand = (struct z_candidate *)
|
||||
conversion_obstack_alloc (sizeof (struct z_candidate));
|
||||
@ -1571,12 +1660,28 @@ add_candidate (struct z_candidate **candidates,
|
||||
cand->access_path = access_path;
|
||||
cand->conversion_path = conversion_path;
|
||||
cand->viable = viable;
|
||||
cand->reason = reason;
|
||||
cand->next = *candidates;
|
||||
*candidates = cand;
|
||||
|
||||
return cand;
|
||||
}
|
||||
|
||||
/* Return the number of remaining arguments in the parameter list
|
||||
beginning with ARG. */
|
||||
|
||||
static int
|
||||
remaining_arguments (tree arg)
|
||||
{
|
||||
int n;
|
||||
|
||||
for (n = 0; arg != NULL_TREE && arg != void_list_node;
|
||||
arg = TREE_CHAIN (arg))
|
||||
n++;
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
/* Create an overload candidate for the function or method FN called
|
||||
with the argument list FIRST_ARG/ARGS and add it to CANDIDATES.
|
||||
FLAGS is passed on to implicit_conversion.
|
||||
@ -1599,6 +1704,7 @@ add_function_candidate (struct z_candidate **candidates,
|
||||
tree orig_first_arg = first_arg;
|
||||
int skip;
|
||||
int viable = 1;
|
||||
struct rejection_reason *reason = NULL;
|
||||
|
||||
/* At this point we should not see any functions which haven't been
|
||||
explicitly declared, except for friend functions which will have
|
||||
@ -1638,13 +1744,13 @@ add_function_candidate (struct z_candidate **candidates,
|
||||
parmnode = TREE_CHAIN (parmnode);
|
||||
}
|
||||
|
||||
if (i < len && parmnode)
|
||||
viable = 0;
|
||||
|
||||
/* Make sure there are default args for the rest of the parms. */
|
||||
else if (!sufficient_parms_p (parmnode))
|
||||
viable = 0;
|
||||
|
||||
if ((i < len && parmnode)
|
||||
|| !sufficient_parms_p (parmnode))
|
||||
{
|
||||
int remaining = remaining_arguments (parmnode);
|
||||
viable = 0;
|
||||
reason = arity_rejection (first_arg, i + remaining, len);
|
||||
}
|
||||
/* When looking for a function from a subobject from an implicit
|
||||
copy/move constructor/operator=, don't consider anything that takes (a
|
||||
reference to) an unrelated type. See c++/44909 and core 1092. */
|
||||
@ -1680,7 +1786,7 @@ add_function_candidate (struct z_candidate **candidates,
|
||||
|
||||
for (i = 0; i < len; ++i)
|
||||
{
|
||||
tree arg, argtype;
|
||||
tree arg, argtype, to_type;
|
||||
conversion *t;
|
||||
int is_this;
|
||||
|
||||
@ -1747,11 +1853,13 @@ add_function_candidate (struct z_candidate **candidates,
|
||||
|
||||
t = implicit_conversion (parmtype, argtype, arg,
|
||||
/*c_cast_p=*/false, lflags);
|
||||
to_type = parmtype;
|
||||
}
|
||||
else
|
||||
{
|
||||
t = build_identity_conv (argtype, arg);
|
||||
t->ellipsis_p = true;
|
||||
to_type = argtype;
|
||||
}
|
||||
|
||||
if (t && is_this)
|
||||
@ -1761,16 +1869,20 @@ add_function_candidate (struct z_candidate **candidates,
|
||||
if (! t)
|
||||
{
|
||||
viable = 0;
|
||||
reason = arg_conversion_rejection (first_arg, i, argtype, to_type);
|
||||
break;
|
||||
}
|
||||
|
||||
if (t->bad_p)
|
||||
viable = -1;
|
||||
{
|
||||
viable = -1;
|
||||
reason = bad_arg_conversion_rejection (first_arg, i, argtype, to_type);
|
||||
}
|
||||
}
|
||||
|
||||
out:
|
||||
return add_candidate (candidates, fn, orig_first_arg, args, len, convs,
|
||||
access_path, conversion_path, viable);
|
||||
access_path, conversion_path, viable, reason);
|
||||
}
|
||||
|
||||
/* Create an overload candidate for the conversion function FN which will
|
||||
@ -1794,6 +1906,7 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
int i, len, viable, flags;
|
||||
tree parmlist, parmnode;
|
||||
conversion **convs;
|
||||
struct rejection_reason *reason;
|
||||
|
||||
for (parmlist = totype; TREE_CODE (parmlist) != FUNCTION_TYPE; )
|
||||
parmlist = TREE_TYPE (parmlist);
|
||||
@ -1804,6 +1917,7 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
parmnode = parmlist;
|
||||
viable = 1;
|
||||
flags = LOOKUP_IMPLICIT;
|
||||
reason = NULL;
|
||||
|
||||
/* Don't bother looking up the same type twice. */
|
||||
if (*candidates && (*candidates)->fn == totype)
|
||||
@ -1811,7 +1925,7 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
|
||||
for (i = 0; i < len; ++i)
|
||||
{
|
||||
tree arg, argtype;
|
||||
tree arg, argtype, convert_type = NULL_TREE;
|
||||
conversion *t;
|
||||
|
||||
if (i == 0)
|
||||
@ -1824,17 +1938,24 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
argtype = lvalue_type (arg);
|
||||
|
||||
if (i == 0)
|
||||
t = implicit_conversion (totype, argtype, arg, /*c_cast_p=*/false,
|
||||
flags);
|
||||
{
|
||||
t = implicit_conversion (totype, argtype, arg, /*c_cast_p=*/false,
|
||||
flags);
|
||||
convert_type = totype;
|
||||
}
|
||||
else if (parmnode == void_list_node)
|
||||
break;
|
||||
else if (parmnode)
|
||||
t = implicit_conversion (TREE_VALUE (parmnode), argtype, arg,
|
||||
/*c_cast_p=*/false, flags);
|
||||
{
|
||||
t = implicit_conversion (TREE_VALUE (parmnode), argtype, arg,
|
||||
/*c_cast_p=*/false, flags);
|
||||
convert_type = TREE_VALUE (parmnode);
|
||||
}
|
||||
else
|
||||
{
|
||||
t = build_identity_conv (argtype, arg);
|
||||
t->ellipsis_p = true;
|
||||
convert_type = argtype;
|
||||
}
|
||||
|
||||
convs[i] = t;
|
||||
@ -1842,7 +1963,10 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
break;
|
||||
|
||||
if (t->bad_p)
|
||||
viable = -1;
|
||||
{
|
||||
viable = -1;
|
||||
reason = bad_arg_conversion_rejection (NULL_TREE, i, argtype, convert_type);
|
||||
}
|
||||
|
||||
if (i == 0)
|
||||
continue;
|
||||
@ -1851,14 +1975,16 @@ add_conv_candidate (struct z_candidate **candidates, tree fn, tree obj,
|
||||
parmnode = TREE_CHAIN (parmnode);
|
||||
}
|
||||
|
||||
if (i < len)
|
||||
viable = 0;
|
||||
|
||||
if (!sufficient_parms_p (parmnode))
|
||||
viable = 0;
|
||||
if (i < len
|
||||
|| ! sufficient_parms_p (parmnode))
|
||||
{
|
||||
int remaining = remaining_arguments (parmnode);
|
||||
viable = 0;
|
||||
reason = arity_rejection (NULL_TREE, i + remaining, len);
|
||||
}
|
||||
|
||||
return add_candidate (candidates, totype, first_arg, arglist, len, convs,
|
||||
access_path, conversion_path, viable);
|
||||
access_path, conversion_path, viable, reason);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1871,6 +1997,7 @@ build_builtin_candidate (struct z_candidate **candidates, tree fnname,
|
||||
size_t num_convs;
|
||||
int viable = 1, i;
|
||||
tree types[2];
|
||||
struct rejection_reason *reason = NULL;
|
||||
|
||||
types[0] = type1;
|
||||
types[1] = type2;
|
||||
@ -1898,9 +2025,13 @@ build_builtin_candidate (struct z_candidate **candidates, tree fnname,
|
||||
viable = 0;
|
||||
/* We need something for printing the candidate. */
|
||||
t = build_identity_conv (types[i], NULL_TREE);
|
||||
reason = arg_conversion_rejection (NULL_TREE, i, argtypes[i], types[i]);
|
||||
}
|
||||
else if (t->bad_p)
|
||||
viable = 0;
|
||||
{
|
||||
viable = 0;
|
||||
reason = bad_arg_conversion_rejection (NULL_TREE, i, argtypes[i], types[i]);
|
||||
}
|
||||
convs[i] = t;
|
||||
}
|
||||
|
||||
@ -1914,14 +2045,18 @@ build_builtin_candidate (struct z_candidate **candidates, tree fnname,
|
||||
if (t)
|
||||
convs[0] = t;
|
||||
else
|
||||
viable = 0;
|
||||
{
|
||||
viable = 0;
|
||||
reason = arg_conversion_rejection (NULL_TREE, 0, argtypes[2],
|
||||
boolean_type_node);
|
||||
}
|
||||
}
|
||||
|
||||
add_candidate (candidates, fnname, /*first_arg=*/NULL_TREE, /*args=*/NULL,
|
||||
num_convs, convs,
|
||||
/*access_path=*/NULL_TREE,
|
||||
/*conversion_path=*/NULL_TREE,
|
||||
viable);
|
||||
viable, reason);
|
||||
}
|
||||
|
||||
static bool
|
||||
@ -2573,6 +2708,7 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
|
||||
struct z_candidate *cand;
|
||||
int i;
|
||||
tree fn;
|
||||
struct rejection_reason *reason = NULL;
|
||||
|
||||
/* We don't do deduction on the in-charge parameter, the VTT
|
||||
parameter or 'this'. */
|
||||
@ -2691,7 +2827,7 @@ add_template_candidate_real (struct z_candidate **candidates, tree tmpl,
|
||||
return cand;
|
||||
fail:
|
||||
return add_candidate (candidates, tmpl, first_arg, arglist, nargs, NULL,
|
||||
access_path, conversion_path, 0);
|
||||
access_path, conversion_path, 0, reason);
|
||||
}
|
||||
|
||||
|
||||
@ -2802,6 +2938,20 @@ equal_functions (tree fn1, tree fn2)
|
||||
return fn1 == fn2;
|
||||
}
|
||||
|
||||
/* Print information about a candidate being rejected due to INFO. */
|
||||
|
||||
static void
|
||||
print_conversion_rejection (location_t loc, struct conversion_info *info)
|
||||
{
|
||||
if (info->n_arg == -1)
|
||||
/* Conversion of implicit `this' argument failed. */
|
||||
inform (loc, "no known conversion for implicit %<this%> parameter from %qT to %qT",
|
||||
info->from_type, info->to_type);
|
||||
else
|
||||
inform (loc, "no known conversion for argument %d from %qT to %qT",
|
||||
info->n_arg+1, info->from_type, info->to_type);
|
||||
}
|
||||
|
||||
/* Print information about one overload candidate CANDIDATE. MSGSTR
|
||||
is the text to print before the candidate itself.
|
||||
|
||||
@ -2812,38 +2962,68 @@ equal_functions (tree fn1, tree fn2)
|
||||
static void
|
||||
print_z_candidate (const char *msgstr, struct z_candidate *candidate)
|
||||
{
|
||||
const char *msg = (msgstr == NULL
|
||||
? ""
|
||||
: ACONCAT ((msgstr, " ", NULL)));
|
||||
location_t loc = location_of (candidate->fn);
|
||||
|
||||
if (TREE_CODE (candidate->fn) == IDENTIFIER_NODE)
|
||||
{
|
||||
if (candidate->num_convs == 3)
|
||||
inform (input_location, "%s %D(%T, %T, %T) <built-in>", msgstr, candidate->fn,
|
||||
inform (input_location, "%s%D(%T, %T, %T) <built-in>", msg, candidate->fn,
|
||||
candidate->convs[0]->type,
|
||||
candidate->convs[1]->type,
|
||||
candidate->convs[2]->type);
|
||||
else if (candidate->num_convs == 2)
|
||||
inform (input_location, "%s %D(%T, %T) <built-in>", msgstr, candidate->fn,
|
||||
inform (input_location, "%s%D(%T, %T) <built-in>", msg, candidate->fn,
|
||||
candidate->convs[0]->type,
|
||||
candidate->convs[1]->type);
|
||||
else
|
||||
inform (input_location, "%s %D(%T) <built-in>", msgstr, candidate->fn,
|
||||
inform (input_location, "%s%D(%T) <built-in>", msg, candidate->fn,
|
||||
candidate->convs[0]->type);
|
||||
}
|
||||
else if (TYPE_P (candidate->fn))
|
||||
inform (input_location, "%s %T <conversion>", msgstr, candidate->fn);
|
||||
inform (input_location, "%s%T <conversion>", msg, candidate->fn);
|
||||
else if (candidate->viable == -1)
|
||||
inform (input_location, "%s %+#D <near match>", msgstr, candidate->fn);
|
||||
inform (loc, "%s%#D <near match>", msg, candidate->fn);
|
||||
else if (DECL_DELETED_FN (STRIP_TEMPLATE (candidate->fn)))
|
||||
inform (input_location, "%s %+#D <deleted>", msgstr, candidate->fn);
|
||||
inform (loc, "%s%#D <deleted>", msg, candidate->fn);
|
||||
else
|
||||
inform (input_location, "%s %+#D", msgstr, candidate->fn);
|
||||
inform (loc, "%s%#D", msg, candidate->fn);
|
||||
/* Give the user some information about why this candidate failed. */
|
||||
if (candidate->reason != NULL)
|
||||
{
|
||||
struct rejection_reason *r = candidate->reason;
|
||||
|
||||
switch (r->code)
|
||||
{
|
||||
case rr_arity:
|
||||
inform_n (loc, r->u.arity.expected,
|
||||
" candidate expects %d argument, %d provided",
|
||||
" candidate expects %d arguments, %d provided",
|
||||
r->u.arity.expected, r->u.arity.actual);
|
||||
break;
|
||||
case rr_arg_conversion:
|
||||
print_conversion_rejection (loc, &r->u.conversion);
|
||||
break;
|
||||
case rr_bad_arg_conversion:
|
||||
print_conversion_rejection (loc, &r->u.bad_conversion);
|
||||
break;
|
||||
case rr_none:
|
||||
default:
|
||||
/* This candidate didn't have any issues or we failed to
|
||||
handle a particular code. Either way... */
|
||||
gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
print_z_candidates (struct z_candidate *candidates)
|
||||
print_z_candidates (location_t loc, struct z_candidate *candidates)
|
||||
{
|
||||
const char *str;
|
||||
struct z_candidate *cand1;
|
||||
struct z_candidate **cand2;
|
||||
char *spaces;
|
||||
int n_candidates;
|
||||
|
||||
if (!candidates)
|
||||
return;
|
||||
@ -2885,14 +3065,12 @@ print_z_candidates (struct z_candidate *candidates)
|
||||
}
|
||||
}
|
||||
|
||||
str = candidates->next ? _("candidates are:") : _("candidate is:");
|
||||
spaces = NULL;
|
||||
for (n_candidates = 0, cand1 = candidates; cand1; cand1 = cand1->next)
|
||||
n_candidates++;
|
||||
|
||||
inform_n (loc, n_candidates, "candidate is:", "candidates are:");
|
||||
for (; candidates; candidates = candidates->next)
|
||||
{
|
||||
print_z_candidate (spaces ? spaces : str, candidates);
|
||||
spaces = spaces ? spaces : get_spaces (str);
|
||||
}
|
||||
free (spaces);
|
||||
print_z_candidate (NULL, candidates);
|
||||
}
|
||||
|
||||
/* USER_SEQ is a user-defined conversion sequence, beginning with a
|
||||
@ -3129,9 +3307,20 @@ build_user_type_conversion_1 (tree totype, tree expr, int flags)
|
||||
cand->second_conv = ics;
|
||||
|
||||
if (!ics)
|
||||
cand->viable = 0;
|
||||
{
|
||||
tree rettype = TREE_TYPE (TREE_TYPE (cand->fn));
|
||||
cand->viable = 0;
|
||||
cand->reason = arg_conversion_rejection (NULL_TREE, -1,
|
||||
rettype, totype);
|
||||
}
|
||||
else if (cand->viable == 1 && ics->bad_p)
|
||||
cand->viable = -1;
|
||||
{
|
||||
tree rettype = TREE_TYPE (TREE_TYPE (cand->fn));
|
||||
cand->viable = -1;
|
||||
cand->reason
|
||||
= bad_arg_conversion_rejection (NULL_TREE, -1,
|
||||
rettype, totype);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3146,7 +3335,7 @@ build_user_type_conversion_1 (tree totype, tree expr, int flags)
|
||||
{
|
||||
error ("conversion from %qT to %qT is ambiguous",
|
||||
fromtype, totype);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (expr), candidates);
|
||||
}
|
||||
|
||||
cand = candidates; /* any one will do */
|
||||
@ -3346,6 +3535,28 @@ perform_overload_resolution (tree fn,
|
||||
return cand;
|
||||
}
|
||||
|
||||
/* Print an error message about being unable to build a call to FN with
|
||||
ARGS. ANY_VIABLE_P indicates whether any candidate functions could
|
||||
be located; CANDIDATES is a possibly empty list of such
|
||||
functions. */
|
||||
|
||||
static void
|
||||
print_error_for_call_failure (tree fn, VEC(tree,gc) *args, bool any_viable_p,
|
||||
struct z_candidate *candidates)
|
||||
{
|
||||
tree name = DECL_NAME (OVL_CURRENT (fn));
|
||||
location_t loc = location_of (name);
|
||||
|
||||
if (!any_viable_p)
|
||||
error_at (loc, "no matching function for call to %<%D(%A)%>",
|
||||
name, build_tree_list_vec (args));
|
||||
else
|
||||
error_at (loc, "call of overloaded %<%D(%A)%> is ambiguous",
|
||||
name, build_tree_list_vec (args));
|
||||
if (candidates)
|
||||
print_z_candidates (loc, candidates);
|
||||
}
|
||||
|
||||
/* Return an expression for a call to FN (a namespace-scope function,
|
||||
or a static member function) with the ARGS. This may change
|
||||
ARGS. */
|
||||
@ -3377,9 +3588,7 @@ build_new_function_call (tree fn, VEC(tree,gc) **args, bool koenig_p,
|
||||
if (!fn)
|
||||
{
|
||||
if (complain & tf_error)
|
||||
error ("no matching function for call to %<%D(%A)%>",
|
||||
DECL_NAME (OVL_CURRENT (orig_fn)),
|
||||
build_tree_list_vec (*args));
|
||||
print_error_for_call_failure (orig_fn, *args, false, NULL);
|
||||
return error_mark_node;
|
||||
}
|
||||
}
|
||||
@ -3398,14 +3607,7 @@ build_new_function_call (tree fn, VEC(tree,gc) **args, bool koenig_p,
|
||||
return cp_build_function_call_vec (candidates->fn, args, complain);
|
||||
if (TREE_CODE (fn) == TEMPLATE_ID_EXPR)
|
||||
fn = TREE_OPERAND (fn, 0);
|
||||
if (!any_viable_p)
|
||||
error ("no matching function for call to %<%D(%A)%>",
|
||||
DECL_NAME (OVL_CURRENT (fn)), build_tree_list_vec (*args));
|
||||
else
|
||||
error ("call of overloaded %<%D(%A)%> is ambiguous",
|
||||
DECL_NAME (OVL_CURRENT (fn)), build_tree_list_vec (*args));
|
||||
if (candidates)
|
||||
print_z_candidates (candidates);
|
||||
print_error_for_call_failure (fn, *args, any_viable_p, candidates);
|
||||
}
|
||||
result = error_mark_node;
|
||||
}
|
||||
@ -3463,14 +3665,7 @@ build_operator_new_call (tree fnname, VEC(tree,gc) **args,
|
||||
and give up. */
|
||||
if (!cand)
|
||||
{
|
||||
if (!any_viable_p)
|
||||
error ("no matching function for call to %<%D(%A)%>",
|
||||
DECL_NAME (OVL_CURRENT (fns)), build_tree_list_vec (*args));
|
||||
else
|
||||
error ("call of overloaded %<%D(%A)%> is ambiguous",
|
||||
DECL_NAME (OVL_CURRENT (fns)), build_tree_list_vec (*args));
|
||||
if (candidates)
|
||||
print_z_candidates (candidates);
|
||||
print_error_for_call_failure (fns, *args, any_viable_p, candidates);
|
||||
return error_mark_node;
|
||||
}
|
||||
|
||||
@ -3620,7 +3815,7 @@ build_op_call (tree obj, VEC(tree,gc) **args, tsubst_flags_t complain)
|
||||
{
|
||||
error ("no match for call to %<(%T) (%A)%>", TREE_TYPE (obj),
|
||||
build_tree_list_vec (*args));
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (TREE_TYPE (obj)), candidates);
|
||||
}
|
||||
result = error_mark_node;
|
||||
}
|
||||
@ -3633,7 +3828,7 @@ build_op_call (tree obj, VEC(tree,gc) **args, tsubst_flags_t complain)
|
||||
{
|
||||
error ("call of %<(%T) (%A)%> is ambiguous",
|
||||
TREE_TYPE (obj), build_tree_list_vec (*args));
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (TREE_TYPE (obj)), candidates);
|
||||
}
|
||||
result = error_mark_node;
|
||||
}
|
||||
@ -4052,7 +4247,7 @@ build_conditional_expr (tree arg1, tree arg2, tree arg3,
|
||||
if (complain & tf_error)
|
||||
{
|
||||
op_error (COND_EXPR, NOP_EXPR, arg1, arg2, arg3, FALSE);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (arg1), candidates);
|
||||
}
|
||||
return error_mark_node;
|
||||
}
|
||||
@ -4062,7 +4257,7 @@ build_conditional_expr (tree arg1, tree arg2, tree arg3,
|
||||
if (complain & tf_error)
|
||||
{
|
||||
op_error (COND_EXPR, NOP_EXPR, arg1, arg2, arg3, FALSE);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (arg1), candidates);
|
||||
}
|
||||
return error_mark_node;
|
||||
}
|
||||
@ -4581,7 +4776,7 @@ build_new_op (enum tree_code code, int flags, tree arg1, tree arg2, tree arg3,
|
||||
/* ... Otherwise, report the more generic
|
||||
"no matching operator found" error */
|
||||
op_error (code, code2, arg1, arg2, arg3, FALSE);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (input_location, candidates);
|
||||
}
|
||||
}
|
||||
result = error_mark_node;
|
||||
@ -4596,7 +4791,7 @@ build_new_op (enum tree_code code, int flags, tree arg1, tree arg2, tree arg3,
|
||||
if ((flags & LOOKUP_COMPLAIN) && (complain & tf_error))
|
||||
{
|
||||
op_error (code, code2, arg1, arg2, arg3, TRUE);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (input_location, candidates);
|
||||
}
|
||||
result = error_mark_node;
|
||||
}
|
||||
@ -6656,7 +6851,7 @@ build_new_method_call (tree instance, tree fns, VEC(tree,gc) **args,
|
||||
if (free_p)
|
||||
free (pretty_name);
|
||||
}
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (name), candidates);
|
||||
}
|
||||
call = error_mark_node;
|
||||
}
|
||||
@ -6677,7 +6872,7 @@ build_new_method_call (tree instance, tree fns, VEC(tree,gc) **args,
|
||||
arglist = TREE_CHAIN (arglist);
|
||||
error ("call of overloaded %<%s(%A)%> is ambiguous", pretty_name,
|
||||
arglist);
|
||||
print_z_candidates (candidates);
|
||||
print_z_candidates (location_of (name), candidates);
|
||||
if (free_p)
|
||||
free (pretty_name);
|
||||
}
|
||||
|
@ -1,3 +1,175 @@
|
||||
2010-12-08 Nathan Froyd <froydnj@codesourcery.com>
|
||||
|
||||
PR c++/45329
|
||||
* testsuite/g++.dg/conversion/ambig1.C: Adjust.
|
||||
* testsuite/g++.dg/conversion/op1.C: Adjust.
|
||||
* testsuite/g++.dg/conversion/simd1.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/defaulted14.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/defaulted18.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/defaulted20.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/explicit3.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/explicit4.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/implicit4.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/nullptr15.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/nullptr19.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/pr31431-2.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/pr31431.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/pr31434.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/pr31437.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv2n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv3n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv4n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv5n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv6n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/rv7n.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/temp_default2.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/trailing4.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/variadic-ex3.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/variadic-ex4.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/variadic35.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/vt-35147.C: Adjust.
|
||||
* testsuite/g++.dg/cpp0x/vt-37737-2.C: Adjust.
|
||||
* testsuite/g++.dg/expr/cond9.C: Adjust.
|
||||
* testsuite/g++.dg/expr/pmf-1.C: Adjust.
|
||||
* testsuite/g++.dg/ext/label5.C: Adjust.
|
||||
* testsuite/g++.dg/ext/visibility/anon8.C: Adjust.
|
||||
* testsuite/g++.dg/ext/vla2.C: Adjust.
|
||||
* testsuite/g++.dg/gomp/pr26690-1.C: Adjust.
|
||||
* testsuite/g++.dg/gomp/pr26690-2.C: Adjust.
|
||||
* testsuite/g++.dg/init/synth2.C: Adjust.
|
||||
* testsuite/g++.dg/lookup/conv-1.C: Adjust.
|
||||
* testsuite/g++.dg/lookup/new1.C: Adjust.
|
||||
* testsuite/g++.dg/lookup/using9.C: Adjust.
|
||||
* testsuite/g++.dg/other/error13.C: Adjust.
|
||||
* testsuite/g++.dg/other/error20.C: Adjust.
|
||||
* testsuite/g++.dg/other/error31.C: Adjust.
|
||||
* testsuite/g++.dg/other/pr28114.C: Adjust.
|
||||
* testsuite/g++.dg/other/ptrmem10.C: Adjust.
|
||||
* testsuite/g++.dg/other/ptrmem11.C: Adjust.
|
||||
* testsuite/g++.dg/overload/ambig1.C: Adjust.
|
||||
* testsuite/g++.dg/overload/arg3.C: Adjust.
|
||||
* testsuite/g++.dg/overload/builtin1.C: Adjust.
|
||||
* testsuite/g++.dg/overload/copy1.C: Adjust.
|
||||
* testsuite/g++.dg/overload/new1.C: Adjust.
|
||||
* testsuite/g++.dg/overload/template4.C: Adjust.
|
||||
* testsuite/g++.dg/overload/unknown1.C: Adjust.
|
||||
* testsuite/g++.dg/overload/using2.C: Adjust.
|
||||
* testsuite/g++.dg/parse/crash5.C: Adjust.
|
||||
* testsuite/g++.dg/parse/error19.C: Adjust.
|
||||
* testsuite/g++.dg/parse/error28.C: Adjust.
|
||||
* testsuite/g++.dg/parse/template7.C: Adjust.
|
||||
* testsuite/g++.dg/parse/typename7.C: Adjust.
|
||||
* testsuite/g++.dg/rtti/typeid6.C: Adjust.
|
||||
* testsuite/g++.dg/tc1/dr152.C: Adjust.
|
||||
* testsuite/g++.dg/template/conv11.C: Adjust.
|
||||
* testsuite/g++.dg/template/copy1.C: Adjust.
|
||||
* testsuite/g++.dg/template/crash37.C: Adjust.
|
||||
* testsuite/g++.dg/template/deduce3.C: Adjust.
|
||||
* testsuite/g++.dg/template/dependent-expr5.C: Adjust.
|
||||
* testsuite/g++.dg/template/error38.C: Adjust.
|
||||
* testsuite/g++.dg/template/error40.C: Adjust.
|
||||
* testsuite/g++.dg/template/friend.C: Adjust.
|
||||
* testsuite/g++.dg/template/incomplete2.C: Adjust.
|
||||
* testsuite/g++.dg/template/instantiate5.C: Adjust.
|
||||
* testsuite/g++.dg/template/local4.C: Adjust.
|
||||
* testsuite/g++.dg/template/local6.C: Adjust.
|
||||
* testsuite/g++.dg/template/new3.C: Adjust.
|
||||
* testsuite/g++.dg/template/operator9.C: Adjust.
|
||||
* testsuite/g++.dg/template/overload6.C: Adjust.
|
||||
* testsuite/g++.dg/template/ptrmem2.C: Adjust.
|
||||
* testsuite/g++.dg/template/ptrmem20.C: Adjust.
|
||||
* testsuite/g++.dg/template/ptrmem4.C: Adjust.
|
||||
* testsuite/g++.dg/template/ptrmem8.C: Adjust.
|
||||
* testsuite/g++.dg/template/qualttp5.C: Adjust.
|
||||
* testsuite/g++.dg/template/sfinae2.C: Adjust.
|
||||
* testsuite/g++.dg/template/spec22.C: Adjust.
|
||||
* testsuite/g++.dg/template/spec23.C: Adjust.
|
||||
* testsuite/g++.dg/template/ttp25.C: Adjust.
|
||||
* testsuite/g++.dg/template/typedef4.C: Adjust.
|
||||
* testsuite/g++.dg/template/unify10.C: Adjust.
|
||||
* testsuite/g++.dg/template/unify11.C: Adjust.
|
||||
* testsuite/g++.dg/template/unify6.C: Adjust.
|
||||
* testsuite/g++.dg/template/unify7.C: Adjust.
|
||||
* testsuite/g++.dg/template/unify9.C: Adjust.
|
||||
* testsuite/g++.dg/template/varmod1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.benjamin/15799.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.benjamin/15800-1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/ambiguity1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/crash29.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/crash48.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/crash56.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/cvt3.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/overload1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/overload4.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.brendan/overload9.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.bugs/900127_01.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.bugs/900205_04.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.bugs/900330_02.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.bugs/900404_03.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.bugs/900514_03.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.eh/ctor1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/conversion11.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/crash3.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/overload16.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/overload28.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/scoping10.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/template30.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.jason/temporary2.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/arg1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/arg11.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/arm9.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/ctors11.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/ctors17.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/ctors5.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/ctors9.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/enum4.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/missed-error2.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/operators32.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.law/operators9.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/net2.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/net22.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p11110.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p1989.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p2431.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p438.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p807a.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.mike/p9068.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.niklas/t120.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.niklas/t121.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.niklas/t128.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.ns/overload2.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.ns/using12.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.other/crash24.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.other/expr1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.other/overload11.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.other/pmf3.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.other/volatile1.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/auto_ptr.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/crash28.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/crash60.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/explicit38.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/explicit39.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/explicit41.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/explicit67.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/explicit77.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/expr2.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/ptrmem10.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/ptrmem6.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/spec35.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/spec5.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/spec6.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/t05.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/t24.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/unify4.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/unify6.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.pt/unify8.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb109.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb119.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb131.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb22.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb69.C: Adjust.
|
||||
* testsuite/g++.old-deja/g++.robertl/eb98.C: Adjust.
|
||||
|
||||
2010-12-08 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/45822
|
||||
|
@ -6,3 +6,4 @@ struct H {
|
||||
};
|
||||
|
||||
int const& ref = H(); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
|
@ -1,10 +1,11 @@
|
||||
class C
|
||||
{
|
||||
template<typename U>
|
||||
operator U(); // { dg-message "candidate" }
|
||||
operator U(); // { dg-message "note" }
|
||||
};
|
||||
|
||||
int fn (C c)
|
||||
{
|
||||
return C::operator float(c); // { dg-error "operator float.C" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
}
|
||||
|
@ -5,8 +5,8 @@
|
||||
|
||||
#define vector __attribute__((vector_size(16)))
|
||||
|
||||
vector signed int vld (int a1, const vector signed int *a2) { return *a2; } /* { dg-message "vld" } */
|
||||
vector signed short vld (int a1, const vector signed short *a2) { return *a2; } /* { dg-message "vld" } */
|
||||
vector signed int vld (int a1, const vector signed int *a2) { return *a2; } /* { dg-message "vld|no known conversion" } */
|
||||
vector signed short vld (int a1, const vector signed short *a2) { return *a2; } /* { dg-message "vld|no known conversion" } */
|
||||
|
||||
extern int i;
|
||||
extern vector signed short vss;
|
||||
@ -17,6 +17,7 @@ extern const vector signed short *cvssp;
|
||||
void foo ()
|
||||
{
|
||||
vss = vld(i, vscp); /* { dg-error "no matching function for call" } */
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 19 }
|
||||
vss = vld(i, vssp);
|
||||
vss = vld(i, cvssp);
|
||||
}
|
||||
|
@ -14,5 +14,7 @@ int main()
|
||||
{
|
||||
A a;
|
||||
a = B(); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
a = 1.0; // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 18 }
|
||||
}
|
||||
|
@ -6,4 +6,5 @@ void f(int i, ...); // { dg-message "void f" }
|
||||
int main()
|
||||
{
|
||||
f(1,1); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
|
@ -2,12 +2,13 @@
|
||||
// { dg-options -std=c++0x }
|
||||
|
||||
struct A {
|
||||
A(A&&) = default; // { dg-message "A::A" }
|
||||
A(A&&) = default; // { dg-message "A::A|no known conversion" }
|
||||
};
|
||||
struct B {
|
||||
const A a;
|
||||
B(const B&) = default;
|
||||
B(B&&) = default; // { dg-error "implicitly deleted|no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
};
|
||||
|
||||
void g(B); // { dg-error "argument 1" }
|
||||
|
@ -42,6 +42,7 @@ int main()
|
||||
// These do not.
|
||||
switch (a); // { dg-error "" }
|
||||
bool b = a; // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 44 }
|
||||
f(a); // { dg-error "" }
|
||||
B b2 = { a }; // { dg-error "" }
|
||||
a + true; // { dg-message "" }
|
||||
|
@ -2,7 +2,7 @@
|
||||
// { dg-options "-std=c++0x" }
|
||||
|
||||
struct A {
|
||||
A(const A&, int = 0); // { dg-message "candidate" }
|
||||
A(const A&, int = 0); // { dg-message "note" }
|
||||
};
|
||||
struct B
|
||||
{
|
||||
@ -14,4 +14,5 @@ int main()
|
||||
B b;
|
||||
(A(b)); // OK
|
||||
(A(b,1)); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
}
|
||||
|
@ -4,11 +4,12 @@
|
||||
|
||||
struct A
|
||||
{
|
||||
A(); // { dg-message "A::A" }
|
||||
A(A&&); // { dg-message "A::A" }
|
||||
A(); // { dg-message "A::A|candidate expects" }
|
||||
A(A&&); // { dg-message "A::A|no known conversion" }
|
||||
};
|
||||
|
||||
struct B: A // { dg-error "implicit|no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 11 }
|
||||
{
|
||||
};
|
||||
|
||||
|
@ -10,15 +10,17 @@ template <typename T, typename U>
|
||||
inline typename tType_equal<T, U>::type
|
||||
type_equal(U) { }
|
||||
|
||||
template<typename T> T* g( T* t ); // { dg-message "candidate" }
|
||||
template<typename T> T* g( T* t ); // { dg-message "note" }
|
||||
|
||||
void test_g()
|
||||
{
|
||||
// Deduction to nullptr_t, no deduction to pointer type
|
||||
//
|
||||
g(nullptr); // { dg-error "no matching function for call to " }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 19 }
|
||||
type_equal<float*>(g((float*)nullptr));
|
||||
decltype(nullptr) mynull = 0;
|
||||
g(mynull); // { dg-error "no matching function for call to " }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 23 }
|
||||
type_equal<float*>(g((float*)mynull));
|
||||
}
|
||||
|
@ -11,5 +11,7 @@ nullptr_t k( nullptr_t ); /* { dg-message "note" } { dg-message "note" } */
|
||||
void test_k()
|
||||
{
|
||||
k(0); /* { dg-error "is ambiguous" } */
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
k(__null); /* { dg-error "is ambiguous" } */
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 15 }
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
template<typename, typename..., typename> void foo(); // { dg-message "candidate" }
|
||||
template<typename, typename..., typename> void foo(); // { dg-message "note" }
|
||||
|
||||
void bar()
|
||||
{
|
||||
foo<int>(); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 6 }
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
template<typename..., typename> void foo(); // { dg-message "candidate" }
|
||||
template<typename..., typename> void foo(); // { dg-message "note" }
|
||||
|
||||
void bar()
|
||||
{
|
||||
foo<int>(); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 6 }
|
||||
}
|
||||
|
@ -8,4 +8,5 @@ template<typename... T> int foo(const T&) // { dg-error "not expanded with|T" }
|
||||
void bar()
|
||||
{
|
||||
foo(0); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
}
|
||||
|
@ -7,3 +7,4 @@ template <typename... T> struct A // { dg-error "candidates|A" }
|
||||
};
|
||||
|
||||
A<int> a(0); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
|
@ -30,7 +30,7 @@ const volatile A cv_source();
|
||||
|
||||
// 2 at a time
|
||||
|
||||
one sink_2_12( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_12( A&); // { dg-message "note|argument" }
|
||||
two sink_2_12(const A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_12()
|
||||
@ -40,13 +40,17 @@ int test2_12()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_12(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 42 }
|
||||
sink_2_12(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 44 }
|
||||
sink_2_12(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 46 }
|
||||
sink_2_12(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 48 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_2_13( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_13( A&); // { dg-message "note|argument" }
|
||||
three sink_2_13(volatile A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_13()
|
||||
@ -56,15 +60,21 @@ int test2_13()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_13(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 62 }
|
||||
sink_2_13(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 64 }
|
||||
sink_2_13(source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
|
||||
sink_2_13(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 68 }
|
||||
sink_2_13(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 70 }
|
||||
sink_2_13(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 72 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_2_14( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_14( A&); // { dg-message "note|argument" }
|
||||
four sink_2_14(const volatile A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_14()
|
||||
@ -74,13 +84,17 @@ int test2_14()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_14(source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 86 }
|
||||
sink_2_14(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 88 }
|
||||
sink_2_14(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 90 }
|
||||
sink_2_14(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 92 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_2_15( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_15( A&); // { dg-message "note|argument" }
|
||||
five sink_2_15( A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_15()
|
||||
@ -90,15 +104,21 @@ int test2_15()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_15(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 106 }
|
||||
sink_2_15(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 108 }
|
||||
sink_2_15(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 110 }
|
||||
sink_2_15(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 112 }
|
||||
sink_2_15(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 114 }
|
||||
sink_2_15(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 116 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_2_16( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_16( A&); // { dg-message "note|argument" }
|
||||
six sink_2_16(const A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_16()
|
||||
@ -109,13 +129,17 @@ int test2_16()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_16(ca); // { dg-error "lvalue" }
|
||||
sink_2_16(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 131 }
|
||||
sink_2_16(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 133 }
|
||||
sink_2_16(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 135 }
|
||||
sink_2_16(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 137 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_2_17( A&); // { dg-message "candidates|argument" }
|
||||
one sink_2_17( A&); // { dg-message "note|argument" }
|
||||
seven sink_2_17(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_17()
|
||||
@ -125,10 +149,14 @@ int test2_17()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_17(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 151 }
|
||||
sink_2_17(va); // { dg-error "lvalue" }
|
||||
sink_2_17(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 154 }
|
||||
sink_2_17(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 156 }
|
||||
sink_2_17(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 158 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -146,7 +174,7 @@ int test2_18()
|
||||
sink_2_18(cva); // { dg-error "lvalue" }
|
||||
}
|
||||
|
||||
two sink_2_23(const A&); // { dg-message "candidates|argument" }
|
||||
two sink_2_23(const A&); // { dg-message "note|argument" }
|
||||
three sink_2_23(volatile A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_23()
|
||||
@ -156,13 +184,17 @@ int test2_23()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_23(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 186 }
|
||||
sink_2_23(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 188 }
|
||||
sink_2_23(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 190 }
|
||||
sink_2_23(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 192 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_2_24(const A&); // { dg-message "candidates|argument" }
|
||||
two sink_2_24(const A&); // { dg-message "note|argument" }
|
||||
four sink_2_24(const volatile A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_24()
|
||||
@ -172,11 +204,13 @@ int test2_24()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_24(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 206 }
|
||||
sink_2_24(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 208 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_2_34(volatile A&); // { dg-message "candidate" }
|
||||
three sink_2_34(volatile A&); // { dg-message "three sink_2_34|no known conversion" }
|
||||
four sink_2_34(const volatile A&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_34()
|
||||
@ -186,13 +220,17 @@ int test2_34()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_34(source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 222 }
|
||||
sink_2_34(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 224 }
|
||||
sink_2_34(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 226 }
|
||||
sink_2_34(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 228 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_2_25(const A&); // { dg-message "candidate" }
|
||||
two sink_2_25(const A&); // { dg-message "two sink_2_25|no known conversion" }
|
||||
five sink_2_25( A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_25()
|
||||
@ -202,13 +240,17 @@ int test2_25()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_25(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 242 }
|
||||
sink_2_25(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 244 }
|
||||
sink_2_25(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 246 }
|
||||
sink_2_25(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 248 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_2_26(const A&); // { dg-message "candidate" }
|
||||
two sink_2_26(const A&); // { dg-message "two sink_2_26|no known conversion" }
|
||||
six sink_2_26(const A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_26()
|
||||
@ -218,13 +260,17 @@ int test2_26()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_26(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 262 }
|
||||
sink_2_26(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 264 }
|
||||
sink_2_26(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 266 }
|
||||
sink_2_26(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 268 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_2_27(const A&); // { dg-message "candidate" }
|
||||
two sink_2_27(const A&); // { dg-message "two sink_2_27|no known conversion" }
|
||||
seven sink_2_27(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_27()
|
||||
@ -235,7 +281,9 @@ int test2_27()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_27(va); // { dg-error "lvalue" }
|
||||
sink_2_27(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 283 }
|
||||
sink_2_27(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 285 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -252,7 +300,7 @@ int test2_28()
|
||||
sink_2_28(cva); // { dg-error "lvalue" }
|
||||
}
|
||||
|
||||
three sink_2_35(volatile A&); // { dg-message "candidate" }
|
||||
three sink_2_35(volatile A&); // { dg-message "three sink_2_35|no known conversion" }
|
||||
five sink_2_35( A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_35()
|
||||
@ -262,14 +310,19 @@ int test2_35()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_35(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 312 }
|
||||
sink_2_35(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 314 }
|
||||
sink_2_35(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 316 }
|
||||
sink_2_35(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 318 }
|
||||
sink_2_35(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 320 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_2_36(volatile A&); // { dg-message "candidate" }
|
||||
three sink_2_36(volatile A&); // { dg-message "three sink_2_36|no known conversion" }
|
||||
six sink_2_36(const A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_36()
|
||||
@ -280,12 +333,15 @@ int test2_36()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_36(ca); // { dg-error "lvalue" }
|
||||
sink_2_36(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 335 }
|
||||
sink_2_36(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 337 }
|
||||
sink_2_36(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 339 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_2_37(volatile A&); // { dg-message "candidate" }
|
||||
three sink_2_37(volatile A&); // { dg-message "three sink_2_37|no known conversion" }
|
||||
seven sink_2_37(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_37()
|
||||
@ -295,9 +351,13 @@ int test2_37()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_37(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 353 }
|
||||
sink_2_37(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 355 }
|
||||
sink_2_37(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 357 }
|
||||
sink_2_37(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 359 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -314,7 +374,7 @@ int test2_38()
|
||||
sink_2_38(cva); // { dg-error "lvalue" }
|
||||
}
|
||||
|
||||
four sink_2_45(const volatile A&); // { dg-message "candidate" }
|
||||
four sink_2_45(const volatile A&); // { dg-message "note" }
|
||||
five sink_2_45( A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_45()
|
||||
@ -324,12 +384,15 @@ int test2_45()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_45(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 386 }
|
||||
sink_2_45(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 388 }
|
||||
sink_2_45(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 390 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_2_46(const volatile A&); // { dg-message "candidate" }
|
||||
four sink_2_46(const volatile A&); // { dg-message "note" }
|
||||
six sink_2_46(const A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_46()
|
||||
@ -339,11 +402,13 @@ int test2_46()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_46(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 404 }
|
||||
sink_2_46(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 406 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_2_47(const volatile A&); // { dg-message "candidate" }
|
||||
four sink_2_47(const volatile A&); // { dg-message "note" }
|
||||
seven sink_2_47(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_47()
|
||||
@ -353,11 +418,13 @@ int test2_47()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_47(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 420 }
|
||||
sink_2_47(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 422 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
five sink_2_56( A&&); // { dg-message "candidate|argument" }
|
||||
five sink_2_56( A&&); // { dg-message "note|argument" }
|
||||
six sink_2_56(const A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_56()
|
||||
@ -369,13 +436,17 @@ int test2_56()
|
||||
sink_2_56(a); // { dg-error "lvalue" }
|
||||
sink_2_56(ca); // { dg-error "lvalue" }
|
||||
sink_2_56(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 438 }
|
||||
sink_2_56(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 440 }
|
||||
sink_2_56(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 442 }
|
||||
sink_2_56(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 444 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
five sink_2_57( A&&); // { dg-message "candidate|argument" }
|
||||
five sink_2_57( A&&); // { dg-message "note|argument" }
|
||||
seven sink_2_57(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_57()
|
||||
@ -387,9 +458,13 @@ int test2_57()
|
||||
sink_2_57(a); // { dg-error "lvalue" }
|
||||
sink_2_57(va); // { dg-error "lvalue" }
|
||||
sink_2_57(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 460 }
|
||||
sink_2_57(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 462 }
|
||||
sink_2_57(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 464 }
|
||||
sink_2_57(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 466 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -408,7 +483,7 @@ int test2_58()
|
||||
sink_2_58(cva); // { dg-error "lvalue" }
|
||||
}
|
||||
|
||||
six sink_2_67(const A&&); // { dg-message "candidate|argument" }
|
||||
six sink_2_67(const A&&); // { dg-message "note|argument" }
|
||||
seven sink_2_67(volatile A&&); // { dg-message "note|argument" }
|
||||
|
||||
int test2_67()
|
||||
@ -418,11 +493,15 @@ int test2_67()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_2_67(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 495 }
|
||||
sink_2_67(ca); // { dg-error "lvalue" }
|
||||
sink_2_67(va); // { dg-error "lvalue" }
|
||||
sink_2_67(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 499 }
|
||||
sink_2_67(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 501 }
|
||||
sink_2_67(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 503 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,9 +30,9 @@ const volatile A cv_source();
|
||||
|
||||
// 3 at a time
|
||||
|
||||
one sink_3_123( A&); // { dg-message "candidates" }
|
||||
two sink_3_123(const A&); // { dg-message "note" }
|
||||
three sink_3_123(volatile A&); // { dg-message "note" }
|
||||
one sink_3_123( A&); // { dg-message "one sink_3_123|no known conversion" }
|
||||
two sink_3_123(const A&); // { dg-message "two sink_3_123|no known conversion" }
|
||||
three sink_3_123(volatile A&); // { dg-message "three sink_3_123|no known conversion" }
|
||||
|
||||
int test3_123()
|
||||
{
|
||||
@ -41,18 +41,21 @@ int test3_123()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_123(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 43 }
|
||||
sink_3_123(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 45 }
|
||||
sink_3_123(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 47 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_125( A&); // { dg-message "candidates" }
|
||||
two sink_3_125(const A&); // { dg-message "note" }
|
||||
five sink_3_125( A&&); // { dg-message "note" }
|
||||
one sink_3_125( A&); // { dg-message "one sink_3_125|no known conversion" }
|
||||
two sink_3_125(const A&); // { dg-message "two sink_3_125|no known conversion" }
|
||||
five sink_3_125( A&&); // { dg-message "five sink_3_125|no known conversion" }
|
||||
|
||||
one sink_3_124( A&); // { dg-message "candidates" }
|
||||
two sink_3_124(const A&); // { dg-message "note" }
|
||||
four sink_3_124(const volatile A&); // { dg-message "note" }
|
||||
one sink_3_124( A&); // { dg-message "one sink_3_124|no known conversion" }
|
||||
two sink_3_124(const A&); // { dg-message "two sink_3_124|no known conversion" }
|
||||
four sink_3_124(const volatile A&); // { dg-message "four sink_3_124|no known conversion" }
|
||||
|
||||
int test3_124()
|
||||
{
|
||||
@ -61,7 +64,9 @@ int test3_124()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_124(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
|
||||
sink_3_124(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 68 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -72,15 +77,19 @@ int test3_125()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_125(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 79 }
|
||||
sink_3_125(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 81 }
|
||||
sink_3_125(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 83 }
|
||||
sink_3_125(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 85 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_126( A&); // { dg-message "candidates" }
|
||||
two sink_3_126(const A&); // { dg-message "note" }
|
||||
six sink_3_126(const A&&); // { dg-message "note" }
|
||||
one sink_3_126( A&); // { dg-message "one sink_3_126|no known conversion" }
|
||||
two sink_3_126(const A&); // { dg-message "two sink_3_126|no known conversion" }
|
||||
six sink_3_126(const A&&); // { dg-message "six sink_3_126|no known conversion" }
|
||||
|
||||
int test3_126()
|
||||
{
|
||||
@ -89,15 +98,19 @@ int test3_126()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_126(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 100 }
|
||||
sink_3_126(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 102 }
|
||||
sink_3_126(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 104 }
|
||||
sink_3_126(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 106 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_127( A&); // { dg-message "candidates" }
|
||||
two sink_3_127(const A&); // { dg-message "note" }
|
||||
seven sink_3_127(volatile A&&); // { dg-message "" }
|
||||
one sink_3_127( A&); // { dg-message "one sink_3_127|no known conversion" }
|
||||
two sink_3_127(const A&); // { dg-message "two sink_3_127|no known conversion" }
|
||||
seven sink_3_127(volatile A&&); // { dg-message "seven sink_3_127|no known conversion" }
|
||||
|
||||
int test3_127()
|
||||
{
|
||||
@ -107,7 +120,9 @@ int test3_127()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_127(va); // { dg-error "lvalue" }
|
||||
sink_3_127(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 122 }
|
||||
sink_3_127(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 124 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -126,9 +141,9 @@ int test3_128()
|
||||
sink_3_128(cva); // { dg-error "lvalue" }
|
||||
}
|
||||
|
||||
one sink_3_134( A&); // { dg-message "candidates" }
|
||||
three sink_3_134(volatile A&); // { dg-message "note" }
|
||||
four sink_3_134(const volatile A&); // { dg-message "note" }
|
||||
one sink_3_134( A&); // { dg-message "one sink_3_134|no known conversion" }
|
||||
three sink_3_134(volatile A&); // { dg-message "three sink_3_134|no known conversion" }
|
||||
four sink_3_134(const volatile A&); // { dg-message "four sink_3_134|no known conversion" }
|
||||
|
||||
int test3_134()
|
||||
{
|
||||
@ -137,15 +152,19 @@ int test3_134()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_134(source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 154 }
|
||||
sink_3_134(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 156 }
|
||||
sink_3_134(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 158 }
|
||||
sink_3_134(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 160 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_135( A&); // { dg-message "candidates" }
|
||||
three sink_3_135(volatile A&); // { dg-message "note" }
|
||||
five sink_3_135( A&&); // { dg-message "note" }
|
||||
one sink_3_135( A&); // { dg-message "one sink_3_135|no known conversion" }
|
||||
three sink_3_135(volatile A&); // { dg-message "three sink_3_135|no known conversion" }
|
||||
five sink_3_135( A&&); // { dg-message "five sink_3_135|no known conversion" }
|
||||
|
||||
int test3_135()
|
||||
{
|
||||
@ -154,14 +173,19 @@ int test3_135()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_135(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 175 }
|
||||
sink_3_135(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 177 }
|
||||
sink_3_135(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 179 }
|
||||
sink_3_135(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 181 }
|
||||
sink_3_135(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 183 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_136( A&); // { dg-message "candidates" }
|
||||
one sink_3_136( A&); // { dg-message "one sink_3_136|no known conversion" }
|
||||
three sink_3_136(volatile A&); // { dg-message "note" }
|
||||
six sink_3_136(const A&&); // { dg-message "" }
|
||||
|
||||
@ -173,12 +197,15 @@ int test3_136()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_136(ca); // { dg-error "lvalue" }
|
||||
sink_3_136(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 199 }
|
||||
sink_3_136(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 201 }
|
||||
sink_3_136(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 203 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_137( A&); // { dg-message "candidates" }
|
||||
one sink_3_137( A&); // { dg-message "one sink_3_137|no known conversion" }
|
||||
three sink_3_137(volatile A&); // { dg-message "note" }
|
||||
seven sink_3_137(volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -189,9 +216,13 @@ int test3_137()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_137(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 218 }
|
||||
sink_3_137(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 220 }
|
||||
sink_3_137(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 222 }
|
||||
sink_3_137(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 224 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -210,7 +241,7 @@ int test3_138()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_145( A&); // { dg-message "candidates" }
|
||||
one sink_3_145( A&); // { dg-message "one sink_3_145|no known conversion" }
|
||||
four sink_3_145(const volatile A&); // { dg-message "note" }
|
||||
five sink_3_145( A&&); // { dg-message "note" }
|
||||
|
||||
@ -221,12 +252,15 @@ int test3_145()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_145(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 254 }
|
||||
sink_3_145(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 256 }
|
||||
sink_3_145(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 258 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_146( A&); // { dg-message "candidates" }
|
||||
one sink_3_146( A&); // { dg-message "one sink_3_146|no known conversion" }
|
||||
four sink_3_146(const volatile A&); // { dg-message "note" }
|
||||
six sink_3_146(const A&&); // { dg-message "note" }
|
||||
|
||||
@ -237,11 +271,13 @@ int test3_146()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_146(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 273 }
|
||||
sink_3_146(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 275 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_147( A&); // { dg-message "candidates" }
|
||||
one sink_3_147( A&); // { dg-message "one sink_3_147|no known conversion" }
|
||||
four sink_3_147(const volatile A&); // { dg-message "note" }
|
||||
seven sink_3_147(volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -252,11 +288,13 @@ int test3_147()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_147(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 290 }
|
||||
sink_3_147(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 292 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_156( A&); // { dg-message "candidates" }
|
||||
one sink_3_156( A&); // { dg-message "one sink_3_156|no known conversion" }
|
||||
five sink_3_156( A&&); // { dg-message "note" }
|
||||
six sink_3_156(const A&&); // { dg-message "" }
|
||||
|
||||
@ -268,13 +306,17 @@ int test3_156()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_156(ca); // { dg-error "lvalue" }
|
||||
sink_3_156(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 308 }
|
||||
sink_3_156(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 310 }
|
||||
sink_3_156(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 312 }
|
||||
sink_3_156(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 314 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_157( A&); // { dg-message "candidates" }
|
||||
one sink_3_157( A&); // { dg-message "one sink_3_157|no known conversion" }
|
||||
five sink_3_157( A&&); // { dg-message "note" }
|
||||
seven sink_3_157(volatile A&&); // { dg-message "" }
|
||||
|
||||
@ -285,10 +327,14 @@ int test3_157()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_157(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 329 }
|
||||
sink_3_157(va); // { dg-error "lvalue" }
|
||||
sink_3_157(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 332 }
|
||||
sink_3_157(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 334 }
|
||||
sink_3_157(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 336 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -308,7 +354,7 @@ int test3_158()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_3_167( A&); // { dg-message "candidates" }
|
||||
one sink_3_167( A&); // { dg-message "one sink_3_167|no known conversion" }
|
||||
six sink_3_167(const A&&); // { dg-message "" }
|
||||
seven sink_3_167(volatile A&&); // { dg-message "" }
|
||||
|
||||
@ -321,8 +367,11 @@ int test3_167()
|
||||
sink_3_167(ca); // { dg-error "lvalue" }
|
||||
sink_3_167(va); // { dg-error "lvalue" }
|
||||
sink_3_167(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 369 }
|
||||
sink_3_167(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 371 }
|
||||
sink_3_167(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 373 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -358,7 +407,7 @@ int test3_178()
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_234(const A&); // { dg-message "candidates" }
|
||||
two sink_3_234(const A&); // { dg-message "two sink_3_234|no known conversion" }
|
||||
three sink_3_234(volatile A&); // { dg-message "note" }
|
||||
four sink_3_234(const volatile A&); // { dg-message "note" }
|
||||
|
||||
@ -369,12 +418,15 @@ int test3_234()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_234(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 420 }
|
||||
sink_3_234(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 422 }
|
||||
sink_3_234(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 424 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_235(const A&); // { dg-message "candidates" }
|
||||
two sink_3_235(const A&); // { dg-message "two sink_3_235|no known conversion" }
|
||||
three sink_3_235(volatile A&); // { dg-message "note" }
|
||||
five sink_3_235( A&&); // { dg-message "note" }
|
||||
|
||||
@ -385,13 +437,17 @@ int test3_235()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_235(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 439 }
|
||||
sink_3_235(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 441 }
|
||||
sink_3_235(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 443 }
|
||||
sink_3_235(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 445 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_236(const A&); // { dg-message "candidates" }
|
||||
two sink_3_236(const A&); // { dg-message "two sink_3_236|no known conversion" }
|
||||
three sink_3_236(volatile A&); // { dg-message "note" }
|
||||
six sink_3_236(const A&&); // { dg-message "note" }
|
||||
|
||||
@ -402,13 +458,17 @@ int test3_236()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_236(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 460 }
|
||||
sink_3_236(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 462 }
|
||||
sink_3_236(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 464 }
|
||||
sink_3_236(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 466 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_237(const A&); // { dg-message "candidates" }
|
||||
two sink_3_237(const A&); // { dg-message "two sink_3_237|no known conversion" }
|
||||
three sink_3_237(volatile A&); // { dg-message "note" }
|
||||
seven sink_3_237(volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -419,14 +479,17 @@ int test3_237()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_237(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 481 }
|
||||
sink_3_237(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 483 }
|
||||
sink_3_237(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 485 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_238(const A&); // { dg-message "candidates" }
|
||||
three sink_3_238(volatile A&); // { dg-message "note" }
|
||||
eight sink_3_238(const volatile A&&); // { dg-message "" }
|
||||
two sink_3_238(const A&); // { dg-message "two sink_3_238|no known conversion" }
|
||||
three sink_3_238(volatile A&); // { dg-message "three sink_3_238|no known conversion" }
|
||||
eight sink_3_238(const volatile A&&); // { dg-message "eight sink_3_238|no known conversion" }
|
||||
|
||||
int test3_238()
|
||||
{
|
||||
@ -435,13 +498,14 @@ int test3_238()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_238(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 500 }
|
||||
sink_3_238(cva); // { dg-error "lvalue" }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_245(const A&); // { dg-message "candidates" }
|
||||
four sink_3_245(const volatile A&); // { dg-message "note" }
|
||||
five sink_3_245( A&&); // { dg-message "note" }
|
||||
two sink_3_245(const A&); // { dg-message "two sink_3_245|no known conversion" }
|
||||
four sink_3_245(const volatile A&); // { dg-message "four sink_3_245|no known conversion" }
|
||||
five sink_3_245( A&&); // { dg-message "five sink_3_245|no known conversion" }
|
||||
|
||||
int test3_245()
|
||||
{
|
||||
@ -450,13 +514,15 @@ int test3_245()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_245(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 516 }
|
||||
sink_3_245(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 518 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_246(const A&); // { dg-message "candidates" }
|
||||
four sink_3_246(const volatile A&); // { dg-message "note" }
|
||||
six sink_3_246(const A&&); // { dg-message "note" }
|
||||
two sink_3_246(const A&); // { dg-message "two sink_3_246|no known conversion" }
|
||||
four sink_3_246(const volatile A&); // { dg-message "four sink_3_246|no known conversion" }
|
||||
six sink_3_246(const A&&); // { dg-message "six sink_3_246|no known conversion" }
|
||||
|
||||
int test3_246()
|
||||
{
|
||||
@ -465,13 +531,15 @@ int test3_246()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_246(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 533 }
|
||||
sink_3_246(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 535 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_247(const A&); // { dg-message "candidates" }
|
||||
four sink_3_247(const volatile A&); // { dg-message "note" }
|
||||
seven sink_3_247(volatile A&&); // { dg-message "note" }
|
||||
two sink_3_247(const A&); // { dg-message "two sink_3_247|no known conversion" }
|
||||
four sink_3_247(const volatile A&); // { dg-message "four sink_3_247|no known conversion" }
|
||||
seven sink_3_247(volatile A&&); // { dg-message "seven sink_3_247|no known conversion" }
|
||||
|
||||
int test3_247()
|
||||
{
|
||||
@ -480,12 +548,13 @@ int test3_247()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_247(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 550 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_256(const A&); // { dg-message "candidates" }
|
||||
five sink_3_256( A&&); // { dg-message "note" }
|
||||
six sink_3_256(const A&&); // { dg-message "note" }
|
||||
two sink_3_256(const A&); // { dg-message "two sink_3_256|no known conversion" }
|
||||
five sink_3_256( A&&); // { dg-message "five sink_3_256|no known conversion" }
|
||||
six sink_3_256(const A&&); // { dg-message "six sink_3_256|no known conversion" }
|
||||
|
||||
int test3_256()
|
||||
{
|
||||
@ -494,15 +563,19 @@ int test3_256()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_256(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 565 }
|
||||
sink_3_256(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 567 }
|
||||
sink_3_256(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 569 }
|
||||
sink_3_256(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 571 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_257(const A&); // { dg-message "candidates" }
|
||||
five sink_3_257( A&&); // { dg-message "note" }
|
||||
seven sink_3_257(volatile A&&); // { dg-message "" }
|
||||
two sink_3_257(const A&); // { dg-message "two sink_3_257|no known conversion" }
|
||||
five sink_3_257( A&&); // { dg-message "five sink_3_257|no known conversion" }
|
||||
seven sink_3_257(volatile A&&); // { dg-message "seven sink_3_257|no known conversion" }
|
||||
|
||||
int test3_257()
|
||||
{
|
||||
@ -512,7 +585,9 @@ int test3_257()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_257(va); // { dg-error "lvalue" }
|
||||
sink_3_257(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 587 }
|
||||
sink_3_257(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 589 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -531,9 +606,9 @@ int test3_258()
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_3_267(const A&); // { dg-message "candidates" }
|
||||
six sink_3_267(const A&&); // { dg-message "note" }
|
||||
seven sink_3_267(volatile A&&); // { dg-message "" }
|
||||
two sink_3_267(const A&); // { dg-message "two sink_3_267|no known conversion" }
|
||||
six sink_3_267(const A&&); // { dg-message "six sink_3_267|no known conversion" }
|
||||
seven sink_3_267(volatile A&&); // { dg-message "seven sink_3_267|no known conversion" }
|
||||
|
||||
int test3_267()
|
||||
{
|
||||
@ -543,8 +618,11 @@ int test3_267()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_267(va); // { dg-error "lvalue" }
|
||||
sink_3_267(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 620 }
|
||||
sink_3_267(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 622 }
|
||||
sink_3_267(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 624 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -578,9 +656,9 @@ int test3_278()
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_345(volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_345(const volatile A&); // { dg-message "note" }
|
||||
five sink_3_345( A&&); // { dg-message "note" }
|
||||
three sink_3_345(volatile A&); // { dg-message "three sink_3_345|no known conversion" }
|
||||
four sink_3_345(const volatile A&); // { dg-message "four sink_3_345|no known conversion" }
|
||||
five sink_3_345( A&&); // { dg-message "five sink_3_345|no known conversion" }
|
||||
|
||||
int test3_345()
|
||||
{
|
||||
@ -589,14 +667,17 @@ int test3_345()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_345(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 669 }
|
||||
sink_3_345(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 671 }
|
||||
sink_3_345(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 673 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_346(volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_346(const volatile A&); // { dg-message "note" }
|
||||
six sink_3_346(const A&&); // { dg-message "note" }
|
||||
three sink_3_346(volatile A&); // { dg-message "three sink_3_346|no known conversion" }
|
||||
four sink_3_346(const volatile A&); // { dg-message "four sink_3_346|no known conversion" }
|
||||
six sink_3_346(const A&&); // { dg-message "six sink_3_346|no known conversion" }
|
||||
|
||||
int test3_346()
|
||||
{
|
||||
@ -605,13 +686,15 @@ int test3_346()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_346(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
|
||||
sink_3_346(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 690 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_347(volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_347(const volatile A&); // { dg-message "note" }
|
||||
seven sink_3_347(volatile A&&); // { dg-message "note" }
|
||||
three sink_3_347(volatile A&); // { dg-message "three sink_3_347|no known conversion" }
|
||||
four sink_3_347(const volatile A&); // { dg-message "four sink_3_347|no known conversion" }
|
||||
seven sink_3_347(volatile A&&); // { dg-message "seven sink_3_347|no known conversion" }
|
||||
|
||||
int test3_347()
|
||||
{
|
||||
@ -620,13 +703,15 @@ int test3_347()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_347(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 705 }
|
||||
sink_3_347(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 707 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_356(volatile A&); // { dg-message "candidates" }
|
||||
five sink_3_356( A&&); // { dg-message "note" }
|
||||
six sink_3_356(const A&&); // { dg-message "" }
|
||||
three sink_3_356(volatile A&); // { dg-message "three sink_3_356|no known conversion" }
|
||||
five sink_3_356( A&&); // { dg-message "five sink_3_356|no known conversion" }
|
||||
six sink_3_356(const A&&); // { dg-message "six sink_3_356|no known conversion" }
|
||||
|
||||
int test3_356()
|
||||
{
|
||||
@ -636,14 +721,17 @@ int test3_356()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_356(ca); // { dg-error "lvalue" }
|
||||
sink_3_356(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 723 }
|
||||
sink_3_356(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 725 }
|
||||
sink_3_356(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 727 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_357(volatile A&); // { dg-message "candidates" }
|
||||
five sink_3_357( A&&); // { dg-message "note" }
|
||||
seven sink_3_357(volatile A&&); // { dg-message "note" }
|
||||
three sink_3_357(volatile A&); // { dg-message "three sink_3_357|no known conversion" }
|
||||
five sink_3_357( A&&); // { dg-message "five sink_3_357|no known conversion" }
|
||||
seven sink_3_357(volatile A&&); // { dg-message "seven sink_3_357|no known conversion" }
|
||||
|
||||
int test3_357()
|
||||
{
|
||||
@ -652,9 +740,13 @@ int test3_357()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_357(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 742 }
|
||||
sink_3_357(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 744 }
|
||||
sink_3_357(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 746 }
|
||||
sink_3_357(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 748 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -673,9 +765,9 @@ int test3_358()
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_3_367(volatile A&); // { dg-message "candidates" }
|
||||
six sink_3_367(const A&&); // { dg-message "" }
|
||||
seven sink_3_367(volatile A&&); // { dg-message "note" }
|
||||
three sink_3_367(volatile A&); // { dg-message "three sink_3_367|no known conversion" }
|
||||
six sink_3_367(const A&&); // { dg-message "six sink_3_367|no known conversion" }
|
||||
seven sink_3_367(volatile A&&); // { dg-message "seven sink_3_367|no known conversion" }
|
||||
|
||||
int test3_367()
|
||||
{
|
||||
@ -685,8 +777,11 @@ int test3_367()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_367(ca); // { dg-error "lvalue" }
|
||||
sink_3_367(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 779 }
|
||||
sink_3_367(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 781 }
|
||||
sink_3_367(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 783 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -720,7 +815,7 @@ int test3_378()
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_3_456(const volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_456(const volatile A&); // { dg-message "note" }
|
||||
five sink_3_456( A&&); // { dg-message "note" }
|
||||
six sink_3_456(const A&&); // { dg-message "note" }
|
||||
|
||||
@ -731,11 +826,13 @@ int test3_456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 828 }
|
||||
sink_3_456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 830 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_3_457(const volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_457(const volatile A&); // { dg-message "note" }
|
||||
five sink_3_457( A&&); // { dg-message "note" }
|
||||
seven sink_3_457(volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -746,11 +843,13 @@ int test3_457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_457(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 845 }
|
||||
sink_3_457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 847 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_3_467(const volatile A&); // { dg-message "candidates" }
|
||||
four sink_3_467(const volatile A&); // { dg-message "note" }
|
||||
six sink_3_467(const A&&); // { dg-message "note" }
|
||||
seven sink_3_467(volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -761,13 +860,15 @@ int test3_467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 862 }
|
||||
sink_3_467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 864 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
five sink_3_567( A&&); // { dg-message "" }
|
||||
six sink_3_567(const A&&); // { dg-message "" }
|
||||
seven sink_3_567(volatile A&&); // { dg-message "" }
|
||||
five sink_3_567( A&&); // { dg-message "five sink_3_567|no known conversion" }
|
||||
six sink_3_567(const A&&); // { dg-message "six sink_3_567|no known conversion" }
|
||||
seven sink_3_567(volatile A&&); // { dg-message "seven sink_3_567|no known conversion" }
|
||||
|
||||
int test3_567()
|
||||
{
|
||||
@ -779,7 +880,9 @@ int test3_567()
|
||||
sink_3_567(ca); // { dg-error "lvalue" }
|
||||
sink_3_567(va); // { dg-error "lvalue" }
|
||||
sink_3_567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 882 }
|
||||
sink_3_567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 884 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -817,9 +920,9 @@ int test3_578()
|
||||
return 0;
|
||||
}
|
||||
|
||||
six sink_3_678(const A&&); // { dg-message "" }
|
||||
seven sink_3_678(volatile A&&); // { dg-message "" }
|
||||
eight sink_3_678(const volatile A&&); // { dg-message "" }
|
||||
six sink_3_678(const A&&); // { dg-message "six sink_3_678|no known conversion" }
|
||||
seven sink_3_678(volatile A&&); // { dg-message "seven sink_3_678|no known conversion" }
|
||||
eight sink_3_678(const volatile A&&); // { dg-message "eight sink_3_678|no known conversion" }
|
||||
|
||||
int test3_678()
|
||||
{
|
||||
@ -828,10 +931,12 @@ int test3_678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_3_678(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 933 }
|
||||
sink_3_678(ca); // { dg-error "lvalue" }
|
||||
sink_3_678(va); // { dg-error "lvalue" }
|
||||
sink_3_678(cva); // { dg-error "lvalue" }
|
||||
sink_3_678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 938 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ const volatile A cv_source();
|
||||
|
||||
// 4 at a time
|
||||
|
||||
one sink_4_1234( A&); // { dg-message "candidates" }
|
||||
one sink_4_1234( A&); // { dg-message "one sink_4_1234|no known conversion" }
|
||||
two sink_4_1234(const A&); // { dg-message "note" }
|
||||
three sink_4_1234(volatile A&); // { dg-message "note" }
|
||||
four sink_4_1234(const volatile A&); // { dg-message "note" }
|
||||
@ -42,11 +42,13 @@ int test4_1234()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1234(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 44 }
|
||||
sink_4_1234(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 46 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1235( A&); // { dg-message "candidates" }
|
||||
one sink_4_1235( A&); // { dg-message "one sink_4_1235|no known conversion" }
|
||||
two sink_4_1235(const A&); // { dg-message "note" }
|
||||
three sink_4_1235(volatile A&); // { dg-message "note" }
|
||||
five sink_4_1235( A&&); // { dg-message "note" }
|
||||
@ -58,12 +60,15 @@ int test4_1235()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1235(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 62 }
|
||||
sink_4_1235(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 64 }
|
||||
sink_4_1235(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1236( A&); // { dg-message "candidates" }
|
||||
one sink_4_1236( A&); // { dg-message "one sink_4_1236|no known conversion" }
|
||||
two sink_4_1236(const A&); // { dg-message "note" }
|
||||
three sink_4_1236(volatile A&); // { dg-message "note" }
|
||||
six sink_4_1236(const A&&); // { dg-message "note" }
|
||||
@ -75,12 +80,15 @@ int test4_1236()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1236(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 82 }
|
||||
sink_4_1236(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 84 }
|
||||
sink_4_1236(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 86 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1237( A&); // { dg-message "candidates" }
|
||||
one sink_4_1237( A&); // { dg-message "one sink_4_1237|no known conversion" }
|
||||
two sink_4_1237(const A&); // { dg-message "note" }
|
||||
three sink_4_1237(volatile A&); // { dg-message "note" }
|
||||
seven sink_4_1237(volatile A&&); // { dg-message "note" }
|
||||
@ -92,7 +100,9 @@ int test4_1237()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1237(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 102 }
|
||||
sink_4_1237(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 104 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -111,7 +121,7 @@ int test4_1238()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1245( A&); // { dg-message "candidates" }
|
||||
one sink_4_1245( A&); // { dg-message "one sink_4_1245|no known conversion" }
|
||||
two sink_4_1245(const A&); // { dg-message "note" }
|
||||
four sink_4_1245(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_1245( A&&); // { dg-message "note" }
|
||||
@ -123,11 +133,13 @@ int test4_1245()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1245(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 135 }
|
||||
sink_4_1245(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 137 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1246( A&); // { dg-message "candidates" }
|
||||
one sink_4_1246( A&); // { dg-message "one sink_4_1246|no known conversion" }
|
||||
two sink_4_1246(const A&); // { dg-message "note" }
|
||||
four sink_4_1246(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_1246(const A&&); // { dg-message "note" }
|
||||
@ -139,11 +151,13 @@ int test4_1246()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1246(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 153 }
|
||||
sink_4_1246(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 155 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1247( A&); // { dg-message "candidates" }
|
||||
one sink_4_1247( A&); // { dg-message "one sink_4_1247|no known conversion" }
|
||||
two sink_4_1247(const A&); // { dg-message "note" }
|
||||
four sink_4_1247(const volatile A&); // { dg-message "note" }
|
||||
seven sink_4_1247(volatile A&&); // { dg-message "note" }
|
||||
@ -155,10 +169,11 @@ int test4_1247()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1247(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 171 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1256( A&); // { dg-message "candidates" }
|
||||
one sink_4_1256( A&); // { dg-message "one sink_4_1256|no known conversion" }
|
||||
two sink_4_1256(const A&); // { dg-message "note" }
|
||||
five sink_4_1256( A&&); // { dg-message "note" }
|
||||
six sink_4_1256(const A&&); // { dg-message "note" }
|
||||
@ -170,13 +185,17 @@ int test4_1256()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1256(va); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 187 }
|
||||
sink_4_1256(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 189 }
|
||||
sink_4_1256(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 191 }
|
||||
sink_4_1256(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 193 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1257( A&); // { dg-message "candidates" }
|
||||
one sink_4_1257( A&); // { dg-message "one sink_4_1257|no known conversion" }
|
||||
two sink_4_1257(const A&); // { dg-message "note" }
|
||||
five sink_4_1257( A&&); // { dg-message "note" }
|
||||
seven sink_4_1257(volatile A&&); // { dg-message "" }
|
||||
@ -189,7 +208,9 @@ int test4_1257()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1257(va); // { dg-error "lvalue" }
|
||||
sink_4_1257(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 210 }
|
||||
sink_4_1257(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 212 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -209,7 +230,7 @@ int test4_1258()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1267( A&); // { dg-message "candidates" }
|
||||
one sink_4_1267( A&); // { dg-message "one sink_4_1267|no known conversion" }
|
||||
two sink_4_1267(const A&); // { dg-message "note" }
|
||||
six sink_4_1267(const A&&); // { dg-message "note" }
|
||||
seven sink_4_1267(volatile A&&); // { dg-message "" }
|
||||
@ -222,8 +243,11 @@ int test4_1267()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1267(va); // { dg-error "lvalue" }
|
||||
sink_4_1267(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 245 }
|
||||
sink_4_1267(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 247 }
|
||||
sink_4_1267(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 249 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -259,7 +283,7 @@ int test4_1278()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1345( A&); // { dg-message "candidates" }
|
||||
one sink_4_1345( A&); // { dg-message "one sink_4_1345|no known conversion" }
|
||||
three sink_4_1345(volatile A&); // { dg-message "note" }
|
||||
four sink_4_1345(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_1345( A&&); // { dg-message "note" }
|
||||
@ -271,12 +295,15 @@ int test4_1345()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1345(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 297 }
|
||||
sink_4_1345(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 299 }
|
||||
sink_4_1345(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 301 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1346( A&); // { dg-message "candidates" }
|
||||
one sink_4_1346( A&); // { dg-message "one sink_4_1346|no known conversion" }
|
||||
three sink_4_1346(volatile A&); // { dg-message "note" }
|
||||
four sink_4_1346(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_1346(const A&&); // { dg-message "note" }
|
||||
@ -288,11 +315,13 @@ int test4_1346()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1346(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 317 }
|
||||
sink_4_1346(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 319 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1347( A&); // { dg-message "candidates" }
|
||||
one sink_4_1347( A&); // { dg-message "one sink_4_1347|no known conversion" }
|
||||
three sink_4_1347(volatile A&); // { dg-message "note" }
|
||||
four sink_4_1347(const volatile A&); // { dg-message "note" }
|
||||
seven sink_4_1347(volatile A&&); // { dg-message "note" }
|
||||
@ -304,11 +333,13 @@ int test4_1347()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1347(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 335 }
|
||||
sink_4_1347(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 337 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1356( A&); // { dg-message "candidates" }
|
||||
one sink_4_1356( A&); // { dg-message "one sink_4_1356|no known conversion" }
|
||||
three sink_4_1356(volatile A&); // { dg-message "note" }
|
||||
five sink_4_1356( A&&); // { dg-message "note" }
|
||||
six sink_4_1356(const A&&); // { dg-message "" }
|
||||
@ -321,12 +352,15 @@ int test4_1356()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1356(ca); // { dg-error "lvalue" }
|
||||
sink_4_1356(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 354 }
|
||||
sink_4_1356(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 356 }
|
||||
sink_4_1356(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 358 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1357( A&); // { dg-message "candidates" }
|
||||
one sink_4_1357( A&); // { dg-message "one sink_4_1357|no known conversion" }
|
||||
three sink_4_1357(volatile A&); // { dg-message "note" }
|
||||
five sink_4_1357( A&&); // { dg-message "note" }
|
||||
seven sink_4_1357(volatile A&&); // { dg-message "note" }
|
||||
@ -338,9 +372,13 @@ int test4_1357()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1357(ca); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 374 }
|
||||
sink_4_1357(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 376 }
|
||||
sink_4_1357(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 378 }
|
||||
sink_4_1357(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 380 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -360,7 +398,7 @@ int test4_1358()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1367( A&); // { dg-message "candidates" }
|
||||
one sink_4_1367( A&); // { dg-message "one sink_4_1367|no known conversion" }
|
||||
three sink_4_1367(volatile A&); // { dg-message "note" }
|
||||
six sink_4_1367(const A&&); // { dg-message "" }
|
||||
seven sink_4_1367(volatile A&&); // { dg-message "note" }
|
||||
@ -373,8 +411,11 @@ int test4_1367()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1367(ca); // { dg-error "lvalue" }
|
||||
sink_4_1367(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 413 }
|
||||
sink_4_1367(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 415 }
|
||||
sink_4_1367(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 417 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -410,7 +451,7 @@ int test4_1378()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1456( A&); // { dg-message "candidates" }
|
||||
one sink_4_1456( A&); // { dg-message "one sink_4_1456|no known conversion" }
|
||||
four sink_4_1456(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_1456( A&&); // { dg-message "note" }
|
||||
six sink_4_1456(const A&&); // { dg-message "note" }
|
||||
@ -422,11 +463,13 @@ int test4_1456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 465 }
|
||||
sink_4_1456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 467 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1457( A&); // { dg-message "candidates" }
|
||||
one sink_4_1457( A&); // { dg-message "one sink_4_1457|no known conversion" }
|
||||
four sink_4_1457(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_1457( A&&); // { dg-message "note" }
|
||||
seven sink_4_1457(volatile A&&); // { dg-message "note" }
|
||||
@ -438,11 +481,13 @@ int test4_1457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1457(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 483 }
|
||||
sink_4_1457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 485 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1467( A&); // { dg-message "candidates" }
|
||||
one sink_4_1467( A&); // { dg-message "one sink_4_1467|no known conversion" }
|
||||
four sink_4_1467(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_1467(const A&&); // { dg-message "note" }
|
||||
seven sink_4_1467(volatile A&&); // { dg-message "note" }
|
||||
@ -454,11 +499,13 @@ int test4_1467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_1467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 501 }
|
||||
sink_4_1467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 503 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_4_1567( A&); // { dg-message "candidates" }
|
||||
one sink_4_1567( A&); // { dg-message "one sink_4_1567|no known conversion" }
|
||||
five sink_4_1567( A&&); // { dg-message "note" }
|
||||
six sink_4_1567(const A&&); // { dg-message "" }
|
||||
seven sink_4_1567(volatile A&&); // { dg-message "" }
|
||||
@ -472,7 +519,9 @@ int test4_1567()
|
||||
sink_4_1567(ca); // { dg-error "lvalue" }
|
||||
sink_4_1567(va); // { dg-error "lvalue" }
|
||||
sink_4_1567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 521 }
|
||||
sink_4_1567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 523 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -525,10 +574,11 @@ int test4_1678()
|
||||
sink_4_1678(va); // { dg-error "lvalue" }
|
||||
sink_4_1678(cva); // { dg-error "lvalue" }
|
||||
sink_4_1678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 576 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2345(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2345(const A&); // { dg-message "two sink_4_2345|no known conversion" }
|
||||
three sink_4_2345(volatile A&); // { dg-message "note" }
|
||||
four sink_4_2345(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_2345( A&&); // { dg-message "note" }
|
||||
@ -540,12 +590,15 @@ int test4_2345()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2345(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 592 }
|
||||
sink_4_2345(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 594 }
|
||||
sink_4_2345(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 596 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2346(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2346(const A&); // { dg-message "two sink_4_2346|no known conversion" }
|
||||
three sink_4_2346(volatile A&); // { dg-message "note" }
|
||||
four sink_4_2346(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_2346(const A&&); // { dg-message "note" }
|
||||
@ -557,12 +610,15 @@ int test4_2346()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2346(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 612 }
|
||||
sink_4_2346(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 614 }
|
||||
sink_4_2346(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 616 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2347(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2347(const A&); // { dg-message "two sink_4_2347|no known conversion" }
|
||||
three sink_4_2347(volatile A&); // { dg-message "note" }
|
||||
four sink_4_2347(const volatile A&); // { dg-message "note" }
|
||||
seven sink_4_2347(volatile A&&); // { dg-message "note" }
|
||||
@ -574,11 +630,13 @@ int test4_2347()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2347(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 632 }
|
||||
sink_4_2347(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 634 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2348(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2348(const A&); // { dg-message "note" }
|
||||
three sink_4_2348(volatile A&); // { dg-message "note" }
|
||||
four sink_4_2348(const volatile A&); // { dg-message "note" }
|
||||
eight sink_4_2348(const volatile A&&); // { dg-message "note" }
|
||||
@ -590,10 +648,11 @@ int test4_2348()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2348(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 650 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2356(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2356(const A&); // { dg-message "two sink_4_2356|no known conversion" }
|
||||
three sink_4_2356(volatile A&); // { dg-message "note" }
|
||||
five sink_4_2356( A&&); // { dg-message "note" }
|
||||
six sink_4_2356(const A&&); // { dg-message "note" }
|
||||
@ -605,13 +664,17 @@ int test4_2356()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2356(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 666 }
|
||||
sink_4_2356(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 668 }
|
||||
sink_4_2356(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 670 }
|
||||
sink_4_2356(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 672 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2357(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2357(const A&); // { dg-message "two sink_4_2357|no known conversion" }
|
||||
three sink_4_2357(volatile A&); // { dg-message "note" }
|
||||
five sink_4_2357( A&&); // { dg-message "note" }
|
||||
seven sink_4_2357(volatile A&&); // { dg-message "note" }
|
||||
@ -623,12 +686,15 @@ int test4_2357()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2357(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
|
||||
sink_4_2357(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 690 }
|
||||
sink_4_2357(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 692 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2358(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2358(const A&); // { dg-message "note" }
|
||||
three sink_4_2358(volatile A&); // { dg-message "note" }
|
||||
five sink_4_2358( A&&); // { dg-message "note" }
|
||||
eight sink_4_2358(const volatile A&&); // { dg-message "" }
|
||||
@ -640,11 +706,12 @@ int test4_2358()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2358(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 708 }
|
||||
sink_4_2358(cva); // { dg-error "lvalue" }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2367(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2367(const A&); // { dg-message "two sink_4_2367|no known conversion" }
|
||||
three sink_4_2367(volatile A&); // { dg-message "note" }
|
||||
six sink_4_2367(const A&&); // { dg-message "note" }
|
||||
seven sink_4_2367(volatile A&&); // { dg-message "note" }
|
||||
@ -656,13 +723,17 @@ int test4_2367()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2367(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 725 }
|
||||
sink_4_2367(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 727 }
|
||||
sink_4_2367(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 729 }
|
||||
sink_4_2367(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 731 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2368(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2368(const A&); // { dg-message "note" }
|
||||
three sink_4_2368(volatile A&); // { dg-message "note" }
|
||||
six sink_4_2368(const A&&); // { dg-message "note" }
|
||||
eight sink_4_2368(const volatile A&&); // { dg-message "" }
|
||||
@ -674,11 +745,12 @@ int test4_2368()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2368(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 747 }
|
||||
sink_4_2368(cva); // { dg-error "lvalue" }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2378(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2378(const A&); // { dg-message "note" }
|
||||
three sink_4_2378(volatile A&); // { dg-message "note" }
|
||||
seven sink_4_2378(volatile A&&); // { dg-message "note" }
|
||||
eight sink_4_2378(const volatile A&&); // { dg-message "" }
|
||||
@ -690,11 +762,12 @@ int test4_2378()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2378(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 764 }
|
||||
sink_4_2378(cva); // { dg-error "lvalue" }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2456(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2456(const A&); // { dg-message "two sink_4_2456|no known conversion" }
|
||||
four sink_4_2456(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_2456( A&&); // { dg-message "note" }
|
||||
six sink_4_2456(const A&&); // { dg-message "note" }
|
||||
@ -706,11 +779,13 @@ int test4_2456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 781 }
|
||||
sink_4_2456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 783 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2457(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2457(const A&); // { dg-message "two sink_4_2457|no known conversion" }
|
||||
four sink_4_2457(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_2457( A&&); // { dg-message "note" }
|
||||
seven sink_4_2457(volatile A&&); // { dg-message "note" }
|
||||
@ -722,10 +797,11 @@ int test4_2457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 799 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2467(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2467(const A&); // { dg-message "two sink_4_2467|no known conversion" }
|
||||
four sink_4_2467(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_2467(const A&&); // { dg-message "note" }
|
||||
seven sink_4_2467(volatile A&&); // { dg-message "note" }
|
||||
@ -737,11 +813,13 @@ int test4_2467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 815 }
|
||||
sink_4_2467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 817 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2567(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2567(const A&); // { dg-message "two sink_4_2567|no known conversion" }
|
||||
five sink_4_2567( A&&); // { dg-message "note" }
|
||||
six sink_4_2567(const A&&); // { dg-message "note" }
|
||||
seven sink_4_2567(volatile A&&); // { dg-message "" }
|
||||
@ -754,7 +832,9 @@ int test4_2567()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_2567(va); // { dg-error "lvalue" }
|
||||
sink_4_2567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 834 }
|
||||
sink_4_2567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 836 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -790,7 +870,7 @@ int test4_2578()
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_4_2678(const A&); // { dg-message "candidates" }
|
||||
two sink_4_2678(const A&); // { dg-message "note" }
|
||||
six sink_4_2678(const A&&); // { dg-message "note" }
|
||||
seven sink_4_2678(volatile A&&); // { dg-message "" }
|
||||
eight sink_4_2678(const volatile A&&); // { dg-message "" }
|
||||
@ -804,10 +884,11 @@ int test4_2678()
|
||||
sink_4_2678(va); // { dg-error "lvalue" }
|
||||
sink_4_2678(cva); // { dg-error "lvalue" }
|
||||
sink_4_2678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 886 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_4_3456(volatile A&); // { dg-message "candidates" }
|
||||
three sink_4_3456(volatile A&); // { dg-message "three sink_4_3456|no known conversion" }
|
||||
four sink_4_3456(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_3456( A&&); // { dg-message "note" }
|
||||
six sink_4_3456(const A&&); // { dg-message "note" }
|
||||
@ -819,11 +900,13 @@ int test4_3456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_3456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 902 }
|
||||
sink_4_3456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 904 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_4_3457(volatile A&); // { dg-message "candidates" }
|
||||
three sink_4_3457(volatile A&); // { dg-message "three sink_4_3457|no known conversion" }
|
||||
four sink_4_3457(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_3457( A&&); // { dg-message "note" }
|
||||
seven sink_4_3457(volatile A&&); // { dg-message "note" }
|
||||
@ -835,11 +918,13 @@ int test4_3457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_3457(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 920 }
|
||||
sink_4_3457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 922 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_4_3467(volatile A&); // { dg-message "candidates" }
|
||||
three sink_4_3467(volatile A&); // { dg-message "three sink_4_3467|no known conversion" }
|
||||
four sink_4_3467(const volatile A&); // { dg-message "note" }
|
||||
six sink_4_3467(const A&&); // { dg-message "note" }
|
||||
seven sink_4_3467(volatile A&&); // { dg-message "note" }
|
||||
@ -851,11 +936,13 @@ int test4_3467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_3467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 938 }
|
||||
sink_4_3467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 940 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_4_3567(volatile A&); // { dg-message "candidates" }
|
||||
three sink_4_3567(volatile A&); // { dg-message "three sink_4_3567|no known conversion" }
|
||||
five sink_4_3567( A&&); // { dg-message "note" }
|
||||
six sink_4_3567(const A&&); // { dg-message "" }
|
||||
seven sink_4_3567(volatile A&&); // { dg-message "note" }
|
||||
@ -868,7 +955,9 @@ int test4_3567()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_3567(ca); // { dg-error "lvalue" }
|
||||
sink_4_3567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 957 }
|
||||
sink_4_3567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 959 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -918,10 +1007,11 @@ int test4_3678()
|
||||
sink_4_3678(ca); // { dg-error "lvalue" }
|
||||
sink_4_3678(cva); // { dg-error "lvalue" }
|
||||
sink_4_3678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 1009 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_4_4567(const volatile A&); // { dg-message "candidates" }
|
||||
four sink_4_4567(const volatile A&); // { dg-message "note" }
|
||||
five sink_4_4567( A&&); // { dg-message "note" }
|
||||
six sink_4_4567(const A&&); // { dg-message "note" }
|
||||
seven sink_4_4567(volatile A&&); // { dg-message "note" }
|
||||
@ -933,11 +1023,12 @@ int test4_4567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_4567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 1025 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
four sink_4_4678(const volatile A&);
|
||||
six sink_4_4678(const A&&); // { dg-message "candidates" }
|
||||
six sink_4_4678(const A&&); // { dg-message "note" }
|
||||
seven sink_4_4678(volatile A&&); // { dg-message "note" }
|
||||
eight sink_4_4678(const volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -948,6 +1039,7 @@ int test4_4678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_4_4678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 1041 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ const volatile A cv_source();
|
||||
|
||||
// 5 at a time
|
||||
|
||||
one sink_5_12345( A&); // { dg-message "candidates" }
|
||||
one sink_5_12345( A&); // { dg-message "one sink_5_12345|no known conversion" }
|
||||
two sink_5_12345(const A&); // { dg-message "note" }
|
||||
three sink_5_12345(volatile A&); // { dg-message "note" }
|
||||
four sink_5_12345(const volatile A&); // { dg-message "note" }
|
||||
@ -43,11 +43,13 @@ int test5_12345()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12345(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 45 }
|
||||
sink_5_12345(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 47 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12346( A&); // { dg-message "candidates" }
|
||||
one sink_5_12346( A&); // { dg-message "one sink_5_12346|no known conversion" }
|
||||
two sink_5_12346(const A&); // { dg-message "note" }
|
||||
three sink_5_12346(volatile A&); // { dg-message "note" }
|
||||
four sink_5_12346(const volatile A&); // { dg-message "note" }
|
||||
@ -60,11 +62,13 @@ int test5_12346()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12346(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 64 }
|
||||
sink_5_12346(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12347( A&); // { dg-message "candidates" }
|
||||
one sink_5_12347( A&); // { dg-message "one sink_5_12347|no known conversion" }
|
||||
two sink_5_12347(const A&); // { dg-message "note" }
|
||||
three sink_5_12347(volatile A&); // { dg-message "note" }
|
||||
four sink_5_12347(const volatile A&); // { dg-message "note" }
|
||||
@ -77,10 +81,11 @@ int test5_12347()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12347(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 83 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12356( A&); // { dg-message "candidates" }
|
||||
one sink_5_12356( A&); // { dg-message "one sink_5_12356|no known conversion" }
|
||||
two sink_5_12356(const A&); // { dg-message "note" }
|
||||
three sink_5_12356(volatile A&); // { dg-message "note" }
|
||||
five sink_5_12356( A&&); // { dg-message "note" }
|
||||
@ -93,12 +98,15 @@ int test5_12356()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12356(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 100 }
|
||||
sink_5_12356(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 102 }
|
||||
sink_5_12356(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 104 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12357( A&); // { dg-message "candidates" }
|
||||
one sink_5_12357( A&); // { dg-message "one sink_5_12357|no known conversion" }
|
||||
two sink_5_12357(const A&); // { dg-message "note" }
|
||||
three sink_5_12357(volatile A&); // { dg-message "note" }
|
||||
five sink_5_12357( A&&); // { dg-message "note" }
|
||||
@ -111,7 +119,9 @@ int test5_12357()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12357(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 121 }
|
||||
sink_5_12357(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 123 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -131,7 +141,7 @@ int test5_12358()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12367( A&); // { dg-message "candidates" }
|
||||
one sink_5_12367( A&); // { dg-message "one sink_5_12367|no known conversion" }
|
||||
two sink_5_12367(const A&); // { dg-message "note" }
|
||||
three sink_5_12367(volatile A&); // { dg-message "note" }
|
||||
six sink_5_12367(const A&&); // { dg-message "note" }
|
||||
@ -144,8 +154,11 @@ int test5_12367()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12367(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 156 }
|
||||
sink_5_12367(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 158 }
|
||||
sink_5_12367(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 160 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -181,7 +194,7 @@ int test5_12378()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12456( A&); // { dg-message "candidates" }
|
||||
one sink_5_12456( A&); // { dg-message "one sink_5_12456|no known conversion" }
|
||||
two sink_5_12456(const A&); // { dg-message "note" }
|
||||
four sink_5_12456(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_12456( A&&); // { dg-message "note" }
|
||||
@ -194,11 +207,13 @@ int test5_12456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 209 }
|
||||
sink_5_12456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 211 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12457( A&); // { dg-message "candidates" }
|
||||
one sink_5_12457( A&); // { dg-message "one sink_5_12457|no known conversion" }
|
||||
two sink_5_12457(const A&); // { dg-message "note" }
|
||||
four sink_5_12457(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_12457( A&&); // { dg-message "note" }
|
||||
@ -211,10 +226,11 @@ int test5_12457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 228 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12467( A&); // { dg-message "candidates" }
|
||||
one sink_5_12467( A&); // { dg-message "one sink_5_12467|no known conversion" }
|
||||
two sink_5_12467(const A&); // { dg-message "note" }
|
||||
four sink_5_12467(const volatile A&); // { dg-message "note" }
|
||||
six sink_5_12467(const A&&); // { dg-message "note" }
|
||||
@ -227,11 +243,13 @@ int test5_12467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 245 }
|
||||
sink_5_12467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 247 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_12567( A&); // { dg-message "candidates" }
|
||||
one sink_5_12567( A&); // { dg-message "one sink_5_12567|no known conversion" }
|
||||
two sink_5_12567(const A&); // { dg-message "note" }
|
||||
five sink_5_12567( A&&); // { dg-message "note" }
|
||||
six sink_5_12567(const A&&); // { dg-message "note" }
|
||||
@ -245,7 +263,9 @@ int test5_12567()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_12567(va); // { dg-error "lvalue" }
|
||||
sink_5_12567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 265 }
|
||||
sink_5_12567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 267 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -284,7 +304,7 @@ int test5_12578()
|
||||
}
|
||||
|
||||
one sink_5_12678( A&);
|
||||
two sink_5_12678(const A&); // { dg-message "candidates" }
|
||||
two sink_5_12678(const A&); // { dg-message "note" }
|
||||
six sink_5_12678(const A&&); // { dg-message "note" }
|
||||
seven sink_5_12678(volatile A&&); // { dg-message "" }
|
||||
eight sink_5_12678(const volatile A&&); // { dg-message "" }
|
||||
@ -298,10 +318,11 @@ int test5_12678()
|
||||
sink_5_12678(va); // { dg-error "lvalue" }
|
||||
sink_5_12678(cva); // { dg-error "lvalue" }
|
||||
sink_5_12678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 320 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_13456( A&); // { dg-message "candidates" }
|
||||
one sink_5_13456( A&); // { dg-message "one sink_5_13456|no known conversion" }
|
||||
three sink_5_13456(volatile A&); // { dg-message "note" }
|
||||
four sink_5_13456(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_13456( A&&); // { dg-message "note" }
|
||||
@ -314,11 +335,13 @@ int test5_13456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_13456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 337 }
|
||||
sink_5_13456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 339 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_13457( A&); // { dg-message "candidates" }
|
||||
one sink_5_13457( A&); // { dg-message "one sink_5_13457|no known conversion" }
|
||||
three sink_5_13457(volatile A&); // { dg-message "note" }
|
||||
four sink_5_13457(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_13457( A&&); // { dg-message "note" }
|
||||
@ -331,11 +354,13 @@ int test5_13457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_13457(c_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 356 }
|
||||
sink_5_13457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 358 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_13467( A&); // { dg-message "candidates" }
|
||||
one sink_5_13467( A&); // { dg-message "one sink_5_13467|no known conversion" }
|
||||
three sink_5_13467(volatile A&); // { dg-message "note" }
|
||||
four sink_5_13467(const volatile A&); // { dg-message "note" }
|
||||
six sink_5_13467(const A&&); // { dg-message "note" }
|
||||
@ -348,11 +373,13 @@ int test5_13467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_13467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 375 }
|
||||
sink_5_13467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 377 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_13567( A&); // { dg-message "candidates" }
|
||||
one sink_5_13567( A&); // { dg-message "one sink_5_13567|no known conversion" }
|
||||
three sink_5_13567(volatile A&); // { dg-message "note" }
|
||||
five sink_5_13567( A&&); // { dg-message "note" }
|
||||
six sink_5_13567(const A&&); // { dg-message "" }
|
||||
@ -366,7 +393,9 @@ int test5_13567()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_13567(ca); // { dg-error "lvalue" }
|
||||
sink_5_13567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 395 }
|
||||
sink_5_13567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 397 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -419,10 +448,11 @@ int test5_13678()
|
||||
sink_5_13678(ca); // { dg-error "lvalue" }
|
||||
sink_5_13678(cva); // { dg-error "lvalue" }
|
||||
sink_5_13678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 450 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_14567( A&); // { dg-message "candidates" }
|
||||
one sink_5_14567( A&); // { dg-message "one sink_5_14567|no known conversion" }
|
||||
four sink_5_14567(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_14567( A&&); // { dg-message "note" }
|
||||
six sink_5_14567(const A&&); // { dg-message "note" }
|
||||
@ -435,12 +465,13 @@ int test5_14567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_14567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 467 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_5_14678( A&);
|
||||
four sink_5_14678(const volatile A&);
|
||||
six sink_5_14678(const A&&); // { dg-message "candidates" }
|
||||
six sink_5_14678(const A&&); // { dg-message "note" }
|
||||
seven sink_5_14678(volatile A&&); // { dg-message "note" }
|
||||
eight sink_5_14678(const volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -451,6 +482,7 @@ int test5_14678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_14678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 484 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -472,7 +504,7 @@ int test5_15678()
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23456(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23456(const A&); // { dg-message "two sink_5_23456|no known conversion" }
|
||||
three sink_5_23456(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23456(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_23456( A&&); // { dg-message "note" }
|
||||
@ -485,12 +517,15 @@ int test5_23456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23456(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 519 }
|
||||
sink_5_23456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 521 }
|
||||
sink_5_23456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 523 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23457(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23457(const A&); // { dg-message "two sink_5_23457|no known conversion" }
|
||||
three sink_5_23457(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23457(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_23457( A&&); // { dg-message "note" }
|
||||
@ -503,11 +538,13 @@ int test5_23457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23457(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 540 }
|
||||
sink_5_23457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 542 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23458(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23458(const A&); // { dg-message "note" }
|
||||
three sink_5_23458(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23458(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_23458( A&&); // { dg-message "note" }
|
||||
@ -520,10 +557,11 @@ int test5_23458()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23458(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 559 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23467(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23467(const A&); // { dg-message "two sink_5_23467|no known conversion" }
|
||||
three sink_5_23467(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23467(const volatile A&); // { dg-message "note" }
|
||||
six sink_5_23467(const A&&); // { dg-message "note" }
|
||||
@ -536,12 +574,15 @@ int test5_23467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23467(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 576 }
|
||||
sink_5_23467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 578 }
|
||||
sink_5_23467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 580 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23468(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23468(const A&); // { dg-message "note" }
|
||||
three sink_5_23468(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23468(const volatile A&); // { dg-message "note" }
|
||||
six sink_5_23468(const A&&); // { dg-message "note" }
|
||||
@ -554,10 +595,11 @@ int test5_23468()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23468(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 597 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23478(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23478(const A&); // { dg-message "note" }
|
||||
three sink_5_23478(volatile A&); // { dg-message "note" }
|
||||
four sink_5_23478(const volatile A&); // { dg-message "note" }
|
||||
seven sink_5_23478(volatile A&&); // { dg-message "note" }
|
||||
@ -570,10 +612,11 @@ int test5_23478()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23478(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 614 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23567(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23567(const A&); // { dg-message "two sink_5_23567|no known conversion" }
|
||||
three sink_5_23567(volatile A&); // { dg-message "note" }
|
||||
five sink_5_23567( A&&); // { dg-message "note" }
|
||||
six sink_5_23567(const A&&); // { dg-message "note" }
|
||||
@ -586,12 +629,15 @@ int test5_23567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23567(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 631 }
|
||||
sink_5_23567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 633 }
|
||||
sink_5_23567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 635 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23568(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23568(const A&); // { dg-message "note" }
|
||||
three sink_5_23568(volatile A&); // { dg-message "note" }
|
||||
five sink_5_23568( A&&); // { dg-message "note" }
|
||||
six sink_5_23568(const A&&); // { dg-message "note" }
|
||||
@ -605,10 +651,11 @@ int test5_23568()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23568(cva); // { dg-error "lvalue" }
|
||||
sink_5_23568(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 653 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23578(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23578(const A&); // { dg-message "note" }
|
||||
three sink_5_23578(volatile A&); // { dg-message "note" }
|
||||
five sink_5_23578( A&&); // { dg-message "note" }
|
||||
seven sink_5_23578(volatile A&&); // { dg-message "note" }
|
||||
@ -622,10 +669,11 @@ int test5_23578()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23578(cva); // { dg-error "lvalue" }
|
||||
sink_5_23578(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 671 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_23678(const A&); // { dg-message "candidates" }
|
||||
two sink_5_23678(const A&); // { dg-message "note" }
|
||||
three sink_5_23678(volatile A&); // { dg-message "note" }
|
||||
six sink_5_23678(const A&&); // { dg-message "note" }
|
||||
seven sink_5_23678(volatile A&&); // { dg-message "note" }
|
||||
@ -638,12 +686,14 @@ int test5_23678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_23678(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 688 }
|
||||
sink_5_23678(cva); // { dg-error "lvalue" }
|
||||
sink_5_23678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 691 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_24567(const A&); // { dg-message "candidates" }
|
||||
two sink_5_24567(const A&); // { dg-message "two sink_5_24567|no known conversion" }
|
||||
four sink_5_24567(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_24567( A&&); // { dg-message "note" }
|
||||
six sink_5_24567(const A&&); // { dg-message "note" }
|
||||
@ -656,10 +706,11 @@ int test5_24567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_24567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 708 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_5_24678(const A&); // { dg-message "candidates" }
|
||||
two sink_5_24678(const A&); // { dg-message "note" }
|
||||
four sink_5_24678(const volatile A&);
|
||||
six sink_5_24678(const A&&); // { dg-message "note" }
|
||||
seven sink_5_24678(volatile A&&); // { dg-message "note" }
|
||||
@ -672,6 +723,7 @@ int test5_24678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_24678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 725 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -692,7 +744,7 @@ int test5_25678()
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_5_34567(volatile A&); // { dg-message "candidates" }
|
||||
three sink_5_34567(volatile A&); // { dg-message "three sink_5_34567|no known conversion" }
|
||||
four sink_5_34567(const volatile A&); // { dg-message "note" }
|
||||
five sink_5_34567( A&&); // { dg-message "note" }
|
||||
six sink_5_34567(const A&&); // { dg-message "note" }
|
||||
@ -705,12 +757,13 @@ int test5_34567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_34567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 759 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
three sink_5_34678(volatile A&);
|
||||
four sink_5_34678(const volatile A&);
|
||||
six sink_5_34678(const A&&); // { dg-message "candidates" }
|
||||
six sink_5_34678(const A&&); // { dg-message "note" }
|
||||
seven sink_5_34678(volatile A&&); // { dg-message "note" }
|
||||
eight sink_5_34678(const volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -721,6 +774,7 @@ int test5_34678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_5_34678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 776 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ const volatile A cv_source();
|
||||
|
||||
// 6 at a time
|
||||
|
||||
one sink_6_123456( A&); // { dg-message "candidates" }
|
||||
one sink_6_123456( A&); // { dg-message "one sink_6_123456|no known conversion" }
|
||||
two sink_6_123456(const A&); // { dg-message "note" }
|
||||
three sink_6_123456(volatile A&); // { dg-message "note" }
|
||||
four sink_6_123456(const volatile A&); // { dg-message "note" }
|
||||
@ -44,11 +44,13 @@ int test6_123456()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_123456(v_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 46 }
|
||||
sink_6_123456(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 48 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_123457( A&); // { dg-message "candidates" }
|
||||
one sink_6_123457( A&); // { dg-message "one sink_6_123457|no known conversion" }
|
||||
two sink_6_123457(const A&); // { dg-message "note" }
|
||||
three sink_6_123457(volatile A&); // { dg-message "note" }
|
||||
four sink_6_123457(const volatile A&); // { dg-message "note" }
|
||||
@ -62,10 +64,11 @@ int test6_123457()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_123457(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 66 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_6_235678(const A&); // { dg-message "candidates" }
|
||||
two sink_6_235678(const A&); // { dg-message "note" }
|
||||
three sink_6_235678(volatile A&); // { dg-message "note" }
|
||||
five sink_6_235678( A&&); // { dg-message "note" }
|
||||
six sink_6_235678(const A&&); // { dg-message "note" }
|
||||
@ -79,11 +82,12 @@ int test6_235678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_235678(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 84 }
|
||||
sink_6_235678(cva); // { dg-error "lvalue" }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_6_234678(const A&); // { dg-message "candidates" }
|
||||
two sink_6_234678(const A&); // { dg-message "note" }
|
||||
three sink_6_234678(volatile A&); // { dg-message "note" }
|
||||
four sink_6_234678(const volatile A&); // { dg-message "note" }
|
||||
six sink_6_234678(const A&&); // { dg-message "note" }
|
||||
@ -97,11 +101,13 @@ int test6_234678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_234678(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 103 }
|
||||
sink_6_234678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 105 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_6_234578(const A&); // { dg-message "candidates" }
|
||||
two sink_6_234578(const A&); // { dg-message "note" }
|
||||
three sink_6_234578(volatile A&); // { dg-message "note" }
|
||||
four sink_6_234578(const volatile A&); // { dg-message "note" }
|
||||
five sink_6_234578( A&&); // { dg-message "note" }
|
||||
@ -115,10 +121,11 @@ int test6_234578()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_234578(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 123 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_6_234568(const A&); // { dg-message "candidates" }
|
||||
two sink_6_234568(const A&); // { dg-message "note" }
|
||||
three sink_6_234568(volatile A&); // { dg-message "note" }
|
||||
four sink_6_234568(const volatile A&); // { dg-message "note" }
|
||||
five sink_6_234568( A&&); // { dg-message "note" }
|
||||
@ -132,10 +139,11 @@ int test6_234568()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_234568(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 141 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_6_234567(const A&); // { dg-message "candidates" }
|
||||
two sink_6_234567(const A&); // { dg-message "two sink_6_234567|no known conversion" }
|
||||
three sink_6_234567(volatile A&); // { dg-message "note" }
|
||||
four sink_6_234567(const volatile A&); // { dg-message "note" }
|
||||
five sink_6_234567( A&&); // { dg-message "note" }
|
||||
@ -149,14 +157,16 @@ int test6_234567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_234567(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 159 }
|
||||
sink_6_234567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 161 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_134678( A&);
|
||||
three sink_6_134678(volatile A&);
|
||||
four sink_6_134678(const volatile A&);
|
||||
six sink_6_134678(const A&&); // { dg-message "candidates" }
|
||||
six sink_6_134678(const A&&); // { dg-message "note" }
|
||||
seven sink_6_134678(volatile A&&); // { dg-message "note" }
|
||||
eight sink_6_134678(const volatile A&&); // { dg-message "note" }
|
||||
|
||||
@ -167,11 +177,12 @@ int test6_134678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_134678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 179 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_124678( A&);
|
||||
two sink_6_124678(const A&); // { dg-message "candidates" }
|
||||
two sink_6_124678(const A&); // { dg-message "note" }
|
||||
four sink_6_124678(const volatile A&);
|
||||
six sink_6_124678(const A&&); // { dg-message "note" }
|
||||
seven sink_6_124678(volatile A&&); // { dg-message "note" }
|
||||
@ -184,11 +195,12 @@ int test6_124678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_124678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 197 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_123678( A&);
|
||||
two sink_6_123678(const A&); // { dg-message "candidates" }
|
||||
two sink_6_123678(const A&); // { dg-message "note" }
|
||||
three sink_6_123678(volatile A&);
|
||||
six sink_6_123678(const A&&); // { dg-message "note" }
|
||||
seven sink_6_123678(volatile A&&); // { dg-message "note" }
|
||||
@ -202,10 +214,11 @@ int test6_123678()
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_123678(cva); // { dg-error "lvalue" }
|
||||
sink_6_123678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 216 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_123567( A&); // { dg-message "candidates" }
|
||||
one sink_6_123567( A&); // { dg-message "one sink_6_123567|no known conversion" }
|
||||
two sink_6_123567(const A&); // { dg-message "note" }
|
||||
three sink_6_123567(volatile A&); // { dg-message "note" }
|
||||
five sink_6_123567( A&&); // { dg-message "note" }
|
||||
@ -219,7 +232,9 @@ int test6_123567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_123567(cva); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 234 }
|
||||
sink_6_123567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 236 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -257,7 +272,7 @@ int test6_123578()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_123467( A&); // { dg-message "candidates" }
|
||||
one sink_6_123467( A&); // { dg-message "one sink_6_123467|no known conversion" }
|
||||
two sink_6_123467(const A&); // { dg-message "note" }
|
||||
three sink_6_123467(volatile A&); // { dg-message "note" }
|
||||
four sink_6_123467(const volatile A&); // { dg-message "note" }
|
||||
@ -271,11 +286,13 @@ int test6_123467()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_123467(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 288 }
|
||||
sink_6_123467(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 290 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_124567( A&); // { dg-message "candidates" }
|
||||
one sink_6_124567( A&); // { dg-message "one sink_6_124567|no known conversion" }
|
||||
two sink_6_124567(const A&); // { dg-message "note" }
|
||||
four sink_6_124567(const volatile A&); // { dg-message "note" }
|
||||
five sink_6_124567( A&&); // { dg-message "note" }
|
||||
@ -289,6 +306,7 @@ int test6_124567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_124567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 308 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -310,7 +328,7 @@ int test6_125678()
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_6_134567( A&); // { dg-message "candidates" }
|
||||
one sink_6_134567( A&); // { dg-message "one sink_6_134567|no known conversion" }
|
||||
three sink_6_134567(volatile A&); // { dg-message "note" }
|
||||
four sink_6_134567(const volatile A&); // { dg-message "note" }
|
||||
five sink_6_134567( A&&); // { dg-message "note" }
|
||||
@ -324,6 +342,7 @@ int test6_134567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_6_134567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 344 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ const volatile A cv_source();
|
||||
|
||||
// 7 at a time
|
||||
|
||||
one sink_7_1234567( A&); // { dg-message "candidates" }
|
||||
one sink_7_1234567( A&); // { dg-message "one sink_7_1234567|no known conversion" }
|
||||
two sink_7_1234567(const A&); // { dg-message "note" }
|
||||
three sink_7_1234567(volatile A&); // { dg-message "note" }
|
||||
four sink_7_1234567(const volatile A&); // { dg-message "note" }
|
||||
@ -45,6 +45,7 @@ int test7_1234567()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_7_1234567(cv_source()); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 47 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -66,7 +67,7 @@ int test7_1235678()
|
||||
return 0;
|
||||
}
|
||||
|
||||
two sink_7_2345678(const A&); // { dg-message "candidates" }
|
||||
two sink_7_2345678(const A&); // { dg-message "note" }
|
||||
three sink_7_2345678(volatile A&); // { dg-message "note" }
|
||||
four sink_7_2345678(const volatile A&); // { dg-message "note" }
|
||||
five sink_7_2345678( A&&); // { dg-message "note" }
|
||||
@ -81,11 +82,12 @@ int test7_2345678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_7_2345678(a); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 84 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
one sink_7_1234678( A&);
|
||||
two sink_7_1234678(const A&); // { dg-message "candidates" }
|
||||
two sink_7_1234678(const A&); // { dg-message "note" }
|
||||
three sink_7_1234678(volatile A&);
|
||||
four sink_7_1234678(const volatile A&);
|
||||
six sink_7_1234678(const A&&); // { dg-message "note" }
|
||||
@ -99,6 +101,7 @@ int test7_1234678()
|
||||
volatile A va;
|
||||
const volatile A cva = a; // { dg-error "lvalue" }
|
||||
sink_7_1234678(source()); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 103 }
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1,13 +1,14 @@
|
||||
// { dg-options "-std=c++0x" }
|
||||
|
||||
template <class T, class U = double>
|
||||
void f(T t = 0, U u = 0); // { dg-message "candidate" }
|
||||
void f(T t = 0, U u = 0); // { dg-message "note" }
|
||||
|
||||
void g()
|
||||
{
|
||||
f(1, 'c'); // f<int,char>(1,'c')
|
||||
f(1); // f<int,double>(1,0)
|
||||
f(); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
f<int>(); // f<int,double>(0,0)
|
||||
f<int,char>(); // f<int,char>(0,0)
|
||||
}
|
||||
|
@ -5,7 +5,8 @@ template<class T, class U>
|
||||
auto f(T,U) -> decltype(T() + U())
|
||||
{ return T() + U(); }
|
||||
|
||||
template<class T> void g(T){} // { dg-message "candidate" }
|
||||
template<class T> void g(T){} // { dg-message "note" }
|
||||
|
||||
int main() { g(f); } // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
template<class X, class Y, class... Z> X f(Y); // { dg-message "candidate" }
|
||||
template<class X, class Y, class... Z> X f(Y); // { dg-message "note" }
|
||||
void g()
|
||||
{
|
||||
int i = f<int>(5.6);
|
||||
int j = f(5.6); // { dg-error "no matching" }
|
||||
f<void>(f<int, bool>);
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 6 }
|
||||
f<void>(f<int, bool>);
|
||||
f<void>(f<int>); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
template<class X, class Y, class Z> X f(Y,Z); // { dg-message "candidate" }
|
||||
template<class X, class Y, class Z> X f(Y,Z); // { dg-message "note" }
|
||||
template<class... Args> void f2();
|
||||
void g()
|
||||
{
|
||||
@ -8,5 +8,6 @@ void g()
|
||||
f<int>("aa",3.0); // Y is deduced to be char*, and
|
||||
// Z is deduced to be double
|
||||
f("aa",3.0); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
f2<char, short, int, long>(); // okay
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
// { dg-options "-std=gnu++0x" }
|
||||
template<int I, typename... Args>
|
||||
void get_ith(const Args&... args); // { dg-message "candidate" }
|
||||
void get_ith(const Args&... args); // { dg-message "note" }
|
||||
|
||||
void f()
|
||||
{
|
||||
get_ith<1, float>(1, 2.0, 'x');
|
||||
get_ith<1, int, double, char, int>(1, 2.0, 'x'); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
// { dg-options "-std=c++0x" }
|
||||
|
||||
template<typename _Tp>
|
||||
_Tp&& forward(_Tp&& __t) { return __t; } // { dg-message "candidate" }
|
||||
_Tp&& forward(_Tp&& __t) { return __t; } // { dg-message "note" }
|
||||
|
||||
void f(...);
|
||||
|
||||
@ -9,6 +9,7 @@ template<typename... Args>
|
||||
void g(Args&&... args)
|
||||
{
|
||||
f(forward<Args...>(args...)); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 11 }
|
||||
}
|
||||
|
||||
void h()
|
||||
|
@ -1,9 +1,10 @@
|
||||
// { dg-options "-std=c++0x" }
|
||||
|
||||
template<class U, class... T>
|
||||
void f() // { dg-message "candidate" }
|
||||
void f() // { dg-message "note" }
|
||||
{
|
||||
f<T...>(); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 6 }
|
||||
}
|
||||
|
||||
template<>
|
||||
|
@ -6,5 +6,7 @@ struct A { // { dg-message "A" }
|
||||
|
||||
void foo(volatile A a) {
|
||||
1 ? a : 0; // { dg-error "match|temporary" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
1 ? 0 : a; // { dg-error "match|temporary" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
struct A
|
||||
{
|
||||
void f();
|
||||
void foo(void (A::*)(int)); // { dg-message "candidate" "" }
|
||||
void foo(void (A::*)(int)); // { dg-message "void A::foo|no known conversion" "" }
|
||||
template<typename T>
|
||||
void g(T);
|
||||
void h()
|
||||
@ -15,5 +15,6 @@ struct A
|
||||
void (A::*p)() = &A::f;
|
||||
void (A::*q)() = &(A::f); // { dg-error "parenthesized" "" }
|
||||
foo(&g<int>); // { dg-error "no matching" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 17 }
|
||||
}
|
||||
};
|
||||
|
@ -3,5 +3,4 @@
|
||||
|
||||
struct A { };
|
||||
int main() { b: A() && && b; } // { dg-error "A\\(\\) && && *b" }
|
||||
|
||||
// { dg-message "candidate" "additional" { target *-*-* } 5 }
|
||||
// { dg-message "candidate|operator&&|no known conversion" "additional" { target *-*-* } 5 }
|
||||
|
@ -2,7 +2,7 @@
|
||||
// { dg-do compile }
|
||||
|
||||
template <void (*fn) ()>
|
||||
void call () // { dg-message "candidate" }
|
||||
void call () // { dg-message "note" }
|
||||
{
|
||||
fn ();
|
||||
}
|
||||
@ -27,7 +27,9 @@ int main ()
|
||||
};
|
||||
call<&B1::fn1> ();
|
||||
call<&B2::fn2> (); // { dg-error "not external linkage|no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 29 }
|
||||
call<&fn3> ();
|
||||
call<&B1::fn4> ();
|
||||
call<&fn5> (); // { dg-error "not external linkage|no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 33 }
|
||||
}
|
||||
|
@ -8,11 +8,12 @@
|
||||
// errors.
|
||||
|
||||
template <unsigned int N>
|
||||
char* begin(char (&a) [N] ); // { dg-message "candidate" }
|
||||
char* begin(char (&a) [N] ); // { dg-message "note" }
|
||||
|
||||
void bar(int i)
|
||||
{
|
||||
char d[i] ;
|
||||
|
||||
begin(d); // { dg-error "no matching function" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 17 }
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
// PR c++/26690
|
||||
// { dg-do compile }
|
||||
|
||||
struct A // { dg-message "A::A" }
|
||||
struct A // { dg-message "A::A|candidate expects" }
|
||||
{
|
||||
A (int); // { dg-message "candidates" }
|
||||
A (int); // { dg-message "note" }
|
||||
};
|
||||
|
||||
void
|
||||
@ -11,5 +11,6 @@ foo ()
|
||||
{
|
||||
A a(0);
|
||||
#pragma omp parallel private (a) // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
struct A
|
||||
{
|
||||
A (int x = 6); // { dg-message "A::A\\(int\\)" }
|
||||
A (long long x = 12LL); // { dg-message "candidates" }
|
||||
A (long long x = 12LL); // { dg-message "note" }
|
||||
};
|
||||
|
||||
void
|
||||
@ -12,5 +12,6 @@ foo ()
|
||||
{
|
||||
A a(6);
|
||||
#pragma omp parallel private (a) // { dg-error "call of overloaded" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 14 }
|
||||
;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ struct G {
|
||||
};
|
||||
|
||||
class A // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
{
|
||||
const G g;
|
||||
};
|
||||
|
@ -22,5 +22,6 @@ struct B : A1, A2
|
||||
int Foo (B const &b)
|
||||
{
|
||||
return b; // { dg-error "ambiguous" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 24 }
|
||||
}
|
||||
|
||||
|
@ -6,8 +6,9 @@ int main() {
|
||||
int i;
|
||||
void* operator new(__SIZE_TYPE__ s, int* p);
|
||||
int* e = new(&i) int; // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
int* f = new int;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// { dg-message "candidate" "" { target *-*-* } 0 }
|
||||
// { dg-message "operator new|candidate expects" "" { target *-*-* } 0 }
|
||||
|
@ -4,7 +4,7 @@
|
||||
// an ambiguous overload set to be created.
|
||||
|
||||
namespace B {
|
||||
void f(int); // { dg-message "candidates" }
|
||||
void f(int); // { dg-message "note" }
|
||||
void f(double); // { dg-message "note" }
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ void h()
|
||||
using C::f;
|
||||
f('h');
|
||||
f(1); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
void f(int); // { dg-error "previous using declaration" }
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,10 @@
|
||||
struct A // { dg-message "note" }
|
||||
{
|
||||
A(void x); // { dg-error "invalid use|incomplete type|candidates" }
|
||||
// { dg-message "" "match candidate text" { target *-*-* } 5 }
|
||||
};
|
||||
|
||||
struct B : A {}; // { dg-error "no matching function for call|deleted" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
|
||||
B b; // { dg-message "synthesized method|deleted" }
|
||||
|
@ -1,7 +1,7 @@
|
||||
// PR c++/34275
|
||||
// { dg-do compile }
|
||||
|
||||
struct A // { dg-message "operator=" }
|
||||
struct A // { dg-message "operator=|no known conversion" }
|
||||
{
|
||||
virtual A foo ();
|
||||
};
|
||||
@ -9,4 +9,5 @@ struct A // { dg-message "operator=" }
|
||||
void bar (A& a)
|
||||
{
|
||||
a.foo () = 0; // { dg-error "A::foo\\(\\) = 0" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 11 }
|
||||
}
|
||||
|
@ -3,11 +3,12 @@
|
||||
// { dg-options "" }
|
||||
// { dg-bogus "not supported by" "" { target *-*-* } 0 }
|
||||
|
||||
struct A {}; // { dg-message "operator=" }
|
||||
struct A {}; // { dg-message "operator=|no known conversion" }
|
||||
|
||||
void
|
||||
foo ()
|
||||
{
|
||||
A a;
|
||||
a = ({ { 1; } }); // { dg-error "no match for" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 12 }
|
||||
}
|
||||
|
@ -6,4 +6,5 @@ template<int> void foo(struct {}*); // { dg-message "" }
|
||||
void bar()
|
||||
{
|
||||
foo<0>(0); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
template <class C, void (C::*M) ()>
|
||||
static
|
||||
void foo(void *obj) // { dg-message "candidate" }
|
||||
void foo(void *obj) // { dg-message "note" }
|
||||
{
|
||||
C *p = static_cast<C*>(obj);
|
||||
(p->*M)();
|
||||
@ -14,6 +14,7 @@ static void
|
||||
bar(C *c, void (C::*m) ())
|
||||
{
|
||||
foo<C,m>((void *)c);// { dg-error "(not a valid template arg|pointer-to-member|no matching fun)" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
}
|
||||
|
||||
struct S
|
||||
|
@ -5,7 +5,7 @@ struct A {};
|
||||
|
||||
template <int A::* p>
|
||||
int
|
||||
foo(A* q) // { dg-message "candidate" }
|
||||
foo(A* q) // { dg-message "note" }
|
||||
{
|
||||
return q->*p;
|
||||
}
|
||||
@ -15,6 +15,7 @@ int
|
||||
bar(int T::* p)
|
||||
{
|
||||
return foo<p>(0);// { dg-error "(not a valid template arg|no matching func|pointer-to-member)" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 17 }
|
||||
}
|
||||
|
||||
int i = bar<A>(0);
|
||||
|
@ -20,4 +20,5 @@ void f(B); // { dg-message "note" "candidate" }
|
||||
int main()
|
||||
{
|
||||
f (42); // { dg-error "ambiguous" "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
}
|
||||
|
@ -10,8 +10,8 @@ struct A {};
|
||||
|
||||
struct B : A
|
||||
{
|
||||
B(int); // { dg-message "B::B" "" }
|
||||
B(B&); // { dg-message "candidates" "" }
|
||||
B(int); // { dg-message "B::B|no known conversion" "" }
|
||||
B(B&); // { dg-message "note" "" }
|
||||
};
|
||||
|
||||
void foo(B); // { dg-error "initializing" }
|
||||
@ -19,4 +19,5 @@ void foo(B); // { dg-error "initializing" }
|
||||
void bar()
|
||||
{
|
||||
foo(0); // { dg-error "no matching function" "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 21 }
|
||||
}
|
||||
|
@ -13,5 +13,6 @@ int main ()
|
||||
{
|
||||
A a;
|
||||
a + a; // { dg-error "ambiguous" "ambiguous" }
|
||||
// { dg-message "candidates" "candidates" { target *-*-* } 15 }
|
||||
// { dg-message "operator" "match candidate text" { target *-*-* } 15 }
|
||||
// { dg-message "candidates" "candidates" { target *-*-* } 15 }
|
||||
}
|
||||
|
@ -17,4 +17,5 @@ B
|
||||
f (B const& b)
|
||||
{
|
||||
return b; // { dg-error "matching" "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 19 }
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ void f(X *x = new X[4]); // { dg-error "" }
|
||||
void f(X *x = new (3) X(6)); // { dg-error "" }
|
||||
|
||||
void f(X *x = new (2) X[10]); // { dg-error "" }
|
||||
// { dg-message "candidate" "" { target *-*-* } 00 }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 18 }
|
||||
// { dg-message "operator new|candidate expects" "match candidate text" { target *-*-* } 00 }
|
||||
|
||||
void f(X *x = new X[10][5]); // { dg-error "" }
|
||||
|
@ -8,14 +8,17 @@ namespace
|
||||
void baz (...); // { dg-message "baz" }
|
||||
}
|
||||
|
||||
template <int> void foo (...); // { dg-message "candidate" }
|
||||
template <int> void bar (int, ...); // { dg-message "candidate" }
|
||||
void baz (...); // { dg-message "candidate" }
|
||||
template <int> void foo (...); // { dg-message "note" }
|
||||
template <int> void bar (int, ...); // { dg-message "note" }
|
||||
void baz (...); // { dg-message "note" }
|
||||
|
||||
void
|
||||
test ()
|
||||
{
|
||||
foo <0> (0); // { dg-error "is ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 18 }
|
||||
bar <1> (0, 1); // { dg-error "is ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 20 }
|
||||
baz (0); // { dg-error "is ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
}
|
||||
|
@ -2,8 +2,9 @@
|
||||
|
||||
void foo(void);
|
||||
int foo(int);
|
||||
template <typename T> void bar(T f); // { dg-message "candidate" }
|
||||
template <typename T> void bar(T f); // { dg-message "note" }
|
||||
|
||||
void baz() {
|
||||
bar(foo); // { dg-error "<unresolved overloaded function type>" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
|
@ -73,10 +73,12 @@ int main () {
|
||||
exit (0);
|
||||
|
||||
_exit (0); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 75 }
|
||||
abort ();
|
||||
|
||||
c1 ();
|
||||
C1 (); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 80 }
|
||||
|
||||
c2 ();
|
||||
C2 (); // one might expect an ambiguous call error here as well, but
|
||||
@ -84,6 +86,7 @@ int main () {
|
||||
|
||||
c3 ();
|
||||
C3 (); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 88 }
|
||||
C3 (0);
|
||||
C3 (0l);
|
||||
}
|
||||
|
@ -1,13 +1,15 @@
|
||||
// { dg-options "-w" }
|
||||
|
||||
class QString { // { dg-error "previous definition" }
|
||||
QString (const QString & a); // { dg-message "candidate is" }
|
||||
QString (const QString & a); // { dg-message "QString::QString|candidate expects" }
|
||||
};
|
||||
|
||||
class QString { }; // { dg-error "redefinition" }
|
||||
|
||||
const QString q () {
|
||||
QString z; // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 10 }
|
||||
int x;
|
||||
return x ? QString () : QString (); // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
// { dg-options "-fshow-column -fmessage-length=0 -ansi -pedantic-errors -Wno-long-long " }
|
||||
// PR C++/17867
|
||||
|
||||
struct A // { dg-message "8:operator=" }
|
||||
struct A // { dg-message "8:operator=|no known conversion for implicit" }
|
||||
{
|
||||
A(int);
|
||||
};
|
||||
@ -11,4 +11,5 @@ const A& foo();
|
||||
void bar()
|
||||
{
|
||||
foo()=A(0); // { dg-error "12:no match for 'operator='" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
}
|
||||
|
@ -2,10 +2,11 @@
|
||||
// PR c++/21908
|
||||
|
||||
struct virt { virt () {} virt (int i) {} };
|
||||
struct der : public virtual virt { // { dg-message "8:der::der" }
|
||||
der (int i) : virt(i) {} // { dg-message "3:der::der" }
|
||||
struct der : public virtual virt { // { dg-message "8:der::der|candidate expects" }
|
||||
der (int i) : virt(i) {} // { dg-message "3:der::der|candidate expects" }
|
||||
};
|
||||
struct top : public der {
|
||||
top () {} // { dg-bogus "der\\(const" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
};
|
||||
// { dg-error "10:no matching function for call to 'der" "" { target *-*-* } 9 }
|
||||
|
@ -1,4 +1,5 @@
|
||||
template <int I>
|
||||
void f(); // { dg-message "candidate" }
|
||||
void f(); // { dg-message "note" }
|
||||
|
||||
void g() { f<(3, 2)>(); } // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 4 }
|
||||
|
@ -7,9 +7,10 @@
|
||||
|
||||
struct A
|
||||
{
|
||||
template<typename> void foo(int); // { dg-message "candidate" }
|
||||
template<typename T> void bar(T t) { // { dg-message "candidate" }
|
||||
template<typename> void foo(int); // { dg-message "note" }
|
||||
template<typename T> void bar(T t) { // { dg-message "note" }
|
||||
this->foo<typename T>(t); } // { dg-error "expected|parse error|no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 12 }
|
||||
template<typename T> void bad(T t) {
|
||||
foo<typename T>(t); } // { dg-error "expected|parse error|no matching" }
|
||||
};
|
||||
@ -19,6 +20,7 @@ struct B
|
||||
{
|
||||
void bar(T t) {
|
||||
A().bar<typename T>(t); } // { dg-error "expected|parse error|no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
void bad(T t) {
|
||||
B<typename T>::bar(t); } // { dg-error "invalid|not a template" }
|
||||
};
|
||||
|
@ -8,4 +8,5 @@ namespace std
|
||||
template<int> void foo()
|
||||
{
|
||||
!typeid(void); // { dg-error "!typeid\\(void\\)|candidate is" }
|
||||
// { dg-message "" "match candidate text" { target *-*-* } 10 }
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
namespace N1 {
|
||||
struct X {
|
||||
X(); // { dg-message "candidate" }
|
||||
X(); // { dg-message "note" }
|
||||
explicit X(const X&);
|
||||
};
|
||||
void f(X); // { dg-error "initializing" }
|
||||
@ -12,13 +12,14 @@ namespace N1 {
|
||||
{
|
||||
X x;
|
||||
f(x); // { dg-error "matching" "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 14 }
|
||||
}
|
||||
}
|
||||
|
||||
namespace N2 {
|
||||
template <class T>
|
||||
struct X {
|
||||
X(); // { dg-message "candidate" }
|
||||
X(); // { dg-message "note" }
|
||||
explicit X(const X&);
|
||||
};
|
||||
|
||||
@ -30,6 +31,7 @@ namespace N2 {
|
||||
{
|
||||
X<T> x;
|
||||
N2::f(x); // { dg-error "matching" "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 33 }
|
||||
}
|
||||
|
||||
template int foo<float>(); // { dg-message "instantiated from here" }
|
||||
|
@ -1,10 +1,11 @@
|
||||
int i;
|
||||
struct A
|
||||
{
|
||||
template <class T> operator T&() { return i; } // { dg-message "candidate" }
|
||||
template <class T> operator T&() { return i; } // { dg-message "note" }
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
A().operator int(); // { dg-error "operator int" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
}
|
||||
|
@ -7,8 +7,9 @@
|
||||
struct A
|
||||
{
|
||||
A(A&); // { dg-message "note" }
|
||||
template <class T> A(T); // { dg-message "candidate" }
|
||||
template <class T> A(T); // { dg-message "note" }
|
||||
};
|
||||
|
||||
A a = 0; // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
|
||||
|
@ -11,7 +11,7 @@ struct coperator_stack
|
||||
struct helper {};
|
||||
|
||||
template<class F>
|
||||
void bla(F f) // { dg-message "candidate is" }
|
||||
void bla(F f) // { dg-message "bla|no known conversion" }
|
||||
{
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ struct definition
|
||||
definition()
|
||||
{
|
||||
bla(coperator_stack::push3<helper>); // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 23 }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
template <typename T>
|
||||
void f(int, T (*)() = 0); // { dg-message "candidate" }
|
||||
void f(int, T (*)() = 0); // { dg-message "note" }
|
||||
|
||||
void g() {
|
||||
typedef int A[2];
|
||||
f<A>(0); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 6 }
|
||||
typedef void F();
|
||||
f<F>(0); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
}
|
||||
|
@ -40,9 +40,12 @@ struct foo {
|
||||
bind (&bar::baikt);
|
||||
|
||||
bind (&barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 42 }
|
||||
bind (&foo::barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 44 }
|
||||
|
||||
bindm (&barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 47 }
|
||||
bindm (&foo::barf);
|
||||
|
||||
bindn (&barf);
|
||||
@ -50,11 +53,15 @@ struct foo {
|
||||
|
||||
bindb (&barf);
|
||||
bindb (&foo::barf); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 55 }
|
||||
|
||||
bind (&bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 58 }
|
||||
bind (&bar::bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 60 }
|
||||
|
||||
bindm (&bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 63 }
|
||||
bindm (&bar::bark);
|
||||
|
||||
bindn (&bark);
|
||||
@ -62,6 +69,7 @@ struct foo {
|
||||
|
||||
bindb (&bark);
|
||||
bindb (&bar::bark); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 71 }
|
||||
}
|
||||
};
|
||||
|
||||
@ -84,9 +92,12 @@ struct foo {
|
||||
bind (&barT::baikt);
|
||||
|
||||
bind (&barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 94 }
|
||||
bind (&foo::barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 96 }
|
||||
|
||||
bindm (&barf); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 99 }
|
||||
bindm (&foo::barf);
|
||||
|
||||
bindn (&barf);
|
||||
@ -94,11 +105,15 @@ struct foo {
|
||||
|
||||
bindb (&barf);
|
||||
bindb (&foo::barf); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 107 }
|
||||
|
||||
bind (&bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 110 }
|
||||
bind (&barT::bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 112 }
|
||||
|
||||
bindm (&bark); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 115 }
|
||||
bindm (&barT::bark);
|
||||
|
||||
bindn (&bark);
|
||||
@ -106,6 +121,7 @@ struct foo {
|
||||
|
||||
bindb (&bark);
|
||||
bindb (&barT::bark); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 123 }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -32,8 +32,12 @@ int main()
|
||||
{
|
||||
A<B> a;
|
||||
a.f(); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 34 }
|
||||
a.g(); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 36 }
|
||||
|
||||
f(i); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 39 }
|
||||
f(p); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 41 }
|
||||
}
|
||||
|
@ -26,5 +26,7 @@ struct B
|
||||
int main()
|
||||
{
|
||||
f(1); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 28 }
|
||||
B<A<int> >().f(); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 30 }
|
||||
}
|
||||
|
@ -26,4 +26,5 @@ int main()
|
||||
{
|
||||
s<int>::t y;
|
||||
cout << y; // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 28 }
|
||||
}
|
||||
|
@ -3,11 +3,12 @@
|
||||
|
||||
struct A;
|
||||
|
||||
template<A&> void foo(); // { dg-message "candidate" }
|
||||
template<A&> void foo(); // { dg-message "note" }
|
||||
|
||||
A a; // { dg-error "incomplete type" }
|
||||
|
||||
void bar()
|
||||
{
|
||||
foo<a>(); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 12 }
|
||||
}
|
||||
|
@ -13,12 +13,13 @@ int baz() { return A<0>::i; }
|
||||
|
||||
struct B
|
||||
{
|
||||
static void foo (int); // { dg-message "candidate is" }
|
||||
static void foo (int); // { dg-message "B::foo|candidate expects" }
|
||||
};
|
||||
|
||||
template <typename T> struct C
|
||||
{
|
||||
virtual void bar() const { T::foo(); } // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 21 }
|
||||
};
|
||||
|
||||
C<B> c; // { dg-message "instantiated" }
|
||||
|
@ -1,8 +1,9 @@
|
||||
// PR c++/17413
|
||||
|
||||
template <typename T> void foo() {} // { dg-message "candidate" }
|
||||
template <typename T> void foo() {} // { dg-message "note" }
|
||||
|
||||
int main () {
|
||||
struct S {};
|
||||
foo<S> (); // { dg-error "match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 7 }
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
template <class T> struct PCVector2 // { dg-message "note" }
|
||||
{
|
||||
template <class T2> PCVector2(const PCVector2<T> &cv) ; // { dg-message "candidate" }
|
||||
template <class T2> PCVector2(const PCVector2<T> &cv) ; // { dg-message "note" }
|
||||
|
||||
PCVector2<T> operator- (const PCVector2<T> &ov) const
|
||||
{
|
||||
return PCVector2<T>(ov.xFIELD, ov.yFIELD); // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 7 }
|
||||
}
|
||||
|
||||
T xFIELD, yFIELD;
|
||||
|
@ -1,4 +1,4 @@
|
||||
extern void *operator new(__SIZE_TYPE__); // { dg-message "candidate" }
|
||||
extern void *operator new(__SIZE_TYPE__); // { dg-message "note" }
|
||||
|
||||
template <class T >
|
||||
struct C
|
||||
@ -6,6 +6,7 @@ struct C
|
||||
void f() {
|
||||
int* node;
|
||||
new (&node) int(0); // { dg-error "new" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -5,5 +5,6 @@ template<operator+> void foo(); // { dg-error "before|non-function|template" }
|
||||
void bar()
|
||||
{
|
||||
foo(); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 7 }
|
||||
}
|
||||
|
||||
|
@ -14,4 +14,5 @@ struct A
|
||||
template<int> void foo()
|
||||
{
|
||||
unique(A().begin); // { dg-error "no matching function" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
}
|
||||
|
@ -7,9 +7,10 @@
|
||||
|
||||
struct A {};
|
||||
|
||||
template <typename T> T A::* Foo (); // { dg-message "candidate" }
|
||||
template <typename T> T A::* Foo (); // { dg-message "note" }
|
||||
|
||||
void Baz ()
|
||||
{
|
||||
Foo <int &> (); // { dg-error "no matching function" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 14 }
|
||||
}
|
||||
|
@ -8,9 +8,10 @@ struct B
|
||||
void foo();
|
||||
};
|
||||
|
||||
template<void (A::*)()> void bar(); // { dg-message "candidate" }
|
||||
template<void (A::*)()> void bar(); // { dg-message "note" }
|
||||
|
||||
void baz()
|
||||
{
|
||||
bar<&B::foo>(); // { dg-error "not a valid template argument|no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 15 }
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
// Pointer to member function template argument deduction ICE.
|
||||
|
||||
|
||||
template <class CONT> void queryAliases(CONT& fill_me); // { dg-message "candidate is" }
|
||||
template <class CONT> void queryAliases(CONT& fill_me); // { dg-message "queryAliases|no known conversion" }
|
||||
|
||||
struct SpyExample
|
||||
{
|
||||
@ -17,4 +17,5 @@ struct SpyExample
|
||||
void SpyExample::ready()
|
||||
{
|
||||
queryAliases(inputs); // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 19 }
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ struct B
|
||||
|
||||
struct D : B {};
|
||||
|
||||
template <int (D::*fun)() const> int Get(); // { dg-message "candidate" }
|
||||
template <int (D::*fun)() const> int Get(); // { dg-message "note" }
|
||||
|
||||
int main ()
|
||||
{
|
||||
|
@ -4,13 +4,14 @@
|
||||
|
||||
template <class U> struct A
|
||||
{
|
||||
template <class T> class B {}; // { dg-message "operator=" }
|
||||
template <class T> class B {}; // { dg-message "operator=|no known conversion" }
|
||||
};
|
||||
|
||||
template <template <class> class TT> void f()
|
||||
{
|
||||
TT<int> y;
|
||||
y = 0; // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
}
|
||||
|
||||
template <class T> struct C
|
||||
|
@ -8,10 +8,11 @@ template<int T> struct cl {
|
||||
const static int value = T;
|
||||
};
|
||||
|
||||
template<int I> void fn (char (*) [cl<I>::value] = 0 ); // { dg-message "candidate" }
|
||||
template<int I> void fn (char (*) [cl<I>::value] = 0 ); // { dg-message "note" }
|
||||
|
||||
void foo (void)
|
||||
{
|
||||
fn<0> (); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 15 }
|
||||
}
|
||||
|
||||
|
@ -16,6 +16,6 @@ template <typename T> struct srp
|
||||
};
|
||||
ptr<int> parent_get()
|
||||
{
|
||||
srp<int> parent;
|
||||
srp<int> parent; // { dg-message "candidate" }
|
||||
return parent; // { dg-error "is ambiguous" }
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ struct Bar
|
||||
Foo Quux (Bar const &b)
|
||||
{
|
||||
return b; // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
}
|
||||
|
||||
|
||||
|
@ -18,9 +18,12 @@ void f4(T, C<5>); // { dg-message "note" }
|
||||
template<int N> struct X {};
|
||||
void g() {
|
||||
f1(5l, X<5>()); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 20 }
|
||||
f2(X<5>(), 5);
|
||||
f3(X<5>(), 5l); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 23 }
|
||||
f4(5, X<5>());
|
||||
f4(5l, X<5>()); // { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 26 }
|
||||
f4((short)5, X<5>());
|
||||
}
|
||||
|
@ -6,4 +6,5 @@ template<typedef> void foo(); // { dg-error "no type|typedef declaration|templa
|
||||
void bar()
|
||||
{
|
||||
foo<int>(); // { dg-error "matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 8 }
|
||||
}
|
||||
|
@ -12,36 +12,48 @@ struct MyClass {
|
||||
};
|
||||
|
||||
template<class CLASS>
|
||||
void mFunction(void (CLASS::* method)()) {} // { dg-message "candidate" }
|
||||
void mFunction(void (CLASS::* method)()) {} // { dg-message "note" }
|
||||
|
||||
template<class CLASS>
|
||||
void cFunction(void (CLASS::* method)() const) {} // { dg-message "candidate" }
|
||||
void cFunction(void (CLASS::* method)() const) {} // { dg-message "note" }
|
||||
|
||||
template<class CLASS>
|
||||
void vFunction(void (CLASS::* method)() volatile) {} // { dg-message "candidate" }
|
||||
void vFunction(void (CLASS::* method)() volatile) {} // { dg-message "note" }
|
||||
|
||||
template<class CLASS>
|
||||
void cvFunction(void (CLASS::* method)() const volatile) {} // { dg-message "candidate" }
|
||||
void cvFunction(void (CLASS::* method)() const volatile) {} // { dg-message "note" }
|
||||
|
||||
int main() {
|
||||
mFunction(&MyClass::mMethod);
|
||||
mFunction(&MyClass::cMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 28 }
|
||||
mFunction(&MyClass::vMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 30 }
|
||||
mFunction(&MyClass::cvMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 32 }
|
||||
|
||||
cFunction(&MyClass::mMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 35 }
|
||||
cFunction(&MyClass::cMethod);
|
||||
cFunction(&MyClass::vMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 38 }
|
||||
cFunction(&MyClass::cvMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 40 }
|
||||
|
||||
vFunction(&MyClass::mMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 43 }
|
||||
vFunction(&MyClass::cMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 45 }
|
||||
vFunction(&MyClass::vMethod);
|
||||
vFunction(&MyClass::cvMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 48 }
|
||||
|
||||
cvFunction(&MyClass::mMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 51 }
|
||||
cvFunction(&MyClass::cMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 53 }
|
||||
cvFunction(&MyClass::vMethod); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 55 }
|
||||
cvFunction(&MyClass::cvMethod);
|
||||
|
||||
return 0;
|
||||
|
@ -8,7 +8,7 @@ struct A
|
||||
|
||||
template <typename S, typename T, typename U, typename S::v = &S::v::s>
|
||||
typename S::A
|
||||
foo (S c, T t, U u) // { dg-message "candidate" }
|
||||
foo (S c, T t, U u) // { dg-message "note" }
|
||||
{
|
||||
}
|
||||
|
||||
@ -21,6 +21,7 @@ struct B
|
||||
{
|
||||
A a;
|
||||
A b = foo (this, a, t); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 23 }
|
||||
}
|
||||
} c;
|
||||
B () : c (A ())
|
||||
|
@ -8,7 +8,7 @@ template <typename T> void Foo1 (T const *a) {a (1);} // #2
|
||||
|
||||
template <typename T> T const *Foo2 (T *);
|
||||
|
||||
template <typename T> void Foo3 (T *, T const * = 0); // { dg-message "candidate" }
|
||||
template <typename T> void Foo3 (T *, T const * = 0); // { dg-message "note" }
|
||||
|
||||
void Bar ()
|
||||
{
|
||||
@ -19,4 +19,5 @@ void Bar ()
|
||||
Foo3 (&Baz);
|
||||
|
||||
Foo3 (&Baz, &Baz); // { dg-error "no matching function" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 21 }
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
// PR c++/3518
|
||||
template <typename T> void Foo (const T &);
|
||||
template <typename T> void Baz (const T (*)()); // { dg-message "candidate" }
|
||||
template <typename T> void Baz (const T (*)()); // { dg-message "note" }
|
||||
|
||||
int &f ();
|
||||
|
||||
@ -11,4 +11,5 @@ int main()
|
||||
{
|
||||
Foo (f);
|
||||
Baz (f); // { dg-error "no matching function" "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 13 }
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Origin:Wolfgang Bangerth <bangerth@dealii.org>
|
||||
// PR 21799: deduction of cvqualifiers on member functions was wrong
|
||||
|
||||
template <class T> void f (T &, void (T::*)() ); // { dg-message "candidate" }
|
||||
template <class T> void f (T &, void (T::*)() ); // { dg-message "note" }
|
||||
|
||||
struct X {
|
||||
void g() const {}
|
||||
@ -14,4 +14,5 @@ const X *x;
|
||||
|
||||
int main () {
|
||||
f (*x, &X::g); // { dg-error "no matching function" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
}
|
||||
|
@ -1,10 +1,11 @@
|
||||
// { dg-options "-w" }
|
||||
|
||||
template<typename T> void foo(T); // { dg-message "candidate" }
|
||||
template<typename T> void foo(T); // { dg-message "note" }
|
||||
|
||||
void bar()
|
||||
{
|
||||
int i;
|
||||
int A[i][i];
|
||||
foo(A); // { dg-error "" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 9 }
|
||||
}
|
||||
|
@ -24,6 +24,7 @@ enum { first, last};
|
||||
|
||||
void foo(void) {
|
||||
sanjose obj(first); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 26 }
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
struct panama {
|
||||
panama();
|
||||
panama(panama &);
|
||||
panama& operator=(panama&); // { dg-message "candidate is" }
|
||||
panama& operator=(panama&); // { dg-message "operator=|no known conversion" }
|
||||
};
|
||||
|
||||
extern panama dig();
|
||||
@ -13,5 +13,6 @@ extern panama dig();
|
||||
void foo() {
|
||||
panama obj;
|
||||
obj = dig(); // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 15 }
|
||||
}
|
||||
|
||||
|
@ -8,10 +8,11 @@ struct B {
|
||||
B (int);
|
||||
};
|
||||
|
||||
void myfunc (const A& t0); // { dg-message "candidates" }
|
||||
void myfunc (const A& t0); // { dg-message "note" }
|
||||
void myfunc (const B& t0); // { dg-message "note" }
|
||||
|
||||
int main ()
|
||||
{
|
||||
myfunc(1); // { dg-error "ambiguous" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 16 }
|
||||
}
|
||||
|
@ -8,12 +8,13 @@ union Value
|
||||
|
||||
struct GlobalAddress // { dg-message "note" }
|
||||
{
|
||||
GlobalAddress(Value *nvar){} // { dg-message "candidates" }
|
||||
GlobalAddress(Value *nvar){} // { dg-message "note" }
|
||||
};
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
new GlobalAddress(Value()); // internal error occured here// { dg-error "no matching" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 17 }
|
||||
//new GlobalAddress(new Value()); // This line is correct code
|
||||
}
|
||||
|
@ -1,22 +1,24 @@
|
||||
// { dg-do compile }
|
||||
// GROUPS passed old-abort
|
||||
class internal { // { dg-message "internal::internal" }
|
||||
class internal { // { dg-message "internal::internal|candidate expects|no known conversion" }
|
||||
int field;
|
||||
int anotherfield;
|
||||
};
|
||||
|
||||
class bug { // { dg-message "bug::bug" }
|
||||
class bug { // { dg-message "bug::bug|candidate expects" }
|
||||
internal* numbers;
|
||||
bug(int size);
|
||||
};
|
||||
|
||||
bug::bug(int size) // { dg-message "bug::bug" }
|
||||
bug::bug(int size) // { dg-message "bug::bug|candidate expects" }
|
||||
{
|
||||
numbers = new internal(size * size);// { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 15 }
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
bug test; // { dg-error "no match" }
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 22 }
|
||||
}
|
||||
|
@ -278,6 +278,7 @@ SetLD<T>::remove(const T& item)
|
||||
Vix x;
|
||||
for (first(x); 0 != x && this->REMOVE_CURRENT != a; next(x, a))
|
||||
a = operator()(x) == item ? this->REMOVE_CURRENT: this->NORMAL; // { dg-error "" } .*
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 280 }
|
||||
}
|
||||
template<class T>
|
||||
bool
|
||||
@ -286,6 +287,7 @@ SetLD<T>::contains(const T& item) const
|
||||
Vix x;
|
||||
for (first(x); 0 != x; next(x)) {
|
||||
if (operator()(x) == item)// { dg-error "" } .*
|
||||
// { dg-message "candidate" "candidate note" { target *-*-* } 289 }
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
@ -343,7 +345,7 @@ operator>=(const SetLD<T>& a, const SetLD<T>& b)
|
||||
class String { };
|
||||
class IcaseString: public String { };
|
||||
template <> class SetLD< IcaseString >: public SetLD< String > { public: SetLD (): SetLD< String >() { }; SetLD (const ::ListD< IcaseString >& other): SetLD< String >() { ::ListD< IcaseString >::Vix x; for (other.first(x); 0 != x; other.next(x)) add(other(x)); }; SetLD (const SetLD & other): SetLD< String >(other) { }; const IcaseString & operator()(const Vix& x) const { return ( IcaseString &) SetLD< String >::operator()(x); } }; typedef SetLD< String > SetLD_String_IcaseString_old_tmp99; typedef SetLD< IcaseString > SetLD_String_IcaseString_new_tmp99;
|
||||
inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b) // { dg-message "operator==" }
|
||||
inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b) // { dg-message "operator==|no known conversion" }
|
||||
{
|
||||
const SetLD_String_IcaseString_old_tmp99& oa = a;
|
||||
const SetLD_String_IcaseString_old_tmp99& ob = b;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user