libclangでMPIの関数を抽出してみた

手作業だとめんどくさいし、間違えそうだということでlibclangを使ってみました。

こんなファイルstub.cを用意して、

#include <mpi.h>

mpi_extractorに食わせると、MPI関数の名前、返り値の型、引数の型がCSVで出力されます。

$ ./mpi_extractor stub.c
MPI_Abort,int,MPI_Comm,int
MPI_Accumulate,int,void *,int,MPI_Datatype,int,MPI_Aint,int,MPI_Datatype,MPI_Op,MPI_Win
MPI_Add_error_class,int,int *
MPI_Add_error_code,int,int,int *
MPI_Add_error_string,int,int,char *
[]