1. compiling with msvc shows warning in relcache.c 1>e:\workspace\postgresql\master\postgresql\src\backend\utils\cache\relcache.c(3959): warning C4715: 'RelationGetIndexAttrBitmap' : not all control paths return a value
Attached patch remove_msvc_warning.patch to remove above warning
Hmm, I thought we gave enough hints in the elog macro to tell the compiler that elog(ERROR) does no return, since commit b853eb97182079dcd30b4f52576bd5d6c275ee71. Have we not enabled that for MSVC?
And found that because elevel was being assigned to a variable that the compiler could not determine that the if (elevel_ >= ERROR) was constant therefore couldn't assume that __assume(0) would be reached with the microsoft compiler