«Подобные случаи» довольно неясны, и для этого потребуется, чтобы компилятор возвращался от каждой разыменования и проверял, может ли он доказать, что он знает, что указатель имеет константу и недопустим, значение.
Учтите, что какой-то другой части программы можно дать указатель на указатель (псевдоним) и перезаписать его в другом пути кода или (что еще хуже) в другом потоке.
Это нелегко обнаружить, и я думаю, что стоимость времени компиляции для реальных программ сделает его не стоящим, даже если его можно будет реализовать с разумными усилиями.