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.