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

Side by Side 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 3 years, 12 months 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 unified diff | Download patch
OLDNEW
1 In file included from fields_illegal_tracing.cpp:5: 1 In file included from fields_illegal_tracing.cpp:5:
2 ./fields_illegal_tracing.h:32:1: warning: [blink-gc] Class 'PartObject' contains invalid fields. 2 ./fields_illegal_tracing.h:32:1: warning: [blink-gc] Class 'PartObject' contains invalid fields.
3 class PartObject { 3 class PartObject {
4 ^ 4 ^
5 ./fields_illegal_tracing.h:37:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here: 5 ./fields_illegal_tracing.h:37:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here:
6 OwnPtr<HeapObject> m_obj1; 6 OwnPtr<HeapObject> m_obj1;
7 ^ 7 ^
8 ./fields_illegal_tracing.h:38:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here: 8 ./fields_illegal_tracing.h:38:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here:
9 RefPtr<HeapObject> m_obj2; 9 RefPtr<HeapObject> m_obj2;
10 ^ 10 ^
11 ./fields_illegal_tracing.h:40:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here: 11 ./fields_illegal_tracing.h:40:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here:
12 std::unique_ptr<HeapObject> m_obj4; 12 std::unique_ptr<HeapObject> m_obj4;
13 ^ 13 ^
14 ./fields_illegal_tracing.h:43:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields. 14 ./fields_illegal_tracing.h:42:5: note: [blink-gc] Iterator field 'm_iterator2' t o a GC managed collection declared here:
15 HeapVector<Member<HeapObject>>::iterator m_iterator2;
16 ^
17 ./fields_illegal_tracing.h:43:5: note: [blink-gc] Iterator field 'm_iterator3' t o a GC managed collection declared here:
18 HeapHashSet<PartObject>::const_iterator m_iterator3;
19 ^
20 ./fields_illegal_tracing.h:46:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields.
15 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 21 class HeapObject : public GarbageCollectedFinalized<HeapObject> {
16 ^ 22 ^
17 ./fields_illegal_tracing.h:48:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here: 23 ./fields_illegal_tracing.h:51:5: note: [blink-gc] OwnPtr field 'm_obj1' to a GC managed class declared here:
18 OwnPtr<HeapObject> m_obj1; 24 OwnPtr<HeapObject> m_obj1;
19 ^ 25 ^
20 ./fields_illegal_tracing.h:49:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here: 26 ./fields_illegal_tracing.h:52:5: note: [blink-gc] RefPtr field 'm_obj2' to a GC managed class declared here:
21 RefPtr<HeapObject> m_obj2; 27 RefPtr<HeapObject> m_obj2;
22 ^ 28 ^
23 ./fields_illegal_tracing.h:51:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here: 29 ./fields_illegal_tracing.h:54:5: note: [blink-gc] std::unique_ptr field 'm_obj4' to a GC managed class declared here:
24 std::unique_ptr<HeapObject> m_obj4; 30 std::unique_ptr<HeapObject> m_obj4;
25 ^ 31 ^
32 ./fields_illegal_tracing.h:55:5: note: [blink-gc] Iterator field 'm_iterator3' t o a GC managed collection declared here:
33 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3;
34 ^
35 ./fields_illegal_tracing.h:56:5: note: [blink-gc] Iterator field 'm_iterator4' t o a GC managed collection declared here:
36 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4;
37 ^
38 ./fields_illegal_tracing.h:58:5: note: [blink-gc] Iterator field 'm_iterator6' t o a GC managed collection declared here:
39 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6;
40 ^
26 fields_illegal_tracing.cpp:9:1: warning: [blink-gc] Class 'PartObject' has untra ced or not traceable fields. 41 fields_illegal_tracing.cpp:9:1: warning: [blink-gc] Class 'PartObject' has untra ced or not traceable fields.
27 void PartObject::trace(Visitor* visitor) { 42 void PartObject::trace(Visitor* visitor) {
28 ^ 43 ^
29 ./fields_illegal_tracing.h:37:5: note: [blink-gc] Untraceable field 'm_obj1' dec lared here: 44 ./fields_illegal_tracing.h:37:5: note: [blink-gc] Untraceable field 'm_obj1' dec lared here:
30 OwnPtr<HeapObject> m_obj1; 45 OwnPtr<HeapObject> m_obj1;
31 ^ 46 ^
32 ./fields_illegal_tracing.h:38:5: note: [blink-gc] Untraceable field 'm_obj2' dec lared here: 47 ./fields_illegal_tracing.h:38:5: note: [blink-gc] Untraceable field 'm_obj2' dec lared here:
33 RefPtr<HeapObject> m_obj2; 48 RefPtr<HeapObject> m_obj2;
34 ^ 49 ^
35 ./fields_illegal_tracing.h:40:5: note: [blink-gc] Untraceable field 'm_obj4' dec lared here: 50 ./fields_illegal_tracing.h:40:5: note: [blink-gc] Untraceable field 'm_obj4' dec lared here:
36 std::unique_ptr<HeapObject> m_obj4; 51 std::unique_ptr<HeapObject> m_obj4;
37 ^ 52 ^
38 fields_illegal_tracing.cpp:16:1: warning: [blink-gc] Class 'HeapObject' has untr aced or not traceable fields. 53 fields_illegal_tracing.cpp:16:1: warning: [blink-gc] Class 'HeapObject' has untr aced or not traceable fields.
39 void HeapObject::trace(Visitor* visitor) { 54 void HeapObject::trace(Visitor* visitor) {
40 ^ 55 ^
41 ./fields_illegal_tracing.h:48:5: note: [blink-gc] Untraceable field 'm_obj1' dec lared here: 56 ./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj1' dec lared here:
42 OwnPtr<HeapObject> m_obj1; 57 OwnPtr<HeapObject> m_obj1;
43 ^ 58 ^
44 ./fields_illegal_tracing.h:49:5: note: [blink-gc] Untraceable field 'm_obj2' dec lared here: 59 ./fields_illegal_tracing.h:52:5: note: [blink-gc] Untraceable field 'm_obj2' dec lared here:
45 RefPtr<HeapObject> m_obj2; 60 RefPtr<HeapObject> m_obj2;
46 ^ 61 ^
47 ./fields_illegal_tracing.h:51:5: note: [blink-gc] Untraceable field 'm_obj4' dec lared here: 62 ./fields_illegal_tracing.h:54:5: note: [blink-gc] Untraceable field 'm_obj4' dec lared here:
48 std::unique_ptr<HeapObject> m_obj4; 63 std::unique_ptr<HeapObject> m_obj4;
49 ^ 64 ^
65 ./fields_illegal_tracing.h:57:5: note: [blink-gc] Untraced field 'm_iterator5' d eclared here:
66 HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5;
67 ^
50 4 warnings generated. 68 4 warnings generated.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698