#ifndef GCC_C_TREE_H
#define GCC_C_TREE_H
-#include "c-common.h"
-#include "toplev.h"
+#include "c-family/c-common.h"
#include "diagnostic.h"
/* struct lang_identifier is private to c-decl.c, but langhooks.c needs to
cdk_attrs
};
+typedef struct GTY(()) c_arg_tag_d {
+ /* The argument name. */
+ tree id;
+ /* The type of the argument. */
+ tree type;
+} c_arg_tag;
+
+DEF_VEC_O(c_arg_tag);
+DEF_VEC_ALLOC_O(c_arg_tag,gc);
+
/* Information about the parameters in a function declarator. */
struct c_arg_info {
/* A list of parameter decls. */
tree parms;
/* A list of structure, union and enum tags defined. */
- tree tags;
+ VEC(c_arg_tag,gc) *tags;
/* A list of argument types to go in the FUNCTION_TYPE. */
tree types;
/* A list of non-parameter decls (notably enumeration constants)
extern void finish_function (void);
extern tree finish_struct (location_t, tree, tree, tree,
struct c_struct_parse_info *);
+extern struct c_arg_info *build_arg_info (void);
extern struct c_arg_info *get_parm_info (bool);
extern tree grokfield (location_t, struct c_declarator *,
struct c_declspecs *, tree, tree *);