| Index: tools/clang/blink_gc_plugin/tests/polymorphic_class_with_non_virtual_trace.h
|
| diff --git a/tools/clang/blink_gc_plugin/tests/polymorphic_class_with_non_virtual_trace.h b/tools/clang/blink_gc_plugin/tests/polymorphic_class_with_non_virtual_trace.h
|
| index 3396c94553f5219cb6073bd9b81ad2da03f30f01..f5d999ebf6430a7eddc20c549c268f6c36b5143d 100644
|
| --- a/tools/clang/blink_gc_plugin/tests/polymorphic_class_with_non_virtual_trace.h
|
| +++ b/tools/clang/blink_gc_plugin/tests/polymorphic_class_with_non_virtual_trace.h
|
| @@ -41,6 +41,21 @@ private:
|
| Member<HeapObject> m_obj;
|
| };
|
|
|
| +template<typename T>
|
| +class TemplatedNonPolymorphicBase
|
| + : public GarbageCollected<TemplatedNonPolymorphicBase<T> > {
|
| +public:
|
| + void trace(Visitor* visitor) { visitor->trace(m_obj); }
|
| +private:
|
| + Member<HeapObject> m_obj;
|
| +};
|
| +
|
| +// Looks OK, but will result in an incorrect object pointer when marking.
|
| +class TemplatedIsNotLeftMostPolymorphic
|
| + : public TemplatedNonPolymorphicBase<TemplatedIsNotLeftMostPolymorphic>,
|
| + public PolymorphicBase {
|
| +};
|
| +
|
| }
|
|
|
| #endif
|
|
|