1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/FrontendObjC++/2010-08-02-NonPODObjectValue.mm
Duncan Sands 6f39fefae0 Remove explicit uses of -emit-llvm, the test infrastructure adds it
automatically.  Use -S with llvm-gcc rather than -c, so tests can
work when llvm-gcc is really dragonegg (which can output IR with -S
but not -c).  Yes, dragonegg supports objective-c++ (poorly though).

llvm-svn: 120164
2010-11-25 21:48:20 +00:00

28 lines
790 B
Plaintext

// RUN: not %llvmgcc %s -S -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