Stuart Hastings | 32a9e83 | 2010-08-02 22:09:53 +0000 | [diff] [blame] | 1 | // RUN: not %llvmgcc %s -S -emit-llvm -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 |
Stuart Hastings | 8eab2c2 | 2010-08-02 23:29:03 +0000 | [diff] [blame] | 21 | #ifdef __clang__ |
| 22 | #error setting a C++ non-POD object value is not implemented |
| 23 | #endif |
Stuart Hastings | 32a9e83 | 2010-08-02 22:09:53 +0000 | [diff] [blame] | 24 | entry.targetPath = newPath; |
| 25 | [entry setTargetPath:newPath]; |
| 26 | } |
| 27 | @end |