diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2013-04-18 23:43:21 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-04-18 23:43:21 +0000 |
commit | 0c7102f070c10a261ea40700cfbb9102f642ad72 (patch) | |
tree | b297323469011630bcd6a0b39cb3f77e6fceed86 /test/Parser | |
parent | 38dbad233bfc7906e38e028707ffe5925b9ca46c (diff) |
Objective-C++: Enable passing of modern C++11 style
initialized temporaries to objc++ methods.
// rdar://12788429
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179818 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser')
-rw-r--r-- | test/Parser/objcxx11-initialized-temps.mm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/Parser/objcxx11-initialized-temps.mm b/test/Parser/objcxx11-initialized-temps.mm new file mode 100644 index 0000000000..96f19fe6a5 --- /dev/null +++ b/test/Parser/objcxx11-initialized-temps.mm @@ -0,0 +1,38 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s +// expected-no-diagnostics +// rdar://12788429 + +struct CGPoint { + double x; + double y; +}; +typedef struct CGPoint CGPoint; + +struct CGSize { + double width; + double height; +}; +typedef struct CGSize CGSize; + +struct CGRect { + CGPoint origin; + CGSize size; +}; +typedef struct CGRect CGRect; + +typedef CGRect NSRect; + +void HappySetFrame(NSRect frame) {} + +__attribute__((objc_root_class)) +@interface NSObject @end + +@implementation NSObject +- (void) sadSetFrame: (NSRect)frame {} + +- (void) nothing +{ + HappySetFrame({{0,0}, {13,14}}); + [self sadSetFrame: {{0,0}, {13,14}}]; +} +@end |