diff options
author | Marek Polacek <polacek@redhat.com> | 2024-06-25 17:42:01 -0400 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2024-07-01 15:08:38 -0400 |
commit | c847dcf94499da62e5a28921b404e6e561645d99 (patch) | |
tree | 0ea36c59f97a61120820c269ecace29499c3e4cb /gcc/ada/debug.adb | |
parent | 52d71b6b1f0f465a6cf064f61b22fc99453ec132 (diff) | |
download | gcc-c847dcf94499da62e5a28921b404e6e561645d99.zip gcc-c847dcf94499da62e5a28921b404e6e561645d99.tar.gz gcc-c847dcf94499da62e5a28921b404e6e561645d99.tar.bz2 |
c++: unresolved overload with comma op [PR115430]
This works:
template<typename T>
int Func(T);
typedef int (*funcptrtype)(int);
funcptrtype fp0 = &Func<int>;
but this doesn't:
funcptrtype fp2 = (0, &Func<int>);
because we only call resolve_nondeduced_context on the LHS (via
convert_to_void) but not on the RHS, so cp_build_compound_expr's
type_unknown_p check issues an error.
PR c++/115430
gcc/cp/ChangeLog:
* typeck.cc (cp_build_compound_expr): Call resolve_nondeduced_context
on RHS.
gcc/testsuite/ChangeLog:
* g++.dg/cpp0x/noexcept41.C: Remove dg-error.
* g++.dg/overload/addr3.C: New test.
Diffstat (limited to 'gcc/ada/debug.adb')
0 files changed, 0 insertions, 0 deletions