]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
encode-3.mm: Provide a different string check for the NeXT runtime when the type...
authorIain Sandoe <iains@gcc.gnu.org>
Sat, 6 Nov 2010 11:06:59 +0000 (11:06 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Sat, 6 Nov 2010 11:06:59 +0000 (11:06 +0000)
gcc/testsuite:

        * obj-c++.dg/encode-3.mm: Provide a different string check for the
        NeXT runtime when the type is READONLY.

From-SVN: r166401

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

index a175424fcae381fe97331d19305dd25fad4fffd3..c9a0dc63070d11d1de1bc379fcd3ca11e013469c 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 44f288d7de09d9a17f8c67159c1e8da0794eefd1..1486a652a0d236e3f21fea375bcd5fa60f45f96b 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;