From: "John M. Aldrich" Newsgroups: comp.os.msdos.djgpp Subject: Re: Borland library macro equivalent? Date: Wed, 23 Oct 1996 20:22:47 -0700 Organization: Three pounds of chaos and a pinch of salt Lines: 26 Message-ID: <326EE107.1659@cs.com> References: Reply-To: fighteer AT cs DOT com NNTP-Posting-Host: ppp110.cs.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Eli Zaretskii To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Eli Zaretskii wrote: > > Ha! That's GCC we are using, remember? We don't need to suffer from no > steenking double-evaluating compilers anymore: > > #define max(a,b) ({ typeof(a) _tmp_a = (a); \ > typeof(b) _tmp_b = (b); \ > (_tmp_a > _tmp_b) ? _tmp_a : _tmp_b; }) Is that C or C++ you're talking about? I thought only C++ let you declare variables anywhere other than at the beginning of a block. Or is this a special extension to the macro facility? Hmm, I guess I'd better go look through the docs some more. ;) -- John M. Aldrich * Anything that happens, happens. * Anything that, in happening, causes something else to happen, causes something else to happen. * Anything that, in happening, causes itself to happen again, happens again. * It doesn't necessarily do it in chronological order, though. --- Douglas Adams