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

Side by Side Diff: tools/clang/blink_gc_plugin/tests/fields_illegal_tracing.txt

Issue 2681753002: blink_gc_plugin: report illegal on-heap iterators as warnings/errors. (Closed)
Patch Set: Created 3 years, 10 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:42:5: note: [blink-gc] Iterator field 'm_iterator2' t o a GC managed collection declared here: 14 ./fields_illegal_tracing.h:42:5: warning: [blink-gc] Iterator field 'm_iterator2 ' to a GC managed collection declared here:
15 HeapVector<Member<HeapObject>>::iterator m_iterator2; 15 HeapVector<Member<HeapObject>>::iterator m_iterator2;
16 ^ 16 ^
17 ./fields_illegal_tracing.h:43:5: note: [blink-gc] Iterator field 'm_iterator3' t o a GC managed collection declared here: 17 ./fields_illegal_tracing.h:43:5: warning: [blink-gc] Iterator field 'm_iterator3 ' to a GC managed collection declared here:
18 HeapHashSet<PartObject>::const_iterator m_iterator3; 18 HeapHashSet<PartObject>::const_iterator m_iterator3;
19 ^ 19 ^
20 ./fields_illegal_tracing.h:46:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields. 20 ./fields_illegal_tracing.h:46:1: warning: [blink-gc] Class 'HeapObject' contains invalid fields.
21 class HeapObject : public GarbageCollectedFinalized<HeapObject> { 21 class HeapObject : public GarbageCollectedFinalized<HeapObject> {
22 ^ 22 ^
23 ./fields_illegal_tracing.h:51: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:
24 OwnPtr<HeapObject> m_obj1; 24 OwnPtr<HeapObject> m_obj1;
25 ^ 25 ^
26 ./fields_illegal_tracing.h:52: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:
27 RefPtr<HeapObject> m_obj2; 27 RefPtr<HeapObject> m_obj2;
28 ^ 28 ^
29 ./fields_illegal_tracing.h:54: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:
30 std::unique_ptr<HeapObject> m_obj4; 30 std::unique_ptr<HeapObject> m_obj4;
31 ^ 31 ^
32 ./fields_illegal_tracing.h:55:5: note: [blink-gc] Iterator field 'm_iterator3' t o a GC managed collection declared here: 32 ./fields_illegal_tracing.h:55:5: warning: [blink-gc] Iterator field 'm_iterator3 ' to a GC managed collection declared here:
33 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3; 33 HeapHashMap<int, Member<HeapObject>>::reverse_iterator m_iterator3;
34 ^ 34 ^
35 ./fields_illegal_tracing.h:56:5: note: [blink-gc] Iterator field 'm_iterator4' t o a GC managed collection declared here: 35 ./fields_illegal_tracing.h:56:5: warning: [blink-gc] Iterator field 'm_iterator4 ' to a GC managed collection declared here:
36 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4; 36 HeapDeque<Member<HeapObject>>::const_reverse_iterator m_iterator4;
37 ^ 37 ^
38 ./fields_illegal_tracing.h:58:5: note: [blink-gc] Iterator field 'm_iterator6' t o a GC managed collection declared here: 38 ./fields_illegal_tracing.h:58:5: warning: [blink-gc] Iterator field 'm_iterator6 ' to a GC managed collection declared here:
39 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6; 39 HeapLinkedHashSet<Member<HeapObject>>::const_iterator m_iterator6;
40 ^ 40 ^
41 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.
42 void PartObject::Trace(Visitor* visitor) { 42 void PartObject::Trace(Visitor* visitor) {
43 ^ 43 ^
44 ./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:
45 OwnPtr<HeapObject> m_obj1; 45 OwnPtr<HeapObject> m_obj1;
46 ^ 46 ^
47 ./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:
48 RefPtr<HeapObject> m_obj2; 48 RefPtr<HeapObject> m_obj2;
49 ^ 49 ^
50 ./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:
51 std::unique_ptr<HeapObject> m_obj4; 51 std::unique_ptr<HeapObject> m_obj4;
52 ^ 52 ^
53 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.
54 void HeapObject::Trace(Visitor* visitor) { 54 void HeapObject::Trace(Visitor* visitor) {
55 ^ 55 ^
56 ./fields_illegal_tracing.h:51: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:
57 OwnPtr<HeapObject> m_obj1; 57 OwnPtr<HeapObject> m_obj1;
58 ^ 58 ^
59 ./fields_illegal_tracing.h:52: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:
60 RefPtr<HeapObject> m_obj2; 60 RefPtr<HeapObject> m_obj2;
61 ^ 61 ^
62 ./fields_illegal_tracing.h:54: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:
63 std::unique_ptr<HeapObject> m_obj4; 63 std::unique_ptr<HeapObject> m_obj4;
64 ^ 64 ^
65 ./fields_illegal_tracing.h:57:5: note: [blink-gc] Untraced field 'm_iterator5' d eclared here: 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; 66 HeapListHashSet<Member<HeapObject>>::const_iterator m_iterator5;
67 ^ 67 ^
68 4 warnings generated. 68 9 warnings generated.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698