This is the mail archive of the 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]

Re: Strange gcc warning

Peter 'Luna' Runestig wrote:
> This code (from OpenBSD ftp client):
> void
> restart(argc, argv)
>         int argc;
>         char *argv[];
> {
>         quad_t nrestart_point;
>         char *ep;
>         if (argc != 2)
>                 fputs("restart: offset not specified.\n", ttyout);
>         else {
>                 nrestart_point = strtoq(argv[1], &ep, 10);
>                 if (nrestart_point == QUAD_MAX || *ep != '\0')
>                         fputs("restart: invalid offset.\n", ttyout);
>                 else {
>                         fprintf(ttyout, "Restarting at %qd. Execute get,
> put or"
>                                 "append  to initiate transfer\n",
> /* line 2169 */                 nrestart_point);
>                         restart_point = nrestart_point;
>                 }
>         }
> }
> gives this warning, compiling on FreeBSD 4.0-20000101-CURRENT alpha:
> gcc -c -g -O2 -Wall -Wno-unused -I/house/luna/bsd_a/include -I./libedit
> -DHAVE_CONFIG_H -I.  -o cmds.o cmds.c
> cmds.c: In function `restart':
> cmds.c:2169: warning: long long int format, quad_t arg (arg 3)
> Why? The format is "%qd" and the variable nrestart_point is a quad_t.
> Shouldn't be any problems, right? It compiles clean on OpenBSD and Linux
> (both i386 though).

I have it figured out now. quad_t on alpha is a long, not a long long as
on i386, but gcc still treats the "%qd" as a long long format. A small
gcc bug perhaps?
Peter "Luna" Runestig (fd. Altberg), Sweden
PGP Key ID: 0xD07BBE13
Fingerprint: 7B5C 1F48 2997 C061 DE4B  42EA CB99 A35C D07B BE13

Gubben Movitz ler och nickar, / men från Charons mörka sund
dödens blund / i dina blickar / bådar snart din sista stund.
Carl Michael Bellman, Fredmans epistel nr 34

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