@@ -194,16 +194,41 @@ - (void)testBitfields {
194194 unsigned __int128 f : 100 ;
195195 unsigned g : 10 ;
196196 unsigned h : 15 ;
197+ struct BitfieldTestB {
198+ unsigned a : 18 ;
199+ unsigned b : 2 ;
200+ unsigned c : 30 ;
201+ unsigned long d : 34 ;
202+ unsigned e : 1 ;
203+ unsigned __int128 f : 100 ;
204+ unsigned g : 10 ;
205+ unsigned h : 15 ;
206+ } nested;
197207 };
198- CDRecordType *type = [CDTypeParser typeForEncoding: @encode (struct BitfieldTest)];
208+ CDRecordType *type = (CDRecordType *) [CDTypeParser typeForEncoding: @encode (struct BitfieldTest)];
199209 type.expand = YES ;
200- NSLog (@" %@ " , [type stringForVariableName: @" var" ]);
201- // XCTAssert([[type stringForVariableName:@"var"] isEqualToString:@"struct BitfieldTest { "
202- // "unsigned int x0 : 18; unsigned char x1 : 2; "
203- // "unsigned int x2 : 30; unsigned long x3 : 34; "
204- // "unsigned char x4 : 1; unsigned __int128 x5 : 100; "
205- // "unsigned short x6 : 10; unsigned short x7 : 15; "
206- // "} var"]);
210+ NSString *expected =
211+ @" struct BitfieldTest { \n " \
212+ " unsigned int x0 : 18; \n " \
213+ " unsigned char x1 : 2; \n " \
214+ " unsigned int x2 : 30; \n " \
215+ " unsigned long x3 : 34; \n " \
216+ " unsigned char x4 : 1; \n " \
217+ " unsigned __int128 x5 : 100; \n " \
218+ " unsigned short x6 : 10; \n " \
219+ " unsigned short x7 : 15; \n " \
220+ " struct BitfieldTestB { \n " \
221+ " unsigned int x0 : 18; \n " \
222+ " unsigned char x1 : 2; \n " \
223+ " unsigned int x2 : 30; \n " \
224+ " unsigned long x3 : 34; \n " \
225+ " unsigned char x4 : 1; \n " \
226+ " unsigned __int128 x5 : 100; \n " \
227+ " unsigned short x6 : 10; \n " \
228+ " unsigned short x7 : 15; \n " \
229+ " } x8; \n " \
230+ " } var" ;
231+ XCTAssert ([[type stringForVariableName: @" var" ] isEqualToString: expected]);
207232}
208233
209234- (void )testModifiedFields {
0 commit comments