We cannot suppress PGI compiler warnings completely because even with
the "-w" flag the compiler still writes a message containing "compilation
completed with warnings" to stderr.
A warning is triggered by expressions like
test ? NULL : ptr_to_const_char
test ? ".." : ptr_to_const_char
that the PGI compiler handles incorrectly. It chooses the pointer type
of the first option (either void* or char*) and warns about conversion
of the second without a cast. Flip the expression logic to
!test ? ptr_to_const_char : NULL
!test ? ptr_to_const_char : ".."
to help the compiler choose the proper result type.