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 + -
显示快捷键?