On Sep 10, 2012, at 4:44 PM, Jordan Rose <[email protected]> wrote:

> 
> On Sep 10, 2012, at 16:28 , Argyrios Kyrtzidis <[email protected]> wrote:
> 
>> Author: akirtzidis
>> Date: Mon Sep 10 18:28:22 2012
>> New Revision: 163566
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=163566&view=rev
>> Log:
>> [PCH] Add a null check to avoid crashing.
>> 
>> Unfortunately, no test case. rdar://11960120
>> 
>> Modified:
>>   cfe/trunk/lib/Serialization/ASTReaderDecl.cpp
>> 
>> Modified: cfe/trunk/lib/Serialization/ASTReaderDecl.cpp
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReaderDecl.cpp?rev=163566&r1=163565&r2=163566&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Serialization/ASTReaderDecl.cpp (original)
>> +++ cfe/trunk/lib/Serialization/ASTReaderDecl.cpp Mon Sep 10 18:28:22 2012
>> @@ -590,8 +590,10 @@
>>                                                  TemplArgs.size(), C);
>>      void *InsertPos = 0;
>>      CanonTemplate->getSpecializations().FindNodeOrInsertPos(ID, InsertPos);
>> -      assert(InsertPos && "Another specialization already inserted!");
>> -      CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
>> +      if (InsertPos)
>> +        CanonTemplate->getSpecializations().InsertNode(FTInfo, InsertPos);
>> +      else
>> +        assert(0 && "Another specialization already inserted!");
> 
> llvm_unreachable? Also, how is this any different than what you had before?
> 

As Sebastian said, no crashing in release. The idea is to avoid crashing 
clients of libclang if possible.


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

Reply via email to