* objc.dg/foreach-1.m: Adjust for -fnext-runtime compatibility.
* objc.dg/foreach-2.m: Likewise.
* objc.dg/foreach-3.m: Likewise.
* objc.dg/foreach-4.m: Likewise.
* objc.dg/foreach-5.m: Likewise.
* objc.dg/foreach-6.m: Likewise.
* objc.dg/foreach-7.m: Likewise.
* objc.dg/objc-foreach-4.m: Likewise.
* objc.dg/objc-foreach-5.m: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165117
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc.dg/foreach-1.m: Adjust for -fnext-runtime compatibility.
+ * objc.dg/foreach-2.m: Likewise.
+ * objc.dg/foreach-3.m: Likewise.
+ * objc.dg/foreach-4.m: Likewise.
+ * objc.dg/foreach-5.m: Likewise.
+ * objc.dg/foreach-6.m: Likewise.
+ * objc.dg/foreach-7.m: Likewise.
+ * objc.dg/objc-foreach-4.m: Likewise.
+ * objc.dg/objc-foreach-5.m: Likewise.
+
2010-10-07 Richard Guenther <rguenther@suse.de>
PR middle-end/45869
* gcc.dg/torture/pr45869.c: New testcase.
-
+
2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
* objc.dg/set-not-used-1.m: New
/* Test basic Objective-C foreach syntax. This tests iterations that
do nothing.
*/
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */
+
+#import "../objc-obj-c++-shared/Object1.h"
-#include <objc/objc.h>
-#include <objc/Object.h>
extern void abort (void);
/*
struct __objcFastEnumerationState
/* Test basic Objective-C foreach syntax. This tests iterations, with
the basic syntax 'for (object in array) statements'
*/
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */
-#include <objc/objc.h>
-#include <objc/Object.h>
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+#ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h>
+#endif
+
+extern int printf (const char *, ...);
#include <stdlib.h>
-extern void abort (void);
+
/*
struct __objcFastEnumerationState
{
/* Test basic Objective-C foreach syntax. This tests the mutation.
*/
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
+/* { dg-do compile } */
+
/* FIXME: This test should be run, and it succeeds if the program
aborts at the right time (when the mutation happens). It currently
works, but how do we tell the testsuite to test for it ?
*/
-/* { dg-do compile } */
-#include <objc/objc.h>
-#include <objc/Object.h>
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+#ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h>
+#endif
+
+extern int printf (const char *, ...);
#include <stdlib.h>
-extern void abort (void);
+
/*
struct __objcFastEnumerationState
{
/* Test basic Objective-C foreach syntax. This tests iterations, with
the declaration syntax 'for (id object in array) statements'
*/
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */
-#include <objc/objc.h>
-#include <objc/Object.h>
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+#ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h>
+#endif
+
+extern int printf (const char *, ...);
#include <stdlib.h>
-extern void abort (void);
+
/*
struct __objcFastEnumerationState
{
/* Test basic Objective-C foreach syntax. This tests that if you
define your own NSFastEnumeration struct, the compiler picks it up.
*/
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do run } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.m" } */
-#include <objc/objc.h>
-#include <objc/Object.h>
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+#ifndef __NEXT_RUNTIME__
#include <objc/NXConstStr.h>
+#endif
+
+extern int printf (const char *, ...);
#include <stdlib.h>
-extern void abort (void);
typedef struct
{
/* Test basic Objective-C foreach syntax. This tests warnings and errors. */
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do compile } */
-#include <objc/objc.h>
-#include <objc/Object.h>
-extern void abort (void);
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+
/*
struct __objcFastEnumerationState
{
/* Test basic Objective-C foreach syntax. This tests warnings and errors. */
-/* FIXME: Run this test with the NeXT runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fnext-runtime" } { "" } } */
/* { dg-do compile } */
-#include <objc/objc.h>
-#include <objc/Object.h>
-extern void abort (void);
+#import "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
+
/*
struct __objcFastEnumerationState
{
/* Test for valid objc objects used in a for-each statement. */
/* FIXME: Run this test with the GNU runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+
+#include <objc/objc-api.h>
#include <Foundation/Foundation.h>
// gcc -o foo foo.m -framework Foundation
/* FIXME: Run this test with the GNU runtime as well. */
-/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+
+#include <objc/objc-api.h>
#import <Foundation/Foundation.h>
NSArray * createTestVictim(unsigned capacity) {