sammccall added inline comments.
================ Comment at: clang/lib/Format/TokenAnnotator.cpp:955 CurrentToken->Previous->isOneOf(TT_BinaryOperator, TT_UnaryOperator, - tok::comma)) + tok::comma, tok::star, tok::arrow)) CurrentToken->Previous->Type = TT_OverloadedOperator; ---------------- I'm confused about this: ISTM that where we were previously always treating star as a pointer, now we're always treating it as an operator name. Whereas it's sometimes an operator name (immediately after the `operator` keyword) and sometimes a pointer (following a type name). Maybe we should shift the OverloadedOperator labelling outside the loop (since AFAICT it should only apply to the first token) and then keep the loop to mark stars/amps elsewhere in the operator name as PointerOrReference? ================ Comment at: clang/lib/Format/TokenAnnotator.cpp:2626 + Left.Previous && Left.Previous->is(tok::kw_operator)) + // No space between the type and the * + // operator void*(), operator char*(), operator Foo*(). ---------------- why? ================ Comment at: clang/unittests/Format/FormatTest.cpp:6989 verifyFormat("operator int();"); - verifyFormat("operator void *();"); + verifyFormat("operator void*();"); verifyFormat("operator SomeType<int>();"); ---------------- this looks like a regression at first glance, in LLVM style there's a space between type and * CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69573/new/ https://reviews.llvm.org/D69573 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits