[cfe-commits] r73336 - in /cfe/trunk/lib/Sema: Sema.cpp Sema.h SemaTemplateDeduction.cpp

Douglas Gregor dgregor at apple.com
Mon Jun 15 09:52:22 PDT 2009


On Jun 14, 2009, at 10:29 PM, Chris Lattner wrote:

> On Jun 14, 2009, at 1:02 AM, Douglas Gregor wrote:
>> URL: http://llvm.org/viewvc/llvm-project?rev=73336&view=rev
>> Log:
>> Introduce a SFINAE "trap" that keeps track of the number of errors
>> that were suppressed due to SFINAE. By checking whether any errors
>> occur at the end of template argument deduction, we avoid the
>> possibility of suppressing an error (due to SFINAE) and then
>> recovering so well that template argument deduction never detects  
>> that
>> there was a problem. Thanks to Eli for the push in this direction.
>
> Cool, I think I see where this is going, one comment though:
>
>> +      bool Fatal = false;
>> +      switch (Diags.getDiagnosticLevel(DiagID)) {
>
> I'm pretty sure that SFINAE shouldn't change behavior based on  
> things like -Werror etc.  You probably want to check the class of  
> the diagnostic, not the level (which is post-mapping).


Good point. Fixed!

	- Doug



More information about the cfe-commits mailing list