/* { dg-do compile } */
#include "../objc-obj-c++-shared/Object1.h"
+#import "../objc-obj-c++-shared/next-mapping.h"
@interface Foo: Object {
char *cString;
+ (Foo *) getString: (int) which;
@end
+#ifdef NEXT_OBJC_USE_NEW_INTERFACE
+struct fudge_objc_class _FooClassReference;
+#else
struct objc_class _FooClassReference;
+#endif
@implementation Bar
+ (Foo *) getString: (int) which {
#include "../objc-obj-c++-shared/next-mapping.h"
#include <stdio.h>
#include <stdlib.h>
-#include <memory.h>
+#include <string.h>
#include <objc/objc.h>
@interface Foo: Object {
/* Ensure that overload resolution does not produce warnings as
side-effects. */
/* { dg-do run } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.mm" } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#include "../objc-obj-c++-shared/Object1.h"
#include <stdlib.h>
they should. */
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-additional-sources "../objc-obj-c++-shared/Object1.mm" } */
+/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */
#include "../objc-obj-c++-shared/Object1.h"
#include <string.h>
/* This file tests that things are encoded using the gcc-3.3 ABI which is only
used by the NeXT runtime. */
/* { dg-do run { target *-*-darwin* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-skip-if "" { *-*-* } { "-fgnu-runtime" } { "" } } */
+
#include <stdio.h>
#include <string.h>
#include "../objc-obj-c++-shared/Protocol1.h"