Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Unified Diff: tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt

Issue 2588943002: Disallow heap objects containing unsafe on-heap iterators. (Closed)
Patch Set: formatting Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt
diff --git a/tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt b/tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt
index 5e428dcd44671781eaf1cde02021c99c3169e037..61dc6a2fbe94af04748c75f0ef8c06fa1a55f3ba 100644
--- a/tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt
+++ b/tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt
@@ -11,18 +11,33 @@ class PartObject {
./fields_illegal_tracing.h:40:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here:
std::unique_ptr<HeapObject> m_obj4;
^
-./fields_illegal_tracing.h:43:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields.
+./fields_illegal_tracing.h:42:5: note: [blink-gc] Iterator field 'm_iterator2' to a GC managed collection declared here:
+ HeapVector<Member<HeapObject>>::iterator m_iterator2;
+ ^
+./fields_illegal_tracing.h:43:5: note: [blink-gc] Iterator field 'm_iterator3' to a GC managed collection declared here:
+ HeapHashSet<PartObject>::const_iterator m_iterator3;
+ ^
+./fields_illegal_tracing.h:46:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields.
class HeapObject : public GarbageCollectedFinalized<HeapObject> {
^
-./fields_illegal_tracing.h:48:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here:
+./fields_illegal_tracing.h:51:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here:
OwnPtr<HeapObject> m_obj1;
^
-./fields_illegal_tracing.h:49:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here:
+./fields_illegal_tracing.h:52:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here:
RefPtr<HeapObject> m_obj2;
^
-./fields_illegal_tracing.h:51:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here:
+./fields_illegal_tracing.h:54:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here:
std::unique_ptr<HeapObject> m_obj4;
^
+./fields_illegal_tracing.h:55:5: note: [blink-gc] Iterator field 'm_iterator3' to a GC managed collection declared here:
+ HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3;
+ ^
+./fields_illegal_tracing.h:56:5: note: [blink-gc] Iterator field 'm_iterator4' to a GC managed collection declared here:
+ HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4;
+ ^
+./fields_illegal_tracing.h:58:5: note: [blink-gc] Iterator field 'm_iterator6' to a GC managed collection declared here:
+ HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6;
+ ^
fields_illegal_tracing.cpp:9:1: warning: [blink-gc] Class 'PartObject' has untraced or not traceable fields.
void PartObject::trace(Visitor* visitor) {
^
@@ -38,13 +53,16 @@ void PartObject::trace(Visitor* visitor) {
fields_illegal_tracing.cpp:16:1: warning: [blink-gc] Class 'HeapObject' has untraced or not traceable fields.
void HeapObject::trace(Visitor* visitor) {
^
-./fields_illegal_tracing.h:48:5: note: [blink-gc] Untraceable field 'm_obj1' declared here:
+./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj1' declared here:
OwnPtr<HeapObject> m_obj1;
^
-./fields_illegal_tracing.h:49:5: note: [blink-gc] Untraceable field 'm_obj2' declared here:
+./fields_illegal_tracing.h:52:5: note: [blink-gc] Untraceable field 'm_obj2' declared here:
RefPtr<HeapObject> m_obj2;
^
-./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj4' declared here:
+./fields_illegal_tracing.h:54:5: note: [blink-gc] Untraceable field 'm_obj4' declared here:
std::unique_ptr<HeapObject> m_obj4;
^
+./fields_illegal_tracing.h:57:5: note: [blink-gc] Untraced field 'm_iterator5' declared here:
+ HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5;
+ ^
4 warnings generated.

Powered by Google App Engine
This is Rietveld 408576698