Objective-C, NeXT: Reorganise meta-data declarations.
This moves the GTY declaration of the meta-data indentifier array into the header that enumerates these and provides shorthand defines for them. This avoids a problem seen with a relocatable PCH implementation. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/objc/ChangeLog: * objc-next-metadata-tags.h (objc_rt_trees): Declare here. * objc-next-runtime-abi-01.c: Remove from here. * objc-next-runtime-abi-02.c: Likewise. * objc-runtime-shared-support.c: Reorder headers, provide a GTY declaration the definition of objc_rt_trees.
This commit is contained in:
parent
8d4ef2299c
commit
c9419faef0
@ -79,6 +79,8 @@ enum objc_runtime_tree_index
|
||||
OCTI_RT_META_MAX
|
||||
};
|
||||
|
||||
extern GTY(()) tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
|
||||
/* Tags for the META data so that the backend can put them in the correct
|
||||
sections for targets/runtimes (Darwin/NeXT) that require this.
|
||||
This information also survives LTO - which might produce mixed language
|
||||
|
@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#include "objc-runtime-hooks.h"
|
||||
#include "objc-runtime-shared-support.h"
|
||||
#include "objc-next-metadata-tags.h"
|
||||
#include "objc-encoding.h"
|
||||
|
||||
/* NeXT ABI 0 and 1 private definitions. */
|
||||
@ -99,14 +100,6 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#define CLS_HAS_CXX_STRUCTORS 0x2000L
|
||||
|
||||
/* rt_trees identifiers - shared between NeXT implementations. These
|
||||
allow the FE to tag meta-data in a manner that survives LTO and can
|
||||
be used when the runtime requires that certain meta-data items
|
||||
appear in particular named sections. */
|
||||
|
||||
#include "objc-next-metadata-tags.h"
|
||||
extern GTY(()) tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
|
||||
static void next_runtime_01_initialize (void);
|
||||
|
||||
static tree next_runtime_abi_01_super_superclassfield_id (void);
|
||||
|
@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
|
||||
|
||||
#include "objc-runtime-hooks.h"
|
||||
#include "objc-runtime-shared-support.h"
|
||||
#include "objc-next-metadata-tags.h"
|
||||
#include "objc-encoding.h"
|
||||
|
||||
/* ABI 2 Private definitions. */
|
||||
@ -180,14 +181,6 @@ enum objc_v2_tree_index
|
||||
#define objc_rethrow_exception_decl \
|
||||
objc_v2_global_trees[OCTI_V2_RETHROW_DECL]
|
||||
|
||||
/* rt_trees identifiers - shared between NeXT implementations. These allow
|
||||
the FE to tag meta-data in a manner that survives LTO and can be used when
|
||||
the runtime requires that certain meta-data items appear in particular
|
||||
named sections. */
|
||||
|
||||
#include "objc-next-metadata-tags.h"
|
||||
extern GTY(()) tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
|
||||
/* The OCTI_V2_... enumeration itself is in above. */
|
||||
static GTY(()) tree objc_v2_global_trees[OCTI_V2_MAX];
|
||||
|
||||
|
@ -44,16 +44,11 @@ along with GCC; see the file COPYING3. If not see
|
||||
#include "objc-runtime-hooks.h"
|
||||
|
||||
#include "objc-runtime-shared-support.h"
|
||||
#include "objc-next-metadata-tags.h"
|
||||
#include "objc-encoding.h"
|
||||
|
||||
/* rt_trees identifiers - shared between NeXT implementations. These allow
|
||||
the FE to tag meta-data in a manner that survives LTO and can be used when
|
||||
the runtime requires that certain meta-data items appear in particular
|
||||
named sections. */
|
||||
#include "objc-next-metadata-tags.h"
|
||||
extern GTY(()) tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
|
||||
/* Rather than repeatedly looking up the identifiers, we save them here. */
|
||||
extern GTY(()) tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
tree objc_rt_trees[OCTI_RT_META_MAX];
|
||||
|
||||
/* For building an objc struct. These might not be used when this file
|
||||
|
Loading…
Reference in New Issue
Block a user