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

Side by Side Diff: tools/clang/blink_gc_plugin/tests/left_most_gc_base.h

Issue 840623002: Do not iterate past the end on processing leaf class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef LEFT_MOST_GC_BASE_H_ 5 #ifndef LEFT_MOST_GC_BASE_H_
6 #define LEFT_MOST_GC_BASE_H_ 6 #define LEFT_MOST_GC_BASE_H_
7 7
8 #include "heap/stubs.h" 8 #include "heap/stubs.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 class A { }; 12 class A { };
13 class B { }; 13 class B { };
14 14
15 class Right : public A, public B, public GarbageCollected<Right> { }; // Error 15 class Right : public A, public B, public GarbageCollected<Right> { }; // Error
16 class Left : public GarbageCollected<Left>, public B, public A { }; 16 class Left : public GarbageCollected<Left>, public B, public A { };
17 17
18 class DerivedRight : public Right, public Left { }; // Error 18 class DerivedRight : public Right, public Left { }; // Error
19 class DerivedLeft : public Left, public Right { }; 19 class DerivedLeft : public Left, public Right { };
20 20
21 class C : public GarbageCollected<C> {
22 public:
23 virtual void trace(Visitor*);
24 };
25
26 class IllFormed : public A, public C { }; // Error
27
21 } 28 }
22 29
23 #endif 30 #endif
OLDNEW
« no previous file with comments | « tools/clang/blink_gc_plugin/BlinkGCPlugin.cpp ('k') | tools/clang/blink_gc_plugin/tests/left_most_gc_base.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698