No small test, sadly.
I managed to cut a 10MB reproducer down to 2MB over 2h
but no further.

On Mon, Oct 15, 2012 at 6:44 PM, Nico Weber <[email protected]> wrote:
> Test?
>
> On Mon, Oct 15, 2012 at 3:10 PM, Robert Muth <[email protected]> wrote:
>> This is a fix for: http://llvm.org/bugs/show_bug.cgi?id=14021
>>
>> diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp
>>  index 42fc84d..d4d0e94 100644
>>  --- a/lib/Sema/SemaInit.cpp
>>  +++ b/lib/Sema/SemaInit.cpp
>>  @@ -3708,8 +3708,14 @@ static void TryUserDefinedConversion(Sema &S,
>>
>>       // Try to complete the type we're converting to.
>>       if (!S.RequireCompleteType(Kind.getLocation(), DestType, 0)) {
>>  -      DeclContext::lookup_iterator Con, ConEnd;
>>  -      for (llvm::tie(Con, ConEnd) = S.LookupConstructors(DestRecordDecl);
>>  +      DeclContext::lookup_iterator ConOrig, ConEndOrig;
>>  +      llvm::tie(ConOrig, ConEndOrig) = 
>> S.LookupConstructors(DestRecordDecl);
>>  +      // The container holding the constructors can under certain 
>> conditions
>>  +      // be changed while iterating. To be safe we copy the lookup results
>>  +      // to a new container.
>>  +      SmallVector<NamedDecl*, 8> CopyOfCon(ConOrig, ConEndOrig);
>>  +      for (SmallVector<NamedDecl*, 8>::iterator
>>  +             Con = CopyOfCon.begin(), ConEnd = CopyOfCon.end();
>>              Con != ConEnd; ++Con) {
>>           NamedDecl *D = *Con;
>>           DeclAccessPair FoundDecl = DeclAccessPair::make(D, D->getAccess());
>> _______________________________________________
>> cfe-commits mailing list
>> [email protected]
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to