On Tue, Feb 19, 2013 at 1:28 AM, Daniel Jasper <[email protected]> wrote:
> Author: djasper > Date: Tue Feb 19 03:28:55 2013 > New Revision: 175500 > > URL: http://llvm.org/viewvc/llvm-project?rev=175500&view=rev > Log: > Fix bug in LineState comparison function. > > The key bug was > > if (Other.StartOfLineLevel < StartOfLineLevel) .. > > instead of > > if (Other.StartOfLineLevel != StartOfLineLevel) .. > > Also cleaned up the function to be more consistent in the comparisons. > > Modified: > cfe/trunk/lib/Format/Format.cpp > > Modified: cfe/trunk/lib/Format/Format.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=175500&r1=175499&r2=175500&view=diff > > ============================================================================== > --- cfe/trunk/lib/Format/Format.cpp (original) > +++ cfe/trunk/lib/Format/Format.cpp Tue Feb 19 03:28:55 2013 > @@ -394,20 +394,20 @@ private: > > /// \brief Comparison operator to be able to used \c LineState in \c > map. > bool operator<(const LineState &Other) const { > I would've thought this whole thing would've been less error prone to write as: return a < x.a && b < x.b && ... is that not the case? > - if (Other.NextToken != NextToken) > - return Other.NextToken > NextToken; > - if (Other.Column != Column) > - return Other.Column > Column; > - if (Other.VariablePos != VariablePos) > - return Other.VariablePos < VariablePos; > - if (Other.LineContainsContinuedForLoopSection != > - LineContainsContinuedForLoopSection) > + if (NextToken != Other.NextToken) > + return NextToken < Other.NextToken; > + if (Column != Other.Column) > + return Column < Other.Column; > + if (VariablePos != Other.VariablePos) > + return VariablePos < Other.VariablePos; > + if (LineContainsContinuedForLoopSection != > + Other.LineContainsContinuedForLoopSection) > return LineContainsContinuedForLoopSection; > - if (Other.ParenLevel != ParenLevel) > - return Other.ParenLevel < ParenLevel; > - if (Other.StartOfLineLevel < StartOfLineLevel) > - return Other.StartOfLineLevel < StartOfLineLevel; > - return Other.Stack < Stack; > + if (ParenLevel != Other.ParenLevel) > + return ParenLevel < Other.ParenLevel; > + if (StartOfLineLevel != Other.StartOfLineLevel) > + return StartOfLineLevel < Other.StartOfLineLevel; > + return Stack < Other.Stack; > } > }; > > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
