Why does the Itanium ABI mangle `void f(int)` and `void f(const int)` (as a top-level parameter) to the *same* mangled name, while `void g(int*)` and `void g(const int*)` mangle differently?
void f(int);
void f(const int); // same function as f(int)
void g(int*);
void g(const int*); // different from g(int*)