This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GCC's statement expression extension


Per Bothner wrote:
> One use I've found for statement-expressions...

Another use I've found is when you want a local label in a big macro.
This is because the __label__ extension works only in statement
expressions.  So I've seen:

  #define foo(a1,a2) \
    do ({ __label__ l1, l2, l3; /* code... */; }) while(0)

Why doesn't __label__ work inside an ordinary statement block?

-- Jamie

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]