Page MenuHomePhabricator

whisperity (Whisperity)
Research

Projects

User does not belong to any projects.

User Details

User Since
Dec 6 2016, 10:52 AM (162 w, 3 d)

Recent Activity

Wed, Jan 1

whisperity planned changes to D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.

There are a few really minor bug fixes, test additions, documentation update, etc. coming along soon, but I've some more pressing matters. However, please feel free to review the patch as-is!

Wed, Jan 1, 12:40 PM · Restricted Project, Restricted Project

Tue, Dec 31

whisperity added a comment to D71963: clang-tidy doc: Add the severities description.

@vingeldal Apologies, in that case. However, I would still claim that style (as a potential severity) has its purpose for Tidy checkers, not just for clang-format.

Tue, Dec 31, 4:04 AM · Restricted Project

Mon, Dec 30

whisperity added a comment to D71963: clang-tidy doc: Add the severities description.
  • Style: things that are handled by clang-format rather than clang-tidy.
Mon, Dec 30, 5:35 AM · Restricted Project

Tue, Dec 24

whisperity added a comment to D70876: [clang-tidy] Add spuriously-wake-up-functions check.

The checks.rst has recently been updated to show "normal" (main entry) checks and "aliases" in different tables in D36051. Please register the alias-ness accordingly.

