OSDN Git Service

gcc/testsuite:
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Nov 2010 11:06:59 +0000 (11:06 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 6 Nov 2010 11:06:59 +0000 (11:06 +0000)
        * obj-c++.dg/encode-3.mm: Provide a different string check for the
        NeXT runtime when the type is READONLY.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166401 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/obj-c++.dg/encode-3.mm

index a175424..c9a0dc6 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * obj-c++.dg/encode-3.mm: Provide a different string check for the
+       NeXT runtime when the type is READONLY.
+
 2010-11-06  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/387-2.c: Skip if -march= is specified.
index 44f288d..1486a65 100644 (file)
@@ -32,6 +32,15 @@ const char *enc3 = @encode(anonymous);
 #define L "l"
 #endif
 
+/* Darwin (at least, as of XCode 3.2.3/Darwin10) does not encode the read-only
+   attribute  on the type.  Arguably, this is a bug, but we are compatible
+   with this when -fnext-runtime is selected.  */
+#ifdef __NEXT_RUNTIME__
+#define E3 "{?=f[10d]i" L "q{Vec<const signed char>=cc" L "q}}"
+#else
+#define E3 "{?=f[10d]i" L "q{Vec<const signed char>=rcrc" L "q}}"
+#endif
+
 int main(void) {
   const char *encode = @encode(long);
 
@@ -44,7 +53,7 @@ int main(void) {
   if (strcmp (enc2, (const char *)"{Vec<double>=dd" L "q}"))
     abort ();
 
-  if (strcmp (enc3, (const char *)"{?=f[10d]i" L "q{Vec<const signed char>=rcrc" L "q}}"))
+  if (strcmp (enc3, (const char *) E3))
     abort ();
 
   return 0;