From 6aa347824348bb4a1045cce80a2df06c0ff23832 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Wed, 6 Dec 2023 18:11:31 +0100 Subject: [PATCH] Add test for #11534 (#5732) --- test/testnullpointer.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/testnullpointer.cpp b/test/testnullpointer.cpp index e23df1162..aa498142a 100644 --- a/test/testnullpointer.cpp +++ b/test/testnullpointer.cpp @@ -140,6 +140,7 @@ private: TEST_CASE(nullpointer99); // #10602 TEST_CASE(nullpointer100); // #11636 TEST_CASE(nullpointer101); // #11382 + TEST_CASE(nullpointer102); TEST_CASE(nullpointer_addressOf); // address of TEST_CASE(nullpointerSwitch); // #2626 TEST_CASE(nullpointer_cast); // #4692 @@ -2843,6 +2844,20 @@ private: ASSERT_EQUALS("", errout.str()); } + void nullpointer102() + { + check("struct S { std::string str; };\n" // #11534 + "struct T { S s; };\n" + "struct U { T t[1]; };\n" + "void f(const T& t, const U& u, std::string& str) {\n" + " if (str.empty())\n" + " str = t.s.str;\n" + " else\n" + " str = u.t[0].s.str;\n" + "}\n"); + ASSERT_EQUALS("", errout.str()); + } + void nullpointer_addressOf() { // address of check("void f() {\n" " struct X *x = 0;\n"