From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5699 invoked by alias); 30 May 2014 15:14:38 -0000 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 Received: (qmail 5680 invoked by uid 48); 30 May 2014 15:14:35 -0000 From: "patrick.a.moran at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/61370] New: decltype, enable_if, previous arguments Date: Fri, 30 May 2014 15:14:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: patrick.a.moran at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: 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-05/txt/msg02559.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61370 Bug ID: 61370 Summary: decltype, enable_if, previous arguments Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: patrick.a.moran at gmail dot com Created attachment 32878 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=32878&action=edit minimal reproduction SFINAE that depednds on the decltype of a previous argument fails to funciton in a member function if the definition is external to the class. The out-of-class definition is reported as having a prototype that does not match any in the class. In the attached test case you can see the error. If you define WORKAROUND, you will see the same code with the definition moved into the class and the error will not recur.