Macro tweaks#1868
Conversation
We can put an ifdef here to get rid of a lot of ifdefs elsewhere.
We shouldn't have libmesh_ignored this, it was an actual mistake!
We now die at configure time if static_assert fails, and we use it unguarded elsewhere
|
There are reams of template error messages in the CIVET output, here is the first one for |
|
Thanks; I can reproduce the problems and I've got them mostly fixed. This PR got interrupted by my trip while I was 80% done with it and when I got back I'd forgotten that the other 20% included --disable-mpi testing... |
afa06bd to
d64c4d7
Compare
This lets us delete most of the shims in our without-MPI code section.
If we want to use more of the same code with and without MPI, we need to be able to suppress unused argument warnings in the without case.
|
Planning to merge this soon; it's only a minor improvement but moving all that code is going to cause no end of conflicts when anyone tries to play with moved sections of parallel_implementation.h while it's outstanding. Fortunately the new method in #1826 is surrounded by unmoved code so should be safe. |
|
The no-MPI test should already be covered by the |
| // to shut up unused variable compiler warnings on a case by case | ||
| // basis. | ||
| template<class T> inline void libmesh_ignore( const T & ) { } | ||
| template<class ...Args> inline void libmesh_ignore( const Args&... ) { } |
There was a problem hiding this comment.
This is handy... there are several places in the examples where we ignore multiple variables in the same scope.
jwpeterson
left a comment
There was a problem hiding this comment.
Looks like a big improvement to having ifdefs all over the place.
In theory this PR is actually only dozens of lines of additions, hundreds of deletions, and thousands of moves (a bunch of code that had with-mpi and without-mpi versions now has a common implementation outside the ifdef LIBMESH_HAVE_MPI block), but my git version doesn't support --color-moved and I can't figure out how to make Github use it either.
In practice I did have a few rebase conflicts; hopefully Civet will verify that I didn't screw up any of the resolutions.