TYPE_PARAM_STRUCT
};
+typedef struct pair *pair_p;
+typedef struct type *type_p;
+typedef unsigned lang_bitmap;
+
+/* Option data for the 'nested_ptr' option. */
+struct nested_ptr_data {
+ type_p type;
+ const char *convert_to;
+ const char *convert_from;
+};
+
/* A way to pass data through to the output end. */
typedef struct options {
struct options *next;
const char *name;
- const void *info;
+ const char *info;
} *options_p;
-typedef struct pair *pair_p;
-typedef struct type *type_p;
-typedef unsigned lang_bitmap;
-
/* A name and a type. */
struct pair {
pair_p next;
#define NUM_PARAM 10
/* A description of a type. */
-struct type {
- enum typekind kind;
- type_p next;
- type_p pointer_to;
- enum gc_used_enum {
+enum gc_used_enum
+ {
GC_UNUSED = 0,
GC_USED,
GC_MAYBE_POINTED_TO,
GC_POINTED_TO
- } gc_used;
+ };
+
+struct type {
+ enum typekind kind;
+ type_p next;
+ type_p pointer_to;
+ enum gc_used_enum gc_used;
union {
type_p p;
struct {