--> lists.llvm.org ---------- Forwarded message ---------- From: Ettore Speziale <speziale.ett...@gmail.com> Date: 26 August 2015 at 14:35 Subject: Re: [PATCH] __attribute__((enable_if)) and non-overloaded member functions To: Nick Lewycky <nlewy...@google.com> Cc: llvm cfe <cfe-comm...@cs.uiuc.edu>
Hello, > Sorry about the extreme delay. This patch slipped through the cracks, and I only noticed it again when searching my email for enable_if. Committed in r245985! In the future, please feel free to continue pinging weekly! NP, thank you for committing the patch. Unfortunately it contains a little error in the case of no candidate has been found. For instance consider the following test case: struct Incomplete; struct X { void hidden_by_argument_conversion(Incomplete n, int m = 0) __attribute((enable_if(m == 10, "chosen when 'm' is ten"))); }; x.hidden_by_argument_conversion(10); I would expect to get an error about Incomplete, as the compiler cannot understand how to convert 10 into an instance of Incomplete. However right now the enable_if diagnostic is emitted, thus masking the more useful message about Incomplete. The attached patch solved the problem by delaying the point where the enable_if diagnostic is issued. Thanks, Ettore Speziale
enable_if.diff
Description: Binary data
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits