From: ian AT cygnus DOT com (Ian Lance Taylor) Subject: Re: Committed some warnings-removing changes 8 Apr 1998 08:41:23 -0700 Message-ID: <199804081516.LAA23876.cygnus.cygwin32.developers@subrogation.cygnus.com> References: <199804081042 DOT DAA28956 AT rtl DOT cygnus DOT com> To: noer AT cygnus DOT com Cc: cygwin32-developers AT cygnus DOT com, noer AT cygnus DOT com From: Geoffrey Noer Date: Wed, 8 Apr 1998 03:42:23 -0700 (PDT) 1) Anyone know how to fix the following message followed by many more of the same? /home/noer/src/devo/comp-tools/devo/winsup/console.cc:1220: warning: aggregate has a partly bracketed initializer I understand what the warning means in this context -- we aren't explicit enough about how the chars are assigned to the char[4] element of the struct. But I'm not sure how to fix it other than by stopping statically initializing the struct. Write the lines as VK_LEFT, { "\033[D", NULL, NULL, NULL }, To quote the gcc manual, this is what the warning means: * An aggregate has a partly bracketed initializer. For example, the following code would evoke such a warning, because braces are missing around the initializer for `x.h': struct s { int f, g; }; struct t { struct s h; int i; }; struct t x = { 1, 2, 3 }; 2) In tty.cc, gcc claims that class tty * ttyp is an unused variable in fhandler_tty_slave::close(). What needs to change here, if anything? The line in question is: tty *ttyp = s->t.gettty (ttynum); Since gettty, an inline function in tty.h, has no side effects, you should simply remove this line entirely. All it does is set the variable ttyp which is then never used. 3) In exceptions.cc, /home/noer/src/devo/comp-tools/devo/winsup/exceptions.cc: At top level: /home/noer/src/devo/comp-tools/devo/winsup/exceptions.cc:370: warning: `unsigned int rethere' defined but not used Is this really the case? Or is _rethere that's mentioned in the asm section refering to the global rethere? It's the global variable. However, this is a slightly bogus way to do things. Instead, you should use the gcc extended asm feature to pass rethere in as an argument; see the gcc manual. Before making any such change, you should run gcc -S to get the generated assembler, and confirm that it does not change when you make your change. Ian