grimar marked an inline comment as done.
grimar added inline comments.

================
Comment at: llvm/lib/Support/FileCheck.cpp:1375-1377
+  // We do not allow using -implicit-check-not when an explicitly specified
+  // check prefix is not present in the input buffer.
+  if ((Req.IsDefaultCheckPrefix || FoundUsedPrefix) && !DagNotMatches.empty()) 
{
----------------
jdenny wrote:
> grimar wrote:
> > jdenny wrote:
> > > I find this logic confusing.  Its goal appears to be to constrain when 
> > > `DagNotMatches` are added to `CheckStrings`.  However, the real goal is 
> > > to constrain when FileCheck complains that there are no used prefixes.  
> > > Would the following logic work?
> > > 
> > > ```
> > > if (!FoundUsedPrefix && (ImplicitNegativeChecks.empty() || 
> > > !Req.IsDefaultCheckPrefix)) {
> > >   errs() << "error: no check strings found with prefix"
> > >   . . .
> > > }
> > > if (!DagNotMatches.empty()) {
> > >   CheckStrings->emplace_back(
> > >   . . .
> > > }
> > > ```
> > This looks better and works, thanks!
> > 
> > (The code above has `DagNotMatches = ImplicitNegativeChecks;` line which is 
> > also a bit confusing probably)
> > This looks better and works, thanks!
> 
> Thanks for making that change.
> 
> > (The code above has DagNotMatches = ImplicitNegativeChecks; line which is 
> > also a bit confusing probably)
> 
> I'm fine with that one.  DagNotMatches starts out as ImplicitNegativeChecks, 
> and CHECK-NOTs might be added later.
> 
> I think the second sentence in the following comment still reflects the old 
> logic:
> 
> ```
>   // When there are no used prefixes we report an error.
>   // We do not allow using -implicit-check-not when an explicitly specified
>   // check prefix is not present in the input buffer.
> ```
> 
> Something like the following seems better to me:
> 
> ```
>   // When there are no used prefixes we report an error except in the case 
> that
>   // no prefix is specified explicitly but -implicit-check-not is specified.
> ```
> 
> the real goal is to constrain when FileCheck complains that there are no used 
> prefixes

btw, do you know why FileCheck seems intentionally allows the case when 
`--check-prefixes=KNOWN,UNKNOWN`?
I've mentioned in the description of D78110 that there are about 1000 tests 
that have this. but is it a feature or a something that we might want to fix?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78024/new/

https://reviews.llvm.org/D78024



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to