[e-lang] E 0.9.3 release?
Jon Leonard
jleonard at slimy.com
Sun Jan 2 16:49:48 PST 2011
On Sun, Jan 02, 2011 at 04:07:59PM -0800, Mark Miller wrote:
> On Sun, Jan 2, 2011 at 11:36 AM, Bill Frantz <frantz at pwpconsult.com> wrote:
>
> > On 1/1/11 at 10:12 PM, erights at gmail.com (Mark Miller) wrote:
> >
> > >* New warning: "warning: array subscript has type `char'"
> > >for C code in byacc/j that seems innocent to me. And in any case is old
> > >third party code.
> >
> > Since C supports signed chars (an abomination on the world), a C
> > compiler which actually defaults to signed could cause array
> > underflow problems. YMMV. VWP. Caveat emptor.
> >
> > I would change their declarations to include "unsigned".
> >
>
> If I saw something that looked like indexing, I would understand. However,
> the warning complains, for example, about the last line of the following
> program fragment. This only happens to me using cygwin gcc on Windows.
> Compiling the same code on my Mac using regular gcc emits no warning.
>
>
> void print_pos(char *st_line,char *st_cptr)
> {
> char *s;
>
> if (st_line == 0) return;
> for (s = st_line; *s != '\n'; ++s)
> {
> if (isprint(*s) || *s == '\t')
The problem is likely to be the implementation of isprint: It is frequently
implemented as a (lightly protected) lookup in an array. The warning would
likely go away if *s were declared or cast unsigned char.
Probably a bug in the isprint implementation, but still a real warning.
Jon Leonard
More information about the e-lang
mailing list