llvm-6502/test/FrontendObjC++/2010-08-02-NonPODObjectValue.mm
Duncan Sands 20a00c4f80 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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120164 91177308-0d34-0410-b5e6-96231b3b80d8
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