balazske added a comment. It is possible to add note tags to show decisions at standard functions. For example at `fileno` show if it has failed or not failed. The most simple way is to add it to all places, this means a note will show up on any bug path at all standard function usages. This is how it works already with the existing notes. Like in the following code:
int __test_case_note(); int test_case_note_1(int y) { int x1 = __test_case_note(); // expected-note{{Function returns 1}} int x = __test_case_note(); // expected-note{{Function returns 0}} \ // expected-note{{'x' initialized here}} return y / x; // expected-warning{{Division by zero}} \ // expected-note{{Division by zero}} } int test_case_note_2(int y) { int x = __test_case_note(); // expected-note{{Function returns 1}} return y / (x - 1); // expected-warning{{Division by zero}} \ // expected-note{{Division by zero}} } Here the first note at line with "x1" is not necessary. This problem can be fixed if the note is only shown when the return value is "interesting": int __test_case_note(); int test_case_note_1(int y) { int x1 = __test_case_note(); // no note int x = __test_case_note(); // expected-note{{Function returns 0}} \ // expected-note{{'x' initialized here}} return y / x; // expected-warning{{Division by zero}} \ // expected-note{{Division by zero}} } int test_case_note_2(int y) { int x = __test_case_note(); // no note return y / (x - 1); // expected-warning{{Division by zero}} \ // expected-note{{Division by zero}} } But in this case the note at `test_case_note_2` disappears because `x-1` is interesting, but not `x`. Fixing this problem looks more difficult. From these two solutions, which one is better? (Show many unnecessary notes, or show only necessary ones but lose some of the useful notes too.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D152436/new/ https://reviews.llvm.org/D152436 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits