http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57133



--- Comment #1 from Mikael Pettersson <mikpe at it dot uu.se> 2013-05-01 
11:37:56 UTC ---

(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.

Reply via email to