http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57133
--- Comment #3 from grpintar at gmail dot com 2013-05-01 12:43:28 UTC --- (In reply to comment #1) > (In reply to comment #0) > > typedef char *type; > > > > void f(const type t) > > { > > This doesn't do what you think it does. t is now a const variable of type > char*, not a variable of type const char*. Observe: > > > cat pr57133.c > typedef char *type; > void f(const type t) { t = 0; } > void g(const type t) { *t = 0; } > > gcc -Wall -S pr57133.c > pr57133.c: In function 'f': > pr57133.c:2:1: error: assignment of read-only parameter 't' > > The warning in your main() is correct. I see. Sorry.