On Dec 7, 2010, at 1:28 AM, Abramo Bagnara wrote:
> Il 07/12/2010 01:55, Francois Pichet ha scritto:
>> Author: fpichet
>> Date: Mon Dec  6 18:55:57 2010
>> New Revision: 121084
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=121084&view=rev
>> Log:
>> Fix enumerator not handled in switch warnings.
>> 
>> Modified:
>>    cfe/trunk/lib/AST/StmtPrinter.cpp
>>    cfe/trunk/lib/Parse/ParseExprCXX.cpp
>> 
>> Modified: cfe/trunk/lib/AST/StmtPrinter.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/StmtPrinter.cpp?rev=121084&r1=121083&r2=121084&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/AST/StmtPrinter.cpp (original)
>> +++ cfe/trunk/lib/AST/StmtPrinter.cpp Mon Dec  6 18:55:57 2010
>> @@ -1206,6 +1206,7 @@
>> 
>> static const char *getTypeTraitName(UnaryTypeTrait UTT) {
>>   switch (UTT) {
>> +  default: llvm_unreachable("Unknown unary type trait");
>>   case UTT_HasNothrowAssign:      return "__has_nothrow_assign";
>>   case UTT_HasNothrowCopy:        return "__has_nothrow_copy";
>>   case UTT_HasNothrowConstructor: return "__has_nothrow_constructor";
>> @@ -1222,15 +1223,14 @@
>>   case UTT_IsPolymorphic:         return "__is_polymorphic";
>>   case UTT_IsUnion:               return "__is_union";
>>   }
>> -  llvm_unreachable("Unknown unary type trait");
>>   return "";
>> }
> 
> Begin to run... I think that Doug and John are going to kill you :-D

Heh.  Using a default case for ParseExprCXX.cpp is reasonable;  there's no point
in exhaustively matching over token kinds, we just have to know the tokens we 
care
about.  This example, on the other hand, really seems like it should have an
exhaustive switch.

John.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to