r368459 - Fix a build bot failure and multiple warnings instances for range base for loops
Gábor Horváth via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 9 15:05:00 PDT 2019
I tried both with libc++ instead of libstdc++ and modules but none of them
reproduced in my local machine I would be glad if you could try it locally
as well!
Thanks in advance,
Gabor
On Fri, 9 Aug 2019 at 13:10, Jonas Devlieghere <jonas at devlieghere.com>
wrote:
> The bot is a little special in that it has modules enabled. Maybe that
> explains it? Let me know if that doesn't work and I can try
> reproducing locally.
>
> On Fri, Aug 9, 2019 at 12:02 PM Gábor Horváth <xazax.hun at gmail.com> wrote:
> >
> > I reverted but I cannot reproduce this locally on a linux box. Is there
> any way to get more information from the build bot (like preprocessed
> files?)?
> >
> > On Fri, 9 Aug 2019 at 11:38, Gábor Horváth <xazax.hun at gmail.com> wrote:
> >>
> >> Hmm, strange. Looking into it! If I do not manage to find the root
> cause in a few minutes I will revert!
> >>
> >> On Fri, 9 Aug 2019 at 11:32, Jonas Devlieghere <jonas at devlieghere.com>
> wrote:
> >>>
> >>> I think this is causing a stage2 failure:
> >>>
> http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/124/consoleFull#-95886206949ba4694-19c4-4d7e-bec5-911270d8a58c
> >>>
> >>> On Fri, Aug 9, 2019 at 10:41 AM Gabor Horvath via cfe-commits
> >>> <cfe-commits at lists.llvm.org> wrote:
> >>> >
> >>> > Author: xazax
> >>> > Date: Fri Aug 9 10:42:41 2019
> >>> > New Revision: 368459
> >>> >
> >>> > URL: http://llvm.org/viewvc/llvm-project?rev=368459&view=rev
> >>> > Log:
> >>> > Fix a build bot failure and multiple warnings instances for range
> base for loops
> >>> >
> >>> > Modified:
> >>> > cfe/trunk/lib/Sema/SemaInit.cpp
> >>> > cfe/trunk/test/Sema/warn-lifetime-analysis-nocfg.cpp
> >>> >
> >>> > Modified: cfe/trunk/lib/Sema/SemaInit.cpp
> >>> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaInit.cpp?rev=368459&r1=368458&r2=368459&view=diff
> >>> >
> ==============================================================================
> >>> > --- cfe/trunk/lib/Sema/SemaInit.cpp (original)
> >>> > +++ cfe/trunk/lib/Sema/SemaInit.cpp Fri Aug 9 10:42:41 2019
> >>> > @@ -6616,7 +6616,7 @@ static void handleGslAnnotatedTypes(Indi
> >>> > return;
> >>> > } else if (auto *OCE = dyn_cast<CXXOperatorCallExpr>(Call)) {
> >>> > FunctionDecl *Callee = OCE->getDirectCallee();
> >>> > - if (Callee->isCXXInstanceMember() &&
> >>> > + if (Callee && Callee->isCXXInstanceMember() &&
> >>> > shouldTrackImplicitObjectArg(cast<CXXMethodDecl>(Callee)))
> >>> > VisitPointerArg(Callee, OCE->getArg(0));
> >>> > return;
> >>> > @@ -7070,8 +7070,11 @@ static SourceRange nextPathEntryRange(co
> >>> > // supporting lifetime extension.
> >>> > break;
> >>> >
> >>> > - case IndirectLocalPathEntry::DefaultInit:
> >>> > case IndirectLocalPathEntry::VarInit:
> >>> > + if (cast<VarDecl>(Path[I].D)->isImplicit())
> >>> > + return SourceRange();
> >>> > + LLVM_FALLTHROUGH;
> >>> > + case IndirectLocalPathEntry::DefaultInit:
> >>> > return Path[I].E->getSourceRange();
> >>> > }
> >>> > }
> >>> > @@ -7133,7 +7136,7 @@ void Sema::checkInitializerLifetime(cons
> >>> > return false;
> >>> > }
> >>> >
> >>> > - if (IsGslPtrInitWithGslTempOwner) {
> >>> > + if (IsGslPtrInitWithGslTempOwner && DiagLoc.isValid()) {
> >>> > Diag(DiagLoc, diag::warn_dangling_lifetime_pointer) <<
> DiagRange;
> >>> > return false;
> >>> > }
> >>> >
> >>> > Modified: cfe/trunk/test/Sema/warn-lifetime-analysis-nocfg.cpp
> >>> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-lifetime-analysis-nocfg.cpp?rev=368459&r1=368458&r2=368459&view=diff
> >>> >
> ==============================================================================
> >>> > --- cfe/trunk/test/Sema/warn-lifetime-analysis-nocfg.cpp (original)
> >>> > +++ cfe/trunk/test/Sema/warn-lifetime-analysis-nocfg.cpp Fri Aug 9
> 10:42:41 2019
> >>> > @@ -201,6 +201,13 @@ void danglingReferenceFromTempOwner() {
> >>> > std::vector<int> getTempVec();
> >>> > std::optional<std::vector<int>> getTempOptVec();
> >>> >
> >>> > +void testLoops() {
> >>> > + for (auto i : getTempVec()) // ok
> >>> > + ;
> >>> > + for (auto i : *getTempOptVec()) // expected-warning {{object
> backing the pointer will be destroyed at the end of the full-expression}}
> >>> > + ;
> >>> > +}
> >>> > +
> >>> > int &usedToBeFalsePositive(std::vector<int> &v) {
> >>> > std::vector<int>::iterator it = v.begin();
> >>> > int& value = *it;
> >>> >
> >>> >
> >>> > _______________________________________________
> >>> > cfe-commits mailing list
> >>> > cfe-commits at lists.llvm.org
> >>> > https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190809/4bc2025c/attachment.html>
More information about the cfe-commits
mailing list