================
Comment at: lib/Parse/ParseDecl.cpp:5198
@@ -5202,1 +5197,3 @@
+                   isDeclarationSpecifier() || // 'int(int)' is a function.
+                   isCXX11AttributeSpecifier());
 
----------------
majnemer wrote:
> I think you are missing `// 'int([[]]int)' is a function.` on this line.
Thanks, I did miss that comment.  `clang-tidy` isn't preserving the comments on 
this check (I might enhance this new check further to do that), so I was 
backfilling the comments in by hand and I missed one.

When I looked at this diff, I was thinking that this large, complicated boolean 
expression might be more understandable if it were broken down with some 
intention-revealing local variables; something like:

```
} else {
  const bool FunctionReturnsInt = Tok.is(tok::r_paren);
  const bool VariadicFunctionReturnsInt = getLangOpts().CPlusPlus && 
Tok.is(tok::ellipsis) && NextToken().is(tok::r_paren);
  isGrouping = !(FunctionReturnsInt || VariadicFunctionReturnsInt || 
isDeclarationSpecifier() || isCXX11AttributeSpecifier());
}
```

The original author of this code seems to understand the complexity here, hence 
the sprinkling of comments to explain the logic.  My own style is to prefer 
intention revealing names instead of comments, but my preferences are not the 
issue here.  I recognized that the comments were important here, so I tried to 
preserve them in my diff.  I'm not sure how the full-line comments should be 
reworded to express the same intent, so I left them as is.  I'm happy to adjust 
them if someone can suggest an alternative text.

http://reviews.llvm.org/D8530

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to