Szelethus (Umann Kristóf)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 19 2017, 6:59 AM (51 w, 4 d)

Recent Activity

Fri, Jul 13

Szelethus added a comment to D48436: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls.

I'll think about that a bit more; it might be worth it to track such deferred subregions in a state trait and drain it whenever we pop back to an explicit constructor.

There are so many things to consider, like the following case:

struct DynTBase {};
struct DynTDerived : DynTBase {
  // TODO: we'd expect the note: {{uninitialized field 'this->x'}}
  int x; // no-note
};
Fri, Jul 13, 6:30 AM
Szelethus committed rL336995: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.
[analyzer][UninitializedObjectChecker] Fixed captured lambda variable name
Fri, Jul 13, 6:00 AM
Szelethus committed rC336995: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.
[analyzer][UninitializedObjectChecker] Fixed captured lambda variable name
Fri, Jul 13, 6:00 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Fri, Jul 13, 6:00 AM
Szelethus updated the diff for D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.

Rebased to rC336994.

Fri, Jul 13, 5:55 AM
Szelethus committed rC336994: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
[analyzer][UninitializedObjectChecker] Support for MemberPointerTypes
Fri, Jul 13, 5:27 AM
Szelethus committed rL336994: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
[analyzer][UninitializedObjectChecker] Support for MemberPointerTypes
Fri, Jul 13, 5:26 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Fri, Jul 13, 5:26 AM
Szelethus updated the diff for D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.

Thank you! ^-^

Fri, Jul 13, 5:24 AM

Thu, Jul 12

Szelethus committed rL336901: [analyzer][UninitializedObjectChecker] Moved non-member functions out of the….
[analyzer][UninitializedObjectChecker] Moved non-member functions out of the…
Thu, Jul 12, 6:18 AM
Szelethus committed rC336901: [analyzer][UninitializedObjectChecker] Moved non-member functions out of the….
[analyzer][UninitializedObjectChecker] Moved non-member functions out of the…
Thu, Jul 12, 6:18 AM
Szelethus added a dependency for D49228: [analyzer][UninitializedObjectChecker] Void pointer objects are casted back to their dynmic type in note message: D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type.
Thu, Jul 12, 5:10 AM
Szelethus added a dependent revision for D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type: D49228: [analyzer][UninitializedObjectChecker] Void pointer objects are casted back to their dynmic type in note message.
Thu, Jul 12, 5:10 AM
Szelethus created D49228: [analyzer][UninitializedObjectChecker] Void pointer objects are casted back to their dynmic type in note message.
Thu, Jul 12, 5:10 AM

Wed, Jul 11

Szelethus added inline comments to D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type.
Wed, Jul 11, 12:20 PM
Szelethus added a dependent revision for D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes: D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type.
Wed, Jul 11, 11:52 AM
Szelethus added a dependency for D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type: D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
Wed, Jul 11, 11:52 AM
Szelethus created D49199: [analyzer][UninitializedObjectChecker] Pointer/reference objects are dereferenced according to dynamic type.
Wed, Jul 11, 11:49 AM

Fri, Jul 6

Szelethus added inline comments to D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.
Fri, Jul 6, 8:58 AM
Szelethus updated the diff for D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.

Finding the correct captured variable now works with FieldDecl::getFieldIndex().

Fri, Jul 6, 8:54 AM
Szelethus updated the diff for D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.

MemberPointerTypes are regarded as primitive types from now. I agree with @NoQ, it makes so much more sense this way :)

Fri, Jul 6, 6:47 AM
Szelethus added a comment to D48436: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls.

Polite ping ^-^

Fri, Jul 6, 5:26 AM

Fri, Jun 29

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

If you are interested, I executed this checker on Firefox code. Results can be found here
http://sylvestre.ledru.info/reports/fx-scan-build/

Absolutely, thank you! :)

Andi reported this bug https://bugs.llvm.org/show_bug.cgi?id=37965

