Fix issue 10858 CTFE wrong array of pointers

Pointer comparison should be based on rvalues, not lvalues.
That bug was also hiding three latent wrong-code bugs.
Merge pull request #2527 from donc/badpointer10858ctfe

10858 CTFE wrong-code for array of pointers