[PATCH] D50177: clang-format: fix a crash in comment wraps.

Martin Probst via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 2 04:19:57 PDT 2018

mprobst created this revision.
mprobst added a reviewer: krasimir.

Previously, clang-format would crash if it tried to wrap an overlong
single line comment, because two parts of the code inserted a break in
the same location.

  /** heregoesalongcommentwithnospace */

This wasn't previously noticed as it could only trigger for an overlong
single line comment that did have no breaking opportunities except for a
whitespace at the very beginning.

This also introduces a check for JavaScript to not ever wrap a comment
before an opening curly brace:

  /** @mods {donotbreakbeforethecurly} */

This is because some machinery parsing these tags sometimes supports
breaks before a possible `{`, but in some other cases does not.
Previously clang-format was careful never to wrap a line with certain
tags on it. The better solution is to specifically disable wrapping
before the problematic token: this allows wrapping and aligning comments
but still avoids the problem.

  rC Clang



-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50177.158724.patch
Type: text/x-patch
Size: 7748 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180802/06c42e39/attachment.bin>

More information about the cfe-commits mailing list