aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2019-06-15 13:54:36 +0000
committerIain Sandoe <iains@gcc.gnu.org>2019-06-15 13:54:36 +0000
commit0efbd66ed1040e48ccefcf022ce713e5320232e0 (patch)
tree099415df022de3ac4e5f39b353f34680bcf97d0f /gcc/testsuite/objc-obj-c++-shared/F-NSArray.h
parent00908992f2a78f213d227aea8dbab014a1361df0 (diff)
downloadgcc-0efbd66ed1040e48ccefcf022ce713e5320232e0.zip
gcc-0efbd66ed1040e48ccefcf022ce713e5320232e0.tar.gz
gcc-0efbd66ed1040e48ccefcf022ce713e5320232e0.tar.bz2
[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. From-SVN: r272325
Diffstat (limited to 'gcc/testsuite/objc-obj-c++-shared/F-NSArray.h')
-rw-r--r--gcc/testsuite/objc-obj-c++-shared/F-NSArray.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h b/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h
new file mode 100644
index 0000000..99b6189
--- /dev/null
+++ b/gcc/testsuite/objc-obj-c++-shared/F-NSArray.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2019 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GCC is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#ifndef _OBJC_F_NSARRAY_H_
+#define _OBJC_F_NSARRAY_H_
+
+/* This is a workaround to PR90709 for the NeXT runtime.
+ If we're on a system version that has headers with items we can't
+ consume, then use the GNUStep header instead.
+*/
+
+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090
+# import "GNUStep/Foundation/NSArray.h"
+#else
+# import <Foundation/NSArray.h>
+#endif
+
+#endif /* _OBJC_F_NSARRAY_H_ */