X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c602f438078b5a9c7f0e0c84407892e7016d0933..6051369d9427154f912e8affc417f20a26a0eb95:/include/smpi/sampi.h diff --git a/include/smpi/sampi.h b/include/smpi/sampi.h index bdbaa98f4c..984c437235 100644 --- a/include/smpi/sampi.h +++ b/include/smpi/sampi.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2023. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -6,27 +6,37 @@ #ifndef SAMPI_H_ #define SAMPI_H_ -#include "malloc.h" +#define SMPI_NO_OVERRIDE_MALLOC +#include #include #define AMPI_CALL(type, name, args) \ - type A##name args __attribute__((weak)); \ - type AP##name args; + type _XBT_CONCAT(A, name) args __attribute__((weak)); \ + type _XBT_CONCAT(AP, name) args; #ifndef HAVE_SMPI +#undef malloc +#undef calloc +#undef realloc +#undef free +// Internally disable these overrides (HAVE_SMPI is only defined when building the library) #define malloc(nbytes) _sampi_malloc(nbytes) +#define calloc(n_elm, elm_size) _sampi_calloc((n_elm), (elm_size)) +#define realloc(ptr, nbytes) _sampi_realloc((ptr), (nbytes)) #define free(ptr) _sampi_free(ptr) #endif -SG_BEGIN_DECL() +SG_BEGIN_DECL XBT_PUBLIC void* _sampi_malloc(size_t size); +XBT_PUBLIC void* _sampi_calloc(size_t n_elm, size_t elm_size); +XBT_PUBLIC void* _sampi_realloc(void *ptr, size_t size); XBT_PUBLIC void _sampi_free(void* ptr); AMPI_CALL(XBT_PUBLIC int, MPI_Iteration_in, (MPI_Comm comm)) AMPI_CALL(XBT_PUBLIC int, MPI_Iteration_out, (MPI_Comm comm)) AMPI_CALL(XBT_PUBLIC void, MPI_Migrate, (MPI_Comm comm)) -SG_END_DECL() +SG_END_DECL #endif