Skip to content
Snippets Groups Projects
Commit e811b0b9 authored by Thomas Jahns's avatar Thomas Jahns :cartwheel:
Browse files

Make XT_REQUEST_NULL a literal constant.

* Dereferencing an external variable is unneeded and error-prone,
  because it can be overwritten.
parent db55c62a
No related branches found
No related tags found
No related merge requests found
......@@ -50,7 +50,7 @@
*/
typedef struct Xt_request_ *Xt_request;
extern Xt_request XT_REQUEST_NULL;
#define XT_REQUEST_NULL ((Xt_request)NULL)
/**
* Waits for the completion of a request. Afterwards it is deallocated and
......
......@@ -54,8 +54,6 @@
#include "xt/xt_request.h"
#include "xt_request_internal.h"
Xt_request XT_REQUEST_NULL = (Xt_request)NULL;
void xt_request_wait(Xt_request *request) {
assert(request);
if (*request != XT_REQUEST_NULL) {
......
......@@ -78,6 +78,8 @@ MODULE xt_requests
END INTERFACE
TYPE(xt_request), PARAMETER, PUBLIC :: xt_request_null = xt_request(c_null_ptr)
INTERFACE xt_is_null
MODULE PROCEDURE xt_request_is_null
END INTERFACE xt_is_null
......
......@@ -101,7 +101,7 @@ MODULE yaxt
USE xt_redist_real_sp, ONLY: xt_redist_s_exchange, xt_redist_a_exchange
USE xt_redist_real_dp, ONLY: xt_redist_s_exchange, xt_redist_a_exchange
USE xt_requests, ONLY: xt_request, xt_request_wait, xt_request_test, &
xt_is_null
xt_is_null, xt_request_null
USE xt_mpi, ONLY: xt_mpi_comm_mark_exclusive
USE iso_c_binding, ONLY: c_int, c_ptr, c_null_ptr, c_loc
......@@ -152,7 +152,8 @@ MODULE yaxt
xt_mpi_comm_mark_exclusive, &
xt_is_null, &
OPERATOR(==), OPERATOR(/=), char, &
xt_request, xt_request_wait, xt_request_test, xt_redist_a_exchange1, &
xt_request, xt_request_null, &
xt_request_wait, xt_request_test, xt_redist_a_exchange1, &
xt_redist_a_exchange
INTERFACE OPERATOR(==)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment