% cat aaa.c
int main()
{
const char **cpp, *cp;
char **pp, *p;
cpp = pp;
cp = p;
return 0;
}
% gcc -Wall -c aaa.c
aaa.c: In function `main':
aaa.c:5: warning: assignment from incompatible pointer type

どうして片方だけ警告が出るんでしょう??
どっちもnon-constな変数からconstな変数に代入しているのに