From 2e6d2d48205f272c39a50ae93ae4c700888e11e3 Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Fri, 24 Jun 2016 20:41:18 +0000 Subject: Added a test case for bitfield ivars. It currently fails. llvm-svn: 273718 --- .../lang/objc/bitfield_ivars/TestBitfieldIvars.py | 4 ++ .../lldbsuite/test/lang/objc/bitfield_ivars/main.m | 52 ++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/TestBitfieldIvars.py create mode 100644 lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/main.m (limited to 'lldb/packages/Python/lldbsuite/test/lang/objc') diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/TestBitfieldIvars.py b/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/TestBitfieldIvars.py new file mode 100644 index 00000000000..01bf241b038 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/TestBitfieldIvars.py @@ -0,0 +1,4 @@ +from lldbsuite.test import lldbinline +from lldbsuite.test import decorators + +lldbinline.MakeInlineTest(__file__, globals(), [decorators.skipIfFreeBSD,decorators.skipIfLinux,decorators.skipIfWindows, decorators.expectedFailureAll(bugnumber="rdar://problem/17990991")]) diff --git a/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/main.m b/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/main.m new file mode 100644 index 00000000000..9ee3bbe6677 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/lang/objc/bitfield_ivars/main.m @@ -0,0 +1,52 @@ +//===-- main.m -------------------------------------------*- Objective-C-*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#import + +@interface HasBitfield : NSObject { +@public + unsigned field1 : 1; + unsigned field2 : 1; +}; + +-(id)init; +@end + +@implementation HasBitfield +-(id)init { + self = [super init]; + field1 = 0; + field2 = 1; + return self; +} +@end + +@interface ContainsAHasBitfield : NSObject { +@public + HasBitfield *hb; +}; +-(id)init; +@end + +@implementation ContainsAHasBitfield +-(id)init { + self = [super init]; + hb = [[HasBitfield alloc] init]; + return self; +} + +@end + +int main(int argc, const char * argv[]) { + ContainsAHasBitfield *chb = [[ContainsAHasBitfield alloc] init]; + printf("%d\n", chb->hb->field2); //% self.expect("expression -- chb->hb->field1", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["= 0"]) + //% self.expect("expression -- chb->hb->field2", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["= 1"]) # this must happen second + return 0; +} + -- cgit v1.2.3