Possible bug in finish.cpp

Submitted by mschramm on Wed, 02/19/2020 - 16:43

Hello,
During an install using Clang (was trying spack and somehow clang was being used instead of gcc...)
finish.cpp failed.

at line 722, the code tries to compare neighbor->lists[m]->numneigh to 0, but numneigh is a pointer.
I think what we want there is "if (neighbor->lists[m]->inum > 0) {"

I could be very wrong about this...
Clang compiler was 9.0
This builds just fine using gcc 8

--- a/src/finish.cpp
+++ b/src/finish.cpp
@@ -719,7 +719,7 @@ void Finish::end(int flag)

nneighfull = 0;
if (m < neighbor->old_nrequest) {
- if (neighbor->lists[m]->numneigh > 0) {
+ if (neighbor->lists[m]->inum > 0) { // if (neighbor->lists[m]->numneigh > 0) {
int inum = neighbor->lists[m]->inum;
int *ilist = neighbor->lists[m]->ilist;
int *numneigh = neighbor->lists[m]->numneigh;