GNU bug report logs -
#8438
24.0.50; C++ macro make indentation fail
Previous Next
Reported by: Andrea Crotti <andrea.crotti.0 <at> gmail.com>
Date: Thu, 7 Apr 2011 11:28:02 UTC
Severity: normal
Found in version 24.0.50
Fixed in version 24.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 8438 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 4/7/11 3:45 AM, Andrea Crotti wrote:
> I send from my fully customized emacs but I also tested it with "emacs -Q".
> A simple macro in C++ mode makes the indentation fail, this is what it
> should be:
>
> --8<---------------cut here---------------start------------->8---
> #define OUT (std::cout << "DEBUG: (" << hwaddress << "):\t")
>
> PadNode::PadNode(const PadNodeID& _hwaddress, landmark_idx_t _land_idx, bool _is_mobile)
> : Node(),
The problem actually has nothing to do with the macro:
c-forward-decl-or-cast-1 is choking on the const because it's mistaking
it for something that might be part of a member function pointer.
Because c-forward-decl-or-cast-1 fails inside
c-just-after-func-arglist-p, c-guess-basic-offset tries the next best
thing, which happens to be a template argument continuation.
The attached patch resolves the issue.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
iEYEARECAAYFAk2la/kACgkQ17c2LVA10VtGawCeLYuZ7f1QKHsFgkrYzgWCNevZ
nwQAoNStOC5JvnSs1G5sU92UrogmFAQW
=mxeQ
-----END PGP SIGNATURE-----
[typo.patch (text/plain, attachment)]
This bug report was last modified 13 years and 290 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.