This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: SSA for hard registers
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: PATCH: SSA for hard registers
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 31 Jul 2000 23:29:11 -0300
- Cc: Mark Mitchell <mark at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Jeffrey David Oldham <oldham at codesourcery dot com>
- Organization: GCC Team, Red Hat
- References: <20000731103546X.mitchell@codesourcery.com><20000731175642.A7481@cygnus.com>
On Jul 31, 2000, Richard Henderson <rth@cygnus.com> wrote:
> On Mon, Jul 31, 2000 at 10:35:46AM -0700, Mark Mitchell wrote:
>> + /* We cannot use <assert.h> in GCC source, since that would include
>> + GCC's assert.h, which may not be compatible with the host compiler. */
>> + #undef assert
>> + #ifdef NDEBUG
>> + # define assert(e)
>> + #else
>> + # define assert(e) do { if (! (e)) abort (); } while (0)
>> + #endif
> The entire rest of the source base uses `if (!e) abort()';
> I don't see that we should make an exception here.
Think of:
if (something)
assert (a == b);
else
do_something_else;
Having if/abort enclosed in a do/while(0) and `e' enclosed in
parentheses is the only way to make it behave as expected.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me