aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-10-07 16:24:14 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-10-11 16:55:27 +0100
commitcc3014d80e1072c376687f6fcfa421953a58fdd1 (patch)
treea6124b63e049bc67b45e8939ef7c61cf224e0715 /gcc
parentfd36daf64a1596b493d054604dd409bc7506fbfd (diff)
downloadgcc-cc3014d80e1072c376687f6fcfa421953a58fdd1.zip
gcc-cc3014d80e1072c376687f6fcfa421953a58fdd1.tar.gz
gcc-cc3014d80e1072c376687f6fcfa421953a58fdd1.tar.bz2
testsuite, objective-c++ : Add a dummy retain/release to testuite object.
On newer systems, the throw/catch process sends retain and release messages to thrown objects. While these are not needed in the testsuite cases, they cause the tests to fail because the selector is not handled. Add dummy methods to the testsuite object. gcc/testsuite/ChangeLog: * objc-obj-c++-shared/TestsuiteObject.h: Add dummy retain and release method declarations. * objc-obj-c++-shared/TestsuiteObject.m: Add dummy retain and release implementations.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.h5
-rw-r--r--gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.h b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.h
index 0f139bc..a1a964d 100644
--- a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.h
+++ b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.h
@@ -45,6 +45,11 @@ __attribute__((objc_root_class))
+ (Class) superclass;
+ (const char *)name;
- (const char *)name;
+
+/* For try-catch impl that retains and releases thrown objects. */
+- (id) retain;
+- (void) release;
+
@end
#endif /* _TESTSUITE_OBJECT_H_ */
diff --git a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
index 703827f..96717e3 100644
--- a/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
+++ b/gcc/testsuite/objc-obj-c++-shared/TestsuiteObject.m
@@ -66,4 +66,15 @@ along with GCC; see the file COPYING3. If not see
{
return object_getClassName (self);
}
+
+- (id) retain
+{
+ return self;
+}
+
+- (void) release
+{
+ return;
+}
+
@end