https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709

--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> ---
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  <i...@sandoe.co.uk>

        Backport from mainline.
        2019-06-15  Iain Sandoe  <i...@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  <i...@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  <i...@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

Reply via email to