Home | History | Annotate | Download | only in FrontendObjC++
      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 };
     10 
     11 @interface TWindowHistoryEntry  {}
     12 @property (assign, nonatomic) TFENodeVector targetPath;
     13 @end
     14 
     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];
     26 }
     27 @end
     28