summaryrefslogtreecommitdiff
path: root/test/FrontendObjC++/2010-08-02-NonPODObjectValue.mm
blob: 298844e97b5d303c32bcf4a19a3749838b005cf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// RUN: not %llvmgcc %s -S -emit-llvm -o - |& FileCheck %s
// This tests for a specific diagnostic in LLVM-GCC.
// Clang compiles this correctly with no diagnostic,
// ergo this test will fail with a Clang-based front-end.
class TFENodeVector  {
public:
 TFENodeVector(const TFENodeVector& inNodeVector);
 TFENodeVector();
};

@interface TWindowHistoryEntry  {}
@property (assign, nonatomic) TFENodeVector targetPath;
@end

@implementation TWindowHistoryEntry
@synthesize targetPath;
- (void) initWithWindowController {
   TWindowHistoryEntry* entry;
   TFENodeVector newPath;
   // CHECK: setting a C++ non-POD object value is not implemented
#ifdef __clang__
#error setting a C++ non-POD object value is not implemented
#endif
   entry.targetPath = newPath;
   [entry setTargetPath:newPath];
}
@end