mgrang added a comment. In D50488#1403653 <https://reviews.llvm.org/D50488#1403653>, @Szelethus wrote:
> In D50488#1403197 <https://reviews.llvm.org/D50488#1403197>, @mgrang wrote: > > > > It's because it invokes CodeChecker, which by default enables > > > valist.Uninitialized, but not ValistBase. Do you have assert failures > > > after my hotfix? > > > > @Szelethus Thanks. I run into this assert when run through CodeChecker: > > > > Assertion `CheckerTags.count(tag) != 0 && "Requested checker is not > > registered! Maybe you should add it as a " "dependency in Checkers.td?"' > > > > > > Is there a workaround? > > > Uhh, I'm afraid the only way out is to actually fix the problem :) couple > questions: > > 1. Are you *sure* that you rebased to rC354235 > <https://reviews.llvm.org/rC354235> (which is the hotfix I mentioned), > CodeChecker runs *that* clang when the assert failure happens? I guess, I totally missed your hotfix. After sync'ing to the latest sources I no longer hit the assert. Thanks! > 2. Can you provide a stacktrace? Luckily, that would for sure point me to the > problematic checker. > > In D50488#1403199 <https://reviews.llvm.org/D50488#1403199>, @mgrang wrote: > >> Also I don't see the helptext for PointerSorting when I run: >> >> clang -cc1 -analyzer-checker-help | grep Pointer >> >> alpha.core.PointerArithm Check for pointer arithmetic on >> locations other than array elements >> alpha.core.PointerSub Check for pointer subtractions on two >> pointers pointing to different memory chunks >> alpha.nondeterminism.PointerSorting >> cplusplus.InnerPointer Check for inner pointers of C++ >> containers used after re/deallocation >> > > > How about `clang -cc1 -analyzer-checker-help | grep Pointer -A3`? There could > be a linebreak after the ckecker's name (raises the question though whether > it should be there). Yep, line break it was. I see the help text with -A1. > In D50488#1403212 <https://reviews.llvm.org/D50488#1403212>, @mgrang wrote: > >> > There is a revision to solve this problem here: D58065 >> > <https://reviews.llvm.org/D58065>. I guess your input, as someone who >> > didn't participate in the checker dependency related patch reviews would >> > be invaluable, in terms of whether my description is understandable enough. >> >> Thanks. I took a look at the documentation and it looks fine to me (modulo >> the comments from other reviewers and a couple of minor typos). I feel the >> csa-testbench documentation (https://github.com/Xazax-hun/csa-testbench) is >> very minimal and does not document a lot of intricacies which I had to >> figure out by trial-and-error. > > > Due to an upcoming conference, I didn't bother with it much, i just used > CodeChecker on its own, which is fairly well documented. > I'm trying to move my checker out of alpha, and my testing goes as follows: > > 1. Clone LLVM+Clang, cppcheck, rtags, bitcoin, xerces (~~you could throw in > vim, tmux, as your checker isnt C++ exclusive~~ (see edit), or whatever else) > 2. Create compile_commands.json either with CMake > (-DCANE_GENERATE_COMPILE_COMMANDS, or smt similar), or `CodeChecker log` > 3. `CodeChecker analyze` projects, paying attention to not forgetting the > CodeChecker flag `--verbose debug_analyzer` (and enabling your checker ofc), > and piping the output to a file > 4. Create a `CodeChecker server`, `CodeChecker store` the results, and stare > at the web gui for hours. Its very pretty btw ;) > > Csa-testbench is a work in progress, so I guess you can expect more in the > future :) > > Thanks for your work, even through a few annoyances, very much appreciated! > > Edit: Since your checker **is** C++ exclusive, please return true only if > `LangOpts.CPlusPlus` is true in the `shouldRegister` function. Didn't catch > my eye at first. Done. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D50488/new/ https://reviews.llvm.org/D50488 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits