I am not done with analysis, and I don't want to push it to repo as it is, because in many cases when programmer wrote true/false he wanted to have bool instead of int.
Some nice example:
unsigned IsFilled : 1;
/// Simplified kind of \c CommentDecl, see \c DeclKind enum. unsigned Kind : 3; /// Is \c CommentDecl a template declaration. unsigned TemplateKind : 2; /// Is \c CommentDecl an ObjCMethodDecl. unsigned IsObjCMethod : 1; /// Is \c CommentDecl a non-static member function of C++ class or /// instance method of ObjC class. /// Can be true only if \c IsFunctionDecl is true. unsigned IsInstanceMethod : 1; /// Is \c CommentDecl a static member function of C++ class or /// class method of ObjC class. /// Can be true only if \c IsFunctionDecl is true. unsigned IsClassMethod : 1;
I want to replace all unsigned that are 1 bits with bool.
Please keep LLVMBool in the C API. ABI change are a NO NO.