A few minor issues, otherwise looks good.

I'm going to fix the code and commit the patch for you.


================
Comment at: clang-tidy/readability/SimplifyBooleanExprCheck.cpp:139
@@ +138,3 @@
+StringRef asBool(StringRef text, bool NeedsStaticCast) {
+  if (NeedsStaticCast) {
+    return ("static_cast<bool>(" + text + ")").str();
----------------
LegalizeAdulthood wrote:
> alexfh wrote:
> > LegalizeAdulthood wrote:
> > > alexfh wrote:
> > > > In clang-tidy code (and in LLVM in general) it's more common to omit 
> > > > braces around single-line `if` bodies. One exception is when any branch 
> > > > of the if-else chain uses braces, we put them to all branches.
> > > > 
> > > >  Please fix here and in other places in this CL.
> > > [[ 
> > > https://www.securecoding.cert.org/confluence/display/c/EXP19-C.+Use+braces+for+the+body+of+an+if,+for,+or+while+statement
> > >  | CERT coding standards require braces ]] around all control structures, 
> > > so I've routinely adopted that habit.  Considering that existing security 
> > > vulnerabilities were traced to the omission of the braces, I don't simply 
> > > consider it a matter of style.
> > > 
> > > However, I'm not in charge of llvm code and if it is **really** that 
> > > important, I can change it.
> > > 
> > > Sometimes these code reviews are simply exhausting because of all this 
> > > little fiddling about with formatting instead of function.
> > > CERT coding standards require braces around all control structures, so 
> > > I've routinely adopted that habit. Considering that existing security 
> > > vulnerabilities were traced to the omission of the braces, I don't simply 
> > > consider it a matter of style.
> > 
> > This concern doesn't apply to the code that is routinely automatically 
> > formatted, as there's little to no chance of a line with incorrect 
> > indentation being considered a part of a branch when it's actually outside.
> > 
> > > ... if it is really that important ...
> > 
> > Consistency and readability are *really* that important. IMO, braces around 
> > single-line bodies of conditions/loops don't hurt readability as long as 
> > they are used consistently. Given that the code in this file is going to be 
> > modified mostly by you, I'm fine with putting braces around single-line 
> > if/for/while bodies as long as you commit to follow this style consistently 
> > in the files authored by you (and only there).
> > 
> > > Sometimes these code reviews are simply exhausting because of all this 
> > > little fiddling about with formatting instead of function.
> > 
> > Luckily, we have clang-format that takes care of the most of formatting. 
> > And  what's left is not "little fiddling about with formatting" in most 
> > cases, but something more important. For example, here we're talking about 
> > a style preference "existing security vulnerabilities were traced to" in 
> > your own words. Also, I think, most style rules should be easy to 
> > internalize, at which point they won't require any special attention.
> Fixed.
Thanks for fixing this, but I was talking only about *single-line* bodies. 
Luckily, the braces that shouldn't have been removed can easily be added back 
by clang-tidy itself:

  clang-tidy -fix -checks=readability-braces-around-statements \
    -config="{CheckOptions: [{key: 
'readability-braces-around-statements.ShortStatementLines', value: 2}]}" \
    clang-tidy/readability/SimplifyBooleanExprCheck.cpp

================
Comment at: clang-tidy/readability/SimplifyBooleanExprCheck.cpp:52
@@ -50,1 +51,3 @@
 const char IfAssignObjId[] = "if-assign-obj";
+const char CompoundId[] = "compound";
+const char CompoundIfReturnsBoolId[] = "compound-if";
----------------
This variable and the one below are not used.

================
Comment at: test/clang-tidy/readability-simplify-bool-expr.cpp:604
@@ +603,3 @@
+
+// unchanged: chained return statements, but ChainedConditionalReturn not set
+bool chained_simple_if_return_negated(int i) {
----------------
nit: capitalization, trailing period

http://reviews.llvm.org/D9810

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



_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to