rtrieu added inline comments.
================ Comment at: clang/lib/AST/ODRHash.cpp:73 AddBoolean(S.isUnarySelector()); unsigned NumArgs = S.getNumArgs(); for (unsigned i = 0; i < NumArgs; ++i) { ---------------- vsapsai wrote: > rtrieu wrote: > > There's actually a second bug here as well. When processing an arbitrary > > number of elements, the number of elements needs to placed before the list. > > This line should be added before the for-loop: > > > > ``` > > ID.AddInteger(NumArgs); > > > > ``` > > This change isn't directly related to your original patch, so feel free to > > skip it. > Thanks for the review, Richard. What would be the way to test the suggested > changes? I was mostly thinking about making sure we treat as different > * `-foo:` and `-foo::` > * `-foo:bar::` and `-foo::bar:` > > Does it sound reasonable? Maybe you have some test examples for C++ that I > can adopt for Objective-C. Yes, checking things close to each other sounds reasonable. I did pretty much the same thing testing in C++, find things (usually types) that are close to others and making sure the ODRHash can tell them apart. The ObjC testing is a little sparse since I was focusing on the C++ part. Thanks for helping fill it out. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63789/new/ https://reviews.llvm.org/D63789 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits