<div dir="ltr">I upgraded to clang-3.2 and the new type annotations are great. I'd like to have a identified for enum types, e.g. <br><br>typedef enum {SOME, VALUES} MyEnum;<div style>#define MY_MPI_ENUM MPI_INT // or define some other way<br>
static const MPI_Datatype my_mpi_enum MPICH_ATTR_TYPE_TAG(MyEnum) = MY_MPI_ENUM;<br></div><div style><br></div><div style><br></div><div style>Of course the above does not work because the new definition masks the old one, so all the normal 'int' uses are hidden. Unfortunately, the annotation syntax requires compile-time constants, which are not accessible to me.<br>
<br>Is there any hope for something like this, or do I have to choose between (a) ugly cast at all MPI call points and (b) make MY_MPI_ENUM a variable so that the compiler can't check it statically?</div></div>