From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8768 invoked from network); 3 Mar 2000 09:22:08 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 3 Mar 2000 09:22:08 -0000 Received: (qmail 7289 invoked by alias); 3 Mar 2000 09:22:01 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9972 Received: (qmail 7275 invoked from network); 3 Mar 2000 09:22:01 -0000 X-Envelope-Sender-Is: Andrej.Borsenkow@mow.siemens.ru (at relayer david.siemens.de) From: "Andrej Borsenkow" To: "ZSH workers mailing list" Subject: Please, do NOT use GCC as development compiler (or, at least, turn on some conformance checking). Date: Fri, 3 Mar 2000 12:21:58 +0300 Message-ID: <000201bf84f1$ed1c8fc0$21c9ca95@mow.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 parse.c 2426: [error]: CFE1137 expression must be a modifiable lvalue fdflags(pre) = (map ? FDF_MAP : 0) | other; ^ parse.c 2427: [error]: CFE1137 expression must be a modifiable lvalue fdsetother(pre, tlen); ^ parse.c 2427: [error]: CFE1137 expression must be a modifiable lvalue fdsetother(pre, tlen); ^ parse.c 2427: [error]: CFE1137 expression must be a modifiable lvalue fdsetother(pre, tlen); That all originates from fdbyte() macro, that looks like: #define fdbyte(f, i) ((wordcode) (((unsigned char *) (((Wordcode) (f)) + 1))[i])) You take a _char_ value and cast it to wordcode == int. This_is_not_lvalue and can not be assigned to (most probable implementation is temporary storage in stack or register). I have no idea, what GCC does with it. So, the simplest way is to provide two sets of macros - GET and SET. And, BTW, why are they in lower case? I'd prefer such macros in upper case - as is customary in C ... cheers /andrej