aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm')
-rw-r--r--gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm b/gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm
new file mode 100644
index 000000000..8c12a0c11
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/obj-c++.dg/strings/const-str-5.mm
@@ -0,0 +1,28 @@
+/* Positive test case for constant string layout. */
+/* Contributed by Ziemowit Laski <zlaski@apple.com>. */
+
+/* { dg-do compile } */
+/* { dg-options "-fconstant-string-class=MyConstantString" } */
+/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=MyConstantString" { target *-*-darwin* } } */
+
+@interface MyBase {
+ const char *p;
+}
+@end
+
+@interface MyConstantString: MyBase {
+ union equiv_u {
+ void *u;
+ unsigned char *c;
+ } _contents;
+ unsigned int _count;
+}
+@end
+
+/* The NeXT runtime initializes the 'isa' pointer of string constants at
+ compile time. */
+#ifdef __NEXT_RUNTIME__
+extern void *_MyConstantStringClassReference;
+#endif
+
+MyConstantString *str = @"Hello";