#32921: Code and script changes to run clang-format without breaking checkSpaces or coccinelle ----------------------------+------------------------------------ Reporter: nickm | Owner: nickm Type: enhancement | Status: needs_review Priority: Medium | Milestone: Tor: 0.4.3.x-final Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: style, 043-can | Actual Points: 1.5 Parent ID: #29226 | Points: Reviewer: catalyst | Sponsor: ----------------------------+------------------------------------
Comment (by catalyst): Doing a little digging through documentation, it seems like `StatementMacros` is new in clang-format-8.0, and `SpaceAfterLogicalNot` is new in clang-format-9.0. The latest branch removes `SpaceAfterLogicalNot`, which helps with the latter. (If we want to go as far back as clang-format-3.8 for Debian stretch, we might have to do a lot more digging.) Once I comment out those directives, clang-format-6.0 on Ubuntu Xenial seems to accept the .clang-format file. (We'll have to parameterize the clang-format executable name in the helper script if we want this to run easily on Xenial, though, because 3.8 is the default there.) We can remove `StatementMacros` by changing the ht.h macros to use the "redeclare incomplete struct" trick for eating semicolons, and adjusting uses of those macros. (The examples in the comments in ht.h use semicolons after those macros anyway, even though it might cause compiler errors/warnings.) We might want to do that as a child ticket of this ticket. (Note that we seem to have two readily findable instances of this technique with different struct tags: `struct dummy_semicolon_eater__` in src/lib/cc/compat_compiler.h and `struct tor_semicolon_eater` in src/lib/conf/conftesting.h. We might want to consolidate them. I prefer the `tor_` prefix for future library-friendliness.) -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/32921#comment:16> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs