Skip to content

Commit 3c90fb3

Browse files
committed
Remove [[gnu::always_inline]] attributes to avoid gcc warnings
1 parent 4d79bac commit 3c90fb3

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

c++/mpi/generic_communication.hpp

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ namespace mpi {
6565
* @param c mpi::communicator.
6666
* @param root Rank of the root process.
6767
*/
68-
template <typename T> [[gnu::always_inline]] void broadcast(T &&x, communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
68+
template <typename T> void broadcast(T &&x, communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
6969
mpi_broadcast(x, c, root);
7070
}
7171

@@ -87,8 +87,8 @@ namespace mpi {
8787
* @return Result of the specialized `mpi_reduce` call.
8888
*/
8989
template <typename T>
90-
[[gnu::always_inline]] decltype(auto) reduce(T &&x, communicator c = {}, int root = 0, bool all = false, // NOLINT (forwarding is not needed)
91-
MPI_Op op = MPI_SUM) {
90+
decltype(auto) reduce(T &&x, communicator c = {}, int root = 0, bool all = false, // NOLINT (forwarding is not needed)
91+
MPI_Op op = MPI_SUM) {
9292
if constexpr (requires { mpi_reduce(x, c, root, all, op); }) {
9393
return mpi_reduce(x, c, root, all, op);
9494
} else {
@@ -114,8 +114,8 @@ namespace mpi {
114114
* @param op `MPI_Op` used in the reduction.
115115
*/
116116
template <typename T>
117-
[[gnu::always_inline]] void reduce_in_place(T &&x, communicator c = {}, int root = 0, bool all = false, // NOLINT (forwarding is not needed)
118-
MPI_Op op = MPI_SUM) {
117+
void reduce_in_place(T &&x, communicator c = {}, int root = 0, bool all = false, // NOLINT (forwarding is not needed)
118+
MPI_Op op = MPI_SUM) {
119119
mpi_reduce_into(x, x, c, root, all, op);
120120
}
121121

@@ -137,8 +137,8 @@ namespace mpi {
137137
* @param op `MPI_Op` used in the reduction.
138138
*/
139139
template <typename T1, typename T2>
140-
[[gnu::always_inline]] void reduce_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0, // NOLINT (forwarding is not needed)
141-
bool all = false, MPI_Op op = MPI_SUM) {
140+
void reduce_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0, // NOLINT (forwarding is not needed)
141+
bool all = false, MPI_Op op = MPI_SUM) {
142142
mpi_reduce_into(x_in, x_out, c, root, all, op);
143143
}
144144

@@ -157,8 +157,7 @@ namespace mpi {
157157
* @param root Rank of the root process.
158158
* @return Result of the specialized `mpi_scatter` call.
159159
*/
160-
template <typename T>
161-
[[gnu::always_inline]] decltype(auto) scatter(T &&x, mpi::communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
160+
template <typename T> decltype(auto) scatter(T &&x, mpi::communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
162161
if constexpr (requires { mpi_scatter(x, c, root); }) {
163162
return mpi_scatter(x, c, root);
164163
} else {
@@ -184,7 +183,7 @@ namespace mpi {
184183
* @param root Rank of the root process.
185184
*/
186185
template <typename T1, typename T2>
187-
[[gnu::always_inline]] void scatter_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
186+
void scatter_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0) { // NOLINT (forwarding is not needed)
188187
mpi_scatter_into(x_in, x_out, c, root);
189188
}
190189

@@ -204,8 +203,7 @@ namespace mpi {
204203
* @param all Should all processes receive the result of the gather.
205204
* @return Result of the specialized `mpi_gather` call.
206205
*/
207-
template <typename T>
208-
[[gnu::always_inline]] decltype(auto) gather(T &&x, communicator c = {}, int root = 0, bool all = false) { // NOLINT (forwarding is not needed)
206+
template <typename T> decltype(auto) gather(T &&x, communicator c = {}, int root = 0, bool all = false) { // NOLINT (forwarding is not needed)
209207
if constexpr (requires { mpi_gather(x, c, root, all); }) {
210208
return mpi_gather(x, c, root, all);
211209
} else {
@@ -232,26 +230,24 @@ namespace mpi {
232230
* @param all Should all processes receive the result of the gather.
233231
*/
234232
template <typename T1, typename T2>
235-
[[gnu::always_inline]] void gather_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0, // NOLINT (forwarding is not needed)
236-
bool all = false) {
233+
void gather_into(T1 &&x_in, T2 &&x_out, communicator c = {}, int root = 0, // NOLINT (forwarding is not needed)
234+
bool all = false) {
237235
mpi_gather_into(x_in, x_out, c, root, all);
238236
}
239237

240238
/**
241239
* @brief Generic MPI all-reduce.
242240
* @details It simply calls mpi::reduce with `all = true`.
243241
*/
244-
template <typename T>
245-
[[gnu::always_inline]] decltype(auto) all_reduce(T &&x, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
242+
template <typename T> decltype(auto) all_reduce(T &&x, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
246243
return reduce(x, c, 0, true, op);
247244
}
248245

249246
/**
250247
* @brief Generic MPI all-reduce in place.
251248
* @details It simply calls mpi::reduce_in_place with `all = true`.
252249
*/
253-
template <typename T>
254-
[[gnu::always_inline]] void all_reduce_in_place(T &&x, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
250+
template <typename T> void all_reduce_in_place(T &&x, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
255251
reduce_in_place(x, c, 0, true, op);
256252
}
257253

@@ -260,24 +256,23 @@ namespace mpi {
260256
* @details It simply calls mpi::reduce_into with `all = true`.
261257
*/
262258
template <typename T1, typename T2>
263-
[[gnu::always_inline]] void all_reduce_into(T1 &&x_in, T2 &&x_out, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
259+
void all_reduce_into(T1 &&x_in, T2 &&x_out, communicator c = {}, MPI_Op op = MPI_SUM) { // NOLINT (forwarding is not needed)
264260
return reduce_into(x_in, x_out, c, 0, true, op);
265261
}
266262

267263
/**
268264
* @brief Generic MPI all-gather.
269265
* @details It simply calls mpi::gather with `all = true`.
270266
*/
271-
template <typename T> [[gnu::always_inline]] decltype(auto) all_gather(T &&x, communicator c = {}) { // NOLINT (forwarding is not needed)
267+
template <typename T> decltype(auto) all_gather(T &&x, communicator c = {}) { // NOLINT (forwarding is not needed)
272268
return gather(x, c, 0, true);
273269
}
274270

275271
/**
276272
* @brief Generic MPI all-gather that gathers directly into an existing output object.
277273
* @details It simply calls mpi::gather_into with `all = true`.
278274
*/
279-
template <typename T1, typename T2>
280-
[[gnu::always_inline]] void all_gather_into(T1 &&x_in, T2 &&x_out, communicator c = {}) { // NOLINT (forwarding is not needed)
275+
template <typename T1, typename T2> void all_gather_into(T1 &&x_in, T2 &&x_out, communicator c = {}) { // NOLINT (forwarding is not needed)
281276
return gather_into(x_in, x_out, c, 0, true);
282277
}
283278

0 commit comments

Comments
 (0)