test: make sure vtable is generated in addon test with LTO
PR-URL: https://github.com/nodejs/node/pull/28057 Fixes: https://github.com/nodejs/node/issues/28026 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This commit is contained in:
parent
65a5f7b65f
commit
b31bfaddeb
@ -15,9 +15,16 @@ void CloseCallback(uv_handle_t* handle) {}
|
||||
|
||||
class ExampleOwnerClass {
|
||||
public:
|
||||
virtual ~ExampleOwnerClass() {}
|
||||
virtual ~ExampleOwnerClass();
|
||||
};
|
||||
|
||||
// Do not inline this into the class, because that may remove the virtual
|
||||
// table when LTO is used, and with it the symbol for which we grep the process
|
||||
// output in test/abort/test-addon-uv-handle-leak.
|
||||
// When the destructor is not inlined, the compiler will have to assume that it,
|
||||
// and the vtable, is part of what this compilation unit exports, and keep them.
|
||||
ExampleOwnerClass::~ExampleOwnerClass() {}
|
||||
|
||||
ExampleOwnerClass example_instance;
|
||||
|
||||
void LeakHandle(const FunctionCallbackInfo<Value>& args) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user