From: Dave Steffen (dgsteffen_at_[hidden])
Date: 2005-11-11 14:58:19
Oliver Kullmann writes:
> On Fri, Nov 11, 2005 at 08:59:56AM -0700, Dave Steffen wrote:
> > Boris Burger writes:
> > > Hello,
> > > the issue with extra semicolons at namespace or class scope is
> > > surely nothing new and has been discussed extensively.
> > Yes, I was one of the instigators...
> > In fact, I don't think there's a way to lower warning levels to
> > _just_ get rid of the semicolon complaints; you'd also be turning off
> > warnings you want. The only solution I found was to either
> > A) remove the semicolon, or
> > B) to use a macro definition
> > A) is easiest, but may make people's editors unhappy.
> I was following the first investigations some time ago not very
> closely, but I didn't realise (until lately) that removing the
> semicolon at namespace scope is actually required by the language
Right, that's the whole point of the discussion. This isn't GCC
being too picky or anything like that. GCC 3.4 is correct; that
semicolon _really_ isn't allowed there. Seriously. No kidding. We
mean it. :-)
> So I think there is no way out: If there is a conflict between text
> editor and language definition, then the text editor must retreat.
Well, we've had that discussion. Until some emacs lisp experts get
involved, a lot of people will have issues. :-)
What I've done - and this was the solution I posted earlier - was
come up with a (clever, ugly) hack that allows the semicolon. That
is, you put something clever at the end of the macro definition that
requires a following semicolon but doesn't do anything else. Then
you can A) put semicolons after macros where you (and your text
editor) want them, and B) adhere to the standard and keep GCC happy.
No emacs hacking needed.
Dave Steffen, Ph.D. On a paper submitted by a physicist colleague:
Software Engineer IV
Numerica Corporation "This isn't right. This isn't even wrong."
ph (970) 419-8343 x27
fax (970) 223-6797 -- Wolfgang Pauli
This message and any attachments are intended only for the individual
or entity to which the message is addressed. It is proprietary and
may contain privileged information. If you are neither the intended
recipient nor the agent responsible for delivering the message to the
intended recipient, you are hereby notified that any review,
retransmission, dissemination, or taking of any action in reliance
upon, the information in this communication is strictly prohibited,
and may be unlawful. If you feel you have received this communication
in error, please notify us immediately by returning this Email to the
sender and deleting it from your computer.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk