[mpich-discuss] Extensible Clang type annotation

Jed Brown jedbrown at mcs.anl.gov
Sun Dec 30 23:13:12 CST 2012


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.

typedef enum {SOME, VALUES} MyEnum;
#define MY_MPI_ENUM MPI_INT // or define some other way
static const MPI_Datatype my_mpi_enum MPICH_ATTR_TYPE_TAG(MyEnum) =
MY_MPI_ENUM;


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.

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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20121230/6e0089fc/attachment.html>


More information about the discuss mailing list