Szelethus marked an inline comment as done. Szelethus added inline comments.
================ Comment at: clang/test/Analysis/uninit-vals.c:181 void testUseHalfPoint() { - struct Point p = getHalfPoint(); // expected-note{{Calling 'getHalfPoint'}} - // expected-note@-1{{Returning from 'getHalfPoint'}} - // expected-note@-2{{'p' initialized here}} + struct Point p = getHalfPoint(); // expected-note{{'p' initialized here}} use(p); // expected-warning{{uninitialized}} ---------------- Szelethus wrote: > NoQ wrote: > > Huh, so there's not even a note in `getHalfPoint()`, just > > calling..returning? This definitely needs some attention from > > `NoStoreFuncVisitor`. > > > > Generally, i think this is probably the single place where we do really > > want some info about what happens in `getHalfPoint()`. The report that > > consists only of "p is initialized..." and "...p is uninitialized" is > > pretty weird. Btw, could you write down the full warning text in this test? > > How bad this actually is? > Wild idea: `UninitializedObjectChecker` exposes it's main logic through a > header file, how about we use it when we find a read of an uninitialized > region? Passed-by-value struct argument contains uninitialized data (e.g., field: 'y') Quite good imo. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64232/new/ https://reviews.llvm.org/D64232 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits