/*
 * Copyright (C) by Argonne National Laboratory
 *     See COPYRIGHT in top-level directory
 */

/* style: c++ header */
/* style: allow:printf:1 sig:0 */
//
// Include for the simple coverage analysis
//

#ifndef MPICXXCOV_H_INCLUDED
#define MPICXXCOV_H_INCLUDED

#ifdef USE_COVERAGE_PRINT
#include <stdio.h>
#define COVERAGE_INITIALIZE()
#define COVERAGE_START(a,b)  printf("%s-%d\n", #a, b); fflush(stdout)
#define COVERAGE_END(a,b)
#define COVERAGE_FINALIZE()
#elif defined(USE_COVERAGE_SIMPLE)
#include "mpicovsimple.h"
#define COVERAGE_INITIALIZE()
#define COVERAGE_START(a,b) MPIR_Cov.Add(#a, b, __FILE__, __LINE__)
#define COVERAGE_END(a,b)   MPIR_Cov.AddEnd(#a, b, __FILE__, __LINE__)
#define COVERAGE_FINALIZE_NEEDED 1
#define COVERAGE_FINALIZE() MPIR_Cov.FileMerge("cov.dat")
#else
// Just make these empty
#define COVERAGE_INITIALIZE()
#define COVERAGE_START(a,b)
#define COVERAGE_END(a,b)
#define COVERAGE_FINALIZE()
#endif

#endif /* MPICXXCOV_H_INCLUDED */
