public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/61507] New: GCC does not compile function with parameter pack.
@ 2014-06-14 1:38 congh at google dot com
2014-06-14 11:59 ` [Bug c++/61507] " redi at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: congh at google dot com @ 2014-06-14 1:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61507
Bug ID: 61507
Summary: GCC does not compile function with parameter pack.
Product: gcc
Version: 4.10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: congh at google dot com
GCC fails to compile the following code:
struct A {
void foo(const int &);
void foo(float);
};
template <typename... Args>
void bar(void (A::*memfun)(Args...), Args... args);
void go(const int& i) {
bar<const int &>(&A::foo, i);
}
The error message is shown below:
t.C:10:30: error: no matching function for call to ‘bar(<unresolved overloaded
function type>, const int&)’
bar<const int &>(&A::foo, i);
^
t.C:7:6: note: candidate: template<class ... Args> void bar(void (A::*)(Args
...), Args ...)
void bar(void (A::*memfun)(Args...), Args... args);
^
t.C:7:6: note: template argument deduction/substitution failed:
t.C:10:30: note: inconsistent parameter pack deduction with ‘const int&’ and
‘int’
bar<const int &>(&A::foo, i);
As the type is explicitly specified, why GCC would like to "deduce" it?
>From gcc-bugs-return-454175-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Jun 14 06:56:31 2014
Return-Path: <gcc-bugs-return-454175-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 8884 invoked by alias); 14 Jun 2014 06:56:30 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 8830 invoked by uid 55); 14 Jun 2014 06:56:25 -0000
From: "charlet at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug ada/61505] [4.10 Regression] bootstrap broken by ada/gnat_rm.texi after r211448
Date: Sat, 14 Jun 2014 06:56:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: ada
X-Bugzilla-Version: 4.10.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: charlet at gcc dot gnu.org
X-Bugzilla-Status: REOPENED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.10.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61505-4-76Zb0Gps4B@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61505-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61505-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-06/txt/msg01257.txt.bz2
Content-length: 411
https://gcc.gnu.org/bugzilla/show_bug.cgi?ida505
--- Comment #4 from Arnaud Charlet <charlet at gcc dot gnu.org> ---
Author: charlet
Date: Sat Jun 14 06:55:49 2014
New Revision: 211665
URL: https://gcc.gnu.org/viewcvs?rev!1665&root=gcc&view=rev
Log:
PR ada/61505
* gnat_rm.texi: Attempt to fix error with makeinfo 5.1
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/gnat_rm.texi
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/61507] GCC does not compile function with parameter pack.
2014-06-14 1:38 [Bug c++/61507] New: GCC does not compile function with parameter pack congh at google dot com
@ 2014-06-14 11:59 ` redi at gcc dot gnu.org
2014-06-18 22:14 ` jason at gcc dot gnu.org
2014-06-19 9:35 ` jason at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: redi at gcc dot gnu.org @ 2014-06-14 11:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61507
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |rejects-valid
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-06-14
Ever confirmed|0 |1
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Cong Hou from comment #0)
> As the type is explicitly specified, why GCC would like to "deduce" it?
Probably because with a variadic template there could be additional arguments
that haven't been explicitly specified and so need to be deduced. However, in
this case the number of function arguments should tell the compiler the pack
only contains one type, and therefore nothing more needs to be deduced.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/61507] GCC does not compile function with parameter pack.
2014-06-14 1:38 [Bug c++/61507] New: GCC does not compile function with parameter pack congh at google dot com
2014-06-14 11:59 ` [Bug c++/61507] " redi at gcc dot gnu.org
@ 2014-06-18 22:14 ` jason at gcc dot gnu.org
2014-06-19 9:35 ` jason at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: jason at gcc dot gnu.org @ 2014-06-18 22:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61507
--- Comment #2 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Wed Jun 18 22:13:40 2014
New Revision: 211808
URL: https://gcc.gnu.org/viewcvs?rev=211808&root=gcc&view=rev
Log:
PR c++/61507
* pt.c (resolve_overloaded_unification): Preserve
ARGUMENT_PACK_EXPLICIT_ARGS.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/variadic159.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/pt.c
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/61507] GCC does not compile function with parameter pack.
2014-06-14 1:38 [Bug c++/61507] New: GCC does not compile function with parameter pack congh at google dot com
2014-06-14 11:59 ` [Bug c++/61507] " redi at gcc dot gnu.org
2014-06-18 22:14 ` jason at gcc dot gnu.org
@ 2014-06-19 9:35 ` jason at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: jason at gcc dot gnu.org @ 2014-06-19 9:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61507
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Thu Jun 19 09:34:48 2014
New Revision: 211819
URL: https://gcc.gnu.org/viewcvs?rev=211819&root=gcc&view=rev
Log:
PR c++/61507
* pt.c (resolve_overloaded_unification): Preserve
ARGUMENT_PACK_EXPLICIT_ARGS.
Added:
branches/gcc-4_9-branch/gcc/testsuite/g++.dg/cpp0x/variadic159.C
Modified:
branches/gcc-4_9-branch/gcc/cp/ChangeLog
branches/gcc-4_9-branch/gcc/cp/pt.c
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-06-19 9:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-14 1:38 [Bug c++/61507] New: GCC does not compile function with parameter pack congh at google dot com
2014-06-14 11:59 ` [Bug c++/61507] " redi at gcc dot gnu.org
2014-06-18 22:14 ` jason at gcc dot gnu.org
2014-06-19 9:35 ` jason at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).