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:21:09 PDT 2019


Also, how does this stage2 bot work?
I clearly see which revision is being compiled from the logs but it is not
apparent to me what is the version of the compiler that is used to compiler
it. Is it possible that due to some race condition a compiler before my fix
is picked up and that is causing the failures?

Thanks,
Gabor

On Fri, 9 Aug 2019 at 15:05, Gábor Horváth <xazax.hun at gmail.com> wrote:

> 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/c6a168a7/attachment.html>


More information about the cfe-commits mailing list