aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/ada-tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.h')
-rw-r--r--gcc/ada/gcc-interface/ada-tree.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/ada/gcc-interface/ada-tree.h b/gcc/ada/gcc-interface/ada-tree.h
index 5ea386f..d43eefa 100644
--- a/gcc/ada/gcc-interface/ada-tree.h
+++ b/gcc/ada/gcc-interface/ada-tree.h
@@ -32,13 +32,9 @@ union GTY((desc ("0"),
desc ("tree_node_structure (&%h)"))) generic;
};
-/* Ada uses the lang_decl and lang_type fields to hold a tree.
-
- FIXME: the variable_size annotation here is needed because these types are
- variable-sized in some other front-ends. Due to gengtype deficiency, the
- GTY options of such types have to agree across all front-ends. */
-struct GTY((variable_size)) lang_type { tree t; };
-struct GTY((variable_size)) lang_decl { tree t; };
+/* Ada uses the lang_decl and lang_type fields to hold a tree. */
+struct GTY(()) lang_type { tree t; };
+struct GTY(()) lang_decl { tree t; };
/* Macros to get and set the tree in TYPE_LANG_SPECIFIC. */
#define GET_TYPE_LANG_SPECIFIC(NODE) \
@@ -49,7 +45,7 @@ do { \
tree tmp = (X); \
if (!TYPE_LANG_SPECIFIC (NODE)) \
TYPE_LANG_SPECIFIC (NODE) \
- = ggc_alloc_lang_type (sizeof (struct lang_type)); \
+ = ggc_alloc<struct lang_type> (); \
TYPE_LANG_SPECIFIC (NODE)->t = tmp; \
} while (0)
@@ -62,7 +58,7 @@ do { \
tree tmp = (X); \
if (!DECL_LANG_SPECIFIC (NODE)) \
DECL_LANG_SPECIFIC (NODE) \
- = ggc_alloc_lang_decl (sizeof (struct lang_decl)); \
+ = ggc_alloc<struct lang_decl> (); \
DECL_LANG_SPECIFIC (NODE)->t = tmp; \
} while (0)