Can you just put the trueNeighbors2 call in an else block to avoid the warning? Then we don't need any of the preprocessor lines.