// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -debug-info-kind=limited -emit-llvm %s -o /dev/null

// This test passes if clang doesn't crash.

template <class C> class scoped_ptr {
public:
  C* operator->() const { return 0; }
};

@class NSWindow;
@class NSImage;
@interface NSWindow {
  NSImage *_miniIcon;
}
-(id)windowController;
@end

class AutomationResourceTracker {
public:
  NSWindow* GetResource(int handle) { return 0; }
};

# 13 "automation/automation_window_tracker.h"
class AutomationWindowTracker : public AutomationResourceTracker { };

template<typename NST> class scoped_nsobject { };

@interface TabStripController{
  scoped_nsobject<NSImage> defaultFavicon_;
}
@end

@interface BrowserWindowController {
  TabStripController* tabStripController_;
}
@end

void WindowGetViewBounds(scoped_ptr<AutomationWindowTracker> window_tracker_) {
  NSWindow* window = window_tracker_->GetResource(42);
  BrowserWindowController* controller = [window windowController];
}
