This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]