(root)/
gcc-13.2.0/
gcc/
testsuite/
objc-obj-c++-shared/
TestsuiteObject.h
       1  /* Very simple root class for writing testcases.
       2     Copyright (C) 2011 Free Software Foundation, Inc.
       3     Contributed by Nicola Pero
       4  
       5  This file is part of GCC.
       6  
       7  GCC is free software; you can redistribute it and/or modify
       8  it under the terms of the GNU General Public License as published by
       9  the Free Software Foundation; either version 3, or (at your option)
      10  any later version.
      11  
      12  GCC is distributed in the hope that it will be useful,
      13  but WITHOUT ANY WARRANTY; without even the implied warranty of
      14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15  GNU General Public License for more details.
      16  
      17  You should have received a copy of the GNU General Public License
      18  along with GCC; see the file COPYING3.  If not see
      19  <http://www.gnu.org/licenses/>.  */
      20  
      21  #ifndef _TESTSUITE_OBJECT_H_
      22  #define _TESTSUITE_OBJECT_H_
      23  
      24  /* We use this root class instead of Object to keep the tests
      25     independent of the runtime being used.  Keep it simple.  */
      26  
      27  #if defined(__has_attribute) && __has_attribute(objc_root_class)
      28  __attribute__((objc_root_class))
      29  #endif
      30  @interface TestsuiteObject
      31  {
      32    Class isa;
      33  }
      34  /* Required by the NeXT runtime.  Does nothing.  */
      35  + (id) initialize;
      36  
      37  /* Creating instances.  */
      38  + (id) new;
      39  + (id) alloc;
      40  - (id) init;
      41  - (id) free;
      42  
      43  /* Auxiliary methods.  */
      44  + (Class) class;
      45  + (Class) superclass;
      46  + (const char *)name;
      47  - (const char *)name;
      48  
      49  /* For try-catch impl that retains and releases thrown objects.  */
      50  - (id) retain;
      51  - (void) release;
      52  
      53  @end
      54  
      55  #endif /* _TESTSUITE_OBJECT_H_ */