inclyc added inline comments.
================ Comment at: clang/lib/AST/FormatString.cpp:367 + case BuiltinType::Char_U: + case BuiltinType::Bool: + return Match; ---------------- aaron.ballman wrote: > inclyc wrote: > > aaron.ballman wrote: > > > Isn't this a match promotion as well? e.g. `printf("%hhd", (_Bool)0);` > > > where the `_Bool` is promoted to `int` but then cast back down to a char > > > type (which seems rather unlikely to be a type confusion issue). > > Hmm? `_Bool` just matches `AnyCharTy` perfectly. `MatchPromotion` means the > > types having **different** length and they can be considered as "partially > > matched" because of promotions). > > > > Isn't `_Bool` and `AnyChar` here just have the same length? > > Hmm? _Bool just matches AnyCharTy perfectly. MatchPromotion means the types > > having different length and they can be considered as "partially matched" > > because of promotions). > > > > Isn't _Bool and AnyChar here just have the same length? > > `_Bool` is not a character type, so it doesn't match `AnyCharTy` perfectly. > The size can be the same but they're still different types. I've add `case BuiltinType::Bool:` back to preserve https://reviews.llvm.org/D66856 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132568/new/ https://reviews.llvm.org/D132568 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits