Commit 98c1c7cd by Iain Sandoe

strings-1.m: Move to...


gcc/testsuite:

	* gcc/testsuite/objc.dg/strings-1.m: Move to...
	* gcc/testsuite/objc.dg/strings/strings-1.m: ... here. Update paths.
	* gcc/testsuite/objc.dg/strings-2.m: Move to ...
	* gcc/testsuite/objc.dg/strings/strings-2.m ... here, provide a 
	constructor and class reference for NeXT runtime.  Update paths.
	* gcc/testsuite/obj-c++.dg/strings-1.m: Move to...
	* gcc/testsuite/obj-c++.dg/strings/strings-1.m: ... here. Update paths.
	* gcc/testsuite/obj-c++.dg/strings-2.m: Move to ...
	* gcc/testsuite/obj-c__.dg/strings/strings-2.m ... here, provide a 
	constructor and class reference for NeXT runtime.  Update paths.

From-SVN: r167253
parent e12bcbf4
2010-11-29 Iain Sandoe <iains@gcc.gnu.org>
* gcc/testsuite/objc.dg/strings-1.m: Move to...
* gcc/testsuite/objc.dg/strings/strings-1.m: ... here. Update paths.
* gcc/testsuite/objc.dg/strings-2.m: Move to ...
* gcc/testsuite/objc.dg/strings/strings-2.m ... here, provide a
constructor and class reference for NeXT runtime. Update paths.
* gcc/testsuite/obj-c++.dg/strings-1.m: Move to...
* gcc/testsuite/obj-c++.dg/strings/strings-1.m: ... here. Update paths.
* gcc/testsuite/obj-c++.dg/strings-2.m: Move to ...
* gcc/testsuite/obj-c__.dg/strings/strings-2.m ... here, provide a
constructor and class reference for NeXT runtime. Update paths.
2010-11-29 Dodji Seketeli <dodji@redhat.com> 2010-11-29 Dodji Seketeli <dodji@redhat.com>
PR c++/42260 PR c++/42260
......
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */ /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */
/* { dg-do compile } */ /* { dg-do compile } */
#include "../objc-obj-c++-shared/Object1.h" #include "../../objc-obj-c++-shared/Object1.h"
#include "../objc-obj-c++-shared/next-mapping.h" #include "../../objc-obj-c++-shared/next-mapping.h"
#ifndef __NEXT_RUNTIME__ #ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h> #include <objc/NXConstStr.h>
#endif #endif
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
/* { dg-options "-fconstant-string-class=MyTestString" } */ /* { dg-options "-fconstant-string-class=MyTestString" } */
/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=MyTestString" { target *-*-darwin* } } */ /* { dg-options "-mno-constant-cfstrings -fconstant-string-class=MyTestString" { target *-*-darwin* } } */
/* { dg-additional-sources "../objc-obj-c++-shared/Object1.mm" } */ /* { dg-additional-sources "../../objc-obj-c++-shared/Object1.mm" } */
#include "../objc-obj-c++-shared/Object1.h" #include "../../objc-obj-c++-shared/Object1.h"
#include "../objc-obj-c++-shared/next-mapping.h" #include "../../objc-obj-c++-shared/next-mapping.h"
#include <stdlib.h> /* For abort() */ #include <stdlib.h> /* For abort() */
...@@ -31,6 +31,14 @@ ...@@ -31,6 +31,14 @@
} }
@end @end
#ifdef __NEXT_RUNTIME__
# ifdef NEXT_OBJC_USE_NEW_INTERFACE
struct fudge_objc_class _MyTestStringClassReference;
# else
struct objc_class _MyTestStringClassReference;
# endif
#endif
int main (void) int main (void)
{ {
MyTestString *test_valid1 = @"test"; MyTestString *test_valid1 = @"test";
...@@ -49,3 +57,15 @@ int main (void) ...@@ -49,3 +57,15 @@ int main (void)
return 0; return 0;
} }
#ifdef __NEXT_RUNTIME__
/* The MyTestString metaclass will need to be initialized before we can
send messages to strings. */
void testsuite_mytest_string_init (void) __attribute__((constructor));
void testsuite_mytest_string_init (void) {
memcpy (&_MyTestStringClassReference,
objc_getClass ("MyTestString"),
sizeof (_MyTestStringClassReference));
}
#endif
\ No newline at end of file
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */ /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */
/* { dg-do compile } */ /* { dg-do compile } */
#include "../objc-obj-c++-shared/Object1.h" #include "../../objc-obj-c++-shared/Object1.h"
#include "../objc-obj-c++-shared/next-mapping.h" #include "../../objc-obj-c++-shared/next-mapping.h"
#ifndef __NEXT_RUNTIME__ #ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h> #include <objc/NXConstStr.h>
#endif #endif
......
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
/* { dg-options "-fconstant-string-class=MyTestString" } */ /* { dg-options "-fconstant-string-class=MyTestString" } */
/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=MyTestString" { target *-*-darwin* } } */ /* { dg-options "-mno-constant-cfstrings -fconstant-string-class=MyTestString" { target *-*-darwin* } } */
/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */ /* { dg-additional-sources "../../objc-obj-c++-shared/Object1.m" } */
#include "../objc-obj-c++-shared/Object1.h" #include "../../objc-obj-c++-shared/Object1.h"
#include "../objc-obj-c++-shared/next-mapping.h" #include "../../objc-obj-c++-shared/next-mapping.h"
#include <stdlib.h> /* For abort() */ #include <stdlib.h> /* For abort() */
...@@ -31,6 +31,14 @@ ...@@ -31,6 +31,14 @@
} }
@end @end
#ifdef __NEXT_RUNTIME__
# ifdef NEXT_OBJC_USE_NEW_INTERFACE
struct fudge_objc_class _MyTestStringClassReference;
# else
struct objc_class _MyTestStringClassReference;
# endif
#endif
int main (void) int main (void)
{ {
MyTestString *test_valid1 = @"test"; MyTestString *test_valid1 = @"test";
...@@ -49,3 +57,15 @@ int main (void) ...@@ -49,3 +57,15 @@ int main (void)
return 0; return 0;
} }
#ifdef __NEXT_RUNTIME__
/* The MyTestString metaclass will need to be initialized before we can
send messages to strings. */
void testsuite_mytest_string_init (void) __attribute__((constructor));
void testsuite_mytest_string_init (void) {
memcpy (&_MyTestStringClassReference,
objc_getClass ("MyTestString"),
sizeof (_MyTestStringClassReference));
}
#endif
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment