523 lines
13 KiB
C
523 lines
13 KiB
C
/* Type information for varasm.cc.
|
|
Copyright (C) 2004-2022 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 3, 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 COPYING3. If not see
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
/* This file is machine generated. Do not edit. */
|
|
|
|
void
|
|
gt_ggc_mx_constant_descriptor_rtx (void *x_p)
|
|
{
|
|
struct constant_descriptor_rtx * x = (struct constant_descriptor_rtx *)x_p;
|
|
struct constant_descriptor_rtx * xlimit = x;
|
|
while (ggc_test_and_set_mark (xlimit))
|
|
xlimit = ((*xlimit).next);
|
|
while (x != xlimit)
|
|
{
|
|
gt_ggc_m_23constant_descriptor_rtx ((*x).next);
|
|
gt_ggc_m_7rtx_def ((*x).mem);
|
|
gt_ggc_m_7rtx_def ((*x).sym);
|
|
gt_ggc_m_7rtx_def ((*x).constant);
|
|
x = ((*x).next);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct constant_descriptor_rtx& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct constant_descriptor_rtx * ATTRIBUTE_UNUSED x = &x_r;
|
|
gt_ggc_m_23constant_descriptor_rtx ((*x).next);
|
|
gt_ggc_m_7rtx_def ((*x).mem);
|
|
gt_ggc_m_7rtx_def ((*x).sym);
|
|
gt_ggc_m_7rtx_def ((*x).constant);
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct constant_descriptor_rtx *& x)
|
|
{
|
|
if (x)
|
|
gt_ggc_mx_constant_descriptor_rtx ((void *) x);
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_rtx_constant_pool (void *x_p)
|
|
{
|
|
struct rtx_constant_pool * const x = (struct rtx_constant_pool *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_m_23constant_descriptor_rtx ((*x).first);
|
|
gt_ggc_m_23constant_descriptor_rtx ((*x).last);
|
|
gt_ggc_m_33hash_table_const_rtx_desc_hasher_ ((*x).const_rtx_htab);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_hash_table_section_hasher_ (void *x_p)
|
|
{
|
|
hash_table<section_hasher> * const x = (hash_table<section_hasher> *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_mx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct section_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct section_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_hash_table_object_block_hasher_ (void *x_p)
|
|
{
|
|
hash_table<object_block_hasher> * const x = (hash_table<object_block_hasher> *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_mx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct object_block_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct object_block_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_hash_table_tree_descriptor_hasher_ (void *x_p)
|
|
{
|
|
hash_table<tree_descriptor_hasher> * const x = (hash_table<tree_descriptor_hasher> *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_mx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct tree_descriptor_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct tree_descriptor_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_hash_table_const_rtx_desc_hasher_ (void *x_p)
|
|
{
|
|
hash_table<const_rtx_desc_hasher> * const x = (hash_table<const_rtx_desc_hasher> *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_mx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct const_rtx_desc_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct const_rtx_desc_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx_hash_table_tm_clone_hasher_ (void *x_p)
|
|
{
|
|
hash_table<tm_clone_hasher> * const x = (hash_table<tm_clone_hasher> *)x_p;
|
|
if (ggc_test_and_set_mark (x))
|
|
{
|
|
gt_ggc_mx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_ggc_mx (struct tm_clone_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct tm_clone_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_constant_descriptor_rtx (void *x_p)
|
|
{
|
|
struct constant_descriptor_rtx * x = (struct constant_descriptor_rtx *)x_p;
|
|
struct constant_descriptor_rtx * xlimit = x;
|
|
while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_23constant_descriptor_rtx))
|
|
xlimit = ((*xlimit).next);
|
|
while (x != xlimit)
|
|
{
|
|
gt_pch_n_23constant_descriptor_rtx ((*x).next);
|
|
gt_pch_n_7rtx_def ((*x).mem);
|
|
gt_pch_n_7rtx_def ((*x).sym);
|
|
gt_pch_n_7rtx_def ((*x).constant);
|
|
x = ((*x).next);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct constant_descriptor_rtx& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct constant_descriptor_rtx * ATTRIBUTE_UNUSED x = &x_r;
|
|
gt_pch_n_23constant_descriptor_rtx ((*x).next);
|
|
gt_pch_n_7rtx_def ((*x).mem);
|
|
gt_pch_n_7rtx_def ((*x).sym);
|
|
gt_pch_n_7rtx_def ((*x).constant);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct constant_descriptor_rtx *& x)
|
|
{
|
|
if (x)
|
|
gt_pch_nx_constant_descriptor_rtx ((void *) x);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_rtx_constant_pool (void *x_p)
|
|
{
|
|
struct rtx_constant_pool * const x = (struct rtx_constant_pool *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_17rtx_constant_pool))
|
|
{
|
|
gt_pch_n_23constant_descriptor_rtx ((*x).first);
|
|
gt_pch_n_23constant_descriptor_rtx ((*x).last);
|
|
gt_pch_n_33hash_table_const_rtx_desc_hasher_ ((*x).const_rtx_htab);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_hash_table_section_hasher_ (void *x_p)
|
|
{
|
|
hash_table<section_hasher> * const x = (hash_table<section_hasher> *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_26hash_table_section_hasher_))
|
|
{
|
|
gt_pch_nx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct section_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct section_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_hash_table_object_block_hasher_ (void *x_p)
|
|
{
|
|
hash_table<object_block_hasher> * const x = (hash_table<object_block_hasher> *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_31hash_table_object_block_hasher_))
|
|
{
|
|
gt_pch_nx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct object_block_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct object_block_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_hash_table_tree_descriptor_hasher_ (void *x_p)
|
|
{
|
|
hash_table<tree_descriptor_hasher> * const x = (hash_table<tree_descriptor_hasher> *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_34hash_table_tree_descriptor_hasher_))
|
|
{
|
|
gt_pch_nx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct tree_descriptor_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct tree_descriptor_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_hash_table_const_rtx_desc_hasher_ (void *x_p)
|
|
{
|
|
hash_table<const_rtx_desc_hasher> * const x = (hash_table<const_rtx_desc_hasher> *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_33hash_table_const_rtx_desc_hasher_))
|
|
{
|
|
gt_pch_nx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct const_rtx_desc_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct const_rtx_desc_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_nx_hash_table_tm_clone_hasher_ (void *x_p)
|
|
{
|
|
hash_table<tm_clone_hasher> * const x = (hash_table<tm_clone_hasher> *)x_p;
|
|
if (gt_pch_note_object (x, x, gt_pch_p_27hash_table_tm_clone_hasher_))
|
|
{
|
|
gt_pch_nx (x);
|
|
}
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct tm_clone_hasher& x_r ATTRIBUTE_UNUSED)
|
|
{
|
|
struct tm_clone_hasher * ATTRIBUTE_UNUSED x = &x_r;
|
|
}
|
|
|
|
void
|
|
gt_pch_p_23constant_descriptor_rtx (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct constant_descriptor_rtx * x ATTRIBUTE_UNUSED = (struct constant_descriptor_rtx *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).next), NULL, cookie);
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).mem), NULL, cookie);
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).sym), NULL, cookie);
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).constant), NULL, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct constant_descriptor_rtx* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
op (&((*x).next), NULL, cookie);
|
|
op (&((*x).mem), NULL, cookie);
|
|
op (&((*x).sym), NULL, cookie);
|
|
op (&((*x).constant), NULL, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_p_17rtx_constant_pool (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct rtx_constant_pool * x ATTRIBUTE_UNUSED = (struct rtx_constant_pool *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).first), NULL, cookie);
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).last), NULL, cookie);
|
|
if ((void *)(x) == this_obj)
|
|
op (&((*x).const_rtx_htab), NULL, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_p_26hash_table_section_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct hash_table<section_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<section_hasher> *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
gt_pch_nx (&((*x)), op, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct section_hasher* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
}
|
|
|
|
void
|
|
gt_pch_p_31hash_table_object_block_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct hash_table<object_block_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<object_block_hasher> *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
gt_pch_nx (&((*x)), op, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct object_block_hasher* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
}
|
|
|
|
void
|
|
gt_pch_p_34hash_table_tree_descriptor_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct hash_table<tree_descriptor_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<tree_descriptor_hasher> *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
gt_pch_nx (&((*x)), op, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct tree_descriptor_hasher* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
}
|
|
|
|
void
|
|
gt_pch_p_33hash_table_const_rtx_desc_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct hash_table<const_rtx_desc_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<const_rtx_desc_hasher> *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
gt_pch_nx (&((*x)), op, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct const_rtx_desc_hasher* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
}
|
|
|
|
void
|
|
gt_pch_p_27hash_table_tm_clone_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
|
|
void *x_p,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
struct hash_table<tm_clone_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<tm_clone_hasher> *)x_p;
|
|
if ((void *)(x) == this_obj)
|
|
gt_pch_nx (&((*x)), op, cookie);
|
|
}
|
|
|
|
void
|
|
gt_pch_nx (struct tm_clone_hasher* x ATTRIBUTE_UNUSED,
|
|
ATTRIBUTE_UNUSED gt_pointer_operator op,
|
|
ATTRIBUTE_UNUSED void *cookie)
|
|
{
|
|
}
|
|
|
|
/* GC roots. */
|
|
|
|
EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_varasm_h[] = {
|
|
{
|
|
&elf_fini_array_section,
|
|
1,
|
|
sizeof (elf_fini_array_section),
|
|
>_ggc_mx_section,
|
|
>_pch_nx_section
|
|
},
|
|
{
|
|
&elf_init_array_section,
|
|
1,
|
|
sizeof (elf_init_array_section),
|
|
>_ggc_mx_section,
|
|
>_pch_nx_section
|
|
},
|
|
{
|
|
&tm_clone_hash,
|
|
1,
|
|
sizeof (tm_clone_hash),
|
|
>_ggc_mx_hash_table_tm_clone_hasher_,
|
|
>_pch_nx_hash_table_tm_clone_hasher_
|
|
},
|
|
{
|
|
&weakref_targets,
|
|
1,
|
|
sizeof (weakref_targets),
|
|
>_ggc_mx_tree_node,
|
|
>_pch_nx_tree_node
|
|
},
|
|
{
|
|
&const_desc_htab,
|
|
1,
|
|
sizeof (const_desc_htab),
|
|
>_ggc_mx_hash_table_tree_descriptor_hasher_,
|
|
>_pch_nx_hash_table_tree_descriptor_hasher_
|
|
},
|
|
{
|
|
&initial_trampoline,
|
|
1,
|
|
sizeof (initial_trampoline),
|
|
>_ggc_mx_rtx_def,
|
|
>_pch_nx_rtx_def
|
|
},
|
|
{
|
|
&weak_decls,
|
|
1,
|
|
sizeof (weak_decls),
|
|
>_ggc_mx_tree_node,
|
|
>_pch_nx_tree_node
|
|
},
|
|
{
|
|
&pending_assemble_externals,
|
|
1,
|
|
sizeof (pending_assemble_externals),
|
|
>_ggc_mx_tree_node,
|
|
>_pch_nx_tree_node
|
|
},
|
|
{
|
|
&shared_constant_pool,
|
|
1,
|
|
sizeof (shared_constant_pool),
|
|
>_ggc_mx_rtx_constant_pool,
|
|
>_pch_nx_rtx_constant_pool
|
|
},
|
|
{
|
|
&object_block_htab,
|
|
1,
|
|
sizeof (object_block_htab),
|
|
>_ggc_mx_hash_table_object_block_hasher_,
|
|
>_pch_nx_hash_table_object_block_hasher_
|
|
},
|
|
{
|
|
§ion_htab,
|
|
1,
|
|
sizeof (section_htab),
|
|
>_ggc_mx_hash_table_section_hasher_,
|
|
>_pch_nx_hash_table_section_hasher_
|
|
},
|
|
{
|
|
&unnamed_sections,
|
|
1,
|
|
sizeof (unnamed_sections),
|
|
>_ggc_mx_section,
|
|
>_pch_nx_section
|
|
},
|
|
{
|
|
&weak_global_object_name,
|
|
1,
|
|
sizeof (weak_global_object_name),
|
|
(gt_pointer_walker) >_ggc_m_S,
|
|
(gt_pointer_walker) >_pch_n_S
|
|
},
|
|
{
|
|
&first_global_object_name,
|
|
1,
|
|
sizeof (first_global_object_name),
|
|
(gt_pointer_walker) >_ggc_m_S,
|
|
(gt_pointer_walker) >_pch_n_S
|
|
},
|
|
LAST_GGC_ROOT_TAB
|
|
};
|
|
|
|
void
|
|
gt_clear_caches_gt_varasm_h ()
|
|
{
|
|
gt_cleare_cache (tm_clone_hash);
|
|
}
|
|
|
|
EXPORTED_CONST struct ggc_root_tab gt_pch_rs_gt_varasm_h[] = {
|
|
{ &anchor_labelno, 1, sizeof (anchor_labelno), NULL, NULL },
|
|
{ &const_labelno, 1, sizeof (const_labelno), NULL, NULL },
|
|
LAST_GGC_ROOT_TAB
|
|
};
|
|
|