================ @@ -912,3 +924,33 @@ void top_malloc_no_crash_fn() { free(pptr); } } // namespace alloca_region_pointer + +namespace true_negatives_return_expressions { +struct Container { int *x; }; + +int test2() { + int x = 14; ---------------- Flandini wrote:
Added in 51f8e2e589424b67b5d3cfcec660800bcaab9a49. Here is the new test case: ``` int make_x(); int return_symbol_safe() { int x = make_x(); clang_analyzer_dump(x); // expected-warning-re {{conj_$2{int, {{.+}}}}} return x; // no-warning } ``` There were also some similar pre-existing test cases like these: ``` int get_value(); const int &get_reference1() { return get_value(); } // expected-warning{{Address of stack memory associated with temporary object of type 'int' returned}} expected-warning {{returning reference to local temporary}} const int &get_reference2() { const int &x = get_value(); // expected-note {{binding reference variable 'x' here}} return x; // expected-warning{{Address of stack memory associated with temporary object of type 'int' lifetime extended by local variable 'x' returned to caller}} expected-warning {{returning reference to local temporary}} } ``` https://github.com/llvm/llvm-project/pull/125638 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits