objc-gc-7.mm

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· MM 代码 · 共 68 行

MM
68
字号
/* APPLE LOCAL file ObjC GC *//* Using -fobjc-gc should not mess with how 'super' gets handled. *//* { dg-do compile } *//* { dg-options "-fnext-runtime -fobjc-gc" } *//* Contributed by Ziemowit Laski <zlaski@apple.com>  */#include <objc/Object.h>typedef struct _GRDataPoint *GRDataPoint;typedef struct _NSRange {  unsigned int location;  unsigned int length;} NSRange;typedef struct {  id baz;} SmallStruct;typedef struct {  SmallStruct bar;} InnerStruct;typedef struct {  InnerStruct foo;} ComplexStruct;@interface SomeOther : Object- (void)setSelectedRange:(NSRange)charRange;@end@interface GRDataSet : Object {@protected  int numElements;  GRDataPoint * dataPoints;@private  id _dataSource;}-(BOOL) setSelectedRange:(NSRange)r;-(void) dealloc;@end@interface GRPieDataSet : GRDataSet {@private   double _sum;}@end@implementation GRPieDataSet-(void) dealloc{  dataPoints = 0;  [super dealloc];}-(BOOL) setSelectedRange:(NSRange)r{  BOOL retval;  retval = [super setSelectedRange:r];  return retval;}-(void) modStruct:(ComplexStruct)s{  s.foo.bar.baz = nil;}@end/* { dg-final { scan-assembler "objc_msgSendSuper" } } *//* { dg-final { scan-assembler-not "objc_msgSend\[^S\]" } } *//* { dg-final { scan-assembler-not "objc_assign_strongCast" } } */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?