X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c7d7dd424bfef179ba41ff0461450f2f231e7125..45c3f1cfee86fb48c96d53f8267f99b6db6e3d7a:/src/include/mc/datatypes.h diff --git a/src/include/mc/datatypes.h b/src/include/mc/datatypes.h index 2cc5834761..9cdea6cc82 100644 --- a/src/include/mc/datatypes.h +++ b/src/include/mc/datatypes.h @@ -6,10 +6,16 @@ #ifndef MC_DATATYPE_H #define MC_DATATYPE_H + +#define UNW_LOCAL_ONLY + #include "xbt/misc.h" #include "xbt/swag.h" #include "xbt/fifo.h" +#include +#include + SG_BEGIN_DECL() /******************************* Transitions **********************************/ @@ -37,34 +43,31 @@ typedef struct s_stack_region{ void heap_ignore_region_free(mc_heap_ignore_region_t r); void heap_ignore_region_free_voidp(void *r); +/************ Object info *************/ + +typedef struct s_mc_object_info s_mc_object_info_t, *mc_object_info_t; + /************ DWARF structures *************/ -typedef enum{ - e_dw_base_type = 0, - e_dw_enumeration_type, - e_dw_enumerator, - e_dw_typedef, - e_dw_const_type, - e_dw_array_type, - e_dw_pointer_type, - e_dw_structure_type, - e_dw_union_type, - e_dw_subroutine_type, - e_dw_volatile_type -}e_dw_type_type; - -typedef struct s_dw_type{ +typedef int e_dw_type_type; + +typedef struct s_dw_type s_dw_type_t, *dw_type_t; + +struct s_dw_type{ e_dw_type_type type; - void *id; - char *name; - int size; - char *dw_type_id; - xbt_dynar_t members; /* if DW_TAG_structure_type */ + void *id; /* Offset in the section (in hexadecimal form) */ + char *name; /* Name of the type */ + int byte_size; /* Size in bytes */ + int element_count; /* Number of elements for array type */ + char *dw_type_id; /* DW_AT_type */ + xbt_dynar_t members; /* if DW_TAG_structure_type, DW_TAG_union_type*/ int is_pointer_type; int offset; -}s_dw_type_t, *dw_type_t; + dw_type_t subtype; + dw_type_t other_object_same_type; // The same (but more complete) type in the other object. +}; -char* get_type_description(xbt_dict_t types, char *type_name); +char* get_type_description(mc_object_info_t info, char *type_name); SG_END_DECL() #endif /* _MC_MC_H */