Author: Vlad Serebrennikov Date: 2023-11-06T10:58:27+03:00 New Revision: a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09
URL: https://github.com/llvm/llvm-project/commit/a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09 DIFF: https://github.com/llvm/llvm-project/commit/a07dbf1fb0f4ba36911233c82914a9ddf3eb4a09.diff LOG: [clang][NFC] Annotate `PrettyPrinter.h` with `preferred_type` Added: Modified: clang/include/clang/AST/PrettyPrinter.h Removed: ################################################################################ diff --git a/clang/include/clang/AST/PrettyPrinter.h b/clang/include/clang/AST/PrettyPrinter.h index cee3cce7729c30f..da276e26049b00a 100644 --- a/clang/include/clang/AST/PrettyPrinter.h +++ b/clang/include/clang/AST/PrettyPrinter.h @@ -106,6 +106,7 @@ struct PrintingPolicy { /// declaration for "x", so that we will print "int *x"; it will be /// \c true when we print "y", so that we suppress printing the /// "const int" type specifier and instead only print the "*y". + LLVM_PREFERRED_TYPE(bool) unsigned SuppressSpecifiers : 1; /// Whether type printing should skip printing the tag keyword. @@ -116,6 +117,7 @@ struct PrintingPolicy { /// \code /// struct Geometry::Point; /// \endcode + LLVM_PREFERRED_TYPE(bool) unsigned SuppressTagKeyword : 1; /// When true, include the body of a tag definition. @@ -126,22 +128,27 @@ struct PrintingPolicy { /// \code /// typedef struct { int x, y; } Point; /// \endcode + LLVM_PREFERRED_TYPE(bool) unsigned IncludeTagDefinition : 1; /// Suppresses printing of scope specifiers. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressScope : 1; /// Suppress printing parts of scope specifiers that are never /// written, e.g., for anonymous namespaces. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressUnwrittenScope : 1; /// Suppress printing parts of scope specifiers that correspond /// to inline namespaces, where the name is unambiguous with the specifier /// removed. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressInlineNamespace : 1; /// Ignore qualifiers and tag keywords as specified by elaborated type sugar, /// instead letting the underlying type print as normal. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressElaboration : 1; /// Suppress printing of variable initializers. @@ -155,6 +162,7 @@ struct PrintingPolicy { /// /// SuppressInitializers will be true when printing "auto x", so that the /// internal initializer constructed for x will not be printed. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressInitializers : 1; /// Whether we should print the sizes of constant array expressions as written @@ -173,53 +181,67 @@ struct PrintingPolicy { /// int a[104]; /// char a[9] = "A string"; /// \endcode + LLVM_PREFERRED_TYPE(bool) unsigned ConstantArraySizeAsWritten : 1; /// When printing an anonymous tag name, also print the location of that /// entity (e.g., "enum <anonymous at t.h:10:5>"). Otherwise, just prints /// "(anonymous)" for the name. + LLVM_PREFERRED_TYPE(bool) unsigned AnonymousTagLocations : 1; /// When true, suppress printing of the __strong lifetime qualifier in ARC. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressStrongLifetime : 1; /// When true, suppress printing of lifetime qualifier in ARC. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressLifetimeQualifiers : 1; /// When true, suppresses printing template arguments in names of C++ /// constructors. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressTemplateArgsInCXXConstructors : 1; /// When true, attempt to suppress template arguments that match the default /// argument for the parameter. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressDefaultTemplateArgs : 1; /// Whether we can use 'bool' rather than '_Bool' (even if the language /// doesn't actually have 'bool', because, e.g., it is defined as a macro). + LLVM_PREFERRED_TYPE(bool) unsigned Bool : 1; /// Whether we should use 'nullptr' rather than '0' as a null pointer /// constant. + LLVM_PREFERRED_TYPE(bool) unsigned Nullptr : 1; /// Whether 'nullptr_t' is in namespace 'std' or not. + LLVM_PREFERRED_TYPE(bool) unsigned NullptrTypeInNamespace : 1; /// Whether we can use 'restrict' rather than '__restrict'. + LLVM_PREFERRED_TYPE(bool) unsigned Restrict : 1; /// Whether we can use 'alignof' rather than '__alignof'. + LLVM_PREFERRED_TYPE(bool) unsigned Alignof : 1; /// Whether we can use '_Alignof' rather than '__alignof'. + LLVM_PREFERRED_TYPE(bool) unsigned UnderscoreAlignof : 1; /// Whether we should use '(void)' rather than '()' for a function prototype /// with zero parameters. + LLVM_PREFERRED_TYPE(bool) unsigned UseVoidForZeroParams : 1; /// Whether nested templates must be closed like 'a\<b\<c\> \>' rather than /// 'a\<b\<c\>\>'. + LLVM_PREFERRED_TYPE(bool) unsigned SplitTemplateClosers : 1; /// Provide a 'terse' output. @@ -227,27 +249,33 @@ struct PrintingPolicy { /// For example, in this mode we don't print function bodies, class members, /// declarations inside namespaces etc. Effectively, this should print /// only the requested declaration. + LLVM_PREFERRED_TYPE(bool) unsigned TerseOutput : 1; /// When true, do certain refinement needed for producing proper declaration /// tag; such as, do not print attributes attached to the declaration. /// + LLVM_PREFERRED_TYPE(bool) unsigned PolishForDeclaration : 1; /// When true, print the half-precision floating-point type as 'half' /// instead of '__fp16' + LLVM_PREFERRED_TYPE(bool) unsigned Half : 1; /// When true, print the built-in wchar_t type as __wchar_t. For use in /// Microsoft mode when wchar_t is not available. + LLVM_PREFERRED_TYPE(bool) unsigned MSWChar : 1; /// When true, include newlines after statements like "break", etc. + LLVM_PREFERRED_TYPE(bool) unsigned IncludeNewlines : 1; /// Use whitespace and punctuation like MSVC does. In particular, this prints /// anonymous namespaces as `anonymous namespace' and does not insert spaces /// after template arguments. + LLVM_PREFERRED_TYPE(bool) unsigned MSVCFormatting : 1; /// Whether we should print the constant expressions as written in the @@ -266,42 +294,52 @@ struct PrintingPolicy { /// 0x10 /// 2.5e3 /// \endcode + LLVM_PREFERRED_TYPE(bool) unsigned ConstantsAsWritten : 1; /// When true, don't print the implicit 'self' or 'this' expressions. + LLVM_PREFERRED_TYPE(bool) unsigned SuppressImplicitBase : 1; /// When true, print the fully qualified name of function declarations. /// This is the opposite of SuppressScope and thus overrules it. + LLVM_PREFERRED_TYPE(bool) unsigned FullyQualifiedName : 1; /// Whether to print types as written or canonically. + LLVM_PREFERRED_TYPE(bool) unsigned PrintCanonicalTypes : 1; /// Whether to print an InjectedClassNameType with template arguments or as /// written. When a template argument is unnamed, printing it results in /// invalid C++ code. + LLVM_PREFERRED_TYPE(bool) unsigned PrintInjectedClassNameWithArguments : 1; /// Whether to use C++ template preferred_name attributes when printing /// templates. + LLVM_PREFERRED_TYPE(bool) unsigned UsePreferredNames : 1; /// Whether to use type suffixes (eg: 1U) on integral non-type template /// parameters. + LLVM_PREFERRED_TYPE(bool) unsigned AlwaysIncludeTypeForTemplateArgument : 1; /// Whether to strip underscores when printing reserved parameter names. /// e.g. std::vector<class _Tp> becomes std::vector<class Tp>. /// This only affects parameter names, and so describes a compatible API. + LLVM_PREFERRED_TYPE(bool) unsigned CleanUglifiedParameters : 1; /// Whether to print the entire array initializers, especially on non-type /// template parameters, no matter how many elements there are. + LLVM_PREFERRED_TYPE(bool) unsigned EntireContentsOfLargeArray : 1; /// Whether to print enumerator non-type template parameters with a matching /// enumerator name or via cast of an integer. + LLVM_PREFERRED_TYPE(bool) unsigned UseEnumerators : 1; /// Callbacks to use to allow the behavior of printing to be customized. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits