Merged in r226635. Thanks, Hans
On Tue, Jan 20, 2015 at 4:10 PM, Kaelyn Takata <[email protected]> wrote: > FYI, this fixes a diagnostic regression from 3.5 to 3.6 and should be merged > to the 3.6 branch. The regression manifests as either a failed assertion or > at least one missing error message. > > On Tue, Jan 20, 2015 at 4:04 PM, Kaelyn Takata <[email protected]> wrote: >> >> Author: rikka >> Date: Tue Jan 20 18:04:19 2015 >> New Revision: 226624 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=226624&view=rev >> Log: >> Correct all typos in the initialization arguments, even if one could not >> be corrected. >> >> This fixes PR22250, which exposed the bug where if there's more than one >> TypoExpr in the arguments, once one failed to be corrected none of the >> TypoExprs after it would be handled at all thanks to an early return. >> >> Modified: >> cfe/trunk/lib/Sema/SemaDecl.cpp >> cfe/trunk/test/SemaCXX/typo-correction-delayed.cpp >> >> Modified: cfe/trunk/lib/Sema/SemaDecl.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=226624&r1=226623&r2=226624&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/Sema/SemaDecl.cpp (original) >> +++ cfe/trunk/lib/Sema/SemaDecl.cpp Tue Jan 20 18:04:19 2015 >> @@ -8841,11 +8841,12 @@ void Sema::AddInitializerToDecl(Decl *Re >> }); >> if (Res.isInvalid()) { >> VDecl->setInvalidDecl(); >> - return; >> - } >> - if (Res.get() != Args[Idx]) >> + } else if (Res.get() != Args[Idx]) { >> Args[Idx] = Res.get(); >> + } >> } >> + if (VDecl->isInvalidDecl()) >> + return; >> >> InitializationSequence InitSeq(*this, Entity, Kind, Args); >> ExprResult Result = InitSeq.Perform(*this, Entity, Kind, Args, >> &DclT); >> >> Modified: cfe/trunk/test/SemaCXX/typo-correction-delayed.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/typo-correction-delayed.cpp?rev=226624&r1=226623&r2=226624&view=diff >> >> ============================================================================== >> --- cfe/trunk/test/SemaCXX/typo-correction-delayed.cpp (original) >> +++ cfe/trunk/test/SemaCXX/typo-correction-delayed.cpp Tue Jan 20 18:04:19 >> 2015 >> @@ -167,3 +167,11 @@ void MovePointer(Pointer &Click, int x, >> click.set_xpos(x); // expected-error {{use of undeclared identifier >> 'click'; did you mean 'Click'?}} >> click.set_ypos(x); // expected-error {{use of undeclared identifier >> 'click'; did you mean 'Click'?}} >> } >> + >> +namespace PR22250 { >> +// expected-error@+4 {{use of undeclared identifier 'size_t'; did you >> mean 'sizeof'?}} >> +// expected-error-re@+3 {{use of undeclared identifier 'y'{{$}}}} >> +// expected-error-re@+2 {{use of undeclared identifier 'z'{{$}}}} >> +// expected-error@+1 {{expected ';' after top level declarator}} >> +int getenv_s(size_t *y, char(&z)) {} >> +} >> >> >> _______________________________________________ >> 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 > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
