You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This seems due to the "double-include trick" used by the hybrid backend:
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:48:21: warning: type ‘struct IBVerbs’ violates the C++ One Definition Rule [-Wodr]
48 | class _LPFLIB_LOCAL IBVerbs
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:48:21: note: a different type is defined in another translation unit
48 | class _LPFLIB_LOCAL IBVerbs
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:128:34: note: the first difference of corresponding definitions is field ‘m_activePeers’
128 | SparseSet< pid_t > m_activePeers; //
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:128:34: note: a field of same name but different type is defined in another translation unit
128 | SparseSet< pid_t > m_activePeers; //
| ^
/home/yzelman/lpf.github/src/common/sparseset.hpp:35:7: note: type name ‘lpf::SparseSet<int>’ should match type name ‘lpf::SparseSet<unsigned int>’
35 | class SparseSet
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:42:21: warning: type ‘struct MessageQueue’ violates the C++ One Definition Rule [-Wodr]
42 | class _LPFLIB_LOCAL MessageQueue
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:42:21: note: a different type is defined in another translation unit
42 | class _LPFLIB_LOCAL MessageQueue
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:136:18: note: the first difference of corresponding definitions is field ‘m_ibverbs’
136 | mpi::IBVerbs m_ibverbs;
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:136:18: note: a field of same name but different type is defined in another translation unit
136 | mpi::IBVerbs m_ibverbs;
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:48:21: note: type ‘struct IBVerbs’ itself violates the C++ One Definition Rule
48 | class _LPFLIB_LOCAL IBVerbs
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:48:21: warning: type ‘struct IBVerbs’ violates the C++ One Definition Rule [-Wodr]
48 | class _LPFLIB_LOCAL IBVerbs
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:48:21: note: a different type is defined in another translation unit
48 | class _LPFLIB_LOCAL IBVerbs
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:128:34: note: the first difference of corresponding definitions is field ‘m_activePeers’
128 | SparseSet< pid_t > m_activePeers; //
| ^
/home/yzelman/lpf.github/src/MPI/ibverbs.hpp:128:34: note: a field of same name but different type is defined in another translation unit
128 | SparseSet< pid_t > m_activePeers; //
| ^
/home/yzelman/lpf.github/src/common/sparseset.hpp:35:7: note: type name ‘lpf::SparseSet<int>’ should match type name ‘lpf::SparseSet<unsigned int>’
35 | class SparseSet
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:42:21: warning: type ‘struct MessageQueue’ violates the C++ One Definition Rule [-Wodr]
42 | class _LPFLIB_LOCAL MessageQueue
| ^
/home/yzelman/lpf.github/src/MPI/mesgqueue.hpp:42:21: note: a different type is defined in another translation unit
We should probably look into how to name them differently and thus avoid this warning.
The text was updated successfully, but these errors were encountered:
This seems due to the "double-include trick" used by the hybrid backend:
We should probably look into how to name them differently and thus avoid this warning.
The text was updated successfully, but these errors were encountered: