This revision was automatically updated to reflect the committed changes. Closed by commit rG4ad53177db75: [LLDB] Fix overloaded operator new cases in TestCppOperators.py which currently… (authored by shafik). Herald added a project: LLDB.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79251/new/ https://reviews.llvm.org/D79251 Files: lldb/test/API/lang/cpp/operators/main.cpp Index: lldb/test/API/lang/cpp/operators/main.cpp =================================================================== --- lldb/test/API/lang/cpp/operators/main.cpp +++ lldb/test/API/lang/cpp/operators/main.cpp @@ -4,12 +4,11 @@ struct B { int dummy = 2324; }; struct C { - void *operator new(std::size_t size) { C* r = ::new C; r->custom_new = true; return r; } - void *operator new[](std::size_t size) { C* r = static_cast<C*>(std::malloc(size)); r->custom_new = true; return r; } + void *operator new(std::size_t size) { void *p = ::operator new(size); side_effect = 3; return p; } + void *operator new[](std::size_t size) { void *p = ::operator new(size); side_effect = 4; return p; } void operator delete(void *p) { std::free(p); side_effect = 1; } void operator delete[](void *p) { std::free(p); side_effect = 2; } - bool custom_new = false; B b; B* operator->() { return &b; } int operator->*(int) { return 2; } @@ -171,8 +170,8 @@ //% self.expect("expr static_cast<long>(c)", endstr=" 12\n") //% self.expect("expr c.operatorint()", endstr=" 13\n") //% self.expect("expr c.operatornew()", endstr=" 14\n") - //% self.expect("expr (new struct C)->custom_new", endstr=" true\n") - //% self.expect("expr (new struct C[1])->custom_new", endstr=" true\n") + //% self.expect("expr (new struct C); side_effect", endstr=" = 3\n") + //% self.expect("expr (new struct C[1]); side_effect", endstr=" = 4\n") //% self.expect("expr delete c2; side_effect", endstr=" = 1\n") //% self.expect("expr delete[] c3; side_effect", endstr=" = 2\n") delete c2;
Index: lldb/test/API/lang/cpp/operators/main.cpp =================================================================== --- lldb/test/API/lang/cpp/operators/main.cpp +++ lldb/test/API/lang/cpp/operators/main.cpp @@ -4,12 +4,11 @@ struct B { int dummy = 2324; }; struct C { - void *operator new(std::size_t size) { C* r = ::new C; r->custom_new = true; return r; } - void *operator new[](std::size_t size) { C* r = static_cast<C*>(std::malloc(size)); r->custom_new = true; return r; } + void *operator new(std::size_t size) { void *p = ::operator new(size); side_effect = 3; return p; } + void *operator new[](std::size_t size) { void *p = ::operator new(size); side_effect = 4; return p; } void operator delete(void *p) { std::free(p); side_effect = 1; } void operator delete[](void *p) { std::free(p); side_effect = 2; } - bool custom_new = false; B b; B* operator->() { return &b; } int operator->*(int) { return 2; } @@ -171,8 +170,8 @@ //% self.expect("expr static_cast<long>(c)", endstr=" 12\n") //% self.expect("expr c.operatorint()", endstr=" 13\n") //% self.expect("expr c.operatornew()", endstr=" 14\n") - //% self.expect("expr (new struct C)->custom_new", endstr=" true\n") - //% self.expect("expr (new struct C[1])->custom_new", endstr=" true\n") + //% self.expect("expr (new struct C); side_effect", endstr=" = 3\n") + //% self.expect("expr (new struct C[1]); side_effect", endstr=" = 4\n") //% self.expect("expr delete c2; side_effect", endstr=" = 1\n") //% self.expect("expr delete[] c3; side_effect", endstr=" = 2\n") delete c2;
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits