1/* Define test-suite types to minimize conditional test-case source. 2 Copyright (C) 2011 Free Software Foundation, Inc. 3 Contributed by Iain Sandoe 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by 9the Free Software Foundation; either version 3, or (at your option) 10any later version. 11 12GCC is distributed in the hope that it will be useful, 13but WITHOUT ANY WARRANTY; without even the implied warranty of 14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING3. If not see 19<http://www.gnu.org/licenses/>. */ 20 21#ifndef _OBJC_TEST_SUITE_TYPES_H_ 22#define _OBJC_TEST_SUITE_TYPES_H_ 23 24#ifndef __NEXT_RUNTIME__ 25 26/* dummy const string class ref. */ 27typedef void * TNS_STRING_REF_T; 28 29#else /* NeXT */ 30 31#include "next-abi.h" 32#ifdef NEXT_OBJC_USE_NEW_INTERFACE 33#include <objc/runtime.h> 34#else 35#include <objc/objc-runtime.h> 36#endif 37 38/* Force a definition of nil that is compatible with GNU runtime. */ 39#undef nil 40#define nil ((id)0) 41 42#ifndef NULL 43#define NULL 0 44#endif 45 46/* Where there are equivalent interfaces between APIs we substitute 47 a macro or typedef. */ 48 49#ifdef __OBJC2__ 50/* Const String Class ref. */ 51typedef Class TNS_STRING_REF_T; 52#else 53/* Const String Class ref. */ 54/* We need objc_class - but we don't need endless reminders that it's deprecated. */ 55#pragma GCC diagnostic push 56#pragma GCC diagnostic ignored "-Wdeprecated-declarations" 57typedef struct objc_class TNS_STRING_REF_T; 58#pragma GCC diagnostic pop 59#endif 60 61#endif /*__NEXT_RUNTIME__ */ 62#endif /* _OBJC_TEST_SUITE_TYPES_H_ */ 63