Home | History | Annotate | Download | only in CodeGenObjCXX
      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 }
     42