Tue, Dec 24, 3:56 AM · Restricted Project, Restricted Project
whisperity committed rG002e07208a67: [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be const (authored by whisperity).
[clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be const
Tue, Dec 24, 2:16 AM
whisperity closed D71805: [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be const.
Tue, Dec 24, 2:16 AM · Restricted Project

Sun, Dec 22

whisperity updated subscribers of D71805: [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be const.
Sun, Dec 22, 5:07 AM · Restricted Project
whisperity created D71805: [clang] [ast] CXXRecordDecl::getVisibleConversionFunctions() could be const.
Sun, Dec 22, 5:05 AM · Restricted Project

Fri, Dec 20

whisperity added a comment to D36051: Move from a long list of checkers to tables.

I am a little bit conflicted about the Severity column. While I know our people put a great deal of effort into keeping this classification sane, what was put into CodeChecker is, at the end of the day, a pretty arbitrary classification.

Fri, Dec 20, 8:29 AM · Restricted Project
whisperity added a comment to D36051: Move from a long list of checkers to tables.


here is the result

Fri, Dec 20, 5:12 AM · Restricted Project

Dec 17 2019

whisperity added a comment to D71612: [analyzer] Add PlacementNewChecker.

Are buffers otherwise modelled by the Analyser, such as results of the malloc family and alloca intentionally not matched, or are there some tests missing regarding this?

Dec 17 2019, 8:57 AM · Restricted Project

Dec 12 2019

whisperity added a comment to D20689: [clang-tidy] Suspicious Call Argument checker.

I have developed a related check in D69560. That one considers types, but is an interface rule checker, and does not consider (any) potential call sites. Moreover, it does not consider "swaps" that happen across a function call, only, as the name implies, adjacent similar-type ranges.

Dec 12 2019, 2:53 AM · Restricted Project

Dec 9 2019

whisperity added inline comments to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.
Dec 9 2019, 5:45 AM · Restricted Project, Restricted Project
whisperity added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

Can you refresh my memory on whether a rule for "if init expr is constant, initialise in class body instead" exists for init list members? If so, this will be a funny "two pass needed to fix" kind of check.

Dec 9 2019, 5:45 AM · Restricted Project, Restricted Project
whisperity added inline comments to D71001: [clang-tidy] New check: bugprone-misplaced-pointer-arithmetic-in-alloc.
Dec 9 2019, 2:05 AM · Restricted Project, Restricted Project

Dec 5 2019

whisperity added a comment to D71001: [clang-tidy] New check: bugprone-misplaced-pointer-arithmetic-in-alloc.

While I can't pitch in with actual findings of this check, @MyDeveloperDay, you're right in many aspects, including those specific examples not firing. But an example that actually fires this check indicates a very specific undefined behaviour case. So if such bogus code (that would trigger on this check) did not cause run-time issues so far, it's because they never free() their memory allocations (really bad?), or their platform is particular enough that it allows calling free into the buffer, not only for the start of the buffer.

Dec 5 2019, 7:59 AM · Restricted Project, Restricted Project

Nov 18 2019

whisperity retitled D70320: [Analyzer] [NFC] Iterator Checkers - Separate iterator modeling and the actual checkers from [Analyzer] Iterator Checkers - Separate iterator modelling and the actual checkers to [Analyzer] [NFC] Iterator Checkers - Separate iterator modelling and the actual checkers.
Nov 18 2019, 2:20 AM · Restricted Project

Oct 31 2019

whisperity updated the diff for D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
  • Removed This check from the documentation comment of the check's class too.
Oct 31 2019, 3:07 AM · Restricted Project, Restricted Project
whisperity updated the summary of D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
Oct 31 2019, 3:07 AM · Restricted Project, Restricted Project
whisperity updated the diff for D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
  • Fix some comments, formatting and documentation
  • Organised test files to be in the same directory as others on the Monorepo structure
  • Helper functions moved from namespace (anonymous) to static.
  • Added test for C and enabled check for C code.
Oct 31 2019, 3:07 AM · Restricted Project, Restricted Project
whisperity added inline comments to D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
Oct 31 2019, 3:07 AM · Restricted Project, Restricted Project

Oct 29 2019

whisperity updated subscribers of D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
Oct 29 2019, 8:07 AM · Restricted Project, Restricted Project
whisperity added reviewers for D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check: Szelethus, baloghadamsoftware.

@Szelethus and @baloghadamsoftware are colleagues to me whom are far more knowledgeable about check development and I want them to see that I want a review from them. I specifically didn't do an "internal with colleagues" downstream review with regards to this code.

Oct 29 2019, 8:07 AM · Restricted Project, Restricted Project
whisperity added a comment to D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.

A few interesting "true positive" findings:

Oct 29 2019, 6:17 AM · Restricted Project, Restricted Project
whisperity created D69560: [clang-tidy] Add 'cppcoreguidelines-avoid-adjacent-arguments-of-same-type' check.
Oct 29 2019, 6:16 AM · Restricted Project, Restricted Project

Aug 30 2019

whisperity accepted D66333: [analyzer] NonNullParamChecker and CStringChecker parameter number in checker message.

@Szelethus Nope.

Aug 30 2019, 4:47 AM · Restricted Project, Restricted Project

Aug 16 2019

whisperity added inline comments to D66333: [analyzer] NonNullParamChecker and CStringChecker parameter number in checker message.
Aug 16 2019, 5:22 AM · Restricted Project, Restricted Project

Apr 29 2019

whisperity added inline comments to D61260: [clang-tidy] Extend bugprone-sizeof-expression to check sizeof(pointers to structures).
Apr 29 2019, 6:45 AM · Restricted Project, Restricted Project, Restricted Project
whisperity added a comment to D57858: [analyzer] Add a new frontend flag to display all checker options.

@dcoughlin How would removing the USAGE part of the dump and keeping only the list of options and their formatted help sound? That way, this option will not invite the user to directly call the analyzer.

Apr 29 2019, 6:03 AM · Restricted Project, Restricted Project
whisperity added a comment to D57922: [analyzer] Insert checker options into AnalyzerOption::ConfigTable.

I think this is good. Patch still marked as Needs review for some reason. 😦 Can we look up this blocking review thing? Perhaps this could be marked ready to roll once the dependency patch is ironed out.

Apr 29 2019, 5:45 AM · Restricted Project, Restricted Project
whisperity added a comment to D59465: [analyzer] Add a test plugin for checker option handling.

@Szelethus I know the dependent patch D59464 will move examples/analyzer-plugin to test/Analysis/plugins/..., but this patch still seems to affect examples/. Are you sure this is the right diff? Because you are adding brand new files and brand new "folders", I don't think that'll apply cleanly.

Apr 29 2019, 5:31 AM · Restricted Project, Restricted Project

Apr 26 2019

whisperity updated the summary of D61136: [Analyzer] Refactor begin and end symbol creation.
Apr 26 2019, 3:11 AM · Restricted Project, Restricted Project

Mar 12 2019

whisperity added inline comments to D57860: [analyzer] Validate checker option names and values.
Mar 12 2019, 6:21 AM · Restricted Project, Restricted Project
whisperity added a comment to D58573: [analyzer] Move UninitializedObjectChecker out of alpha.

In case no bug reports against the checker are reported on the mailing list or Bugzilla, I wholeheartedly agree with kicking the ball here.

Mar 12 2019, 3:47 AM · Restricted Project
whisperity added inline comments to D57860: [analyzer] Validate checker option names and values.
Mar 12 2019, 3:35 AM · Restricted Project, Restricted Project
whisperity added inline comments to D58065: [analyzer] Document the frontend library.
Mar 12 2019, 3:25 AM · Restricted Project
whisperity added inline comments to D57855: [analyzer][NFC] Reimplement checker options.
Mar 12 2019, 3:10 AM · Restricted Project

Feb 18 2019

whisperity added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Yeah, it seems upstream has moved away due to @Szelethus' implementation of a much more manageable "checker dependency" system. You most likely will have to rebase your patch first, then check what you missed which got added to other merged, existing checkers.

Feb 18 2019, 12:07 AM · Restricted Project, Restricted Project

Jan 23 2019

whisperity updated the summary of D55125: [clang-tidy] Fix a false positive in misc-redundant-expression check.
Jan 23 2019, 10:07 AM · Restricted Project
whisperity updated the summary of D55125: [clang-tidy] Fix a false positive in misc-redundant-expression check.
Jan 23 2019, 10:07 AM · Restricted Project

Jan 18 2019

whisperity added a comment to D35068: [analyzer] Detect usages of unsafe I/O functions.

Edit: it doesn't, but CMake is mostly a C project and it does!

Jan 18 2019, 2:42 AM · Restricted Project

Dec 14 2018

whisperity updated the summary of D46421: [analyzer][CrossTU] Extend CTU to VarDecls with initializer.
Dec 14 2018, 5:30 AM · Restricted Project

Dec 3 2018

whisperity retitled D53812: [Analyzer] Iterator Checker - Forbid decrements past the begin() and increments past the end() of containers from [Analyzer] Iterator Checker - Forbid increments past the begin() and decrements past the end() of containers to [Analyzer] Iterator Checker - Forbid decrements past the begin() and increments past the end() of containers.
Dec 3 2018, 4:26 AM · Restricted Project

Nov 21 2018

whisperity added a comment to D54757: [clang-tidy] new check: bugprone-branch-clone.

Bar the previous comments, I really like this. The test suite is massive and well-constructed. Do we know of any real-world findings, maybe even from LLVM?

GCC 7 introduced -Wduplicated-branches, so will be good idea to run this check on associated regression(s).

Nov 21 2018, 7:12 AM · Restricted Project, Restricted Project
whisperity added a comment to D54757: [clang-tidy] new check: bugprone-branch-clone.

Bar the previous comments, I really like this. The test suite is massive and well-constructed. Do we know of any real-world findings, maybe even from LLVM?

Nov 21 2018, 2:47 AM · Restricted Project, Restricted Project

Nov 19 2018

whisperity added a comment to D53069: [analyzer][www] Update avaible_checks.html.

Let's register the ID...

Nov 19 2018, 5:57 AM

Nov 12 2018

whisperity accepted D53974: [clang-tidy] new check: bugprone-too-small-loop-variable.
Nov 12 2018, 12:15 AM · Restricted Project

Nov 11 2018

whisperity added a comment to D53974: [clang-tidy] new check: bugprone-too-small-loop-variable.

I also tested on LLVm code.
The output is here:
https://gist.github.com/tzolnai/fe4f23031d3f9fdbdbf1ee38abda00a4

I found 362 warnings.

Around 95% of these warnings are similar to the next example:

/home/zolnai/lohome/llvm/lib/Support/Chrono.cpp:64:24: warning: loop variable has narrower type 'unsigned int' than iteration's upper bound 'size_t' (aka 'unsigned long') [bugprone-too-small-loop-variable]
  for (unsigned I = 0; I < Style.size(); ++I) {

Where the loop variable has an unsigned int type while in the loop condition it is compared with a container size which has size_t type. The actual size method can be std::string::length() or array_lengthof() too.

[snip snip]

I can't see similar false positives what LibreOffice code produces.

Nov 11 2018, 2:33 AM · Restricted Project

Nov 8 2018

whisperity updated the diff for D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.

Yes, down the line I realised the function is not needed. (It emits a diagnostic because the diagnostic comes from comparing the AST file's config blocks to the current (at the time of import) compilation.)

Nov 8 2018, 12:41 AM · Restricted Project

Nov 7 2018

whisperity updated the diff for D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.

Test was added.

Nov 7 2018, 2:02 AM · Restricted Project

Nov 6 2018

whisperity planned changes to D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.

@dblaikie I have created a test, but unfortunately %clang_cpp in LIT invokes clang --driver-mode=cpp which is not the same as if clang++ is called. I'm trying to construct the following command-line

clang++ -fmodules-ts -fprebuilt-module-path=%t/mods --precompile -c file.cppm -o file.pcm

However, using %clang_cc1 I can't get it to accept --precompile as a valid argument, and using %clang_cpp I get an "unused argument" warning for --precompile and the output file is just a preprocessed output (like -E), which will, of course, cause errors, but not the errors I am wanting to test about.

Hey, sorry for the delay - you can use "clang -# <other arguments>" (or "clang++ -# <other arguments>" to get clang to print out the underlying -cc1 command line that is used.

If you're changing the driver then we'd write a driver test (that tests that, given "clang -foo -###" it produces some "clang -cc1 -bar" command line to run the frontend.

But since you're changing the driver, it's not interesting to (re) test how --precompile is lowered from the driver to cc1. Instead we test the frontend (cc1) directly.

Nov 6 2018, 3:23 AM · Restricted Project
whisperity added inline comments to D52795: [analyzer][PlistMacroExpansion] Part 3.: Macro arguments are expanded.
Nov 6 2018, 3:16 AM

Nov 2 2018

whisperity added inline comments to D53974: [clang-tidy] new check: bugprone-too-small-loop-variable.
Nov 2 2018, 10:45 AM · Restricted Project
whisperity updated the summary of D53974: [clang-tidy] new check: bugprone-too-small-loop-variable.
Nov 2 2018, 10:36 AM · Restricted Project
whisperity added a reviewer for D53974: [clang-tidy] new check: bugprone-too-small-loop-variable: xazax.hun.
Nov 2 2018, 10:36 AM · Restricted Project

Oct 30 2018

whisperity added a reviewer for D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length: dyung.

I have attached a bzipped preprocessed file that I can confirm will show the failure if built with clang++ version 3.7.1, specifically the version that shipped with ubuntu 14.04.5 LTS. Here is the full version information:

Ubuntu clang version 3.7.1-svn253742-1~exp1 (branches/release_37) (based on LLVM 3.7.1)

Target: x86_64-pc-linux-gnu
Thread model: posix

If you build it with “clang++ -std=c++11 NotNullTerminatedResultCheck.preproc.cpp” you should see the failure.

Oct 30 2018, 2:11 PM · Restricted Project, Restricted Project
whisperity added inline comments to D53812: [Analyzer] Iterator Checker - Forbid decrements past the begin() and increments past the end() of containers.
Oct 30 2018, 4:24 AM · Restricted Project

Oct 24 2018

whisperity updated the diff for D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.

Updating the diff just in case so that I don't lose the test code.

Oct 24 2018, 2:54 AM · Restricted Project
whisperity added a comment to D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.

@dblaikie I have created a test, but unfortunately %clang_cpp in LIT invokes clang --driver-mode=cpp which is not the same as if clang++ is called. I'm trying to construct the following command-line

Oct 24 2018, 2:44 AM · Restricted Project
whisperity added inline comments to D53076: [analyzer] ConditionBRVisitor: Enhance to write out more information.
Oct 24 2018, 1:22 AM · Restricted Project, Restricted Project

Oct 17 2018

whisperity added a reviewer for D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too: dblaikie.
Oct 17 2018, 3:30 AM · Restricted Project

Oct 16 2018

whisperity added a comment to D52988: [analyzer][PlistMacroExpansion] Part 5.: Support for # and ##.

Looks good.

Oct 16 2018, 11:10 PM
whisperity accepted D52986: [analyzer][PlistMacroExpansion] Part 4.: Support for __VA_ARGS__.
Oct 16 2018, 11:04 PM
whisperity added a comment to D53354: [WIP][NOT FOR COMMIT][PROTOTYPE] clang-scan-deps: dependency scanning tool rough prototype.

With regards to D53352: you can change the diff related to a patch whilst keeping discuccion and metadata of the diff.

Oct 16 2018, 10:47 PM · Restricted Project
whisperity accepted D52790: [analyzer][PlistMacroExpansion] New flag to convert macro expansions to events.

Remove the custom file paths and URLs but other than that this is pretty trivial.

Oct 16 2018, 11:11 AM
whisperity created D53334: [Frontend/Modules] Show diagnostics on prebuilt module configuration mismatch too.
Oct 16 2018, 11:05 AM · Restricted Project

Oct 15 2018

whisperity edited parent revisions for D32906: [Analyzer] Iterator Checker - Part 10: Support for iterators passed as parameter, added: 1; removed: 1.
Oct 15 2018, 2:39 AM
whisperity added a child revision for D32904: [Analyzer] Iterator Checker - Part 8: Support for assign, clear, insert, emplace and erase operations: D32906: [Analyzer] Iterator Checker - Part 10: Support for iterators passed as parameter.
Oct 15 2018, 2:39 AM
whisperity removed a child revision for D32905: [Analyzer] Iterator Checker - Part 9: Evaluation of std::find-like calls: D32906: [Analyzer] Iterator Checker - Part 10: Support for iterators passed as parameter.
Oct 15 2018, 2:39 AM

Oct 12 2018

whisperity added a comment to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

@aaron.ballman Neither I nor @Charusso has commit rights, could you please commit this in our stead?

Oct 12 2018, 8:21 AM · Restricted Project, Restricted Project
Herald added a reviewer for D33672: [analyzer] INT50-CPP. Do not cast to an out-of-range enumeration checker: george.karpenkov.

Soft ping.

Oct 12 2018, 3:37 AM · Restricted Project
whisperity accepted D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

Have been looked at this far and wide too many times now. I say we roll this out and fix and improve later on, lest this only going into Clang 72. Results look promising, let's hope users start reporting good findings too.

Oct 12 2018, 3:15 AM · Restricted Project, Restricted Project

Oct 9 2018

whisperity added inline comments to D52742: [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag.
Oct 9 2018, 3:12 AM

Oct 6 2018

whisperity accepted D52783: Lift VFS from clang to llvm.

Looks good. This change seems very beneficial, I have a little downstream project I'll have to commit an update for when this releases but it is a trivial change on the users' perspective.

Oct 6 2018, 2:35 AM

Oct 3 2018

whisperity added a comment to D52783: Lift VFS from clang to llvm.

Are you sure the diff is okay? I see only a move on VirtualFileSystem.cpp but I really think there were namespace clang { lines in it too.

Oct 3 2018, 8:26 AM
whisperity added inline comments to D52742: [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag.
Oct 3 2018, 1:25 AM

Oct 2 2018

whisperity updated subscribers of D52742: [analyzer][PlistMacroExpansion] Part 1.: New expand-macros flag.

Your code looks good, just minor comments going on inline.
Trying to think of more cases to test for, in case someone generously misuses FLMs, as seen here in an example if you scroll down a bit: https://gcc.gnu.org/onlinedocs/cpp/Macro-Arguments.html#Macro-Arguments
Maybe one or two tests cases for this should be added, but I believe all corners are covered other than this.

Oct 2 2018, 1:38 AM

Sep 26 2018

whisperity updated subscribers of D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.
Sep 26 2018, 4:10 AM · Restricted Project, Restricted Project
whisperity added a comment to D52390: [analyzer] Add StackSizeChecker to StaticAnalyzer.

One final nit apart from a few in-line comments (most of them are just arguing with @Szelethus anyways 😛): KB vs. KiB (remember how a 2 TB hard drive appears as 1.8 TB on your machine? Because it's TiB!) is one of my pet peeves especially that Windows and most people still get it wrong nowadays (and they also teach it wrong). Can we change the default from 100 000 to 102 400? That would make it truly 100 KiB in the proper sense.

Sep 26 2018, 4:07 AM
whisperity retitled D52390: [analyzer] Add StackSizeChecker to StaticAnalyzer from [analyzer] StackSizeChecker to [analyzer] Add StackSizeChecker to StaticAnalyzer.
Sep 26 2018, 3:25 AM
whisperity added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Hey @mgrang! Let's see some results on some projects and answer NoQ's comment, then I think we can put this in for all the world to see.

Sep 26 2018, 3:15 AM · Restricted Project, Restricted Project

Sep 25 2018

whisperity added a comment to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

I have checked the results, thank you for uploading them, they look solid to me, although I'm not exactly a developer for these projects, without full understanding of what and where allocates and true path-sensitive analysis and memory modelling, they look good. (E.g. one thing this check misses I think is when the allocator returns an explicitly zero-filled memory, because that way the write without the good size is still NUL-terminated... but this requires modelling we might just not be capable of, especially not in Clang-Tidy.)

Sep 25 2018, 8:35 AM · Restricted Project, Restricted Project

Sep 11 2018

whisperity updated the summary of D51926: [scan-build-py] Prevent crashes of CTU analysis by suppressing warnings.
Sep 11 2018, 8:36 AM
whisperity added a comment to D51926: [scan-build-py] Prevent crashes of CTU analysis by suppressing warnings.

Will this properly synergise across compilers with user-specified warning options, such as -Wall -Werror?

Sep 11 2018, 8:32 AM

Sep 7 2018

whisperity added a comment to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

D50353 has landed, so after a rebase this patch will not compile.

Sep 7 2018, 2:53 AM · Restricted Project, Restricted Project

Sep 6 2018

whisperity added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Why explicitly skip C projects? We would not be able to match std::X functions anyway.

Sep 6 2018, 8:08 AM · Restricted Project, Restricted Project

Sep 5 2018

whisperity updated subscribers of D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Make sure you use only the C++ projects like BitCoin, LLVM/Clang, ProtoBuf and such from the Xazax CSA Test suite because this checker is not really applicable to C projects.

Sep 5 2018, 12:45 AM · Restricted Project, Restricted Project

Sep 4 2018

whisperity added a comment to D46081: [analyzer] Expand conversion check to check more expressions for overflow and underflow.

Ping.
Shouldn't let this thing go to waste.

Sep 4 2018, 5:07 AM · Restricted Project
whisperity requested changes to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.
Sep 4 2018, 5:07 AM · Restricted Project, Restricted Project
whisperity added a project to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements: Restricted Project.

@Szelethus clang-query seems to sometimes not include matcher functions that are perfectly available in the code... I recently had some issue with using isUserDefined(), it was available in my code, but clang-query always rejected it. Seems there isn't an automatic 1:1 mapping between the two.

Sep 4 2018, 5:01 AM · Restricted Project, Restricted Project
whisperity added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

Minor comments in-line, looking good on first glance.

Sep 4 2018, 5:01 AM · Restricted Project, Restricted Project
whisperity added a comment to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

Generally grammar / phrasing things that have caught my eye.

Sep 4 2018, 4:42 AM · Restricted Project, Restricted Project
whisperity added a comment to D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.

Whew, this is a big one. Generally looks good, although I would separate implementation detail functions a bit better, with perhaps more comments to move them apart a bit, it is really harsh to scroll through.

Sep 4 2018, 3:37 AM · Restricted Project, Restricted Project

Aug 10 2018

whisperity added a comment to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.

The basics of the heuristics look okay as comparing pointers from non-continuous block of memory is undefined, it would be worthy to check if no compiler warning (perhaps by specifying -W -Wall -Wextra -Weverything and various others of these enable-all flags!) is emitted if std::sort is instantiated for such a use case.

Aug 10 2018, 7:03 AM · Restricted Project, Restricted Project
whisperity added inline comments to D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements.
Aug 10 2018, 3:51 AM · Restricted Project, Restricted Project

Aug 3 2018

whisperity updated the summary of D50256: [Analyzer] Basic support for multiplication and division in the constraint manager (for == and != only).
Aug 3 2018, 8:45 AM

Jul 31 2018

whisperity updated subscribers of D45050: [clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length.
Jul 31 2018, 9:22 AM · Restricted Project, Restricted Project

Jul 26 2018

whisperity added inline comments to D49228: [analyzer][UninitializedObjectChecker] Void pointer objects are casted back to their dynmic type in note message.
Jul 26 2018, 2:27 AM

Jul 25 2018

whisperity added a comment to D45094: [LibTooling] Make interface of VFS injection into ClangTool more user-friendly.

Softly pinging this. Perhaps we could discuss this and get it in before Clang7 rides off into the sunset?

Jul 25 2018, 3:39 AM · Restricted Project
whisperity added a comment to D45095: [clang-tidy] Align usage of ClangTool interface with new VFS injection.

Akin to D45094, pinging this too. 🙂

Jul 25 2018, 3:39 AM · Restricted Project