]>
Commit | Line | Data |
---|---|---|
223e47cc LB |
1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -emit-llvm %s -o /dev/null |
2 | ||
3 | // This test passes if clang doesn't crash. | |
4 | ||
5 | template <class C> class scoped_ptr { | |
6 | public: | |
7 | C* operator->() const { return 0; } | |
8 | }; | |
9 | ||
10 | @class NSWindow; | |
11 | @class NSImage; | |
12 | @interface NSWindow { | |
13 | NSImage *_miniIcon; | |
14 | } | |
15 | -(id)windowController; | |
16 | @end | |
17 | ||
18 | class AutomationResourceTracker { | |
19 | public: | |
20 | NSWindow* GetResource(int handle) { return 0; } | |
21 | }; | |
22 | ||
23 | # 13 "automation/automation_window_tracker.h" | |
24 | class AutomationWindowTracker : public AutomationResourceTracker { }; | |
25 | ||
26 | template<typename NST> class scoped_nsobject { }; | |
27 | ||
28 | @interface TabStripController{ | |
29 | scoped_nsobject<NSImage> defaultFavicon_; | |
30 | } | |
31 | @end | |
32 | ||
33 | @interface BrowserWindowController { | |
34 | TabStripController* tabStripController_; | |
35 | } | |
36 | @end | |
37 | ||
38 | void WindowGetViewBounds(scoped_ptr<AutomationWindowTracker> window_tracker_) { | |
39 | NSWindow* window = window_tracker_->GetResource(42); | |
40 | BrowserWindowController* controller = [window windowController]; | |
41 | } |