| /* GCC core type declarations. |
| Copyright (C) 2002 Free Software Foundation, Inc. |
| |
| This file is part of GCC. |
| |
| GCC is free software; you can redistribute it and/or modify it under |
| the terms of the GNU General Public License as published by the Free |
| Software Foundation; either version 2, or (at your option) any later |
| version. |
| |
| GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with GCC; see the file COPYING. If not, write to the Free |
| Software Foundation, 59 Temple Place - Suite 330, Boston, MA |
| 02111-1307, USA. */ |
| |
| /* Provide forward declarations of core types which are referred to by |
| most of the compiler. This allows header files to use these types |
| (e.g. in function prototypes) without concern for whether the full |
| definitions are visible. Some other declarations that need to be |
| universally visible are here, too. |
| |
| In the context of tconfig.h, most of these have special definitions |
| which prevent them from being used except in further type |
| declarations. This is a kludge; the right thing is to avoid |
| including the "tm.h" header set in the context of tconfig.h, but |
| we're not there yet. */ |
| |
| #ifndef GCC_CORETYPES_H |
| #define GCC_CORETYPES_H |
| |
| #define GTY(x) /* nothing - marker for gengtype */ |
| |
| #ifndef USED_FOR_TARGET |
| |
| struct rtx_def; |
| typedef struct rtx_def *rtx; |
| struct rtvec_def; |
| typedef struct rtvec_def *rtvec; |
| union tree_node; |
| typedef union tree_node *tree; |
| |
| /* Provide forward struct declaration so that we don't have to include |
| all of cpplib.h whenever a random prototype includes a pointer. |
| Note that the cpp_reader typedef remains part of cpplib.h. */ |
| |
| struct cpp_reader; |
| |
| #else |
| |
| struct _dont_use_rtx_here_; |
| struct _dont_use_rtvec_here_; |
| union _dont_use_tree_here_; |
| #define rtx struct _dont_use_rtx_here_ * |
| #define rtvec struct _dont_use_rtvec_here * |
| #define tree union _dont_use_tree_here_ * |
| |
| #endif |
| |
| #endif /* coretypes.h */ |
| |