diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-11-16 09:54:23 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-11-16 09:54:23 +0000 |
commit | 5edc02ac2219491b8db8b460ae5e0afdb7ff2c3b (patch) | |
tree | dc7fd36c79ee87ed43f342736d51901dceb69883 /gcc | |
parent | 3a81b570d265d49b6ff0e813063a986c0eca73f2 (diff) | |
download | gcc-5edc02ac2219491b8db8b460ae5e0afdb7ff2c3b.zip gcc-5edc02ac2219491b8db8b460ae5e0afdb7ff2c3b.tar.gz gcc-5edc02ac2219491b8db8b460ae5e0afdb7ff2c3b.tar.bz2 |
re PR c++/29143 (address-of overloaded function does not work in function call)
/cp
2013-11-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29143
* semantics.c (finish_call_expr): Ensure that for OVERLOADs too
'(&f)(...)' is the same as '(f)(...)', per 13.3.1.1.
/testsuite
2013-11-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/29143
* g++.dg/overload/addr2.C: New.
* g++.old-deja/g++.other/overload11.C: Adjust.
From-SVN: r204898
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/overload/addr2.C | 13 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/overload11.C | 2 |
3 files changed, 20 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2adcce4..3f7e1be 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2013-11-16 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/29143 + * g++.dg/overload/addr2.C: New. + * g++.old-deja/g++.other/overload11.C: Adjust. + 2013-11-15 Mike Stump <mikestump@comcast.net> * lib/gcc.exp (gcc_target_compile): Add support for random runtime diff --git a/gcc/testsuite/g++.dg/overload/addr2.C b/gcc/testsuite/g++.dg/overload/addr2.C new file mode 100644 index 0000000..1d0c66b --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/addr2.C @@ -0,0 +1,13 @@ +// PR c++/29143 + +void f(int); + +void g(int,int); +void g(int,int,int); + +void +h () +{ + (&f)(1); + (&g)(1,2,3); +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload11.C b/gcc/testsuite/g++.old-deja/g++.other/overload11.C index b994b80..0b910e4 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/overload11.C +++ b/gcc/testsuite/g++.old-deja/g++.other/overload11.C @@ -32,7 +32,7 @@ int main (int argc, char **argv) void (*vptr) (); (ovl) (1); // ok - (&ovl) (1); // { dg-error "" } not suitable for overload resolution + (&ovl) (1); // ok (ovl) (); // { dg-error "" } no matching candidates // { dg-message "candidate" "candidate note" { target *-*-* } 36 } (&ovl) (); // { dg-error "" } not suitable for overload resolution |