I'm trying to run Open mpi on Microblaze(soft core processor), with
operating system xilkernel(OS from xilinx).
I'm getting errors in the file: opal_object.h .
This is the part of the code where I'm getting errors.
typedef struct opal_object_t opal_object_t; //line 1
typedef struct opal_class_t opal_class_t; //line 2
typedef void (*opal_construct_t) (opal_object_t *); //line 3
typedef void (*opal_destruct_t) (opal_object_t *); //line 4
struct opal_class_t {
const char *cls_name; /**< symbolic name for class
*/opal_class_t *cls_parent; /**< parent class descriptor */
//line 5
opal_construct_t cls_construct; /**< class constructor */
opal_destruct_t cls_destruct; /**< class destructor */
int cls_initialized; /**< is class initialized */
int cls_depth; /**< depth of class hierarchy tree */
opal_construct_t *cls_construct_array; /**< array of parent class
constructors */
opal_destruct_t *cls_destruct_array; /**< array of parent class
destructors */
size_t cls_sizeof; /**< size of an object instance */
};
struct opal_object_t {
#if OMPI_ENABLE_DEBUG
/** Magic ID -- want this to be the very first item in the
struct's memory */
uint64_t obj_magic_id;
#endifopal_class_t *obj_class; /**< class
descriptor */ //line6
volatile int32_t obj_reference_count; /**< reference count */
#if OMPI_ENABLE_DEBUG
const char* cls_init_file_name; /**< In debug mode store the file
where the object get contructed */
int cls_init_lineno; /**< In debug mode store the line number where
the object get contructed */
#endif /* OMPI_ENABLE_DEBUG */
};
The errors are:
line 1: storage class specified for parameter 'opal_object_t'
line 2: storage class specified for parameter 'opal_class_t'
line 3 and 4: expected declaration specifiers or '...' before
'opal_object_t'
line 5 and 6: expected specifier-qualifier-list before 'opal_class_t'
The compiler used is microblaze gcc 4.6.2
How to remove these errors? Is there any other way to make these
definitions, so that compiler won't give it as an error?