aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2012-02-21 03:52:05 +0000
committerNico Weber <nicolasweber@gmx.de>2012-02-21 03:52:05 +0000
commit450301e4b6c5373f2bb1eeb998e8dbc0837f12bc (patch)
tree35aa2fad4dcbae31896f28b2e5cc67ddf4c9d435
parent552e29985a710f4ced62b39d70557501bd31ca9b (diff)
Add a test case for r150976.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151027 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGenObjCXX/debug-info.mm41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/CodeGenObjCXX/debug-info.mm b/test/CodeGenObjCXX/debug-info.mm
new file mode 100644
index 0000000000..30af4c30c5
--- /dev/null
+++ b/test/CodeGenObjCXX/debug-info.mm
@@ -0,0 +1,41 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -emit-obj %s
+
+// 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];
+}