mboehme added a comment.

Pre-merge check failures are in a test for the unchecked-optional-access check 
clang-tidy. The test that's failing is the following from 
unchecked-optional-access.cpp:

  c++
  void multiple_unchecked_accesses(absl::optional<int> opt1,
                                   absl::optional<int> opt2) {
    for (int i = 0; i < 10; i++) {
      opt1.value();
      // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: unchecked access to optional
    }
    opt2.value();
    // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: unchecked access to optional 
value
  }

Both of the expected diagnostics are not output.

It looks to me as if the values we're now newly producing for integer literals 
are causing non-convergence of the analysis on the for-loop.

This looks like a pretty serious issue. We would certainly want analysis of a 
simple loop like this to converge, especially with a small bounded trip count, 
but even with an unbounded trip count. It looks as if, currently, the analysis 
is converging merely because we don't generate values for integer literals.

Next step will be to repro this issue with a test in TransferTest.cpp so that I 
can take a closer look at why we're failing to converge.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152813

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

Reply via email to