In file included from stack_allocated.cpp:5:
./stack_allocated.h:14:1: warning: [blink-gc] Class 'PartObject' requires a trace method.
class PartObject {
^
./stack_allocated.h:17:5: note: [blink-gc] Untraced field 'm_obj' declared here:
Member<HeapObject> m_obj; // Needs tracing.
^
./stack_allocated.h:24:5: warning: [blink-gc] The stack allocated class 'StackObject' provides an unnecessary trace method:
void Trace(Visitor* visitor) { visitor->Trace(m_obj); }
^
./stack_allocated.h:30:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields.
class HeapObject : public GarbageCollected<HeapObject> {
^
./stack_allocated.h:34:5: note: [blink-gc] Stack-allocated field 'm_part' declared here:
StackObject m_part; // Cannot embed a stack allocated object.
^
./stack_allocated.h:38:27: warning: [blink-gc] Stack-allocated class 'DerivedHeapObject' derives class 'HeapObject' which is garbage collected.
class DerivedHeapObject : public HeapObject, public StackObject {
^
./stack_allocated.h:42:28: warning: [blink-gc] Stack-allocated class 'DerivedHeapObject2' derives class 'HeapObject' which is garbage collected.
class DerivedHeapObject2 : public HeapObject {
^
./stack_allocated.h:43:3: warning: [blink-gc] Garbage collected class 'DerivedHeapObject2' is not permitted to override its new operator.
STACK_ALLOCATED();
^
./heap/stubs.h:182:5: note: expanded from macro 'STACK_ALLOCATED'
__attribute__((annotate("blink_stack_allocated"))) \
^
stack_allocated.cpp:12:1: warning: [blink-gc] Class 'AnonStackObject' contains invalid fields.
class AnonStackObject : public StackObject {
^
stack_allocated.cpp:14:5: note: [blink-gc] Raw pointer field 'm_obj' to a GC managed class declared here:
HeapObject* m_obj;
^
7 warnings generated.