Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Sep 1996 12:32:15 -0700 (MST)
From:      Terry Lambert <terry@lambert.org>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        brandon@glacier.cold.org, freebsd-hackers@FreeBSD.org
Subject:   Re: machine/endian.h: network byte order macros
Message-ID:  <199609191932.MAA01293@phaeton.artisoft.com>
In-Reply-To: <199609190256.MAA23999@godzilla.zeta.org.au> from "Bruce Evans" at Sep 19, 96 12:56:47 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> >Although trivial, the problem can be fixed by just removing '(' ')' from 
> >the outside of the macro, leaving '{' '}' there.  This likely causes a 
> 
> No, this just breaks the statement-expression.  `foo = { bar; } is a
> syntax error even in gcc.  Adding __extension__ before the statement-
> expression seems to work right.

I am being constantly surprised lately, it seems.

I was under the impression that any statement could be used as an
rvalue.

Where you may be screwed is type conversion of the brace-enclosed
statement, so it should be considered bad practice in any case (IMO).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609191932.MAA01293>