Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/obj-c++.dg/objc-gc-3.mm @ 118:fd00160c1b76
ifdef TARGET_64BIT
author | mir3636 |
---|---|
date | Tue, 27 Feb 2018 15:01:35 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
/* Test looking up fields in superclasses in the context of write-barriers (where component references get rewritten). */ /* Contributed by Ziemowit Laski <zlaski@apple.com> */ /* { dg-do compile } */ /* { dg-options "-fobjc-gc" } */ /* { dg-prune-output "cc1objplus: warning: '-fobjc-gc' is ignored for '-fgnu-runtime'" } */ #include "../objc-obj-c++-shared/TestsuiteObject.h" #include "../objc-obj-c++-shared/runtime.h" @class MyWindow; @interface MyDocument : TestsuiteObject { MyWindow *_window; } @end @interface MyFileDocument : MyDocument { struct { unsigned int autoClose:1; unsigned int openForUI:1; unsigned int isClosing:1; unsigned int needsDiskCheck:1; unsigned int isWritable:1; unsigned int representsFileOnDisk:1; unsigned int RESERVED:26; } _fdFlags; } @end @interface MyTextFileDocument : MyFileDocument { TestsuiteObject *_textStorage; struct __tfdFlags { unsigned int immutable:1; unsigned int lineEnding:2; unsigned int isClosing:1; unsigned int settingsAreSet:1; unsigned int usesTabs:1; unsigned int isUTF8WithBOM:1; unsigned int wrapsLines:1; unsigned int usingDefaultLanguage:1; unsigned int RESERVED:23; } _tfdFlags; int _tabWidth; int _indentWidth; } @end @interface MyRTFFileDocument : MyTextFileDocument - (BOOL)readFromFile:(const char *)fileName ofType:(const char *)type; @end @implementation MyRTFFileDocument - (BOOL)readFromFile:(const char *)fileName ofType:(const char *)type { if (_textStorage && fileName) { [_textStorage free]; return YES; } else if (type) { _textStorage = [MyRTFFileDocument new]; return NO; } return (fileName && type); } @end