Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Date: Tue, 30 Nov 1999 12:01:09 -0500 (EST) From: Cygnus - Admin To: cygwin AT sourceware DOT cygnus DOT com Subject: Re: ANSI compliance problem In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII I think I (with help) have found the problem.. In ctype.h: #ifdef __GNUC__ # define toupper(c) \ ({ int __x = (c); islower(__x) ? (__x - 'a' + 'A') : __x;}) this shouldn't be done with the {}s. I dont know how it should be fixed, just that it shouldn't be done. :) -Cygnus .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. Anthony J. Biacco Network Administrator/Engineer cygnus AT ncohafmuta DOT com Intergrafix Internet Services "Dream as if you'll live forever, live as if you'll die today" http://cygnus.ncohafmuta.com http://www.intergrafix.net .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. On Tue, 30 Nov 1999, Cygnus - Admin wrote: > > In my quest to make my 1 C program ANSI compliant..i have a question..and > since it seems like it's common to cygwin only so far, I feel it's > relevant for here. > Say I have a char defined as "char mess[10];" > and I want to toupper mess[0] of it > > I do mess[0]=toupper((int)mess[0]); > and include ctype.h > > On linux, dec unix this works fine. No warning or anything. > On cygwinb20 (win95&win98) I get: > > server.c:2680: warning: ANSI C forbids braced-groups within expressions > > I've also tried *mess=toupper((int)*mess); > Putting () around *mess doesn't work either..The () inside the toupper() > is what the problem is, I think. > But I don't know how to pass it as int WITHOUT putting (int), short of > doing something like: > int upit; > upit=mess[0]; > mess[0]=toupper(upit); > > I don't really want to have to create a new int variable just for this. > The program works fine, I just want the warning gone and it to see it as > ANSI compliant. > > I'm compiling with.. > gcc -Wall -Wpointer-arith -Wcast-qual -Wcast-align -Waggregate-return > -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations > -Wnested-externs -Winline -Wshadow -pedantic -o objs/server.o -c server.c > > Please don't tell me to just not use all the -W options :-) > > Thanx, > > -Cygnus > .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. > Anthony J. Biacco Network Administrator/Engineer > cygnus AT ncohafmuta DOT com Intergrafix Internet Services > > "Dream as if you'll live forever, live as if you'll die today" > http://cygnus.ncohafmuta.com http://www.intergrafix.net > .-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-. > > > -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com