1
1
openmpi/ompi
Geoffrey Paulsen 6df6a3f4bc mpi.h.in: Revamp MPI-1 removed function warnings
Refs https://github.com/open-mpi/ompi/issues/6278.

This commit is intended to be cherry-picked to v4.0.x and
the following commit will ammend to this functionality for
master's removal.

Changes the prototypes for MPI removed functions in the
following ways:

There are 4 cases:

 1) User wants MPI-1 compatibility (--enable-mpi1-compatibility)

    MPI_Address (and friends) are declared in mpi.h with
    deprecation notice

 2) User does not want MPI-1 compatibility, and has a C11-capable
    compiler

    Declare an MPI_Address (etc.) macro in mpi.h, which will
    cause a compile-time error using _Static_assert C11 feature

 3) User does not want MPI-1 compatibility, and does not have a
    C11-capable compiler, but the compiler supports error function
    attributes.

    Declare an MPI_Address (etc.) macro in mpi.h, which will
    cause a compile-time error using error function attribute.

 4) User does not want MPI-1 compatibility, and does not have a
    C11-capable compiler, or a compiler that supports error
    function attributes.

    Do not declare MPI_Address (etc.) in mpi.h at all.
    Unless the user is compiling with something like -Werror,
    this will allow the user's code to compile. We are
    choosing this because it seems like a losing battle to
    make some kind of compile time error that is friendly to
    the user (and doesn't make it look like mpi.h itself is broken).

    On v4.0.x, this will allow the user code to both compile
    (albeit with a warning) and link (because the MPI_Address
    will be in the MPI library because we are preserving ABI
    back to 3.0.x).

    On master/v5.0.x, this will allow the user code to compile,
    but it will fail to link (because the MPI_Address symbol will
    not be in the MPI library).

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
(cherry-picked from 3136a1706c)
2019-02-27 08:25:23 -08:00
..
attribute ompi/attributes: revamp attribute handling. 2017-07-12 10:27:45 +09:00
class Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
communicator Cart/Graph create would not run the next_cid algorithm and create 2019-02-22 15:11:56 -05:00
contrib ompitrace: MPI_Address -> MPI_Get_address 2018-05-01 15:20:02 -06:00
datatype ompi/datatype: fix how we compute the space needed for the args 2019-01-30 11:01:11 +09:00
debuggers ompi/debuggers: stomp a compiler warning in dlopen_test.c 2018-05-30 10:08:14 -07:00
dpm pmix: added check for pmix fence status 2018-08-17 21:33:50 +06:00
errhandler mpi/finalized: revamp INITIALIZED/FINALIZED 2018-06-01 13:36:29 -07:00
etc Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
file ompi/file: rename ompi_file_t's f_mutex into f_lock 2017-12-01 16:06:22 +09:00
group opal/asm: remove opal_atomic_bool_cmpset functions 2017-11-30 10:41:22 -07:00
include mpi.h.in: Revamp MPI-1 removed function warnings 2019-02-27 08:25:23 -08:00
info ompi/info: plug memory leaks in ompi_mpiinfo_finalize() 2018-09-10 09:18:15 +09:00
interlib Update the interlib example to show an alternative method for model declaration. Add a missing range value to the OPAL layer. Make it easier to see OMPI model callbacks 2017-10-23 11:27:42 -07:00
mca Merge pull request #6395 from brminich/topic/ucx_net_waddr_4.0.x 2019-02-21 20:29:47 -07:00
message predefined MPI object padding: set to fixed number of bytes (#3634) 2017-06-01 15:28:23 -04:00
mpi mpi.h.in: Revamp MPI-1 removed function warnings 2019-02-27 08:25:23 -08:00
mpiext mpiext: updates for header file locations 2018-12-12 09:24:45 +09:00
op ompi/op: fix support of non predefined datatypes with predefined operators 2019-01-30 10:29:39 +09:00
patterns scripted symbol name change (ompi_ prefix) 2017-07-11 02:13:23 -04:00
peruse mpi/finalized: revamp INITIALIZED/FINALIZED 2018-06-01 13:36:29 -07:00
proc ompi: Avoid unnecessary PMIx lookups when adding procs (step 2). 2017-03-16 07:47:27 +07:00
request Be conservative with the array_of_indices 2018-09-18 12:05:51 -07:00
runtime pmix: added check for pmix fence status 2018-08-17 21:33:50 +06:00
tools ompi_info: add ipv6 config param 2017-11-08 07:02:27 -08:00
util timings: added new timing points 2018-03-21 05:16:25 +02:00
win ompi/attributes: revamp attribute handling. 2017-07-12 10:27:45 +09:00
Makefile.am fortran/use-mpi-f08: fix [p]ompi_FOO_f symbols handling 2018-09-20 10:37:01 +09:00