Well, that is intentional: not the pointer, but the pointee is uninitialized, as you can see from the note message. Now with that being said, I have had an other colleague of mine complain about a report, as he didn't see that the note message said "pointee" not "pointer", so maybe there's a point in trying to come up with a better message.

Fri, Jun 29, 4:50 AM
Szelethus committed rL335964: [analyzer][UninitializedObjectChecker] Added a NotesAsWarnings flag.
[analyzer][UninitializedObjectChecker] Added a NotesAsWarnings flag
Fri, Jun 29, 4:30 AM
Szelethus committed rC335964: [analyzer][UninitializedObjectChecker] Added a NotesAsWarnings flag.
[analyzer][UninitializedObjectChecker] Added a NotesAsWarnings flag
Fri, Jun 29, 4:30 AM
Szelethus closed D48285: [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag.
Fri, Jun 29, 4:30 AM

Wed, Jun 27

Szelethus added inline comments to D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
Wed, Jun 27, 7:09 AM
Szelethus added inline comments to D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
Wed, Jun 27, 4:25 AM
Szelethus added a comment to D48436: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls.
In D48436#1144380, @NoQ wrote:

I think we need to finish our dialog on who's responsible for initialization and why do we need to filter constructors at all, cause it's kinda hanging (i.e. D45532#inline-422673).

Wed, Jun 27, 3:05 AM

Tue, Jun 26

Szelethus added a comment to D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.

Polite ping :)

Tue, Jun 26, 9:00 AM

Sat, Jun 23

Szelethus retitled D48285: [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag from [analyzer]{UninitializedObjectChecker] Added "NotesAsWarnings" flag to [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag.
Sat, Jun 23, 4:32 AM

Thu, Jun 21

Szelethus updated the diff for D48436: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls.

Moved LC = LC ->getParent() to the while statement's argument to avoid a potential infinite loop. Whoops :)

Thu, Jun 21, 10:29 AM
Szelethus created D48436: [analyzer][UninitializedObjectChecker] Fixed a false negative by no longer filtering out certain constructor calls.
Thu, Jun 21, 8:12 AM

Wed, Jun 20

Szelethus updated the diff for D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.

Fixes according to inline comments.

Wed, Jun 20, 9:35 AM

Tue, Jun 19

Szelethus abandoned D48318: [analyzer][UninitializedObjectChecker] Drop lambda support.

Turns out I was very wrong on this one. Lambdas should be ignored as data members, but not in general.

Tue, Jun 19, 10:58 AM
Szelethus updated the diff for D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.

Accidently added the pointer MemberPointer objects twice, fixed that.

Tue, Jun 19, 10:46 AM
Szelethus created D48325: [analyzer][UninitializedObjectChecker] Support for MemberPointerTypes.
Tue, Jun 19, 9:05 AM
Szelethus added inline comments to D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.
Tue, Jun 19, 8:59 AM
Szelethus added a comment to D48318: [analyzer][UninitializedObjectChecker] Drop lambda support.

[...]lambda misuse in not really an uninitialized value problem.

I guess you can make the argument that it its. Even then, in my opinion this checker is overkill for lambdas.

  • If the captured variable has a non-default constructor, UninitializedValueChecker will analyze it,
  • if the captured variable has a default constructor, or if Pedantic is disabled and all fields are uninitialized, we probably don't want to warn for them anyways,
  • if the captured variable is primitive (BuiltinType or EnumeralType) we can just easily iterate over the captured fields to check whether they are undefined, and make a decision whether to warn for them or not.

My point is, a standalone cplusplus.LambdaMisuse checker would be a lot more fitting to handle these cases.

Tue, Jun 19, 4:20 AM
Szelethus added a comment to D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.

Thanks for the review!

Tue, Jun 19, 2:51 AM
Szelethus created D48318: [analyzer][UninitializedObjectChecker] Drop lambda support.
Tue, Jun 19, 2:47 AM
Szelethus committed rL335030: [analyzer] Made a buildbot happy..
[analyzer] Made a buildbot happy.
Tue, Jun 19, 1:39 AM
Szelethus committed rC335030: [analyzer] Made a buildbot happy..
[analyzer] Made a buildbot happy.
Tue, Jun 19, 1:39 AM
Szelethus added a comment to D48285: [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag.

I wonder if this could be done when plist is emitted generally, independent of any checks.

Tue, Jun 19, 1:27 AM
Szelethus updated the diff for D48285: [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag.
In D48285#1136059, @NoQ wrote:

Also, great, and can i has tests?^^

Like a simple code snippet with two // RUN: ... -analyzer-output=text lines and different expected-warnings/notes under #ifs.

Tue, Jun 19, 1:23 AM

Mon, Jun 18

Szelethus created D48291: [analyzer][UninitializedObjectChecker] Fixed captured lambda variable name.
Mon, Jun 18, 11:02 AM
Szelethus created D48285: [analyzer][UninitializedObjectChecker] Added "NotesAsWarnings" flag.
Mon, Jun 18, 9:24 AM
Szelethus committed rL334935: [analyzer] Checker for uninitialized C++ objects.
[analyzer] Checker for uninitialized C++ objects
Mon, Jun 18, 4:55 AM
Szelethus committed rC334935: [analyzer] Checker for uninitialized C++ objects.
[analyzer] Checker for uninitialized C++ objects
Mon, Jun 18, 4:54 AM
Szelethus closed D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
Mon, Jun 18, 4:54 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Whoo! Thank you all for helping me with the reviews. Very excited about the upcoming fixes, I have some neat ideas for some already.

Mon, Jun 18, 4:33 AM

Jun 12 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Polite ping :)

Jun 12 2018, 1:31 AM

Jun 4 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

@Szelethus I personally really like this idea, and I think it would be a great checker.
Could you perform more evaluation on other projects?

Jun 4 2018, 3:46 AM

May 31 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
  • Rebased to 1cefbc5593d2f017ae56a853b0723a31865aa602 (revision 333276)
  • Fixed some typos
  • Added tests CyclicPointerTest and CyclicVoidPointerTest to highlight an issue to be fixed in a later patch
May 31 2018, 7:44 AM

May 28 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

I decided to mark the inline comments in isPointerOrReferenceUninit regarding the dereferencing loop termination done for now. I left several TODO's in the function to be fixed later, with many of them depending on one another, so fixing them all or many at once would probably be the best solution.

May 28 2018, 3:36 AM

May 27 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Thanks again for taking a look :)

May 27 2018, 12:38 PM

May 25 2018

Szelethus committed rL333278: [analyzer] Added a getLValue method to ProgramState for bases.
[analyzer] Added a getLValue method to ProgramState for bases
May 25 2018, 7:52 AM
Szelethus committed rC333278: [analyzer] Added a getLValue method to ProgramState for bases.
[analyzer] Added a getLValue method to ProgramState for bases
May 25 2018, 7:52 AM
Szelethus closed D46891: [StaticAnalyzer] Added a getLValue method to ProgramState for bases.
May 25 2018, 7:52 AM
Szelethus committed rL333275: [analyzer] Added template argument lists to the Pathdiagnostic output.
[analyzer] Added template argument lists to the Pathdiagnostic output
May 25 2018, 6:22 AM
Szelethus committed rC333275: [analyzer] Added template argument lists to the Pathdiagnostic output.
[analyzer] Added template argument lists to the Pathdiagnostic output
May 25 2018, 6:22 AM
Szelethus closed D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.
May 25 2018, 6:22 AM

May 23 2018

Szelethus updated the diff for D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.

Cleaned up a testfile.

May 23 2018, 10:07 AM
Szelethus committed rC333080: Test commit.
Test commit
May 23 2018, 5:53 AM
Szelethus committed rL333080: Test commit.
Test commit
May 23 2018, 5:52 AM

May 18 2018

Szelethus added inline comments to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
May 18 2018, 6:25 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

In this diff, I preferred placing TODOs in places where the logic of the checker would have changed too much. While I didn't have a strict rule for this in mind, I tried changing as little as possible in order to implement the fixes in smaller followup patches.

May 18 2018, 6:05 AM
Szelethus added a comment to D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.

D->getASTContext().getLangOpts() will get you language option.

May 18 2018, 3:01 AM
Szelethus updated the diff for D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.

Fixes according to inline comments.

May 18 2018, 2:59 AM

May 17 2018

Szelethus added a comment to D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.

Thanks for the review!

May 17 2018, 4:44 AM
Szelethus added a comment to D46891: [StaticAnalyzer] Added a getLValue method to ProgramState for bases.

Thanks for the review!

May 17 2018, 2:43 AM

May 16 2018

Szelethus updated the diff for D46891: [StaticAnalyzer] Added a getLValue method to ProgramState for bases.

Fixed a typo.

May 16 2018, 4:23 AM
Szelethus updated the diff for D46891: [StaticAnalyzer] Added a getLValue method to ProgramState for bases.

Added a CXXRecordDecl version.

May 16 2018, 3:17 AM
Szelethus created D46933: [analyzer] Added template argument lists to the Pathdiagnostic output.
May 16 2018, 2:54 AM

May 15 2018

Szelethus created D46891: [StaticAnalyzer] Added a getLValue method to ProgramState for bases.
May 15 2018, 9:53 AM
Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

I'm afraid it'll be even more time before I post a new diff. There are some things that ProgramState is lacking, so I'll get that fixed first in a different pull request.

May 15 2018, 8:13 AM

May 2 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Thanks @NoQ for taking the time to review my code!

May 2 2018, 8:37 AM

Apr 28 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Forgot to rename the system header simulator file. Sorry about the spam :)

Apr 28 2018, 2:42 AM
Szelethus added inline comments to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
Apr 28 2018, 2:34 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Renamed the checker to cplusplus.uninitialized.UninitializedObject.

Apr 28 2018, 2:33 AM

Apr 26 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

By the way, thank you all for taking the time to review my code!

Apr 26 2018, 7:57 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Fixes according to inline comments.

Apr 26 2018, 7:42 AM

Apr 25 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

In this diff I

  • added a Pedantic flag that is set to false by default to filter out results from objects that don't have a single field initialized,
  • made it so that fields that are declared in system headers are now ignored,
  • refactored isFullyInitialized to hasUnintializedFields (it returned true when there were in fact uninit fields),
  • fixed everything mentioned in inline comments aside from the naming and the category,
  • added TODOs for FieldChainInfo::toString, I decided to fix those in a later patch to keep the diff just a little bit smaller,
  • added many more test cases, including tests for the Pedantic flag
  • added support for arrays. Granted, they worked wonderfully with the checker before, but there was nothing mentioned about them in the code.
Apr 25 2018, 2:35 AM

Apr 24 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

I'd also like to point out that as I mentioned before, the checker's name itself is misleading (it is a leftover from an earlier implementation of this checker). Here are just some ideas I came up with:

  • UninitializedObjectChecker
  • UninitializedFieldsChecker
  • UninitializedFieldsAfterConstructionChecker
  • UninitializedMembersChecker
  • UninitializedMembersAfterConstructionChecker

Of these I like the first the most, but I'm open for anything, if you have an idea for it.

In D45532#1075789, @NoQ wrote:

Guys, what do you think about a checker that warns on uninitialized fields only when at least one field is initialized? I'd be much more confident about turning such check on by default. We can still keep a pedantic version.

Sounds good! I just finished implementing it along with a few minor (like some TODOs and fixes according to inline comments) and not-so-minor (like ignoring fields from system headers) changes. I'll update the diff and post results on it once I finish rechecking the LLVM/Clang project. I feel very confident about the upcoming version.

Apr 24 2018, 10:08 AM
Szelethus added a comment to D45407: [StaticAnalyzer] Added notes to the plist output.

Can someone commit this for me? I don't have a write access.

Apr 24 2018, 3:52 AM · Restricted Project

Apr 17 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Also, I managed to cause a crash with the class linked_ptr_internal from google's boringssl when I analyzed the grpc project. I'll look deeper into this, but I have a strong suspicion that the error lies within the CSA core.

Apr 17 2018, 4:44 AM

Apr 16 2018

Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Would be interesting to extend this checker (maybe in an upcoming patch) to report on uninitialized members not only in constructors, but also copy constructors and move constructors.

Added 3 new test cases to cover them. Interestingly, move constructors don't emit any warnings - the core can only assert that the fields after a move construction are valid (returns true for SVal::isValid()).
Came to think of it, I'm not 100% confident in the checkers name. It could be misleading, as this checker doesn't check constructors, but rather objects after construction. The end of a constructor call is only the point at which we know that analysis can be done.

This bug report also mentions assignment operator. But for that a warning may be not so useful. In that case the members of the assigned to object should have some initialized value already which the programmer may not want to overwrite in the assignment operator.

I believe there's a checker for that already, but I'm really not sure whether UndefinedAssignmentChecker covers all such cases.

Apr 16 2018, 6:23 AM
Szelethus added a comment to D45407: [StaticAnalyzer] Added notes to the plist output.

I just had a look with -analyzer-config notes-as-events=true, and it works (with CodeChecker, at least). I'd still implement a better support for notes, but this is a great workaround for now. Thanks!

Apr 16 2018, 3:00 AM · Restricted Project

Apr 15 2018

Szelethus added a comment to D45407: [StaticAnalyzer] Added notes to the plist output.

Btw, what sort of UI are you trying to make these extra note pieces of mine work with?

I'm also developing a checker: https://reviews.llvm.org/D45532. This checker emits very important information in notes. When I tried testing it with Ericsson's CodeChecker, I realized that notes aren't displayed. I'm planning to extend it so it will be able to.

Apr 15 2018, 11:29 AM · Restricted Project
Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Note that there was a comment made about the test files being too long. I still haven't split them, as I didn't find a good "splitting point". Is this okay, or shall I try to split these into numerous smaller ones?

Apr 15 2018, 11:24 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Among many other things:

  • The checker class is now on top of the file.
  • Reviewed all comments, fixed typos, tried to make the general idea more understandable.
  • Removed all (at least, all I could find) unnecessary functions and function arguments.
  • Removed support for unions entirely.
Apr 15 2018, 11:17 AM
Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

I'm about to update the diff, I changed a quite a lot of stuff, so I'm not sure that I'd be able to respond to these inline comments.

Apr 15 2018, 10:51 AM

Apr 12 2018

Szelethus added inline comments to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
Apr 12 2018, 10:11 AM
Szelethus added a comment to D45407: [StaticAnalyzer] Added notes to the plist output.

Did you have some time to check on those programs? :)

Apr 12 2018, 8:31 AM · Restricted Project
Szelethus added inline comments to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
Apr 12 2018, 8:29 AM
Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Thank you for all your comments so far! I'll probably only be able to update the diff tomorrow (with me being in the GMT + 1 timezone).

Apr 12 2018, 8:27 AM

Apr 11 2018

Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

I wasn't too clear on this one: unknown fields are regarded as uninitialized, what I wrote was a temporary change in the code so I could check whether it would work.

Apr 11 2018, 12:17 PM
Szelethus added a comment to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
In D45532#1064652, @NoQ wrote:

In most cases, all fields of a union is regarded as unknown. I checked these cases by regarding unknown fields as uninitialized.

The whole point of making them unknown, as far as i understand, was to suppress uninitialized field warnings. So i feel what we're doing here is a bit upside down.

Apr 11 2018, 11:53 AM
Szelethus added inline comments to D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.
Apr 11 2018, 11:50 AM
Szelethus updated the diff for D45532: [StaticAnalyzer] Checker to find uninitialized fields after a constructor call.

Reuploaded the diff with full context.

Apr 11 2018, 11:19 AM