From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21858 invoked by alias); 5 Jan 2010 11:44:00 -0000 Received: (qmail 21802 invoked by uid 48); 5 Jan 2010 11:43:50 -0000 Date: Tue, 05 Jan 2010 11:44:00 -0000 Message-ID: <20100105114350.21801.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/40155] [c++0x] variadic template pack problem In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dodji at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-01/txt/msg00508.txt.bz2 ------- Comment #2 from dodji at gcc dot gnu dot org 2010-01-05 11:43 ------- FWIW, I think this code is valid. The A template parameter in "typename identity::type..." is in a non-deduced context, so it's argument should not be deduced from there. The argument of A should be re-used from the deduction done using "RT (*) (A...)". And I think that's where the problem is. Once the compiler figured the second argument of forward_call is a non-deduced context, it fails to re-use the argument of A that was deduced in the context of the first argument of forward_call. I believe this should be flagged P1, even if it doesn't seem to be a regression. -- dodji at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40155