This is a place to gather the (several) contributing factors to the apparent regression in handling Darwin / MacOS X objective c headers.
The short list of major factors: 1. (78352) GCC lacks support for the Apple "blocks" extension to the C family of languages. - block syntax appears without guards in many places in modern Darwin system headers. 2. (90707) - GNU Objective C (C++) does not support nullability syntax. - nullability introduces new keywords for objective c and, unlike the equivalent markup in C/C++, these cannot be worked around with preprocessor hacks, 3. (90708) - GNU Objective C (C++) does not support lightweight generics. - likewise this is an invasive syntax change that can't be worked around. 4. instancetype keyword (partially implemented, at least we can consume the syntax). ----- However, taking these points aside - for the APIs currently implemented by GNNU objective c - we should seek a mechanism to monitor for regressions.
*** Bug 63651 has been marked as a duplicate of this bug. ***
Author: iains Date: Sat Jun 15 13:54:36 2019 New Revision: 272325 URL: https://gcc.gnu.org/viewcvs?rev=272325&root=gcc&view=rev Log: [objective-c/c++, testsuite, 1/3] Workaround for PR90709. Since we cannot parse the current NeXT headers, because of PR90709 and its dependents, we have a large amount of testsuite noise for Darwin platforms. In order to restore the usefulness of the testsuite, we are going add headers without the modern syntax elements that trigger the bug, and use these for test runs on newer Darwin. The headers are imported from GNUStep, with some local modifications to make sure that __BLOCKS__ is honoured as a gate for Apple-style blocks closures. CF-CFString.h, F-NS*.h are proxy headers that use the installed CoreFoundation or Foundation headers on systems <= Darwin12 and the GNUStep headers for newer. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc-obj-c++-shared/CF-CFString.h: New. * objc-obj-c++-shared/F-NSArray.h: New. * objc-obj-c++-shared/F-NSAutoreleasePool.h: New. * objc-obj-c++-shared/F-NSObject.h: New. * objc-obj-c++-shared/F-NSString.h: New. * objc-obj-c++-shared/F-NSValue.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New. Added: trunk/gcc/testsuite/objc-obj-c++-shared/CF-CFString.h trunk/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h trunk/gcc/testsuite/objc-obj-c++-shared/F-NSAutoreleasePool.h trunk/gcc/testsuite/objc-obj-c++-shared/F-NSObject.h trunk/gcc/testsuite/objc-obj-c++-shared/F-NSString.h trunk/gcc/testsuite/objc-obj-c++-shared/F-NSValue.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/ trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/ trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/ trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSArray.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSValue.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSZone.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/ trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h trunk/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h Modified: trunk/gcc/testsuite/ChangeLog
Author: iains Date: Sat Jun 15 14:00:24 2019 New Revision: 272326 URL: https://gcc.gnu.org/viewcvs?rev=272326&root=gcc&view=rev Log: [objective-c/c++, testsuite, 2/3] Workaround for PR90709. Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c testsuite. Make minor adjustments to tests as required, providing that those do not alter the test intent. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc.dg/encode-7-next-64bit.m: Use proxy headers. * objc.dg/image-info.m: Likewise. * objc.dg/method-6.m: Likewise. * objc.dg/no-extra-load.m: Likewise. * objc.dg/objc-foreach-4.m: Likewise. * objc.dg/objc-foreach-5.m: Likewise. * objc.dg/proto-lossage-7.m: Likewise. * objc.dg/strings/const-cfstring-2.m: Likewise. * objc.dg/strings/const-cfstring-5.m: Likewise. * objc.dg/strings/const-str-12b.m: Likewise. * objc.dg/symtab-1.m: Likewise. * objc.dg/torture/strings/const-cfstring-1.m: Likewise. * objc.dg/torture/strings/const-str-10.m: Likewise. * objc.dg/torture/strings/const-str-11.m: Likewise. * objc.dg/torture/strings/const-str-9.m: Likewise. * objc.dg/zero-link-1.m: Likewise. * objc.dg/zero-link-2.m: Likewise. * objc.dg/zero-link-3.m: Likewise. * objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why. * objc.dg/headers.m: XFAIL for Darwin14-19. * objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error there. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/objc.dg/encode-7-next-64bit.m trunk/gcc/testsuite/objc.dg/headers.m trunk/gcc/testsuite/objc.dg/image-info.m trunk/gcc/testsuite/objc.dg/isa-field-1.m trunk/gcc/testsuite/objc.dg/method-6.m trunk/gcc/testsuite/objc.dg/no-extra-load.m trunk/gcc/testsuite/objc.dg/objc-foreach-4.m trunk/gcc/testsuite/objc.dg/objc-foreach-5.m trunk/gcc/testsuite/objc.dg/objc-gc-4.m trunk/gcc/testsuite/objc.dg/proto-lossage-7.m trunk/gcc/testsuite/objc.dg/strings/const-cfstring-2.m trunk/gcc/testsuite/objc.dg/strings/const-cfstring-5.m trunk/gcc/testsuite/objc.dg/strings/const-str-12b.m trunk/gcc/testsuite/objc.dg/symtab-1.m trunk/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m trunk/gcc/testsuite/objc.dg/torture/strings/const-str-10.m trunk/gcc/testsuite/objc.dg/torture/strings/const-str-11.m trunk/gcc/testsuite/objc.dg/torture/strings/const-str-9.m trunk/gcc/testsuite/objc.dg/zero-link-1.m trunk/gcc/testsuite/objc.dg/zero-link-2.m trunk/gcc/testsuite/objc.dg/zero-link-3.m
Author: iains Date: Sat Jun 15 14:03:44 2019 New Revision: 272327 URL: https://gcc.gnu.org/viewcvs?rev=272327&root=gcc&view=rev Log: [objective-c/c++, testsuite, 3/3] Workaround for PR90709. Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c++ testsuite. Make minor adjustments to tests as required, providing that those do not alter the test intent. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * obj-c++.dg/proto-lossage-7.mm: Use proxy headers. * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. * obj-c++.dg/strings/const-cfstring-5.mm: Likewise * obj-c++.dg/strings/const-str-12.mm: Likewise. * obj-c++.dg/syntax-error-1.mm: Likewise. * obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise. * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. * obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API in no longer supported, also on m64 where there's no meaning to it. * obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why. * obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error there. * obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning. * obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings. * obj-c++.dg/stubify-2.mm: Likewise. * obj-c++.dg/try-catch-1.mm: Likewise. * obj-c++.dg/try-catch-3.mm: Likewise. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm trunk/gcc/testsuite/obj-c++.dg/isa-field-1.mm trunk/gcc/testsuite/obj-c++.dg/objc-gc-3.mm trunk/gcc/testsuite/obj-c++.dg/proto-lossage-7.mm trunk/gcc/testsuite/obj-c++.dg/qual-types-1.mm trunk/gcc/testsuite/obj-c++.dg/strings/const-cfstring-2.mm trunk/gcc/testsuite/obj-c++.dg/strings/const-cfstring-5.mm trunk/gcc/testsuite/obj-c++.dg/strings/const-str-12.mm trunk/gcc/testsuite/obj-c++.dg/stubify-1.mm trunk/gcc/testsuite/obj-c++.dg/stubify-2.mm trunk/gcc/testsuite/obj-c++.dg/syntax-error-1.mm trunk/gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-1.mm trunk/gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm trunk/gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm trunk/gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm trunk/gcc/testsuite/obj-c++.dg/try-catch-1.mm trunk/gcc/testsuite/obj-c++.dg/try-catch-3.mm
Author: iains Date: Sun Aug 4 13:34:19 2019 New Revision: 274095 URL: https://gcc.gnu.org/viewcvs?rev=274095&root=gcc&view=rev Log: Objective-C, NeXT, backport workaround for PR90709 Since we cannot parse the current NeXT headers, because of PR90709 and its dependents, we have a large amount of testsuite noise for Darwin platforms. In order to restore the usefulness of the testsuite, we are going add headers without the modern syntax elements that trigger the bug, and use these for test runs on newer Darwin. The headers are imported from GNUStep, with some local modifications to make sure that __BLOCKS__ is honoured as a gate for Apple-style blocks closures. CF-CFString.h, F-NS*.h are proxy headers that use the installed CoreFoundation or Foundation headers on systems <= Darwin12 and the GNUStep headers for newer. Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c testsuite. Make minor adjustments to tests as required, providing that those do not alter the test intent. 2019-08-04 Iain Sandoe <iain@sandoe.co.uk> Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * obj-c++.dg/proto-lossage-7.mm: Use proxy headers. * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. * obj-c++.dg/strings/const-cfstring-5.mm: Likewise * obj-c++.dg/strings/const-str-12.mm: Likewise. * obj-c++.dg/syntax-error-1.mm: Likewise. * obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise. * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. * obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API in no longer supported, also on m64 where there's no meaning to it. * obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why. * obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error there. * obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning. * obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings. * obj-c++.dg/stubify-2.mm: Likewise. * obj-c++.dg/try-catch-1.mm: Likewise. * obj-c++.dg/try-catch-3.mm: Likewise. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc.dg/encode-7-next-64bit.m: Use proxy headers. * objc.dg/image-info.m: Likewise. * objc.dg/method-6.m: Likewise. * objc.dg/no-extra-load.m: Likewise. * objc.dg/objc-foreach-4.m: Likewise. * objc.dg/objc-foreach-5.m: Likewise. * objc.dg/proto-lossage-7.m: Likewise. * objc.dg/strings/const-cfstring-2.m: Likewise. * objc.dg/strings/const-cfstring-5.m: Likewise. * objc.dg/strings/const-str-12b.m: Likewise. * objc.dg/symtab-1.m: Likewise. * objc.dg/torture/strings/const-cfstring-1.m: Likewise. * objc.dg/torture/strings/const-str-10.m: Likewise. * objc.dg/torture/strings/const-str-11.m: Likewise. * objc.dg/torture/strings/const-str-9.m: Likewise. * objc.dg/zero-link-1.m: Likewise. * objc.dg/zero-link-2.m: Likewise. * objc.dg/zero-link-3.m: Likewise. * objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why. * objc.dg/headers.m: XFAIL for Darwin14-19. * objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error there. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc-obj-c++-shared/CF-CFString.h: New. * objc-obj-c++-shared/F-NSArray.h: New. * objc-obj-c++-shared/F-NSAutoreleasePool.h: New. * objc-obj-c++-shared/F-NSObject.h: New. * objc-obj-c++-shared/F-NSString.h: New. * objc-obj-c++-shared/F-NSValue.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New. Added: branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/CF-CFString.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/F-NSAutoreleasePool.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/F-NSObject.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/F-NSString.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/F-NSValue.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/ branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/ branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/ branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSArray.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSValue.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSZone.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/ branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h branches/gcc-9-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h Modified: branches/gcc-9-branch/gcc/testsuite/ChangeLog branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/isa-field-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/objc-gc-3.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/proto-lossage-7.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/qual-types-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-2.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-5.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/strings/const-str-12.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/stubify-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/stubify-2.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/syntax-error-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/try-catch-1.mm branches/gcc-9-branch/gcc/testsuite/obj-c++.dg/try-catch-3.mm branches/gcc-9-branch/gcc/testsuite/objc.dg/encode-7-next-64bit.m branches/gcc-9-branch/gcc/testsuite/objc.dg/headers.m branches/gcc-9-branch/gcc/testsuite/objc.dg/image-info.m branches/gcc-9-branch/gcc/testsuite/objc.dg/isa-field-1.m branches/gcc-9-branch/gcc/testsuite/objc.dg/method-6.m branches/gcc-9-branch/gcc/testsuite/objc.dg/no-extra-load.m branches/gcc-9-branch/gcc/testsuite/objc.dg/objc-foreach-4.m branches/gcc-9-branch/gcc/testsuite/objc.dg/objc-foreach-5.m branches/gcc-9-branch/gcc/testsuite/objc.dg/objc-gc-4.m branches/gcc-9-branch/gcc/testsuite/objc.dg/proto-lossage-7.m branches/gcc-9-branch/gcc/testsuite/objc.dg/strings/const-cfstring-2.m branches/gcc-9-branch/gcc/testsuite/objc.dg/strings/const-cfstring-5.m branches/gcc-9-branch/gcc/testsuite/objc.dg/strings/const-str-12b.m branches/gcc-9-branch/gcc/testsuite/objc.dg/symtab-1.m branches/gcc-9-branch/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m branches/gcc-9-branch/gcc/testsuite/objc.dg/torture/strings/const-str-10.m branches/gcc-9-branch/gcc/testsuite/objc.dg/torture/strings/const-str-11.m branches/gcc-9-branch/gcc/testsuite/objc.dg/torture/strings/const-str-9.m branches/gcc-9-branch/gcc/testsuite/objc.dg/zero-link-1.m branches/gcc-9-branch/gcc/testsuite/objc.dg/zero-link-2.m branches/gcc-9-branch/gcc/testsuite/objc.dg/zero-link-3.m
workaround is applied to trunk and for 9.2 (problem exists on all open branches)
Author: iains Date: Sun Sep 1 19:30:35 2019 New Revision: 275281 URL: https://gcc.gnu.org/viewcvs?rev=275281&root=gcc&view=rev Log: [objective-c/c++, testsuite] Workaround for PR90709. Since we cannot parse the current NeXT headers, because of PR90709 and its dependents, we have a large amount of testsuite noise for Darwin platforms. In order to restore the usefulness of the testsuite, we are going add headers without the modern syntax elements that trigger the bug, and use these for test runs on newer Darwin. The headers are imported from GNUStep, with some local modifications to make sure that __BLOCKS__ is honoured as a gate for Apple-style blocks closures. CF-CFString.h, F-NS*.h are proxy headers that use the installed CoreFoundation or Foundation headers on systems <= Darwin12 and the GNUStep headers for newer. Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c testsuite. Make minor adjustments to tests as required, providing that those do not alter the test intent. 2019-09-01 Iain Sandoe <iain@sandoe.co.uk> Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * obj-c++.dg/proto-lossage-7.mm: Use proxy headers. * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. * obj-c++.dg/strings/const-cfstring-5.mm: Likewise * obj-c++.dg/strings/const-str-12.mm: Likewise. * obj-c++.dg/syntax-error-1.mm: Likewise. * obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise. * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. * obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API in no longer supported, also on m64 where there's no meaning to it. * obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why. * obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error there. * obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning. * obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings. * obj-c++.dg/stubify-2.mm: Likewise. * obj-c++.dg/try-catch-1.mm: Likewise. * obj-c++.dg/try-catch-3.mm: Likewise. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc.dg/encode-7-next-64bit.m: Use proxy headers. * objc.dg/image-info.m: Likewise. * objc.dg/method-6.m: Likewise. * objc.dg/no-extra-load.m: Likewise. * objc.dg/objc-foreach-4.m: Likewise. * objc.dg/objc-foreach-5.m: Likewise. * objc.dg/proto-lossage-7.m: Likewise. * objc.dg/strings/const-cfstring-2.m: Likewise. * objc.dg/strings/const-cfstring-5.m: Likewise. * objc.dg/strings/const-str-12b.m: Likewise. * objc.dg/symtab-1.m: Likewise. * objc.dg/torture/strings/const-cfstring-1.m: Likewise. * objc.dg/torture/strings/const-str-10.m: Likewise. * objc.dg/torture/strings/const-str-11.m: Likewise. * objc.dg/torture/strings/const-str-9.m: Likewise. * objc.dg/zero-link-1.m: Likewise. * objc.dg/zero-link-2.m: Likewise. * objc.dg/zero-link-3.m: Likewise. * objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why. * objc.dg/headers.m: XFAIL for Darwin14-19. * objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error there. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc-obj-c++-shared/CF-CFString.h: New. * objc-obj-c++-shared/F-NSArray.h: New. * objc-obj-c++-shared/F-NSAutoreleasePool.h: New. * objc-obj-c++-shared/F-NSObject.h: New. * objc-obj-c++-shared/F-NSString.h: New. * objc-obj-c++-shared/F-NSValue.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New. Added: branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/CF-CFString.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/F-NSAutoreleasePool.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/F-NSObject.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/F-NSString.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/F-NSValue.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/ branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/ branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/ branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSArray.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSValue.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSZone.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/ branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h branches/gcc-8-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h Modified: branches/gcc-8-branch/gcc/testsuite/ChangeLog branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/isa-field-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/objc-gc-3.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/proto-lossage-7.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/qual-types-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-2.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-5.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/strings/const-str-12.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/stubify-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/stubify-2.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/syntax-error-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/try-catch-1.mm branches/gcc-8-branch/gcc/testsuite/obj-c++.dg/try-catch-3.mm branches/gcc-8-branch/gcc/testsuite/objc.dg/encode-7-next-64bit.m branches/gcc-8-branch/gcc/testsuite/objc.dg/headers.m branches/gcc-8-branch/gcc/testsuite/objc.dg/image-info.m branches/gcc-8-branch/gcc/testsuite/objc.dg/isa-field-1.m branches/gcc-8-branch/gcc/testsuite/objc.dg/method-6.m branches/gcc-8-branch/gcc/testsuite/objc.dg/no-extra-load.m branches/gcc-8-branch/gcc/testsuite/objc.dg/objc-foreach-4.m branches/gcc-8-branch/gcc/testsuite/objc.dg/objc-foreach-5.m branches/gcc-8-branch/gcc/testsuite/objc.dg/objc-gc-4.m branches/gcc-8-branch/gcc/testsuite/objc.dg/proto-lossage-7.m branches/gcc-8-branch/gcc/testsuite/objc.dg/strings/const-cfstring-2.m branches/gcc-8-branch/gcc/testsuite/objc.dg/strings/const-cfstring-5.m branches/gcc-8-branch/gcc/testsuite/objc.dg/strings/const-str-12b.m branches/gcc-8-branch/gcc/testsuite/objc.dg/symtab-1.m branches/gcc-8-branch/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m branches/gcc-8-branch/gcc/testsuite/objc.dg/torture/strings/const-str-10.m branches/gcc-8-branch/gcc/testsuite/objc.dg/torture/strings/const-str-11.m branches/gcc-8-branch/gcc/testsuite/objc.dg/torture/strings/const-str-9.m branches/gcc-8-branch/gcc/testsuite/objc.dg/zero-link-1.m branches/gcc-8-branch/gcc/testsuite/objc.dg/zero-link-2.m branches/gcc-8-branch/gcc/testsuite/objc.dg/zero-link-3.m
Author: iains Date: Sun Sep 15 02:38:25 2019 New Revision: 275724 URL: https://gcc.gnu.org/viewcvs?rev=275724&root=gcc&view=rev Log: [objective-c/c++, testsuite] Workaround for PR90709. Since we cannot parse the current NeXT headers, because of PR90709 and its dependents, we have a large amount of testsuite noise for Darwin platforms. In order to restore the usefulness of the testsuite, we are going add headers without the modern syntax elements that trigger the bug, and use these for test runs on newer Darwin. The headers are imported from GNUStep, with some local modifications to make sure that __BLOCKS__ is honoured as a gate for Apple-style blocks closures. CF-CFString.h, F-NS*.h are proxy headers that use the installed CoreFoundation or Foundation headers on systems <= Darwin12 and the GNUStep headers for newer. Use the CF-CFString.h, F-NS*.h proxy headers where needed in the objective-c testsuite. Make minor adjustments to tests as required, providing that those do not alter the test intent. 2019-09-15 Iain Sandoe <iain@sandoe.co.uk> Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * obj-c++.dg/proto-lossage-7.mm: Use proxy headers. * obj-c++.dg/strings/const-cfstring-2.mm: Likewise. * obj-c++.dg/strings/const-cfstring-5.mm: Likewise * obj-c++.dg/strings/const-str-12.mm: Likewise. * obj-c++.dg/syntax-error-1.mm: Likewise. * obj-c++.dg/torture/strings/const-cfstring-1.mm: Likewise. * obj-c++.dg/torture/strings/const-str-10.mm: Likewise. * obj-c++.dg/torture/strings/const-str-11.mm: Likewise. * obj-c++.dg/torture/strings/const-str-9.mm: Likewise. * obj-c++.dg/cxx-ivars-3.mm: Skip on later Darwin, where the 10.4 API in no longer supported, also on m64 where there's no meaning to it. * obj-c++.dg/isa-field-1.mm: Suppress unwanted warning, add comment why. * obj-c++.dg/objc-gc-3.mm: Skip for Darwin > 16, the API use is an error there. * obj-c++.dg/qual-types-1.mm: Prune a spurious l64 warning. * obj-c++.dg/stubify-1.mm: Tidy up after better compiler warnings. * obj-c++.dg/stubify-2.mm: Likewise. * obj-c++.dg/try-catch-1.mm: Likewise. * obj-c++.dg/try-catch-3.mm: Likewise. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc.dg/encode-7-next-64bit.m: Use proxy headers. * objc.dg/image-info.m: Likewise. * objc.dg/method-6.m: Likewise. * objc.dg/no-extra-load.m: Likewise. * objc.dg/objc-foreach-4.m: Likewise. * objc.dg/objc-foreach-5.m: Likewise. * objc.dg/proto-lossage-7.m: Likewise. * objc.dg/strings/const-cfstring-2.m: Likewise. * objc.dg/strings/const-cfstring-5.m: Likewise. * objc.dg/strings/const-str-12b.m: Likewise. * objc.dg/symtab-1.m: Likewise. * objc.dg/torture/strings/const-cfstring-1.m: Likewise. * objc.dg/torture/strings/const-str-10.m: Likewise. * objc.dg/torture/strings/const-str-11.m: Likewise. * objc.dg/torture/strings/const-str-9.m: Likewise. * objc.dg/zero-link-1.m: Likewise. * objc.dg/zero-link-2.m: Likewise. * objc.dg/zero-link-3.m: Likewise. * objc.dg/isa-field-1.m: Suppress unwanted warning, add comment why. * objc.dg/headers.m: XFAIL for Darwin14-19. * objc.dg/objc-gc-4.m: Skip for Darwin > 16, the API use is an error there. Backport from mainline. 2019-06-15 Iain Sandoe <iain@sandoe.co.uk> PR objc/90709 * objc-obj-c++-shared/CF-CFString.h: New. * objc-obj-c++-shared/F-NSArray.h: New. * objc-obj-c++-shared/F-NSAutoreleasePool.h: New. * objc-obj-c++-shared/F-NSObject.h: New. * objc-obj-c++-shared/F-NSString.h: New. * objc-obj-c++-shared/F-NSValue.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h: New. * objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSArray.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSDate.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSObject.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSRange.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSString.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSValue.h: New. * objc-obj-c++-shared/GNUStep/Foundation/NSZone.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h: New. * objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h: New. Added: branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/CF-CFString.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/F-NSAutoreleasePool.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/F-NSObject.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/F-NSString.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/F-NSValue.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/ branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/ branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFArray.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFAvailability.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFBase.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFCharacterSet.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFData.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFDictionary.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFLocale.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/CoreFoundation/CFString.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/ branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSArray.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSAutoreleasePool.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSDate.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSEnumerator.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSGeometry.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObjCRuntime.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSObject.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSRange.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSString.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSValue.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/Foundation/NSZone.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/ branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GNUstep.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSBlocks.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSConfig.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSObjCRuntime.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/GSVersionMacros.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSArray+GNUstepBase.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSMutableString+GNUstepBase.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSNumber+GNUstepBase.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSObject+GNUstepBase.h branches/gcc-7-branch/gcc/testsuite/objc-obj-c++-shared/GNUStep/GNUstepBase/NSString+GNUstepBase.h Modified: branches/gcc-7-branch/gcc/testsuite/ChangeLog branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/isa-field-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/objc-gc-3.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/proto-lossage-7.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/qual-types-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-2.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/strings/const-cfstring-5.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/strings/const-str-12.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/stubify-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/stubify-2.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/syntax-error-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-cfstring-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/try-catch-1.mm branches/gcc-7-branch/gcc/testsuite/obj-c++.dg/try-catch-3.mm branches/gcc-7-branch/gcc/testsuite/objc.dg/encode-7-next-64bit.m branches/gcc-7-branch/gcc/testsuite/objc.dg/headers.m branches/gcc-7-branch/gcc/testsuite/objc.dg/image-info.m branches/gcc-7-branch/gcc/testsuite/objc.dg/isa-field-1.m branches/gcc-7-branch/gcc/testsuite/objc.dg/method-6.m branches/gcc-7-branch/gcc/testsuite/objc.dg/no-extra-load.m branches/gcc-7-branch/gcc/testsuite/objc.dg/objc-foreach-4.m branches/gcc-7-branch/gcc/testsuite/objc.dg/objc-foreach-5.m branches/gcc-7-branch/gcc/testsuite/objc.dg/objc-gc-4.m branches/gcc-7-branch/gcc/testsuite/objc.dg/proto-lossage-7.m branches/gcc-7-branch/gcc/testsuite/objc.dg/strings/const-cfstring-2.m branches/gcc-7-branch/gcc/testsuite/objc.dg/strings/const-cfstring-5.m branches/gcc-7-branch/gcc/testsuite/objc.dg/strings/const-str-12b.m branches/gcc-7-branch/gcc/testsuite/objc.dg/symtab-1.m branches/gcc-7-branch/gcc/testsuite/objc.dg/torture/strings/const-cfstring-1.m branches/gcc-7-branch/gcc/testsuite/objc.dg/torture/strings/const-str-10.m branches/gcc-7-branch/gcc/testsuite/objc.dg/torture/strings/const-str-11.m branches/gcc-7-branch/gcc/testsuite/objc.dg/torture/strings/const-str-9.m branches/gcc-7-branch/gcc/testsuite/objc.dg/zero-link-1.m branches/gcc-7-branch/gcc/testsuite/objc.dg/zero-link-2.m branches/gcc-7-branch/gcc/testsuite/objc.dg/zero-link-3.m
I just ran into this trying to compile my fork of emacs on Catalina; from looking at config.log (5.3MB!) it looks like the lack of support for "nullable" (bug 90707) is the biggest missing feature