Land the long talked about "type system rewrite" patch. This
[llvm/stm8.git] / test / FrontendObjC++ / 2010-08-02-NonPODObjectValue.mm
blobda47ed0c1222fbf3c3a6d329c4116d2a38cb9468
1 // RUN: not %llvmgcc %s -S -o - |& FileCheck %s
2 // This tests for a specific diagnostic in LLVM-GCC.
3 // Clang compiles this correctly with no diagnostic,
4 // ergo this test will fail with a Clang-based front-end.
5 class TFENodeVector  {
6 public:
7  TFENodeVector(const TFENodeVector& inNodeVector);
8  TFENodeVector();
9 };
11 @interface TWindowHistoryEntry  {}
12 @property (assign, nonatomic) TFENodeVector targetPath;
13 @end
15 @implementation TWindowHistoryEntry
16 @synthesize targetPath;
17 - (void) initWithWindowController {
18    TWindowHistoryEntry* entry;
19    TFENodeVector newPath;
20    // CHECK: setting a C++ non-POD object value is not implemented
21 #ifdef __clang__
22 #error setting a C++ non-POD object value is not implemented
23 #endif
24    entry.targetPath = newPath;
25    [entry setTargetPath:newPath];
27 @end