[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Bug 90709 depends on bug 60512, which changed state. Bug 60512 Summary: would be useful if gcc implemented __has_feature similarly to clang https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60512 What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Eric Gallager changed: What|Removed |Added CC||egallager at gcc dot gnu.org --- Comment #10 from Eric Gallager --- 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
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Richard Biener changed: What|Removed |Added Target Milestone|7.5 |---
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #9 from Iain Sandoe --- Author: iains Date: Sun Sep 15 02:38:25 2019 New Revision: 275724 URL: https://gcc.gnu.org/viewcvs?rev=275724=gcc=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 Backport from mainline. 2019-06-15 Iain Sandoe 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 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 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. *
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #8 from Iain Sandoe --- Author: iains Date: Sun Sep 1 19:30:35 2019 New Revision: 275281 URL: https://gcc.gnu.org/viewcvs?rev=275281=gcc=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 Backport from mainline. 2019-06-15 Iain Sandoe 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 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 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. *
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Iain Sandoe changed: What|Removed |Added Target Milestone|--- |7.5 Known to fail||7.4.1, 8.3.1 --- Comment #7 from Iain Sandoe --- workaround is applied to trunk and for 9.2 (problem exists on all open branches)
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #6 from Iain Sandoe --- Author: iains Date: Sun Aug 4 13:34:19 2019 New Revision: 274095 URL: https://gcc.gnu.org/viewcvs?rev=274095=gcc=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 Backport from mainline. 2019-06-15 Iain Sandoe 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 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 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. *
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #5 from Iain Sandoe --- Author: iains Date: Sat Jun 15 14:03:44 2019 New Revision: 272327 URL: https://gcc.gnu.org/viewcvs?rev=272327=gcc=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 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
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #4 from Iain Sandoe --- Author: iains Date: Sat Jun 15 14:00:24 2019 New Revision: 272326 URL: https://gcc.gnu.org/viewcvs?rev=272326=gcc=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 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
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 --- Comment #3 from Iain Sandoe --- Author: iains Date: Sat Jun 15 13:54:36 2019 New Revision: 272325 URL: https://gcc.gnu.org/viewcvs?rev=272325=gcc=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 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
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Iain Sandoe changed: What|Removed |Added CC||dominiq at lps dot ens.fr --- Comment #2 from Iain Sandoe --- *** Bug 63651 has been marked as a duplicate of this bug. ***
[Bug objc/90709] [meta-bug] GNU Objective C (C++) cannot consume current headers on Darwin platforms.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90709 Iain Sandoe changed: What|Removed |Added Keywords||meta-bug Status|UNCONFIRMED |NEW Last reconfirmed||2019-06-01 Depends on||78352, 90707, 90708 Ever confirmed|0 |1 --- Comment #1 from Iain Sandoe --- 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. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352 [Bug 78352] GCC lacks support for the Apple "blocks" extension to the C family of languages https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90707 [Bug 90707] GNU Objective C (C++) does not support nullability syntax. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90708 [Bug 90708] GNU Objective C (C++) does not support lightweight generics.