Index: clang-tools-extra/trunk/clang-doc/Representation.h =================================================================== --- clang-tools-extra/trunk/clang-doc/Representation.h +++ clang-tools-extra/trunk/clang-doc/Representation.h @@ -75,15 +75,16 @@ Other.ParamName, Other.CloseName, Other.SelfClosing, Other.Explicit, Other.AttrKeys, Other.AttrValues, Other.Args); - if (FirstCI < SecondCI || - (FirstCI == SecondCI && Children.size() < Other.Children.size())) + if (FirstCI < SecondCI) return true; - if (FirstCI > SecondCI || Children.size() > Other.Children.size()) - return false; + if (FirstCI == SecondCI) { + return std::lexicographical_compare( + Children.begin(), Children.end(), Other.Children.begin(), + Other.Children.end(), llvm::deref()); + } - return std::equal(Children.begin(), Children.end(), Other.Children.begin(), - llvm::deref{}); + return false; } SmallString<16>