This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Questions about const.
- From: Ryan Lortie <desrt at desrt dot ca>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 15 Jul 2005 22:34:45 -0400
- Subject: Questions about const.
[please excuse if this is re-post. i don't think the first message made
it]
GCC generates some warnings when doing type conversions in places that I
don't believe the warnings are required. It'd be be cool if someone
could explain it to me. I have an example program here:
http://manic.desrt.ca/const.c
I'm guessing that, by the C standard, arrays that contain items of
different types are always considered incompatible and since 'char *'
and 'const char *' are different types then 'const char **' and 'char
**' are incompatible pointers. This just doesn't seem very useful when
one of the base types is always safe to automatically promote to the
other (in this case, char * -> const char *) and there is no chance that
an unnoticed conversion could ever occur in the other direction without
generating another warning/error.
Any feedback at all is appreciated -- many thanks.
Cheers.