diff options
author | Adrian Prantl <aprantl@apple.com> | 2018-05-09 01:00:01 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2018-05-09 01:00:01 +0000 |
commit | 647be32c6048e24f90f470c557e850597e5526c3 (patch) | |
tree | 2be5c01566ec82e55fd30ceedef970efd887b4a5 /include/clang/Basic | |
parent | c8ad1ab42f269f29bcf6385446e5b728aff7e4ad (diff) |
Remove \brief commands from doxygen comments.
This is similar to the LLVM change https://reviews.llvm.org/D46290.
We've been running doxygen with the autobrief option for a couple of
years now. This makes the \brief markers into our comments
redundant. Since they are a visual distraction and we don't want to
encourage more \brief markers in new code either, this patch removes
them all.
Patch produced by
for i in $(git grep -l '\@brief'); do perl -pi -e 's/\@brief //g' $i & done
for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done
Differential Revision: https://reviews.llvm.org/D46320
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@331834 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic')
54 files changed, 1011 insertions, 1011 deletions
diff --git a/include/clang/Basic/ABI.h b/include/clang/Basic/ABI.h index 75e9faf461..bd919ce24f 100644 --- a/include/clang/Basic/ABI.h +++ b/include/clang/Basic/ABI.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Enums/classes describing ABI related information about constructors, +/// Enums/classes describing ABI related information about constructors, /// destructors and thunks. /// //===----------------------------------------------------------------------===// @@ -21,7 +21,7 @@ namespace clang { -/// \brief C++ constructor types. +/// C++ constructor types. enum CXXCtorType { Ctor_Complete, ///< Complete object ctor Ctor_Base, ///< Base object ctor @@ -30,7 +30,7 @@ enum CXXCtorType { Ctor_DefaultClosure, ///< Default closure variant of a ctor }; -/// \brief C++ destructor types. +/// C++ destructor types. enum CXXDtorType { Dtor_Deleting, ///< Deleting dtor Dtor_Complete, ///< Complete object dtor @@ -38,29 +38,29 @@ enum CXXDtorType { Dtor_Comdat ///< The COMDAT used for dtors }; -/// \brief A return adjustment. +/// A return adjustment. struct ReturnAdjustment { - /// \brief The non-virtual adjustment from the derived object to its + /// The non-virtual adjustment from the derived object to its /// nearest virtual base. int64_t NonVirtual; - /// \brief Holds the ABI-specific information about the virtual return + /// Holds the ABI-specific information about the virtual return /// adjustment, if needed. union VirtualAdjustment { // Itanium ABI struct { - /// \brief The offset (in bytes), relative to the address point + /// The offset (in bytes), relative to the address point /// of the virtual base class offset. int64_t VBaseOffsetOffset; } Itanium; // Microsoft ABI struct { - /// \brief The offset (in bytes) of the vbptr, relative to the beginning + /// The offset (in bytes) of the vbptr, relative to the beginning /// of the derived class. uint32_t VBPtrOffset; - /// \brief Index of the virtual base in the vbtable. + /// Index of the virtual base in the vbtable. uint32_t VBIndex; } Microsoft; @@ -104,31 +104,31 @@ struct ReturnAdjustment { } }; -/// \brief A \c this pointer adjustment. +/// A \c this pointer adjustment. struct ThisAdjustment { - /// \brief The non-virtual adjustment from the derived object to its + /// The non-virtual adjustment from the derived object to its /// nearest virtual base. int64_t NonVirtual; - /// \brief Holds the ABI-specific information about the virtual this + /// Holds the ABI-specific information about the virtual this /// adjustment, if needed. union VirtualAdjustment { // Itanium ABI struct { - /// \brief The offset (in bytes), relative to the address point, + /// The offset (in bytes), relative to the address point, /// of the virtual call offset. int64_t VCallOffsetOffset; } Itanium; struct { - /// \brief The offset of the vtordisp (in bytes), relative to the ECX. + /// The offset of the vtordisp (in bytes), relative to the ECX. int32_t VtordispOffset; - /// \brief The offset of the vbptr of the derived class (in bytes), + /// The offset of the vbptr of the derived class (in bytes), /// relative to the ECX after vtordisp adjustment. int32_t VBPtrOffset; - /// \brief The offset (in bytes) of the vbase offset in the vbtable. + /// The offset (in bytes) of the vbase offset in the vbtable. int32_t VBOffsetOffset; } Microsoft; @@ -174,16 +174,16 @@ struct ThisAdjustment { class CXXMethodDecl; -/// \brief The \c this pointer adjustment as well as an optional return +/// The \c this pointer adjustment as well as an optional return /// adjustment for a thunk. struct ThunkInfo { - /// \brief The \c this pointer adjustment. + /// The \c this pointer adjustment. ThisAdjustment This; - /// \brief The return adjustment. + /// The return adjustment. ReturnAdjustment Return; - /// \brief Holds a pointer to the overridden method this thunk is for, + /// Holds a pointer to the overridden method this thunk is for, /// if needed by the ABI to distinguish different thunks with equal /// adjustments. Otherwise, null. /// CAUTION: In the unlikely event you need to sort ThunkInfos, consider using diff --git a/include/clang/Basic/AddressSpaces.h b/include/clang/Basic/AddressSpaces.h index 286b0330f4..217fbd763f 100644 --- a/include/clang/Basic/AddressSpaces.h +++ b/include/clang/Basic/AddressSpaces.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Provides definitions for the various language-specific address +/// Provides definitions for the various language-specific address /// spaces. // //===----------------------------------------------------------------------===// @@ -20,7 +20,7 @@ namespace clang { -/// \brief Defines the address space values used by the address space qualifier +/// Defines the address space values used by the address space qualifier /// of QualType. /// enum class LangAS : unsigned { diff --git a/include/clang/Basic/AlignedAllocation.h b/include/clang/Basic/AlignedAllocation.h index b3496949f3..853f8dad25 100644 --- a/include/clang/Basic/AlignedAllocation.h +++ b/include/clang/Basic/AlignedAllocation.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines a function that returns the minimum OS versions supporting +/// Defines a function that returns the minimum OS versions supporting /// C++17's aligned allocation functions. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/AllDiagnostics.h b/include/clang/Basic/AllDiagnostics.h index 1c83e2d0f8..20c29d459d 100644 --- a/include/clang/Basic/AllDiagnostics.h +++ b/include/clang/Basic/AllDiagnostics.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Includes all the separate Diagnostic headers & some related helpers. +/// Includes all the separate Diagnostic headers & some related helpers. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/AttrKinds.h b/include/clang/Basic/AttrKinds.h index 8f7394f59d..d82dbb032b 100644 --- a/include/clang/Basic/AttrKinds.h +++ b/include/clang/Basic/AttrKinds.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::attr::Kind enum. +/// Defines the clang::attr::Kind enum. /// //===----------------------------------------------------------------------===// @@ -19,7 +19,7 @@ namespace clang { namespace attr { -// \brief A list of all the recognized kinds of attributes. +// A list of all the recognized kinds of attributes. enum Kind { #define ATTR(X) X, #define ATTR_RANGE(CLASS, FIRST_NAME, LAST_NAME) \ diff --git a/include/clang/Basic/AttrSubjectMatchRules.h b/include/clang/Basic/AttrSubjectMatchRules.h index 4c88adf57f..81aa634dfe 100644 --- a/include/clang/Basic/AttrSubjectMatchRules.h +++ b/include/clang/Basic/AttrSubjectMatchRules.h @@ -16,7 +16,7 @@ namespace clang { namespace attr { -/// \brief A list of all the recognized kinds of attributes. +/// A list of all the recognized kinds of attributes. enum SubjectMatchRule { #define ATTR_MATCH_RULE(X, Spelling, IsAbstract) X, #include "clang/Basic/AttrSubMatchRulesList.inc" diff --git a/include/clang/Basic/Attributes.h b/include/clang/Basic/Attributes.h index c651abacd4..3152453694 100644 --- a/include/clang/Basic/Attributes.h +++ b/include/clang/Basic/Attributes.h @@ -32,7 +32,7 @@ enum class AttrSyntax { Pragma }; -/// \brief Return the version number associated with the attribute if we +/// Return the version number associated with the attribute if we /// recognize and implement the attribute specified by the given information. int hasAttribute(AttrSyntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, diff --git a/include/clang/Basic/Builtins.h b/include/clang/Basic/Builtins.h index 048bfc65f9..1f82d90cf8 100644 --- a/include/clang/Basic/Builtins.h +++ b/include/clang/Basic/Builtins.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines enum values for all the target-independent builtin +/// Defines enum values for all the target-independent builtin /// functions. /// //===----------------------------------------------------------------------===// @@ -59,7 +59,7 @@ struct Info { const char *Features; }; -/// \brief Holds information about both target-independent and +/// Holds information about both target-independent and /// target-specific builtins, allowing easy queries by clients. /// /// Builtins from an optional auxiliary target are stored in @@ -72,129 +72,129 @@ class Context { public: Context() {} - /// \brief Perform target-specific initialization + /// Perform target-specific initialization /// \param AuxTarget Target info to incorporate builtins from. May be nullptr. void InitializeTarget(const TargetInfo &Target, const TargetInfo *AuxTarget); - /// \brief Mark the identifiers for all the builtins with their + /// Mark the identifiers for all the builtins with their /// appropriate builtin ID # and mark any non-portable builtin identifiers as /// such. void initializeBuiltins(IdentifierTable &Table, const LangOptions& LangOpts); - /// \brief Return the identifier name for the specified builtin, + /// Return the identifier name for the specified builtin, /// e.g. "__builtin_abs". const char *getName(unsigned ID) const { return getRecord(ID).Name; } - /// \brief Get the type descriptor string for the specified builtin. + /// Get the type descriptor string for the specified builtin. const char *getTypeString(unsigned ID) const { return getRecord(ID).Type; } - /// \brief Return true if this function is a target-specific builtin. + /// Return true if this function is a target-specific builtin. bool isTSBuiltin(unsigned ID) const { return ID >= Builtin::FirstTSBuiltin; } - /// \brief Return true if this function has no side effects. + /// Return true if this function has no side effects. bool isPure(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'U') != nullptr; } - /// \brief Return true if this function has no side effects and doesn't + /// Return true if this function has no side effects and doesn't /// read memory. bool isConst(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'c') != nullptr; } - /// \brief Return true if we know this builtin never throws an exception. + /// Return true if we know this builtin never throws an exception. bool isNoThrow(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'n') != nullptr; } - /// \brief Return true if we know this builtin never returns. + /// Return true if we know this builtin never returns. bool isNoReturn(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'r') != nullptr; } - /// \brief Return true if we know this builtin can return twice. + /// Return true if we know this builtin can return twice. bool isReturnsTwice(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'j') != nullptr; } - /// \brief Returns true if this builtin does not perform the side-effects + /// Returns true if this builtin does not perform the side-effects /// of its arguments. bool isUnevaluated(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'u') != nullptr; } - /// \brief Return true if this is a builtin for a libc/libm function, + /// Return true if this is a builtin for a libc/libm function, /// with a "__builtin_" prefix (e.g. __builtin_abs). bool isLibFunction(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'F') != nullptr; } - /// \brief Determines whether this builtin is a predefined libc/libm + /// Determines whether this builtin is a predefined libc/libm /// function, such as "malloc", where we know the signature a /// priori. bool isPredefinedLibFunction(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'f') != nullptr; } - /// \brief Returns true if this builtin requires appropriate header in other + /// Returns true if this builtin requires appropriate header in other /// compilers. In Clang it will work even without including it, but we can emit /// a warning about missing header. bool isHeaderDependentFunction(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'h') != nullptr; } - /// \brief Determines whether this builtin is a predefined compiler-rt/libgcc + /// Determines whether this builtin is a predefined compiler-rt/libgcc /// function, such as "__clear_cache", where we know the signature a /// priori. bool isPredefinedRuntimeFunction(unsigned ID) const { return strchr(getRecord(ID).Attributes, 'i') != nullptr; } - /// \brief Determines whether this builtin has custom typechecking. + /// Determines whether this builtin has custom typechecking. bool hasCustomTypechecking(unsigned ID) const { return strchr(getRecord(ID).Attributes, 't') != nullptr; } - /// \brief Determines whether this builtin has a result or any arguments which + /// Determines whether this builtin has a result or any arguments which /// are pointer types. bool hasPtrArgsOrResult(unsigned ID) const { return strchr(getRecord(ID).Type, '*') != nullptr; } - /// \brief Return true if this builtin has a result or any arguments which are + /// Return true if this builtin has a result or any arguments which are /// reference types. bool hasReferenceArgsOrResult(unsigned ID) const { return strchr(getRecord(ID).Type, '&') != nullptr || strchr(getRecord(ID).Type, 'A') != nullptr; } - /// \brief Completely forget that the given ID was ever considered a builtin, + /// Completely forget that the given ID was ever considered a builtin, /// e.g., because the user provided a conflicting signature. void forgetBuiltin(unsigned ID, IdentifierTable &Table); - /// \brief If this is a library function that comes from a specific + /// If this is a library function that comes from a specific /// header, retrieve that header name. const char *getHeaderName(unsigned ID) const { return getRecord(ID).HeaderName; } - /// \brief Determine whether this builtin is like printf in its + /// Determine whether this builtin is like printf in its /// formatting rules and, if so, set the index to the format string /// argument and whether this function as a va_list argument. bool isPrintfLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg); - /// \brief Determine whether this builtin is like scanf in its + /// Determine whether this builtin is like scanf in its /// formatting rules and, if so, set the index to the format string /// argument and whether this function as a va_list argument. bool isScanfLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg); - /// \brief Return true if this function has no side effects and doesn't + /// Return true if this function has no side effects and doesn't /// read memory, except for possibly errno. /// /// Such functions can be const when the MathErrno lang option is disabled. @@ -206,7 +206,7 @@ public: return getRecord(ID).Features; } - /// \brief Return true if builtin ID belongs to AuxTarget. + /// Return true if builtin ID belongs to AuxTarget. bool isAuxBuiltinID(unsigned ID) const { return ID >= (Builtin::FirstTSBuiltin + TSRecords.size()); } @@ -226,23 +226,23 @@ public: private: const Info &getRecord(unsigned ID) const; - /// \brief Is this builtin supported according to the given language options? + /// Is this builtin supported according to the given language options? bool builtinIsSupported(const Builtin::Info &BuiltinInfo, const LangOptions &LangOpts); - /// \brief Helper function for isPrintfLike and isScanfLike. + /// Helper function for isPrintfLike and isScanfLike. bool isLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg, const char *Fmt) const; }; } -/// \brief Kinds of BuiltinTemplateDecl. +/// Kinds of BuiltinTemplateDecl. enum BuiltinTemplateKind : int { - /// \brief This names the __make_integer_seq BuiltinTemplateDecl. + /// This names the __make_integer_seq BuiltinTemplateDecl. BTK__make_integer_seq, - /// \brief This names the __type_pack_element BuiltinTemplateDecl. + /// This names the __type_pack_element BuiltinTemplateDecl. BTK__type_pack_element }; diff --git a/include/clang/Basic/BuiltinsWebAssembly.def b/include/clang/Basic/BuiltinsWebAssembly.def index d6981516d9..95b520ac09 100644 --- a/include/clang/Basic/BuiltinsWebAssembly.def +++ b/include/clang/Basic/BuiltinsWebAssembly.def @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file defines the WebAssembly-specific builtin function database. +/// This file defines the WebAssembly-specific builtin function database. /// Users of this file must define the BUILTIN macro to make use of this /// information. /// diff --git a/include/clang/Basic/CapturedStmt.h b/include/clang/Basic/CapturedStmt.h index c4a289b696..6c8d6edab0 100644 --- a/include/clang/Basic/CapturedStmt.h +++ b/include/clang/Basic/CapturedStmt.h @@ -13,7 +13,7 @@ namespace clang { -/// \brief The different kinds of captured statement. +/// The different kinds of captured statement. enum CapturedRegionKind { CR_Default, CR_OpenMP diff --git a/include/clang/Basic/CommentOptions.h b/include/clang/Basic/CommentOptions.h index efd94e6e35..6cc9cf6b19 100644 --- a/include/clang/Basic/CommentOptions.h +++ b/include/clang/Basic/CommentOptions.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::CommentOptions interface. +/// Defines the clang::CommentOptions interface. // //===----------------------------------------------------------------------===// @@ -20,15 +20,15 @@ namespace clang { -/// \brief Options for controlling comment parsing. +/// Options for controlling comment parsing. struct CommentOptions { using BlockCommandNamesTy = std::vector<std::string>; - /// \brief Command names to treat as block commands in comments. + /// Command names to treat as block commands in comments. /// Should not include the leading backslash. BlockCommandNamesTy BlockCommandNames; - /// \brief Treat ordinary comments as documentation comments. + /// Treat ordinary comments as documentation comments. bool ParseAllComments = false; CommentOptions() = default; diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h index 8bf0fd1140..5205b4c210 100644 --- a/include/clang/Basic/Diagnostic.h +++ b/include/clang/Basic/Diagnostic.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the Diagnostic-related interfaces. +/// Defines the Diagnostic-related interfaces. // //===----------------------------------------------------------------------===// @@ -54,7 +54,7 @@ enum TokenKind : unsigned short; } // namespace tok -/// \brief Annotates a diagnostic with some code that should be +/// Annotates a diagnostic with some code that should be /// inserted, removed, or replaced to fix the problem. /// /// This kind of hint should be used when we are certain that the @@ -65,21 +65,21 @@ enum TokenKind : unsigned short; /// compilation. class FixItHint { public: - /// \brief Code that should be replaced to correct the error. Empty for an + /// Code that should be replaced to correct the error. Empty for an /// insertion hint. CharSourceRange RemoveRange; - /// \brief Code in the specific range that should be inserted in the insertion + /// Code in the specific range that should be inserted in the insertion /// location. CharSourceRange InsertFromRange; - /// \brief The actual code to insert at the insertion location, as a + /// The actual code to insert at the insertion location, as a /// string. std::string CodeToInsert; bool BeforePreviousInsertions = false; - /// \brief Empty code modification hint, indicating that no code + /// Empty code modification hint, indicating that no code /// modification is known. FixItHint() = default; @@ -87,7 +87,7 @@ public: return !RemoveRange.isValid(); } - /// \brief Create a code modification hint that inserts the given + /// Create a code modification hint that inserts the given /// code string at a specific location. static FixItHint CreateInsertion(SourceLocation InsertionLoc, StringRef Code, @@ -100,7 +100,7 @@ public: return Hint; } - /// \brief Create a code modification hint that inserts the given + /// Create a code modification hint that inserts the given /// code from \p FromRange at a specific location. static FixItHint CreateInsertionFromRange(SourceLocation InsertionLoc, CharSourceRange FromRange, @@ -113,7 +113,7 @@ public: return Hint; } - /// \brief Create a code modification hint that removes the given + /// Create a code modification hint that removes the given /// source range. static FixItHint CreateRemoval(CharSourceRange RemoveRange) { FixItHint Hint; @@ -124,7 +124,7 @@ public: return CreateRemoval(CharSourceRange::getTokenRange(RemoveRange)); } - /// \brief Create a code modification hint that replaces the given + /// Create a code modification hint that replaces the given /// source range with the given code string. static FixItHint CreateReplacement(CharSourceRange RemoveRange, StringRef Code) { @@ -140,7 +140,7 @@ public: } }; -/// \brief Concrete class used by the front-end to report problems and issues. +/// Concrete class used by the front-end to report problems and issues. /// /// This massages the diagnostics (e.g. handling things like "report warnings /// as errors" and passes them off to the DiagnosticConsumer for reporting to @@ -148,7 +148,7 @@ public: /// SourceManager. class DiagnosticsEngine : public RefCountedBase<DiagnosticsEngine> { public: - /// \brief The level of the diagnostic, after it has been through mapping. + /// The level of the diagnostic, after it has been through mapping. enum Level { Ignored = DiagnosticIDs::Ignored, Note = DiagnosticIDs::Note, @@ -199,7 +199,7 @@ public: ak_attr }; - /// \brief Represents on argument value, which is a union discriminated + /// Represents on argument value, which is a union discriminated /// by ArgumentKind, with a value. using ArgumentValue = std::pair<ArgumentKind, intptr_t>; @@ -240,7 +240,7 @@ private: std::unique_ptr<DiagnosticConsumer> Owner; SourceManager *SourceMgr = nullptr; - /// \brief Mapping information for diagnostics. + /// Mapping information for diagnostics. /// /// Mapping info is packed into four bits per diagnostic. The low three /// bits are the mapping (an instance of diag::Severity), or zero if unset. @@ -298,7 +298,7 @@ private: const_iterator end() const { return DiagMap.end(); } }; - /// \brief Keeps and automatically disposes all DiagStates that we create. + /// Keeps and automatically disposes all DiagStates that we create. std::list<DiagState> DiagStates; /// A mapping from files to the diagnostic states for those files. Lazily @@ -338,7 +338,7 @@ private: friend class ASTReader; friend class ASTWriter; - /// \brief Represents a point in source where the diagnostic state was + /// Represents a point in source where the diagnostic state was /// modified because of a pragma. /// /// 'Loc' can be null if the point represents the diagnostic state @@ -391,7 +391,7 @@ private: DiagStateMap DiagStatesByLoc; - /// \brief Keeps the DiagState that was active during each diagnostic 'push' + /// Keeps the DiagState that was active during each diagnostic 'push' /// so we can get back at it when we 'pop'. std::vector<DiagState *> DiagStateOnPushStack; @@ -401,32 +401,32 @@ private: void PushDiagStatePoint(DiagState *State, SourceLocation L); - /// \brief Finds the DiagStatePoint that contains the diagnostic state of + /// Finds the DiagStatePoint that contains the diagnostic state of /// the given source location. DiagState *GetDiagStateForLoc(SourceLocation Loc) const { return SourceMgr ? DiagStatesByLoc.lookup(*SourceMgr, Loc) : DiagStatesByLoc.getCurDiagState(); } - /// \brief Sticky flag set to \c true when an error is emitted. + /// Sticky flag set to \c true when an error is emitted. bool ErrorOccurred; - /// \brief Sticky flag set to \c true when an "uncompilable error" occurs. + /// Sticky flag set to \c true when an "uncompilable error" occurs. /// I.e. an error that was not upgraded from a warning by -Werror. bool UncompilableErrorOccurred; - /// \brief Sticky flag set to \c true when a fatal error is emitted. + /// Sticky flag set to \c true when a fatal error is emitted. bool FatalErrorOccurred; - /// \brief Indicates that an unrecoverable error has occurred. + /// Indicates that an unrecoverable error has occurred. bool UnrecoverableErrorOccurred; - /// \brief Counts for DiagnosticErrorTrap to check whether an error occurred + /// Counts for DiagnosticErrorTrap to check whether an error occurred /// during a parsing section, e.g. during parsing a function. unsigned TrapNumErrorsOccurred; unsigned TrapNumUnrecoverableErrorsOccurred; - /// \brief The level of the last diagnostic emitted. + /// The level of the last diagnostic emitted. /// /// This is used to emit continuation diagnostics with the same level as the /// diagnostic that they follow. @@ -438,7 +438,7 @@ private: /// Number of errors reported unsigned NumErrors; - /// \brief A function pointer that converts an opaque diagnostic + /// A function pointer that converts an opaque diagnostic /// argument to a strings. /// /// This takes the modifiers and argument that was present in the diagnostic. @@ -459,18 +459,18 @@ private: void *ArgToStringCookie = nullptr; ArgToStringFnTy ArgToStringFn; - /// \brief ID of the "delayed" diagnostic, which is a (typically + /// ID of the "delayed" diagnostic, which is a (typically /// fatal) diagnostic that had to be delayed because it was found /// while emitting another diagnostic. unsigned DelayedDiagID; - /// \brief First string argument for the delayed diagnostic. + /// First string argument for the delayed diagnostic. std::string DelayedDiagArg1; - /// \brief Second string argument for the delayed diagnostic. + /// Second string argument for the delayed diagnostic. std::string DelayedDiagArg2; - /// \brief Optional flag value. + /// Optional flag value. /// /// Some flags accept values, for instance: -Wframe-larger-than=<value> and /// -Rpass=<value>. The content of this string is emitted after the flag name @@ -495,12 +495,12 @@ public: return Diags; } - /// \brief Retrieve the diagnostic options. + /// Retrieve the diagnostic options. DiagnosticOptions &getDiagnosticOptions() const { return *DiagOpts; } using diag_mapping_range = llvm::iterator_range<DiagState::const_iterator>; - /// \brief Get the current set of diagnostic mappings. + /// Get the current set of diagnostic mappings. diag_mapping_range getDiagnosticMappings() const { const DiagState &DS = *GetCurDiagState(); return diag_mapping_range(DS.begin(), DS.end()); @@ -509,10 +509,10 @@ public: DiagnosticConsumer *getClient() { return Client; } const DiagnosticConsumer *getClient() const { return Client; } - /// \brief Determine whether this \c DiagnosticsEngine object own its client. + /// Determine whether this \c DiagnosticsEngine object own its client. bool ownsClient() const { return Owner != nullptr; } - /// \brief Return the current diagnostic client along with ownership of that + /// Return the current diagnostic client along with ownership of that /// client. std::unique_ptr<DiagnosticConsumer> takeClient() { return std::move(Owner); } @@ -534,54 +534,54 @@ public: // how diagnostics are emitted. // - /// \brief Copies the current DiagMappings and pushes the new copy + /// Copies the current DiagMappings and pushes the new copy /// onto the top of the stack. void pushMappings(SourceLocation Loc); - /// \brief Pops the current DiagMappings off the top of the stack, + /// Pops the current DiagMappings off the top of the stack, /// causing the new top of the stack to be the active mappings. /// /// \returns \c true if the pop happens, \c false if there is only one /// DiagMapping on the stack. bool popMappings(SourceLocation Loc); - /// \brief Set the diagnostic client associated with this diagnostic object. + /// Set the diagnostic client associated with this diagnostic object. /// /// \param ShouldOwnClient true if the diagnostic object should take /// ownership of \c client. void setClient(DiagnosticConsumer *client, bool ShouldOwnClient = true); - /// \brief Specify a limit for the number of errors we should + /// Specify a limit for the number of errors we should /// emit before giving up. /// /// Zero disables the limit. void setErrorLimit(unsigned Limit) { ErrorLimit = Limit; } - /// \brief Specify the maximum number of template instantiation + /// Specify the maximum number of template instantiation /// notes to emit along with a given diagnostic. void setTemplateBacktraceLimit(unsigned Limit) { TemplateBacktraceLimit = Limit; } - /// \brief Retrieve the maximum number of template instantiation + /// Retrieve the maximum number of template instantiation /// notes to emit along with a given diagnostic. unsigned getTemplateBacktraceLimit() const { return TemplateBacktraceLimit; } - /// \brief Specify the maximum number of constexpr evaluation + /// Specify the maximum number of constexpr evaluation /// notes to emit along with a given diagnostic. void setConstexprBacktraceLimit(unsigned Limit) { ConstexprBacktraceLimit = Limit; } - /// \brief Retrieve the maximum number of constexpr evaluation + /// Retrieve the maximum number of constexpr evaluation /// notes to emit along with a given diagnostic. unsigned getConstexprBacktraceLimit() const { return ConstexprBacktraceLimit; } - /// \brief When set to true, any unmapped warnings are ignored. + /// When set to true, any unmapped warnings are ignored. /// /// If this and WarningsAsErrors are both set, then this one wins. void setIgnoreAllWarnings(bool Val) { @@ -591,7 +591,7 @@ public: return GetCurDiagState()->IgnoreAllWarnings; } - /// \brief When set to true, any unmapped ignored warnings are no longer + /// When set to true, any unmapped ignored warnings are no longer /// ignored. /// /// If this and IgnoreAllWarnings are both set, then that one wins. @@ -602,7 +602,7 @@ public: return GetCurDiagState()->EnableAllWarnings; } - /// \brief When set to true, any warnings reported are issued as errors. + /// When set to true, any warnings reported are issued as errors. void setWarningsAsErrors(bool Val) { GetCurDiagState()->WarningsAsErrors = Val; } @@ -610,15 +610,15 @@ public: return GetCurDiagState()->WarningsAsErrors; } - /// \brief When set to true, any error reported is made a fatal error. + /// When set to true, any error reported is made a fatal error. void setErrorsAsFatal(bool Val) { GetCurDiagState()->ErrorsAsFatal = Val; } bool getErrorsAsFatal() const { return GetCurDiagState()->ErrorsAsFatal; } - /// \brief When set to true (the default), suppress further diagnostics after + /// When set to true (the default), suppress further diagnostics after /// a fatal error. void setSuppressAfterFatalError(bool Val) { SuppressAfterFatalError = Val; } - /// \brief When set to true mask warnings that come from system headers. + /// When set to true mask warnings that come from system headers. void setSuppressSystemWarnings(bool Val) { GetCurDiagState()->SuppressSystemWarnings = Val; } @@ -626,7 +626,7 @@ public: return GetCurDiagState()->SuppressSystemWarnings; } - /// \brief Suppress all diagnostics, to silence the front end when we + /// Suppress all diagnostics, to silence the front end when we /// know that we don't want any more diagnostics to be passed along to the /// client void setSuppressAllDiagnostics(bool Val = true) { @@ -634,22 +634,22 @@ public: } bool getSuppressAllDiagnostics() const { return SuppressAllDiagnostics; } - /// \brief Set type eliding, to skip outputting same types occurring in + /// Set type eliding, to skip outputting same types occurring in /// template types. void setElideType(bool Val = true) { ElideType = Val; } bool getElideType() { return ElideType; } - /// \brief Set tree printing, to outputting the template difference in a + /// Set tree printing, to outputting the template difference in a /// tree format. void setPrintTemplateTree(bool Val = false) { PrintTemplateTree = Val; } bool getPrintTemplateTree() { return PrintTemplateTree; } - /// \brief Set color printing, so the type diffing will inject color markers + /// Set color printing, so the type diffing will inject color markers /// into the output. void setShowColors(bool Val = false) { ShowColors = Val; } bool getShowColors() { return ShowColors; } - /// \brief Specify which overload candidates to show when overload resolution + /// Specify which overload candidates to show when overload resolution /// fails. /// /// By default, we show all candidates. @@ -658,7 +658,7 @@ public: } OverloadsShown getShowOverloads() const { return ShowOverloads; } - /// \brief Pretend that the last diagnostic issued was ignored, so any + /// Pretend that the last diagnostic issued was ignored, so any /// subsequent notes will be suppressed, or restore a prior ignoring /// state after ignoring some diagnostics and their notes, possibly in /// the middle of another diagnostic. @@ -670,14 +670,14 @@ public: LastDiagLevel = Ignored ? DiagnosticIDs::Ignored : DiagnosticIDs::Warning; } - /// \brief Determine whether the previous diagnostic was ignored. This can + /// Determine whether the previous diagnostic was ignored. This can /// be used by clients that want to determine whether notes attached to a /// diagnostic will be suppressed. bool isLastDiagnosticIgnored() const { return LastDiagLevel == DiagnosticIDs::Ignored; } - /// \brief Controls whether otherwise-unmapped extension diagnostics are + /// Controls whether otherwise-unmapped extension diagnostics are /// mapped onto ignore/warning/error. /// /// This corresponds to the GCC -pedantic and -pedantic-errors option. @@ -688,7 +688,7 @@ public: return GetCurDiagState()->ExtBehavior; } - /// \brief Counter bumped when an __extension__ block is/ encountered. + /// Counter bumped when an __extension__ block is/ encountered. /// /// When non-zero, all extension diagnostics are entirely silenced, no /// matter how they are mapped. @@ -696,7 +696,7 @@ public: void DecrementAllExtensionsSilenced() { --AllExtensionsSilenced; } bool hasAllExtensionsSilenced() { return AllExtensionsSilenced != 0; } - /// \brief This allows the client to specify that certain warnings are + /// This allows the client to specify that certain warnings are /// ignored. /// /// Notes can never be mapped, errors can only be mapped to fatal, and @@ -706,7 +706,7 @@ public: /// take affect. It can be null if we are setting the latest state. void setSeverity(diag::kind Diag, diag::Severity Map, SourceLocation Loc); - /// \brief Change an entire diagnostic group (e.g. "unknown-pragmas") to + /// Change an entire diagnostic group (e.g. "unknown-pragmas") to /// have the specified mapping. /// /// \returns true (and ignores the request) if "Group" was unknown, false @@ -721,21 +721,21 @@ public: diag::Severity Map, SourceLocation Loc = SourceLocation()); - /// \brief Set the warning-as-error flag for the given diagnostic group. + /// Set the warning-as-error flag for the given diagnostic group. /// /// This function always only operates on the current diagnostic state. /// /// \returns True if the given group is unknown, false otherwise. bool setDiagnosticGroupWarningAsError(StringRef Group, bool Enabled); - /// \brief Set the error-as-fatal flag for the given diagnostic group. + /// Set the error-as-fatal flag for the given diagnostic group. /// /// This function always only operates on the current diagnostic state. /// /// \returns True if the given group is unknown, false otherwise. bool setDiagnosticGroupErrorAsFatal(StringRef Group, bool Enabled); - /// \brief Add the specified mapping to all diagnostics of the specified + /// Add the specified mapping to all diagnostics of the specified /// flavor. /// /// Mainly to be used by -Wno-everything to disable all warnings but allow @@ -745,14 +745,14 @@ public: bool hasErrorOccurred() const { return ErrorOccurred; } - /// \brief Errors that actually prevent compilation, not those that are + /// Errors that actually prevent compilation, not those that are /// upgraded from a warning by -Werror. bool hasUncompilableErrorOccurred() const { return UncompilableErrorOccurred; } bool hasFatalErrorOccurred() const { return FatalErrorOccurred; } - /// \brief Determine whether any kind of unrecoverable error has occurred. + /// Determine whether any kind of unrecoverable error has occurred. bool hasUnrecoverableErrorOccurred() const { return FatalErrorOccurred || UnrecoverableErrorOccurred; } @@ -763,7 +763,7 @@ public: this->NumWarnings = NumWarnings; } - /// \brief Return an ID for a diagnostic with the specified format string and + /// Return an ID for a diagnostic with the specified format string and /// level. /// /// If this is the first request for this diagnostic, it is registered and @@ -777,7 +777,7 @@ public: StringRef(FormatString, N - 1)); } - /// \brief Converts a diagnostic argument (as an intptr_t) into the string + /// Converts a diagnostic argument (as an intptr_t) into the string /// that represents it. void ConvertArgToString(ArgumentKind Kind, intptr_t Val, StringRef Modifier, StringRef Argument, @@ -793,13 +793,13 @@ public: ArgToStringCookie = Cookie; } - /// \brief Note that the prior diagnostic was emitted by some other + /// Note that the prior diagnostic was emitted by some other /// \c DiagnosticsEngine, and we may be attaching a note to that diagnostic. void notePriorDiagnosticFrom(const DiagnosticsEngine &Other) { LastDiagLevel = Other.LastDiagLevel; } - /// \brief Reset the state of the diagnostic object to its initial + /// Reset the state of the diagnostic object to its initial /// configuration. void Reset(); @@ -807,7 +807,7 @@ public: // DiagnosticsEngine classification and reporting interfaces. // - /// \brief Determine whether the diagnostic is known to be ignored. + /// Determine whether the diagnostic is known to be ignored. /// /// This can be used to opportunistically avoid expensive checks when it's /// known for certain that the diagnostic has been suppressed at the @@ -820,7 +820,7 @@ public: diag::Severity::Ignored; } - /// \brief Based on the way the client configured the DiagnosticsEngine + /// Based on the way the client configured the DiagnosticsEngine /// object, classify the specified diagnostic ID into a Level, consumable by /// the DiagnosticConsumer. /// @@ -834,7 +834,7 @@ public: return (Level)Diags->getDiagnosticLevel(DiagID, Loc, *this); } - /// \brief Issue the message to the client. + /// Issue the message to the client. /// /// This actually returns an instance of DiagnosticBuilder which emits the /// diagnostics (through @c ProcessDiag) when it is destroyed. @@ -847,12 +847,12 @@ public: void Report(const StoredDiagnostic &storedDiag); - /// \brief Determine whethere there is already a diagnostic in flight. + /// Determine whethere there is already a diagnostic in flight. bool isDiagnosticInFlight() const { return CurDiagID != std::numeric_limits<unsigned>::max(); } - /// \brief Set the "delayed" diagnostic that will be emitted once + /// Set the "delayed" diagnostic that will be emitted once /// the current diagnostic completes. /// /// If a diagnostic is already in-flight but the front end must @@ -876,10 +876,10 @@ public: void SetDelayedDiagnostic(unsigned DiagID, StringRef Arg1 = "", StringRef Arg2 = ""); - /// \brief Clear out the current diagnostic. + /// Clear out the current diagnostic. void Clear() { CurDiagID = std::numeric_limits<unsigned>::max(); } - /// \brief Return the value associated with this diagnostic flag. + /// Return the value associated with this diagnostic flag. StringRef getFlagValue() const { return FlagValue; } private: @@ -895,20 +895,20 @@ private: friend class DiagnosticIDs; friend class PartialDiagnostic; - /// \brief Report the delayed diagnostic. + /// Report the delayed diagnostic. void ReportDelayed(); - /// \brief The location of the current diagnostic that is in flight. + /// The location of the current diagnostic that is in flight. SourceLocation CurDiagLoc; - /// \brief The ID of the current diagnostic that is in flight. + /// The ID of the current diagnostic that is in flight. /// /// This is set to std::numeric_limits<unsigned>::max() when there is no /// diagnostic in flight. unsigned CurDiagID; enum { - /// \brief The maximum number of arguments we can hold. + /// The maximum number of arguments we can hold. /// /// We currently only support up to 10 arguments (%0-%9). A single /// diagnostic with more than that almost certainly has to be simplified @@ -916,33 +916,33 @@ private: MaxArguments = 10, }; - /// \brief The number of entries in Arguments. + /// The number of entries in Arguments. signed char NumDiagArgs; - /// \brief Specifies whether an argument is in DiagArgumentsStr or + /// Specifies whether an argument is in DiagArgumentsStr or /// in DiagArguments. /// /// This is an array of ArgumentKind::ArgumentKind enum values, one for each /// argument. unsigned char DiagArgumentsKind[MaxArguments]; - /// \brief Holds the values of each string argument for the current + /// Holds the values of each string argument for the current /// diagnostic. /// /// This is only used when the corresponding ArgumentKind is ak_std_string. std::string DiagArgumentsStr[MaxArguments]; - /// \brief The values for the various substitution positions. + /// The values for the various substitution positions. /// /// This is used when the argument is not an std::string. The specific /// value is mangled into an intptr_t and the interpretation depends on /// exactly what sort of argument kind it is. intptr_t DiagArgumentsVal[MaxArguments]; - /// \brief The list of ranges added to this diagnostic. + /// The list of ranges added to this diagnostic. SmallVector<CharSourceRange, 8> DiagRanges; - /// \brief If valid, provides a hint with some code to insert, remove, + /// If valid, provides a hint with some code to insert, remove, /// or modify at a particular position. SmallVector<FixItHint, 8> DiagFixItHints; @@ -961,7 +961,7 @@ private: return Mapping; } - /// \brief Used to report a diagnostic that is finally fully formed. + /// Used to report a diagnostic that is finally fully formed. /// /// \returns true if the diagnostic was emitted, false if it was suppressed. bool ProcessDiag() { @@ -980,7 +980,7 @@ protected: // Sema::Diag() patterns. friend class Sema; - /// \brief Emit the current diagnostic and clear the diagnostic state. + /// Emit the current diagnostic and clear the diagnostic state. /// /// \param Force Emit the diagnostic regardless of suppression settings. bool EmitCurrentDiagnostic(bool Force = false); @@ -992,7 +992,7 @@ protected: /// @} }; -/// \brief RAII class that determines when any errors have occurred +/// RAII class that determines when any errors have occurred /// between the time the instance was created and the time it was /// queried. class DiagnosticErrorTrap { @@ -1004,19 +1004,19 @@ public: explicit DiagnosticErrorTrap(DiagnosticsEngine &Diag) : Diag(Diag) { reset(); } - /// \brief Determine whether any errors have occurred since this + /// Determine whether any errors have occurred since this /// object instance was created. bool hasErrorOccurred() const { return Diag.TrapNumErrorsOccurred > NumErrors; } - /// \brief Determine whether any unrecoverable errors have occurred since this + /// Determine whether any unrecoverable errors have occurred since this /// object instance was created. bool hasUnrecoverableErrorOccurred() const { return Diag.TrapNumUnrecoverableErrorsOccurred > NumUnrecoverableErrors; } - /// \brief Set to initial state of "no errors occurred". + /// Set to initial state of "no errors occurred". void reset() { NumErrors = Diag.TrapNumErrorsOccurred; NumUnrecoverableErrors = Diag.TrapNumUnrecoverableErrorsOccurred; @@ -1027,7 +1027,7 @@ public: // DiagnosticBuilder //===----------------------------------------------------------------------===// -/// \brief A little helper class used to produce diagnostics. +/// A little helper class used to produce diagnostics. /// /// This is constructed by the DiagnosticsEngine::Report method, and /// allows insertion of extra information (arguments and source ranges) into @@ -1046,14 +1046,14 @@ class DiagnosticBuilder { mutable DiagnosticsEngine *DiagObj = nullptr; mutable unsigned NumArgs = 0; - /// \brief Status variable indicating if this diagnostic is still active. + /// Status variable indicating if this diagnostic is still active. /// // NOTE: This field is redundant with DiagObj (IsActive iff (DiagObj == 0)), // but LLVM is not currently smart enough to eliminate the null check that // Emit() would end up with if we used that as our status variable. mutable bool IsActive = false; - /// \brief Flag indicating that this diagnostic is being emitted via a + /// Flag indicating that this diagnostic is being emitted via a /// call to ForceEmit. mutable bool IsForceEmit = false; @@ -1071,17 +1071,17 @@ protected: DiagObj->NumDiagArgs = NumArgs; } - /// \brief Clear out the current diagnostic. + /// Clear out the current diagnostic. void Clear() const { DiagObj = nullptr; IsActive = false; IsForceEmit = false; } - /// \brief Determine whether this diagnostic is still active. + /// Determine whether this diagnostic is still active. bool isActive() const { return IsActive; } - /// \brief Force the diagnostic builder to emit the diagnostic now. + /// Force the diagnostic builder to emit the diagnostic now. /// /// Once this function has been called, the DiagnosticBuilder object /// should not be used again before it is destroyed. @@ -1119,23 +1119,23 @@ public: DiagnosticBuilder &operator=(const DiagnosticBuilder &) = delete; - /// \brief Emits the diagnostic. + /// Emits the diagnostic. ~DiagnosticBuilder() { Emit(); } - /// \brief Retrieve an empty diagnostic builder. + /// Retrieve an empty diagnostic builder. static DiagnosticBuilder getEmpty() { return {}; } - /// \brief Forces the diagnostic to be emitted. + /// Forces the diagnostic to be emitted. const DiagnosticBuilder &setForceEmit() const { IsForceEmit = true; return *this; } - /// \brief Conversion of DiagnosticBuilder to bool always returns \c true. + /// Conversion of DiagnosticBuilder to bool always returns \c true. /// /// This allows is to be used in boolean error contexts (where \c true is /// used to indicate that an error has occurred), like: @@ -1180,7 +1180,7 @@ struct AddFlagValue { explicit AddFlagValue(StringRef V) : Val(V) {} }; -/// \brief Register a value for the flag in the current diagnostic. This +/// Register a value for the flag in the current diagnostic. This /// value will be shown as the suffix "=value" after the flag name. It is /// useful in cases where the diagnostic flag accepts values (e.g., /// -Rpass or -Wframe-larger-than). @@ -1329,7 +1329,7 @@ public: unsigned getNumArgs() const { return DiagObj->NumDiagArgs; } - /// \brief Return the kind of the specified index. + /// Return the kind of the specified index. /// /// Based on the kind of argument, the accessors below can be used to get /// the value. @@ -1340,7 +1340,7 @@ public: return (DiagnosticsEngine::ArgumentKind)DiagObj->DiagArgumentsKind[Idx]; } - /// \brief Return the provided argument string specified by \p Idx. + /// Return the provided argument string specified by \p Idx. /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_std_string const std::string &getArgStdStr(unsigned Idx) const { assert(getArgKind(Idx) == DiagnosticsEngine::ak_std_string && @@ -1348,7 +1348,7 @@ public: return DiagObj->DiagArgumentsStr[Idx]; } - /// \brief Return the specified C string argument. + /// Return the specified C string argument. /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_c_string const char *getArgCStr(unsigned Idx) const { assert(getArgKind(Idx) == DiagnosticsEngine::ak_c_string && @@ -1356,7 +1356,7 @@ public: return reinterpret_cast<const char*>(DiagObj->DiagArgumentsVal[Idx]); } - /// \brief Return the specified signed integer argument. + /// Return the specified signed integer argument. /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_sint int getArgSInt(unsigned Idx) const { assert(getArgKind(Idx) == DiagnosticsEngine::ak_sint && @@ -1364,7 +1364,7 @@ public: return (int)DiagObj->DiagArgumentsVal[Idx]; } - /// \brief Return the specified unsigned integer argument. + /// Return the specified unsigned integer argument. /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_uint unsigned getArgUInt(unsigned Idx) const { assert(getArgKind(Idx) == DiagnosticsEngine::ak_uint && @@ -1372,7 +1372,7 @@ public: return (unsigned)DiagObj->DiagArgumentsVal[Idx]; } - /// \brief Return the specified IdentifierInfo argument. + /// Return the specified IdentifierInfo argument. /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_identifierinfo const IdentifierInfo *getArgIdentifier(unsigned Idx) const { assert(getArgKind(Idx) == DiagnosticsEngine::ak_identifierinfo && @@ -1380,7 +1380,7 @@ public: return reinterpret_cast<IdentifierInfo*>(DiagObj->DiagArgumentsVal[Idx]); } - /// \brief Return the specified non-string argument in an opaque form. + /// Return the specified non-string argument in an opaque form. /// \pre getArgKind(Idx) != DiagnosticsEngine::ak_std_string intptr_t getRawArg(unsigned Idx) const { assert(getArgKind(Idx) != DiagnosticsEngine::ak_std_string && @@ -1388,7 +1388,7 @@ public: return DiagObj->DiagArgumentsVal[Idx]; } - /// \brief Return the number of source ranges associated with this diagnostic. + /// Return the number of source ranges associated with this diagnostic. unsigned getNumRanges() const { return DiagObj->DiagRanges.size(); } @@ -1399,7 +1399,7 @@ public: return DiagObj->DiagRanges[Idx]; } - /// \brief Return an array reference for this diagnostic's ranges. + /// Return an array reference for this diagnostic's ranges. ArrayRef<CharSourceRange> getRanges() const { return DiagObj->DiagRanges; } @@ -1417,20 +1417,20 @@ public: return DiagObj->DiagFixItHints; } - /// \brief Format this diagnostic into a string, substituting the + /// Format this diagnostic into a string, substituting the /// formal arguments into the %0 slots. /// /// The result is appended onto the \p OutStr array. void FormatDiagnostic(SmallVectorImpl<char> &OutStr) const; - /// \brief Format the given format-string into the output buffer using the + /// Format the given format-string into the output buffer using the /// arguments stored in this diagnostic. void FormatDiagnostic(const char *DiagStr, const char *DiagEnd, SmallVectorImpl<char> &OutStr) const; }; /** - * \brief Represents a diagnostic in a form that can be retained until its + * Represents a diagnostic in a form that can be retained until its * corresponding source manager is destroyed. */ class StoredDiagnostic { @@ -1451,7 +1451,7 @@ public: ArrayRef<CharSourceRange> Ranges, ArrayRef<FixItHint> Fixits); - /// \brief Evaluates true when this object stores a diagnostic. + /// Evaluates true when this object stores a diagnostic. explicit operator bool() const { return !Message.empty(); } unsigned getID() const { return ID; } @@ -1482,7 +1482,7 @@ public: } }; -/// \brief Abstract interface, implemented by clients of the front-end, which +/// Abstract interface, implemented by clients of the front-end, which /// formats and prints fully processed diagnostics. class DiagnosticConsumer { protected: @@ -1497,7 +1497,7 @@ public: unsigned getNumWarnings() const { return NumWarnings; } virtual void clear() { NumWarnings = NumErrors = 0; } - /// \brief Callback to inform the diagnostic client that processing + /// Callback to inform the diagnostic client that processing /// of a source file is beginning. /// /// Note that diagnostics may be emitted outside the processing of a source @@ -1511,25 +1511,25 @@ public: virtual void BeginSourceFile(const LangOptions &LangOpts, const Preprocessor *PP = nullptr) {} - /// \brief Callback to inform the diagnostic client that processing + /// Callback to inform the diagnostic client that processing /// of a source file has ended. /// /// The diagnostic client should assume that any objects made available via /// BeginSourceFile() are inaccessible. virtual void EndSourceFile() {} - /// \brief Callback to inform the diagnostic client that processing of all + /// Callback to inform the diagnostic client that processing of all /// source files has ended. virtual void finish() {} - /// \brief Indicates whether the diagnostics handled by this + /// Indicates whether the diagnostics handled by this /// DiagnosticConsumer should be included in the number of diagnostics /// reported by DiagnosticsEngine. /// /// The default implementation returns true. virtual bool IncludeInDiagnosticCounts() const; - /// \brief Handle this diagnostic, reporting it to the user or + /// Handle this diagnostic, reporting it to the user or /// capturing it to a log as needed. /// /// The default implementation just keeps track of the total number of @@ -1538,7 +1538,7 @@ public: const Diagnostic &Info); }; -/// \brief A diagnostic client that ignores all diagnostics. +/// A diagnostic client that ignores all diagnostics. class IgnoringDiagConsumer : public DiagnosticConsumer { virtual void anchor(); @@ -1548,7 +1548,7 @@ class IgnoringDiagConsumer : public DiagnosticConsumer { } }; -/// \brief Diagnostic consumer that forwards diagnostics along to an +/// Diagnostic consumer that forwards diagnostics along to an /// existing, already-initialized diagnostic consumer. /// class ForwardingDiagnosticConsumer : public DiagnosticConsumer { diff --git a/include/clang/Basic/DiagnosticError.h b/include/clang/Basic/DiagnosticError.h index 6b4b073736..3f7be46c95 100644 --- a/include/clang/Basic/DiagnosticError.h +++ b/include/clang/Basic/DiagnosticError.h @@ -15,7 +15,7 @@ namespace clang { -/// \brief Carries a Clang diagnostic in an llvm::Error. +/// Carries a Clang diagnostic in an llvm::Error. /// /// Users should emit the stored diagnostic using the DiagnosticsEngine. class DiagnosticError : public llvm::ErrorInfo<DiagnosticError> { diff --git a/include/clang/Basic/DiagnosticIDs.h b/include/clang/Basic/DiagnosticIDs.h index b4ea85ba85..b610af953f 100644 --- a/include/clang/Basic/DiagnosticIDs.h +++ b/include/clang/Basic/DiagnosticIDs.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the Diagnostic IDs-related interfaces. +/// Defines the Diagnostic IDs-related interfaces. /// //===----------------------------------------------------------------------===// @@ -60,7 +60,7 @@ namespace clang { class CustomDiagInfo; - /// \brief All of the diagnostics that can be emitted by the frontend. + /// All of the diagnostics that can be emitted by the frontend. typedef unsigned kind; // Get typedefs for common diagnostics. @@ -158,25 +158,25 @@ public: } }; -/// \brief Used for handling and querying diagnostic IDs. +/// Used for handling and querying diagnostic IDs. /// /// Can be used and shared by multiple Diagnostics for multiple translation units. class DiagnosticIDs : public RefCountedBase<DiagnosticIDs> { public: - /// \brief The level of the diagnostic, after it has been through mapping. + /// The level of the diagnostic, after it has been through mapping. enum Level { Ignored, Note, Remark, Warning, Error, Fatal }; private: - /// \brief Information for uniquing and looking up custom diags. + /// Information for uniquing and looking up custom diags. diag::CustomDiagInfo *CustomDiagInfo; public: DiagnosticIDs(); ~DiagnosticIDs(); - /// \brief Return an ID for a diagnostic with the specified format string and + /// Return an ID for a diagnostic with the specified format string and /// level. /// /// If this is the first request for this diagnostic, it is registered and @@ -191,31 +191,31 @@ public: // Diagnostic classification and reporting interfaces. // - /// \brief Given a diagnostic ID, return a description of the issue. + /// Given a diagnostic ID, return a description of the issue. StringRef getDescription(unsigned DiagID) const; - /// \brief Return true if the unmapped diagnostic levelof the specified + /// Return true if the unmapped diagnostic levelof the specified /// diagnostic ID is a Warning or Extension. /// /// This only works on builtin diagnostics, not custom ones, and is not /// legal to call on NOTEs. static bool isBuiltinWarningOrExtension(unsigned DiagID); - /// \brief Return true if the specified diagnostic is mapped to errors by + /// Return true if the specified diagnostic is mapped to errors by /// default. static bool isDefaultMappingAsError(unsigned DiagID); - /// \brief Determine whether the given built-in diagnostic ID is a Note. + /// Determine whether the given built-in diagnostic ID is a Note. static bool isBuiltinNote(unsigned DiagID); - /// \brief Determine whether the given built-in diagnostic ID is for an + /// Determine whether the given built-in diagnostic ID is for an /// extension of some sort. static bool isBuiltinExtensionDiag(unsigned DiagID) { bool ignored; return isBuiltinExtensionDiag(DiagID, ignored); } - /// \brief Determine whether the given built-in diagnostic ID is for an + /// Determine whether the given built-in diagnostic ID is for an /// extension of some sort, and whether it is enabled by default. /// /// This also returns EnabledByDefault, which is set to indicate whether the @@ -225,53 +225,53 @@ public: static bool isBuiltinExtensionDiag(unsigned DiagID, bool &EnabledByDefault); - /// \brief Return the lowest-level warning option that enables the specified + /// Return the lowest-level warning option that enables the specified /// diagnostic. /// /// If there is no -Wfoo flag that controls the diagnostic, this returns null. static StringRef getWarningOptionForDiag(unsigned DiagID); - /// \brief Return the category number that a specified \p DiagID belongs to, + /// Return the category number that a specified \p DiagID belongs to, /// or 0 if no category. static unsigned getCategoryNumberForDiag(unsigned DiagID); - /// \brief Return the number of diagnostic categories. + /// Return the number of diagnostic categories. static unsigned getNumberOfCategories(); - /// \brief Given a category ID, return the name of the category. + /// Given a category ID, return the name of the category. static StringRef getCategoryNameFromID(unsigned CategoryID); - /// \brief Return true if a given diagnostic falls into an ARC diagnostic + /// Return true if a given diagnostic falls into an ARC diagnostic /// category. static bool isARCDiagnostic(unsigned DiagID); - /// \brief Enumeration describing how the emission of a diagnostic should + /// Enumeration describing how the emission of a diagnostic should /// be treated when it occurs during C++ template argument deduction. enum SFINAEResponse { - /// \brief The diagnostic should not be reported, but it should cause + /// The diagnostic should not be reported, but it should cause /// template argument deduction to fail. /// /// The vast majority of errors that occur during template argument /// deduction fall into this category. SFINAE_SubstitutionFailure, - /// \brief The diagnostic should be suppressed entirely. + /// The diagnostic should be suppressed entirely. /// /// Warnings generally fall into this category. SFINAE_Suppress, - /// \brief The diagnostic should be reported. + /// The diagnostic should be reported. /// /// The diagnostic should be reported. Various fatal errors (e.g., /// template instantiation depth exceeded) fall into this category. SFINAE_Report, - /// \brief The diagnostic is an access-control diagnostic, which will be + /// The diagnostic is an access-control diagnostic, which will be /// substitution failures in some contexts and reported in others. SFINAE_AccessControl }; - /// \brief Determines whether the given built-in diagnostic ID is + /// Determines whether the given built-in diagnostic ID is /// for an error that is suppressed if it occurs during C++ template /// argument deduction. /// @@ -281,30 +281,30 @@ public: /// are not SFINAE errors. static SFINAEResponse getDiagnosticSFINAEResponse(unsigned DiagID); - /// \brief Get the string of all diagnostic flags. + /// Get the string of all diagnostic flags. /// /// \returns A list of all diagnostics flags as they would be written in a /// command line invocation including their `no-` variants. For example: /// `{"-Wempty-body", "-Wno-empty-body", ...}` static std::vector<std::string> getDiagnosticFlags(); - /// \brief Get the set of all diagnostic IDs in the group with the given name. + /// Get the set of all diagnostic IDs in the group with the given name. /// /// \param[out] Diags - On return, the diagnostics in the group. /// \returns \c true if the given group is unknown, \c false otherwise. bool getDiagnosticsInGroup(diag::Flavor Flavor, StringRef Group, SmallVectorImpl<diag::kind> &Diags) const; - /// \brief Get the set of all diagnostic IDs. + /// Get the set of all diagnostic IDs. static void getAllDiagnostics(diag::Flavor Flavor, std::vector<diag::kind> &Diags); - /// \brief Get the diagnostic option with the closest edit distance to the + /// Get the diagnostic option with the closest edit distance to the /// given group name. static StringRef getNearestOption(diag::Flavor Flavor, StringRef Group); private: - /// \brief Classify the specified diagnostic ID into a Level, consumable by + /// Classify the specified diagnostic ID into a Level, consumable by /// the DiagnosticClient. /// /// The classification is based on the way the client configured the @@ -320,17 +320,17 @@ private: getDiagnosticSeverity(unsigned DiagID, SourceLocation Loc, const DiagnosticsEngine &Diag) const LLVM_READONLY; - /// \brief Used to report a diagnostic that is finally fully formed. + /// Used to report a diagnostic that is finally fully formed. /// /// \returns \c true if the diagnostic was emitted, \c false if it was /// suppressed. bool ProcessDiag(DiagnosticsEngine &Diag) const; - /// \brief Used to emit a diagnostic that is finally fully formed, + /// Used to emit a diagnostic that is finally fully formed, /// ignoring suppression. void EmitDiag(DiagnosticsEngine &Diag, Level DiagLevel) const; - /// \brief Whether the diagnostic may leave the AST in a state where some + /// Whether the diagnostic may leave the AST in a state where some /// invariants can break. bool isUnrecoverable(unsigned DiagID) const; diff --git a/include/clang/Basic/DiagnosticOptions.h b/include/clang/Basic/DiagnosticOptions.h index 404d0c5aef..391e252ead 100644 --- a/include/clang/Basic/DiagnosticOptions.h +++ b/include/clang/Basic/DiagnosticOptions.h @@ -18,7 +18,7 @@ namespace clang { -/// \brief Specifies which overload candidates to display when overload +/// Specifies which overload candidates to display when overload /// resolution fails. enum OverloadsShown : unsigned { /// Show all overloads. @@ -28,7 +28,7 @@ enum OverloadsShown : unsigned { Ovl_Best }; -/// \brief A bitmask representing the diagnostic levels used by +/// A bitmask representing the diagnostic levels used by /// VerifyDiagnosticConsumer. enum class DiagnosticLevelMask : unsigned { None = 0, @@ -60,7 +60,7 @@ inline DiagnosticLevelMask operator&(DiagnosticLevelMask LHS, raw_ostream& operator<<(raw_ostream& Out, DiagnosticLevelMask M); -/// \brief Options for controlling the compiler diagnostics engine. +/// Options for controlling the compiler diagnostics engine. class DiagnosticOptions : public RefCountedBase<DiagnosticOptions>{ public: enum TextDiagnosticFormat { Clang, MSVC, Vi }; @@ -89,10 +89,10 @@ protected: #include "clang/Basic/DiagnosticOptions.def" public: - /// \brief The file to log diagnostic output to. + /// The file to log diagnostic output to. std::string DiagnosticLogFile; - /// \brief The file to serialize diagnostics to (non-appending). + /// The file to serialize diagnostics to (non-appending). std::string DiagnosticSerializationFile; /// The list of -W... options used to alter the diagnostic mappings, with the diff --git a/include/clang/Basic/ExceptionSpecificationType.h b/include/clang/Basic/ExceptionSpecificationType.h index ae89f802c0..0c2c8e6d86 100644 --- a/include/clang/Basic/ExceptionSpecificationType.h +++ b/include/clang/Basic/ExceptionSpecificationType.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the ExceptionSpecificationType enumeration and various +/// Defines the ExceptionSpecificationType enumeration and various /// utility functions. /// //===----------------------------------------------------------------------===// @@ -17,7 +17,7 @@ namespace clang { -/// \brief The various types of exception specifications that exist in C++11. +/// The various types of exception specifications that exist in C++11. enum ExceptionSpecificationType { EST_None, ///< no exception specification EST_DynamicNone, ///< throw() @@ -49,7 +49,7 @@ inline bool isUnresolvedExceptionSpec(ExceptionSpecificationType ESpecType) { return ESpecType == EST_Unevaluated || ESpecType == EST_Uninstantiated; } -/// \brief Possible results from evaluation of a noexcept expression. +/// Possible results from evaluation of a noexcept expression. enum CanThrowResult { CT_Cannot, CT_Dependent, diff --git a/include/clang/Basic/ExpressionTraits.h b/include/clang/Basic/ExpressionTraits.h index 0363a1d2c7..2983adde1e 100644 --- a/include/clang/Basic/ExpressionTraits.h +++ b/include/clang/Basic/ExpressionTraits.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines enumerations for expression traits intrinsics. +/// Defines enumerations for expression traits intrinsics. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/FileManager.h b/include/clang/Basic/FileManager.h index b817dd20c3..ea0ed39a8a 100644 --- a/include/clang/Basic/FileManager.h +++ b/include/clang/Basic/FileManager.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::FileManager interface and associated types. +/// Defines the clang::FileManager interface and associated types. /// //===----------------------------------------------------------------------===// @@ -40,7 +40,7 @@ namespace clang { class FileSystemStatCache; -/// \brief Cached information about one directory (either on disk or in +/// Cached information about one directory (either on disk or in /// the virtual file system). class DirectoryEntry { friend class FileManager; @@ -51,7 +51,7 @@ public: StringRef getName() const { return Name; } }; -/// \brief Cached information about one file (either on disk +/// Cached information about one file (either on disk /// or in the virtual file system). /// /// If the 'File' member is valid, then this FileEntry has an open file @@ -70,7 +70,7 @@ class FileEntry { bool InPCH; bool IsValid; // Is this \c FileEntry initialized and valid? - /// \brief The open file, if it is owned by the \p FileEntry. + /// The open file, if it is owned by the \p FileEntry. mutable std::unique_ptr<vfs::File> File; public: @@ -90,12 +90,12 @@ public: bool isInPCH() const { return InPCH; } time_t getModificationTime() const { return ModTime; } - /// \brief Return the directory the file lives in. + /// Return the directory the file lives in. const DirectoryEntry *getDir() const { return Dir; } bool operator<(const FileEntry &RHS) const { return UniqueID < RHS.UniqueID; } - /// \brief Check whether the file is a named pipe (and thus can't be opened by + /// Check whether the file is a named pipe (and thus can't be opened by /// the native FileManager methods). bool isNamedPipe() const { return IsNamedPipe; } @@ -106,7 +106,7 @@ public: struct FileData; -/// \brief Implements support for file system lookup, file system caching, +/// Implements support for file system lookup, file system caching, /// and directory search management. /// /// This also handles more advanced properties, such as uniquing files based @@ -117,21 +117,21 @@ class FileManager : public RefCountedBase<FileManager> { IntrusiveRefCntPtr<vfs::FileSystem> FS; FileSystemOptions FileSystemOpts; - /// \brief Cache for existing real directories. + /// Cache for existing real directories. std::map<llvm::sys::fs::UniqueID, DirectoryEntry> UniqueRealDirs; - /// \brief Cache for existing real files. + /// Cache for existing real files. std::map<llvm::sys::fs::UniqueID, FileEntry> UniqueRealFiles; - /// \brief The virtual directories that we have allocated. + /// The virtual directories that we have allocated. /// /// For each virtual file (e.g. foo/bar/baz.cpp), we add all of its parent /// directories (foo/ and foo/bar/) here. SmallVector<std::unique_ptr<DirectoryEntry>, 4> VirtualDirectoryEntries; - /// \brief The virtual files that we have allocated. + /// The virtual files that we have allocated. SmallVector<std::unique_ptr<FileEntry>, 4> VirtualFileEntries; - /// \brief A cache that maps paths to directory entries (either real or + /// A cache that maps paths to directory entries (either real or /// virtual) we have looked up /// /// The actual Entries for real directories/files are @@ -141,19 +141,19 @@ class FileManager : public RefCountedBase<FileManager> { /// llvm::StringMap<DirectoryEntry*, llvm::BumpPtrAllocator> SeenDirEntries; - /// \brief A cache that maps paths to file entries (either real or + /// A cache that maps paths to file entries (either real or /// virtual) we have looked up. /// /// \see SeenDirEntries llvm::StringMap<FileEntry*, llvm::BumpPtrAllocator> SeenFileEntries; - /// \brief The canonical names of directories. + /// The canonical names of directories. llvm::DenseMap<const DirectoryEntry *, llvm::StringRef> CanonicalDirNames; - /// \brief Storage for canonical names that we have computed. + /// Storage for canonical names that we have computed. llvm::BumpPtrAllocator CanonicalNameStorage; - /// \brief Each FileEntry we create is assigned a unique ID #. + /// Each FileEntry we create is assigned a unique ID #. /// unsigned NextFileUID; @@ -176,7 +176,7 @@ public: IntrusiveRefCntPtr<vfs::FileSystem> FS = nullptr); ~FileManager(); - /// \brief Installs the provided FileSystemStatCache object within + /// Installs the provided FileSystemStatCache object within /// the FileManager. /// /// Ownership of this object is transferred to the FileManager. @@ -190,13 +190,13 @@ public: void addStatCache(std::unique_ptr<FileSystemStatCache> statCache, bool AtBeginning = false); - /// \brief Removes the specified FileSystemStatCache object from the manager. + /// Removes the specified FileSystemStatCache object from the manager. void removeStatCache(FileSystemStatCache *statCache); - /// \brief Removes all FileSystemStatCache objects from the manager. + /// Removes all FileSystemStatCache objects from the manager. void clearStatCaches(); - /// \brief Lookup, cache, and verify the specified directory (real or + /// Lookup, cache, and verify the specified directory (real or /// virtual). /// /// This returns NULL if the directory doesn't exist. @@ -206,7 +206,7 @@ public: const DirectoryEntry *getDirectory(StringRef DirName, bool CacheFailure = true); - /// \brief Lookup, cache, and verify the specified file (real or + /// Lookup, cache, and verify the specified file (real or /// virtual). /// /// This returns NULL if the file doesn't exist. @@ -218,7 +218,7 @@ public: const FileEntry *getFile(StringRef Filename, bool OpenFile = false, bool CacheFailure = true); - /// \brief Returns the current file system options + /// Returns the current file system options FileSystemOptions &getFileSystemOpts() { return FileSystemOpts; } const FileSystemOptions &getFileSystemOpts() const { return FileSystemOpts; } @@ -226,14 +226,14 @@ public: return FS; } - /// \brief Retrieve a file entry for a "virtual" file that acts as + /// Retrieve a file entry for a "virtual" file that acts as /// if there were a file with the given name on disk. /// /// The file itself is not accessed. const FileEntry *getVirtualFile(StringRef Filename, off_t Size, time_t ModificationTime); - /// \brief Open the specified file as a MemoryBuffer, returning a new + /// Open the specified file as a MemoryBuffer, returning a new /// MemoryBuffer if successful, otherwise returning null. llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> getBufferForFile(const FileEntry *Entry, bool isVolatile = false, @@ -241,7 +241,7 @@ public: llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> getBufferForFile(StringRef Filename); - /// \brief Get the 'stat' information for the given \p Path. + /// Get the 'stat' information for the given \p Path. /// /// If the path is relative, it will be resolved against the WorkingDir of the /// FileManager's FileSystemOptions. @@ -250,10 +250,10 @@ public: bool getNoncachedStatValue(StringRef Path, vfs::Status &Result); - /// \brief Remove the real file \p Entry from the cache. + /// Remove the real file \p Entry from the cache. void invalidateCache(const FileEntry *Entry); - /// \brief If path is not absolute and FileSystemOptions set the working + /// If path is not absolute and FileSystemOptions set the working /// directory, the path is modified to be relative to the given /// working directory. /// \returns true if \c path changed. @@ -264,17 +264,17 @@ public: /// \returns true if \c Path changed to absolute. bool makeAbsolutePath(SmallVectorImpl<char> &Path) const; - /// \brief Produce an array mapping from the unique IDs assigned to each + /// Produce an array mapping from the unique IDs assigned to each /// file to the corresponding FileEntry pointer. void GetUniqueIDMapping( SmallVectorImpl<const FileEntry *> &UIDToFiles) const; - /// \brief Modifies the size and modification time of a previously created + /// Modifies the size and modification time of a previously created /// FileEntry. Use with caution. static void modifyFileEntry(FileEntry *File, off_t Size, time_t ModificationTime); - /// \brief Retrieve the canonical name for a given directory. + /// Retrieve the canonical name for a given directory. /// /// This is a very expensive operation, despite its results being cached, /// and should only be used when the physical layout of the file system is diff --git a/include/clang/Basic/FileSystemOptions.h b/include/clang/Basic/FileSystemOptions.h index 38f1346312..8b8b13bb56 100644 --- a/include/clang/Basic/FileSystemOptions.h +++ b/include/clang/Basic/FileSystemOptions.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::FileSystemOptions interface. +/// Defines the clang::FileSystemOptions interface. /// //===----------------------------------------------------------------------===// @@ -19,10 +19,10 @@ namespace clang { -/// \brief Keeps track of options that affect how file operations are performed. +/// Keeps track of options that affect how file operations are performed. class FileSystemOptions { public: - /// \brief If set, paths are resolved as if the working directory was + /// If set, paths are resolved as if the working directory was /// set to the value of WorkingDir. std::string WorkingDir; }; diff --git a/include/clang/Basic/FileSystemStatCache.h b/include/clang/Basic/FileSystemStatCache.h index 7bd2267232..45aded527c 100644 --- a/include/clang/Basic/FileSystemStatCache.h +++ b/include/clang/Basic/FileSystemStatCache.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the FileSystemStatCache interface. +/// Defines the FileSystemStatCache interface. // //===----------------------------------------------------------------------===// @@ -51,7 +51,7 @@ struct FileData { FileData() = default; }; -/// \brief Abstract interface for introducing a FileManager cache for 'stat' +/// Abstract interface for introducing a FileManager cache for 'stat' /// system calls, which is used by precompiled and pretokenized headers to /// improve performance. class FileSystemStatCache { @@ -71,7 +71,7 @@ public: CacheMissing }; - /// \brief Get the 'stat' information for the specified path, using the cache + /// Get the 'stat' information for the specified path, using the cache /// to accelerate it if possible. /// /// \returns \c true if the path does not exist or \c false if it exists. @@ -85,16 +85,16 @@ public: std::unique_ptr<vfs::File> *F, FileSystemStatCache *Cache, vfs::FileSystem &FS); - /// \brief Sets the next stat call cache in the chain of stat caches. + /// Sets the next stat call cache in the chain of stat caches. /// Takes ownership of the given stat cache. void setNextStatCache(std::unique_ptr<FileSystemStatCache> Cache) { NextStatCache = std::move(Cache); } - /// \brief Retrieve the next stat call cache in the chain. + /// Retrieve the next stat call cache in the chain. FileSystemStatCache *getNextStatCache() { return NextStatCache.get(); } - /// \brief Retrieve the next stat call cache in the chain, transferring + /// Retrieve the next stat call cache in the chain, transferring /// ownership of this cache (and, transitively, all of the remaining caches) /// to the caller. std::unique_ptr<FileSystemStatCache> takeNextStatCache() { @@ -120,12 +120,12 @@ protected: } }; -/// \brief A stat "cache" that can be used by FileManager to keep +/// A stat "cache" that can be used by FileManager to keep /// track of the results of stat() calls that occur throughout the /// execution of the front end. class MemorizeStatCalls : public FileSystemStatCache { public: - /// \brief The set of stat() calls that have been seen. + /// The set of stat() calls that have been seen. llvm::StringMap<FileData, llvm::BumpPtrAllocator> StatCalls; using iterator = diff --git a/include/clang/Basic/IdentifierTable.h b/include/clang/Basic/IdentifierTable.h index 4a03b926eb..10a0251453 100644 --- a/include/clang/Basic/IdentifierTable.h +++ b/include/clang/Basic/IdentifierTable.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::IdentifierInfo, clang::IdentifierTable, and +/// Defines the clang::IdentifierInfo, clang::IdentifierTable, and /// clang::Selector interfaces. // //===----------------------------------------------------------------------===// @@ -39,7 +39,7 @@ class LangOptions; class MultiKeywordSelector; class SourceLocation; -/// \brief A simple pair of identifier info and location. +/// A simple pair of identifier info and location. using IdentifierLocPair = std::pair<IdentifierInfo *, SourceLocation>; /// One of these records is kept for each identifier that @@ -89,7 +89,7 @@ public: IdentifierInfo(const IdentifierInfo &) = delete; IdentifierInfo &operator=(const IdentifierInfo &) = delete; - /// \brief Return true if this is the identifier for the specified string. + /// Return true if this is the identifier for the specified string. /// /// This is intended to be used for string literals only: II->isStr("foo"). template <std::size_t StrLen> @@ -98,13 +98,13 @@ public: memcmp(getNameStart(), Str, StrLen-1) == 0; } - /// \brief Return true if this is the identifier for the specified StringRef. + /// Return true if this is the identifier for the specified StringRef. bool isStr(llvm::StringRef Str) const { llvm::StringRef ThisStr(getNameStart(), getLength()); return ThisStr == Str; } - /// \brief Return the beginning of the actual null-terminated string for this + /// Return the beginning of the actual null-terminated string for this /// identifier. const char *getNameStart() const { if (Entry) return Entry->getKeyData(); @@ -118,7 +118,7 @@ public: return ((const actualtype*) this)->second; } - /// \brief Efficiently return the length of this identifier info. + /// Efficiently return the length of this identifier info. unsigned getLength() const { if (Entry) return Entry->getKeyLength(); // FIXME: This is gross. It would be best not to embed specific details @@ -132,12 +132,12 @@ public: return (((unsigned) p[0]) | (((unsigned) p[1]) << 8)) - 1; } - /// \brief Return the actual identifier string. + /// Return the actual identifier string. StringRef getName() const { return StringRef(getNameStart(), getLength()); } - /// \brief Return true if this identifier is \#defined to some other value. + /// Return true if this identifier is \#defined to some other value. /// \note The current definition may be in a module and not currently visible. bool hasMacroDefinition() const { return HasMacro; @@ -153,7 +153,7 @@ public: RecomputeNeedsHandleIdentifier(); } } - /// \brief Returns true if this identifier was \#defined to some value at any + /// Returns true if this identifier was \#defined to some value at any /// moment. In this case there should be an entry for the identifier in the /// macro history table in Preprocessor. bool hadMacroDefinition() const { @@ -165,10 +165,10 @@ public: /// tokens. tok::TokenKind getTokenID() const { return (tok::TokenKind)TokenID; } - /// \brief True if revertTokenIDToIdentifier() was called. + /// True if revertTokenIDToIdentifier() was called. bool hasRevertedTokenIDToIdentifier() const { return RevertedTokenID; } - /// \brief Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2 + /// Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2 /// compatibility. /// /// TokenID is normally read-only but there are 2 instances where we revert it @@ -185,12 +185,12 @@ public: RevertedTokenID = false; } - /// \brief Return the preprocessor keyword ID for this identifier. + /// Return the preprocessor keyword ID for this identifier. /// /// For example, "define" will return tok::pp_define. tok::PPKeywordKind getPPKeywordID() const; - /// \brief Return the Objective-C keyword ID for the this identifier. + /// Return the Objective-C keyword ID for the this identifier. /// /// For example, 'class' will return tok::objc_class if ObjC is enabled. tok::ObjCKeywordKind getObjCKeywordID() const { @@ -201,19 +201,19 @@ public: } void setObjCKeywordID(tok::ObjCKeywordKind ID) { ObjCOrBuiltinID = ID; } - /// \brief True if setNotBuiltin() was called. + /// True if setNotBuiltin() was called. bool hasRevertedBuiltin() const { return ObjCOrBuiltinID == tok::NUM_OBJC_KEYWORDS; } - /// \brief Revert the identifier to a non-builtin identifier. We do this if + /// Revert the identifier to a non-builtin identifier. We do this if /// the name of a known builtin library function is used to declare that /// function, but an unexpected type is specified. void revertBuiltin() { setBuiltinID(0); } - /// \brief Return a value indicating whether this is a builtin function. + /// Return a value indicating whether this is a builtin function. /// /// 0 is not-built-in. 1+ are specific builtin functions. unsigned getBuiltinID() const { @@ -267,7 +267,7 @@ public: RecomputeNeedsHandleIdentifier(); } - /// \brief Return true if this token has been poisoned. + /// Return true if this token has been poisoned. bool isPoisoned() const { return IsPoisoned; } /// isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether @@ -277,10 +277,10 @@ public: } bool isCPlusPlusOperatorKeyword() const { return IsCPPOperatorKeyword; } - /// \brief Return true if this token is a keyword in the specified language. + /// Return true if this token is a keyword in the specified language. bool isKeyword(const LangOptions &LangOpts) const; - /// \brief Return true if this token is a C++ keyword in the specified + /// Return true if this token is a C++ keyword in the specified /// language. bool isCPlusPlusKeyword(const LangOptions &LangOpts) const; @@ -290,48 +290,48 @@ public: T *getFETokenInfo() const { return static_cast<T*>(FETokenInfo); } void setFETokenInfo(void *T) { FETokenInfo = T; } - /// \brief Return true if the Preprocessor::HandleIdentifier must be called + /// Return true if the Preprocessor::HandleIdentifier must be called /// on a token of this identifier. /// /// If this returns false, we know that HandleIdentifier will not affect /// the token. bool isHandleIdentifierCase() const { return NeedsHandleIdentifier; } - /// \brief Return true if the identifier in its current state was loaded + /// Return true if the identifier in its current state was loaded /// from an AST file. bool isFromAST() const { return IsFromAST; } void setIsFromAST() { IsFromAST = true; } - /// \brief Determine whether this identifier has changed since it was loaded + /// Determine whether this identifier has changed since it was loaded /// from an AST file. bool hasChangedSinceDeserialization() const { return ChangedAfterLoad; } - /// \brief Note that this identifier has changed since it was loaded from + /// Note that this identifier has changed since it was loaded from /// an AST file. void setChangedSinceDeserialization() { ChangedAfterLoad = true; } - /// \brief Determine whether the frontend token information for this + /// Determine whether the frontend token information for this /// identifier has changed since it was loaded from an AST file. bool hasFETokenInfoChangedSinceDeserialization() const { return FEChangedAfterLoad; } - /// \brief Note that the frontend token information for this identifier has + /// Note that the frontend token information for this identifier has /// changed since it was loaded from an AST file. void setFETokenInfoChangedSinceDeserialization() { FEChangedAfterLoad = true; } - /// \brief Determine whether the information for this identifier is out of + /// Determine whether the information for this identifier is out of /// date with respect to the external source. bool isOutOfDate() const { return OutOfDate; } - /// \brief Set whether the information for this identifier is out of + /// Set whether the information for this identifier is out of /// date with respect to the external source. void setOutOfDate(bool OOD) { OutOfDate = OOD; @@ -341,10 +341,10 @@ public: RecomputeNeedsHandleIdentifier(); } - /// \brief Determine whether this is the contextual keyword \c import. + /// Determine whether this is the contextual keyword \c import. bool isModulesImport() const { return IsModulesImport; } - /// \brief Set whether this identifier is the contextual keyword \c import. + /// Set whether this identifier is the contextual keyword \c import. void setModulesImport(bool I) { IsModulesImport = I; if (I) @@ -366,7 +366,7 @@ public: return getName().startswith("<#") && getName().endswith("#>"); } - /// \brief Provide less than operator for lexicographical sorting. + /// Provide less than operator for lexicographical sorting. bool operator<(const IdentifierInfo &RHS) const { return getName() < RHS.getName(); } @@ -385,7 +385,7 @@ private: } }; -/// \brief An RAII object for [un]poisoning an identifier within a scope. +/// An RAII object for [un]poisoning an identifier within a scope. /// /// \p II is allowed to be null, in which case objects of this type have /// no effect. @@ -406,7 +406,7 @@ public: } }; -/// \brief An iterator that walks over all of the known identifiers +/// An iterator that walks over all of the known identifiers /// in the lookup table. /// /// Since this iterator uses an abstract interface via virtual @@ -426,7 +426,7 @@ public: virtual ~IdentifierIterator(); - /// \brief Retrieve the next string in the identifier table and + /// Retrieve the next string in the identifier table and /// advances the iterator for the following string. /// /// \returns The next string in the identifier table. If there is @@ -434,19 +434,19 @@ public: virtual StringRef Next() = 0; }; -/// \brief Provides lookups to, and iteration over, IdentiferInfo objects. +/// Provides lookups to, and iteration over, IdentiferInfo objects. class IdentifierInfoLookup { public: virtual ~IdentifierInfoLookup(); - /// \brief Return the IdentifierInfo for the specified named identifier. + /// Return the IdentifierInfo for the specified named identifier. /// /// Unlike the version in IdentifierTable, this returns a pointer instead /// of a reference. If the pointer is null then the IdentifierInfo cannot /// be found. virtual IdentifierInfo* get(StringRef Name) = 0; - /// \brief Retrieve an iterator into the set of all identifiers + /// Retrieve an iterator into the set of all identifiers /// known to this identifier lookup source. /// /// This routine provides access to all of the identifiers known to @@ -459,7 +459,7 @@ public: virtual IdentifierIterator *getIdentifiers(); }; -/// \brief Implements an efficient mapping from strings to IdentifierInfo nodes. +/// Implements an efficient mapping from strings to IdentifierInfo nodes. /// /// This has no other purpose, but this is an extremely performance-critical /// piece of the code, as each occurrence of every identifier goes through @@ -473,20 +473,20 @@ class IdentifierTable { IdentifierInfoLookup* ExternalLookup; public: - /// \brief Create the identifier table. + /// Create the identifier table. explicit IdentifierTable(IdentifierInfoLookup *ExternalLookup = nullptr); - /// \brief Create the identifier table, populating it with info about the + /// Create the identifier table, populating it with info about the /// language keywords for the language specified by \p LangOpts. explicit IdentifierTable(const LangOptions &LangOpts, IdentifierInfoLookup *ExternalLookup = nullptr); - /// \brief Set the external identifier lookup mechanism. + /// Set the external identifier lookup mechanism. void setExternalIdentifierLookup(IdentifierInfoLookup *IILookup) { ExternalLookup = IILookup; } - /// \brief Retrieve the external identifier lookup object, if any. + /// Retrieve the external identifier lookup object, if any. IdentifierInfoLookup *getExternalIdentifierLookup() const { return ExternalLookup; } @@ -495,7 +495,7 @@ public: return HashTable.getAllocator(); } - /// \brief Return the identifier token info for the specified named + /// Return the identifier token info for the specified named /// identifier. IdentifierInfo &get(StringRef Name) { auto &Entry = *HashTable.insert(std::make_pair(Name, nullptr)).first; @@ -528,7 +528,7 @@ public: return II; } - /// \brief Gets an IdentifierInfo for the given name without consulting + /// Gets an IdentifierInfo for the given name without consulting /// external sources. /// /// This is a version of get() meant for external sources that want to @@ -563,16 +563,16 @@ public: iterator end() const { return HashTable.end(); } unsigned size() const { return HashTable.size(); } - /// \brief Print some statistics to stderr that indicate how well the + /// Print some statistics to stderr that indicate how well the /// hashing is doing. void PrintStats() const; - /// \brief Populate the identifier table with info about the language keywords + /// Populate the identifier table with info about the language keywords /// for the language specified by \p LangOpts. void AddKeywords(const LangOptions &LangOpts); }; -/// \brief A family of Objective-C methods. +/// A family of Objective-C methods. /// /// These families have no inherent meaning in the language, but are /// nonetheless central enough in the existing implementations to @@ -590,7 +590,7 @@ public: /// explicitly change or remove a method's family. Therefore the /// method's family should be considered the single source of truth. enum ObjCMethodFamily { - /// \brief No particular method family. + /// No particular method family. OMF_None, // Selectors in these families may have arbitrary arity, may be @@ -622,10 +622,10 @@ enum ObjCMethodFamily { /// InvalidObjCMethodFamily. enum { ObjCMethodFamilyBitWidth = 4 }; -/// \brief An invalid value of ObjCMethodFamily. +/// An invalid value of ObjCMethodFamily. enum { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }; -/// \brief A family of Objective-C methods. +/// A family of Objective-C methods. /// /// These are family of methods whose result type is initially 'id', but /// but are candidate for the result type to be changed to 'instancetype'. @@ -644,7 +644,7 @@ enum ObjCStringFormatFamily { SFF_CFString }; -/// \brief Smart pointer class that efficiently represents Objective-C method +/// Smart pointer class that efficiently represents Objective-C method /// names. /// /// This class will either point to an IdentifierInfo or a @@ -717,7 +717,7 @@ public: return reinterpret_cast<void*>(InfoPtr); } - /// \brief Determine whether this is the empty selector. + /// Determine whether this is the empty selector. bool isNull() const { return InfoPtr == 0; } // Predicates to identify the selector type. @@ -731,7 +731,7 @@ public: unsigned getNumArgs() const; - /// \brief Retrieve the identifier at a given position in the selector. + /// Retrieve the identifier at a given position in the selector. /// /// Note that the identifier pointer returned may be NULL. Clients that only /// care about the text of the identifier string, and not the specific, @@ -746,7 +746,7 @@ public: /// no corresponding identifier. IdentifierInfo *getIdentifierInfoForSlot(unsigned argIndex) const; - /// \brief Retrieve the name at a given position in the selector. + /// Retrieve the name at a given position in the selector. /// /// \param argIndex The index for which we want to retrieve the name. /// This index shall be less than \c getNumArgs() unless this is a keyword @@ -756,14 +756,14 @@ public: /// name was supplied. StringRef getNameForSlot(unsigned argIndex) const; - /// \brief Derive the full selector name (e.g. "foo:bar:") and return + /// Derive the full selector name (e.g. "foo:bar:") and return /// it as an std::string. std::string getAsString() const; - /// \brief Prints the full selector name (e.g. "foo:bar:"). + /// Prints the full selector name (e.g. "foo:bar:"). void print(llvm::raw_ostream &OS) const; - /// \brief Derive the conventional family of this method. + /// Derive the conventional family of this method. ObjCMethodFamily getMethodFamily() const { return getMethodFamilyImpl(*this); } @@ -783,7 +783,7 @@ public: static ObjCInstanceTypeFamily getInstTypeMethodFamily(Selector sel); }; -/// \brief This table allows us to fully hide how we implement +/// This table allows us to fully hide how we implement /// multi-keyword caching. class SelectorTable { // Actually a SelectorTableImpl @@ -795,7 +795,7 @@ public: SelectorTable &operator=(const SelectorTable &) = delete; ~SelectorTable(); - /// \brief Can create any sort of selector. + /// Can create any sort of selector. /// /// \p NumArgs indicates whether this is a no argument selector "foo", a /// single argument selector "foo:" or multi-argument "foo:bar:". @@ -809,16 +809,16 @@ public: return Selector(ID, 0); } - /// \brief Return the total amount of memory allocated for managing selectors. + /// Return the total amount of memory allocated for managing selectors. size_t getTotalMemory() const; - /// \brief Return the default setter name for the given identifier. + /// Return the default setter name for the given identifier. /// /// This is "set" + \p Name where the initial character of \p Name /// has been capitalized. static SmallString<64> constructSetterName(StringRef Name); - /// \brief Return the default setter selector for the given identifier. + /// Return the default setter selector for the given identifier. /// /// This is "set" + \p Name where the initial character of \p Name /// has been capitalized. diff --git a/include/clang/Basic/LLVM.h b/include/clang/Basic/LLVM.h index e60284d1b4..885fba6afb 100644 --- a/include/clang/Basic/LLVM.h +++ b/include/clang/Basic/LLVM.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Forward-declares and imports various common LLVM datatypes that +/// Forward-declares and imports various common LLVM datatypes that /// clang wants to use unqualified. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/Lambda.h b/include/clang/Basic/Lambda.h index 1c19f1dcc8..675854e67e 100644 --- a/include/clang/Basic/Lambda.h +++ b/include/clang/Basic/Lambda.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines several types used to describe C++ lambda expressions +/// Defines several types used to describe C++ lambda expressions /// that are shared between the parser and AST. /// //===----------------------------------------------------------------------===// @@ -19,14 +19,14 @@ namespace clang { -/// \brief The default, if any, capture method for a lambda expression. +/// The default, if any, capture method for a lambda expression. enum LambdaCaptureDefault { LCD_None, LCD_ByCopy, LCD_ByRef }; -/// \brief The different capture forms in a lambda introducer +/// The different capture forms in a lambda introducer /// /// C++11 allows capture of \c this, or of local variables by copy or /// by reference. C++1y also allows "init-capture", where the initializer diff --git a/include/clang/Basic/LangOptions.def b/include/clang/Basic/LangOptions.def index 06608dda76..654b755f67 100644 --- a/include/clang/Basic/LangOptions.def +++ b/include/clang/Basic/LangOptions.def @@ -233,7 +233,7 @@ BENIGN_LANGOPT(DebuggerObjCLiteral , 1, 0, "debugger Objective-C literals and su BENIGN_LANGOPT(SpellChecking , 1, 1, "spell-checking") LANGOPT(SinglePrecisionConstants , 1, 0, "treating double-precision floating point constants as single precision constants") LANGOPT(FastRelaxedMath , 1, 0, "OpenCL fast relaxed math") -/// \brief FP_CONTRACT mode (on/off/fast). +/// FP_CONTRACT mode (on/off/fast). ENUM_LANGOPT(DefaultFPContractMode, FPContractModeKind, 2, FPC_Off, "FP contraction type") LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment") LANGOPT(HexagonQdsp6Compat , 1, 0, "hexagon-qdsp6 backward compatibility") diff --git a/include/clang/Basic/LangOptions.h b/include/clang/Basic/LangOptions.h index 4ebfc8c346..f3a6292e5a 100644 --- a/include/clang/Basic/LangOptions.h +++ b/include/clang/Basic/LangOptions.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::LangOptions interface. +/// Defines the clang::LangOptions interface. // //===----------------------------------------------------------------------===// @@ -45,7 +45,7 @@ protected: #include "clang/Basic/LangOptions.def" }; -/// \brief Keeps track of the various options that can be +/// Keeps track of the various options that can be /// enabled, which controls the dialect of C or C++ that is accepted. class LangOptions : public LangOptionsBase { public: @@ -138,26 +138,26 @@ public: }; public: - /// \brief Set of enabled sanitizers. + /// Set of enabled sanitizers. SanitizerSet Sanitize; - /// \brief Paths to blacklist files specifying which objects + /// Paths to blacklist files specifying which objects /// (files, functions, variables) should not be instrumented. std::vector<std::string> SanitizerBlacklistFiles; - /// \brief Paths to the XRay "always instrument" files specifying which + /// Paths to the XRay "always instrument" files specifying which /// objects (files, functions, variables) should be imbued with the XRay /// "always instrument" attribute. /// WARNING: This is a deprecated field and will go away in the future. std::vector<std::string> XRayAlwaysInstrumentFiles; - /// \brief Paths to the XRay "never instrument" files specifying which + /// Paths to the XRay "never instrument" files specifying which /// objects (files, functions, variables) should be imbued with the XRay /// "never instrument" attribute. /// WARNING: This is a deprecated field and will go away in the future. std::vector<std::string> XRayNeverInstrumentFiles; - /// \brief Paths to the XRay attribute list files, specifying which objects + /// Paths to the XRay attribute list files, specifying which objects /// (files, functions, variables) should be imbued with the appropriate XRay /// attribute(s). std::vector<std::string> XRayAttrListFiles; @@ -166,7 +166,7 @@ public: std::string ObjCConstantStringClass; - /// \brief The name of the handler function to be called when -ftrapv is + /// The name of the handler function to be called when -ftrapv is /// specified. /// /// If none is specified, abort (GCC-compatible behaviour). @@ -175,34 +175,34 @@ public: /// The module currently being compiled as speficied by -fmodule-name. std::string ModuleName; - /// \brief The name of the current module, of which the main source file + /// The name of the current module, of which the main source file /// is a part. If CompilingModule is set, we are compiling the interface /// of this module, otherwise we are compiling an implementation file of /// it. This starts as ModuleName in case -fmodule-name is provided and /// changes during compilation to reflect the current module. std::string CurrentModule; - /// \brief The names of any features to enable in module 'requires' decls + /// The names of any features to enable in module 'requires' decls /// in addition to the hard-coded list in Module.cpp and the target features. /// /// This list is sorted. std::vector<std::string> ModuleFeatures; - /// \brief Options for parsing comments. + /// Options for parsing comments. CommentOptions CommentOpts; - /// \brief A list of all -fno-builtin-* function names (e.g., memset). + /// A list of all -fno-builtin-* function names (e.g., memset). std::vector<std::string> NoBuiltinFuncs; - /// \brief Triples of the OpenMP targets that the host code codegen should + /// Triples of the OpenMP targets that the host code codegen should /// take into account in order to generate accurate offloading descriptors. std::vector<llvm::Triple> OMPTargetTriples; - /// \brief Name of the IR file that contains the result of the OpenMP target + /// Name of the IR file that contains the result of the OpenMP target /// host code generation. std::string OMPHostIRFile; - /// \brief Indicates whether the front-end is explicitly told that the + /// Indicates whether the front-end is explicitly told that the /// input is a header file (i.e. -x c-header). bool IsHeaderFile = false; @@ -238,15 +238,15 @@ public: return MSCompatibilityVersion >= MajorVersion * 10000000U; } - /// \brief Reset all of the options that are not considered when building a + /// Reset all of the options that are not considered when building a /// module. void resetNonModularOptions(); - /// \brief Is this a libc/libm function that is no longer recognized as a + /// Is this a libc/libm function that is no longer recognized as a /// builtin because a -fno-builtin-* option has been specified? bool isNoBuiltinFunc(StringRef Name) const; - /// \brief True if any ObjC types may have non-trivial lifetime qualifiers. + /// True if any ObjC types may have non-trivial lifetime qualifiers. bool allowsNonTrivialObjCLifetimeQualifiers() const { return ObjCAutoRefCount || ObjCWeak; } @@ -255,11 +255,11 @@ public: return (CUDA && CUDAIsDevice) || OpenCL; } - /// \brief Return the OpenCL C or C++ version as a VersionTuple. + /// Return the OpenCL C or C++ version as a VersionTuple. VersionTuple getOpenCLVersionTuple() const; }; -/// \brief Floating point control options +/// Floating point control options class FPOptions { public: FPOptions() : fp_contract(LangOptions::FPC_Off) {} @@ -297,16 +297,16 @@ private: unsigned fp_contract : 2; }; -/// \brief Describes the kind of translation unit being processed. +/// Describes the kind of translation unit being processed. enum TranslationUnitKind { - /// \brief The translation unit is a complete translation unit. + /// The translation unit is a complete translation unit. TU_Complete, - /// \brief The translation unit is a prefix to a translation unit, and is + /// The translation unit is a prefix to a translation unit, and is /// not complete. TU_Prefix, - /// \brief The translation unit is a module. + /// The translation unit is a module. TU_Module }; diff --git a/include/clang/Basic/Linkage.h b/include/clang/Basic/Linkage.h index adf1d08954..94dcfd445b 100644 --- a/include/clang/Basic/Linkage.h +++ b/include/clang/Basic/Linkage.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the Linkage enumeration and various utility functions. +/// Defines the Linkage enumeration and various utility functions. // //===----------------------------------------------------------------------===// @@ -19,19 +19,19 @@ namespace clang { -/// \brief Describes the different kinds of linkage +/// Describes the different kinds of linkage /// (C++ [basic.link], C99 6.2.2) that an entity may have. enum Linkage : unsigned char { - /// \brief No linkage, which means that the entity is unique and + /// No linkage, which means that the entity is unique and /// can only be referred to from within its scope. NoLinkage = 0, - /// \brief Internal linkage, which indicates that the entity can + /// Internal linkage, which indicates that the entity can /// be referred to from within the translation unit (but not other /// translation units). InternalLinkage, - /// \brief External linkage within a unique namespace. + /// External linkage within a unique namespace. /// /// From the language perspective, these entities have external /// linkage. However, since they reside in an anonymous namespace, @@ -40,27 +40,27 @@ enum Linkage : unsigned char { /// point of view. UniqueExternalLinkage, - /// \brief No linkage according to the standard, but is visible from other + /// No linkage according to the standard, but is visible from other /// translation units because of types defined in a inline function. VisibleNoLinkage, - /// \brief Internal linkage according to the Modules TS, but can be referred + /// Internal linkage according to the Modules TS, but can be referred /// to from other translation units indirectly through inline functions and /// templates in the module interface. ModuleInternalLinkage, - /// \brief Module linkage, which indicates that the entity can be referred + /// Module linkage, which indicates that the entity can be referred /// to from other translation units within the same module, and indirectly /// from arbitrary other translation units through inline functions and /// templates in the module interface. ModuleLinkage, - /// \brief External linkage, which indicates that the entity can + /// External linkage, which indicates that the entity can /// be referred to from other translation units. ExternalLinkage }; -/// \brief Describes the different kinds of language linkage +/// Describes the different kinds of language linkage /// (C++ [dcl.link]) that an entity may have. enum LanguageLinkage { CLanguageLinkage, @@ -68,7 +68,7 @@ enum LanguageLinkage { NoLanguageLinkage }; -/// \brief A more specific kind of linkage than enum Linkage. +/// A more specific kind of linkage than enum Linkage. /// /// This is relevant to CodeGen and AST file reading. enum GVALinkage { @@ -104,7 +104,7 @@ inline bool isExternalFormalLinkage(Linkage L) { return getFormalLinkage(L) == ExternalLinkage; } -/// \brief Compute the minimum linkage given two linkages. +/// Compute the minimum linkage given two linkages. /// /// The linkage can be interpreted as a pair formed by the formal linkage and /// a boolean for external visibility. This is just what getFormalLinkage and diff --git a/include/clang/Basic/MacroBuilder.h b/include/clang/Basic/MacroBuilder.h index 9a9eaa2498..b2edc972fe 100644 --- a/include/clang/Basic/MacroBuilder.h +++ b/include/clang/Basic/MacroBuilder.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::MacroBuilder utility class. +/// Defines the clang::MacroBuilder utility class. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/Module.h b/include/clang/Basic/Module.h index 515e9b7fb4..4aebda1887 100644 --- a/include/clang/Basic/Module.h +++ b/include/clang/Basic/Module.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::Module class, which describes a module in the +/// Defines the clang::Module class, which describes a module in the /// source code. // //===----------------------------------------------------------------------===// @@ -48,7 +48,7 @@ namespace clang { class LangOptions; class TargetInfo; -/// \brief Describes the name of a module. +/// Describes the name of a module. using ModuleId = SmallVector<std::pair<std::string, SourceLocation>, 2>; /// The signature of a module, which is a hash of the AST content. @@ -61,76 +61,76 @@ struct ASTFileSignature : std::array<uint32_t, 5> { } }; -/// \brief Describes a module or submodule. +/// Describes a module or submodule. class Module { public: - /// \brief The name of this module. + /// The name of this module. std::string Name; - /// \brief The location of the module definition. + /// The location of the module definition. SourceLocation DefinitionLoc; enum ModuleKind { - /// \brief This is a module that was defined by a module map and built out + /// This is a module that was defined by a module map and built out /// of header files. ModuleMapModule, - /// \brief This is a C++ Modules TS module interface unit. + /// This is a C++ Modules TS module interface unit. ModuleInterfaceUnit, - /// \brief This is a fragment of the global module within some C++ Modules + /// This is a fragment of the global module within some C++ Modules /// TS module. GlobalModuleFragment, }; - /// \brief The kind of this module. + /// The kind of this module. ModuleKind Kind = ModuleMapModule; - /// \brief The parent of this module. This will be NULL for the top-level + /// The parent of this module. This will be NULL for the top-level /// module. Module *Parent; - /// \brief The build directory of this module. This is the directory in + /// The build directory of this module. This is the directory in /// which the module is notionally built, and relative to which its headers /// are found. const DirectoryEntry *Directory = nullptr; - /// \brief The presumed file name for the module map defining this module. + /// The presumed file name for the module map defining this module. /// Only non-empty when building from preprocessed source. std::string PresumedModuleMapFile; - /// \brief The umbrella header or directory. + /// The umbrella header or directory. llvm::PointerUnion<const DirectoryEntry *, const FileEntry *> Umbrella; - /// \brief The module signature. + /// The module signature. ASTFileSignature Signature; - /// \brief The name of the umbrella entry, as written in the module map. + /// The name of the umbrella entry, as written in the module map. std::string UmbrellaAsWritten; - /// \brief The module through which entities defined in this module will + /// The module through which entities defined in this module will /// eventually be exposed, for use in "private" modules. std::string ExportAsModule; private: - /// \brief The submodules of this module, indexed by name. + /// The submodules of this module, indexed by name. std::vector<Module *> SubModules; - /// \brief A mapping from the submodule name to the index into the + /// A mapping from the submodule name to the index into the /// \c SubModules vector at which that submodule resides. llvm::StringMap<unsigned> SubModuleIndex; - /// \brief The AST file if this is a top-level module which has a + /// The AST file if this is a top-level module which has a /// corresponding serialized AST file, or null otherwise. const FileEntry *ASTFile = nullptr; - /// \brief The top-level headers associated with this module. + /// The top-level headers associated with this module. llvm::SmallSetVector<const FileEntry *, 2> TopHeaders; - /// \brief top-level header filenames that aren't resolved to FileEntries yet. + /// top-level header filenames that aren't resolved to FileEntries yet. std::vector<std::string> TopHeaderNames; - /// \brief Cache of modules visible to lookup in this module. + /// Cache of modules visible to lookup in this module. mutable llvm::DenseSet<const Module*> VisibleModulesCache; /// The ID used when referencing this module within a VisibleModuleSet. @@ -146,7 +146,7 @@ public: }; static const int NumHeaderKinds = HK_Excluded + 1; - /// \brief Information about a header directive as found in the module map + /// Information about a header directive as found in the module map /// file. struct Header { std::string NameAsWritten; @@ -155,7 +155,7 @@ public: explicit operator bool() { return Entry; } }; - /// \brief Information about a directory name as found in the module map + /// Information about a directory name as found in the module map /// file. struct DirectoryName { std::string NameAsWritten; @@ -164,10 +164,10 @@ public: explicit operator bool() { return Entry; } }; - /// \brief The headers that are part of this module. + /// The headers that are part of this module. SmallVector<Header, 2> Headers[5]; - /// \brief Stored information about a header directive that was found in the + /// Stored information about a header directive that was found in the /// module map file but has not been resolved to a file. struct UnresolvedHeaderDirective { HeaderKind Kind = HK_Normal; @@ -183,155 +183,155 @@ public: /// yet attempted to resolve to a file on the file system. SmallVector<UnresolvedHeaderDirective, 1> UnresolvedHeaders; - /// \brief Headers that are mentioned in the module map file but could not be + /// Headers that are mentioned in the module map file but could not be /// found on the file system. SmallVector<UnresolvedHeaderDirective, 1> MissingHeaders; - /// \brief An individual requirement: a feature name and a flag indicating + /// An individual requirement: a feature name and a flag indicating /// the required state of that feature. using Requirement = std::pair<std::string, bool>; - /// \brief The set of language features required to use this module. + /// The set of language features required to use this module. /// /// If any of these requirements are not available, the \c IsAvailable bit /// will be false to indicate that this (sub)module is not available. SmallVector<Requirement, 2> Requirements; - /// \brief A module with the same name that shadows this module. + /// A module with the same name that shadows this module. Module *ShadowingModule = nullptr; - /// \brief Whether this module is missing a feature from \c Requirements. + /// Whether this module is missing a feature from \c Requirements. unsigned IsMissingRequirement : 1; - /// \brief Whether we tried and failed to load a module file for this module. + /// Whether we tried and failed to load a module file for this module. unsigned HasIncompatibleModuleFile : 1; - /// \brief Whether this module is available in the current translation unit. + /// Whether this module is available in the current translation unit. /// /// If the module is missing headers or does not meet all requirements then /// this bit will be 0. unsigned IsAvailable : 1; - /// \brief Whether this module was loaded from a module file. + /// Whether this module was loaded from a module file. unsigned IsFromModuleFile : 1; - /// \brief Whether this is a framework module. + /// Whether this is a framework module. unsigned IsFramework : 1; - /// \brief Whether this is an explicit submodule. + /// Whether this is an explicit submodule. unsigned IsExplicit : 1; - /// \brief Whether this is a "system" module (which assumes that all + /// Whether this is a "system" module (which assumes that all /// headers in it are system headers). unsigned IsSystem : 1; - /// \brief Whether this is an 'extern "C"' module (which implicitly puts all + /// Whether this is an 'extern "C"' module (which implicitly puts all /// headers in it within an 'extern "C"' block, and allows the module to be /// imported within such a block). unsigned IsExternC : 1; - /// \brief Whether this is an inferred submodule (module * { ... }). + /// Whether this is an inferred submodule (module * { ... }). unsigned IsInferred : 1; - /// \brief Whether we should infer submodules for this module based on + /// Whether we should infer submodules for this module based on /// the headers. /// /// Submodules can only be inferred for modules with an umbrella header. unsigned InferSubmodules : 1; - /// \brief Whether, when inferring submodules, the inferred submodules + /// Whether, when inferring submodules, the inferred submodules /// should be explicit. unsigned InferExplicitSubmodules : 1; - /// \brief Whether, when inferring submodules, the inferr submodules should + /// Whether, when inferring submodules, the inferr submodules should /// export all modules they import (e.g., the equivalent of "export *"). unsigned InferExportWildcard : 1; - /// \brief Whether the set of configuration macros is exhaustive. + /// Whether the set of configuration macros is exhaustive. /// /// When the set of configuration macros is exhaustive, meaning /// that no identifier not in this list should affect how the module is /// built. unsigned ConfigMacrosExhaustive : 1; - /// \brief Whether files in this module can only include non-modular headers + /// Whether files in this module can only include non-modular headers /// and headers from used modules. unsigned NoUndeclaredIncludes : 1; - /// \brief Whether this module came from a "private" module map, found next + /// Whether this module came from a "private" module map, found next /// to a regular (public) module map. unsigned ModuleMapIsPrivate : 1; - /// \brief Describes the visibility of the various names within a + /// Describes the visibility of the various names within a /// particular module. enum NameVisibilityKind { - /// \brief All of the names in this module are hidden. + /// All of the names in this module are hidden. Hidden, - /// \brief All of the names in this module are visible. + /// All of the names in this module are visible. AllVisible }; - /// \brief The visibility of names within this particular module. + /// The visibility of names within this particular module. NameVisibilityKind NameVisibility; - /// \brief The location of the inferred submodule. + /// The location of the inferred submodule. SourceLocation InferredSubmoduleLoc; - /// \brief The set of modules imported by this module, and on which this + /// The set of modules imported by this module, and on which this /// module depends. llvm::SmallSetVector<Module *, 2> Imports; - /// \brief Describes an exported module. + /// Describes an exported module. /// /// The pointer is the module being re-exported, while the bit will be true /// to indicate that this is a wildcard export. using ExportDecl = llvm::PointerIntPair<Module *, 1, bool>; - /// \brief The set of export declarations. + /// The set of export declarations. SmallVector<ExportDecl, 2> Exports; - /// \brief Describes an exported module that has not yet been resolved + /// Describes an exported module that has not yet been resolved /// (perhaps because the module it refers to has not yet been loaded). struct UnresolvedExportDecl { - /// \brief The location of the 'export' keyword in the module map file. + /// The location of the 'export' keyword in the module map file. SourceLocation ExportLoc; - /// \brief The name of the module. + /// The name of the module. ModuleId Id; - /// \brief Whether this export declaration ends in a wildcard, indicating + /// Whether this export declaration ends in a wildcard, indicating /// that all of its submodules should be exported (rather than the named /// module itself). bool Wildcard; }; - /// \brief The set of export declarations that have yet to be resolved. + /// The set of export declarations that have yet to be resolved. SmallVector<UnresolvedExportDecl, 2> UnresolvedExports; - /// \brief The directly used modules. + /// The directly used modules. SmallVector<Module *, 2> DirectUses; - /// \brief The set of use declarations that have yet to be resolved. + /// The set of use declarations that have yet to be resolved. SmallVector<ModuleId, 2> UnresolvedDirectUses; - /// \brief A library or framework to link against when an entity from this + /// A library or framework to link against when an entity from this /// module is used. struct LinkLibrary { LinkLibrary() = default; LinkLibrary(const std::string &Library, bool IsFramework) : Library(Library), IsFramework(IsFramework) {} - /// \brief The library to link against. + /// The library to link against. /// /// This will typically be a library or framework name, but can also /// be an absolute path to the library or framework. std::string Library; - /// \brief Whether this is a framework rather than a library. + /// Whether this is a framework rather than a library. bool IsFramework = false; }; - /// \brief The set of libraries or frameworks to link against when + /// The set of libraries or frameworks to link against when /// an entity from this module is used. llvm::SmallVector<LinkLibrary, 2> LinkLibraries; @@ -339,46 +339,46 @@ public: /// when this is false and the export_as name otherwise. bool UseExportAsModuleLinkName = false; - /// \brief The set of "configuration macros", which are macros that + /// The set of "configuration macros", which are macros that /// (intentionally) change how this module is built. std::vector<std::string> ConfigMacros; - /// \brief An unresolved conflict with another module. + /// An unresolved conflict with another module. struct UnresolvedConflict { - /// \brief The (unresolved) module id. + /// The (unresolved) module id. ModuleId Id; - /// \brief The message provided to the user when there is a conflict. + /// The message provided to the user when there is a conflict. std::string Message; }; - /// \brief The list of conflicts for which the module-id has not yet been + /// The list of conflicts for which the module-id has not yet been /// resolved. std::vector<UnresolvedConflict> UnresolvedConflicts; - /// \brief A conflict between two modules. + /// A conflict between two modules. struct Conflict { - /// \brief The module that this module conflicts with. + /// The module that this module conflicts with. Module *Other; - /// \brief The message provided to the user when there is a conflict. + /// The message provided to the user when there is a conflict. std::string Message; }; - /// \brief The list of conflicts. + /// The list of conflicts. std::vector<Conflict> Conflicts; - /// \brief Construct a new module or submodule. + /// Construct a new module or submodule. Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent, bool IsFramework, bool IsExplicit, unsigned VisibilityID); ~Module(); - /// \brief Determine whether this module is available for use within the + /// Determine whether this module is available for use within the /// current translation unit. bool isAvailable() const { return IsAvailable; } - /// \brief Determine whether this module is available for use within the + /// Determine whether this module is available for use within the /// current translation unit. /// /// \param LangOpts The language options used for the current @@ -401,14 +401,14 @@ public: UnresolvedHeaderDirective &MissingHeader, Module *&ShadowingModule) const; - /// \brief Determine whether this module is a submodule. + /// Determine whether this module is a submodule. bool isSubModule() const { return Parent != nullptr; } - /// \brief Determine whether this module is a submodule of the given other + /// Determine whether this module is a submodule of the given other /// module. bool isSubModuleOf(const Module *Other) const; - /// \brief Determine whether this module is a part of a framework, + /// Determine whether this module is a part of a framework, /// either because it is a framework module or because it is a submodule /// of a framework module. bool isPartOfFramework() const { @@ -419,7 +419,7 @@ public: return false; } - /// \brief Determine whether this module is a subframework of another + /// Determine whether this module is a subframework of another /// framework. bool isSubFramework() const { return IsFramework && Parent && Parent->isPartOfFramework(); @@ -434,51 +434,51 @@ public: Parent->SubModules.push_back(this); } - /// \brief Retrieve the full name of this module, including the path from + /// Retrieve the full name of this module, including the path from /// its top-level module. /// \param AllowStringLiterals If \c true, components that might not be /// lexically valid as identifiers will be emitted as string literals. std::string getFullModuleName(bool AllowStringLiterals = false) const; - /// \brief Whether the full name of this module is equal to joining + /// Whether the full name of this module is equal to joining /// \p nameParts with "."s. /// /// This is more efficient than getFullModuleName(). bool fullModuleNameIs(ArrayRef<StringRef> nameParts) const; - /// \brief Retrieve the top-level module for this (sub)module, which may + /// Retrieve the top-level module for this (sub)module, which may /// be this module. Module *getTopLevelModule() { return const_cast<Module *>( const_cast<const Module *>(this)->getTopLevelModule()); } - /// \brief Retrieve the top-level module for this (sub)module, which may + /// Retrieve the top-level module for this (sub)module, which may /// be this module. const Module *getTopLevelModule() const; - /// \brief Retrieve the name of the top-level module. + /// Retrieve the name of the top-level module. StringRef getTopLevelModuleName() const { return getTopLevelModule()->Name; } - /// \brief The serialized AST file for this module, if one was created. + /// The serialized AST file for this module, if one was created. const FileEntry *getASTFile() const { return getTopLevelModule()->ASTFile; } - /// \brief Set the serialized AST file for the top-level module of this module. + /// Set the serialized AST file for the top-level module of this module. void setASTFile(const FileEntry *File) { assert((File == nullptr || getASTFile() == nullptr || getASTFile() == File) && "file path changed"); getTopLevelModule()->ASTFile = File; } - /// \brief Retrieve the directory for which this module serves as the + /// Retrieve the directory for which this module serves as the /// umbrella. DirectoryName getUmbrellaDir() const; - /// \brief Retrieve the header that serves as the umbrella header for this + /// Retrieve the header that serves as the umbrella header for this /// module. Header getUmbrellaHeader() const { if (auto *E = Umbrella.dyn_cast<const FileEntry *>()) @@ -486,31 +486,31 @@ public: return Header{}; } - /// \brief Determine whether this module has an umbrella directory that is + /// Determine whether this module has an umbrella directory that is /// not based on an umbrella header. bool hasUmbrellaDir() const { return Umbrella && Umbrella.is<const DirectoryEntry *>(); } - /// \brief Add a top-level header associated with this module. + /// Add a top-level header associated with this module. void addTopHeader(const FileEntry *File) { assert(File); TopHeaders.insert(File); } - /// \brief Add a top-level header filename associated with this module. + /// Add a top-level header filename associated with this module. void addTopHeaderFilename(StringRef Filename) { TopHeaderNames.push_back(Filename); } - /// \brief The top-level headers associated with this module. + /// The top-level headers associated with this module. ArrayRef<const FileEntry *> getTopHeaders(FileManager &FileMgr); - /// \brief Determine whether this module has declared its intention to + /// Determine whether this module has declared its intention to /// directly use another module. bool directlyUses(const Module *Requested) const; - /// \brief Add the given feature requirement to the list of features + /// Add the given feature requirement to the list of features /// required by this module. /// /// \param Feature The feature that is required by this module (and @@ -528,15 +528,15 @@ public: const LangOptions &LangOpts, const TargetInfo &Target); - /// \brief Mark this module and all of its submodules as unavailable. + /// Mark this module and all of its submodules as unavailable. void markUnavailable(bool MissingRequirement = false); - /// \brief Find the submodule with the given name. + /// Find the submodule with the given name. /// /// \returns The submodule if found, or NULL otherwise. Module *findSubmodule(StringRef Name) const; - /// \brief Determine whether the specified module would be visible to + /// Determine whether the specified module would be visible to /// a lookup at the end of this module. /// /// FIXME: This may return incorrect results for (submodules of) the @@ -565,7 +565,7 @@ public: return llvm::make_range(submodule_begin(), submodule_end()); } - /// \brief Appends this module's list of exported modules to \p Exported. + /// Appends this module's list of exported modules to \p Exported. /// /// This provides a subset of immediately imported modules (the ones that are /// directly exported), not the complete set of exported modules. @@ -575,17 +575,17 @@ public: return "<module-includes>"; } - /// \brief Print the module map for this module to the given stream. + /// Print the module map for this module to the given stream. void print(raw_ostream &OS, unsigned Indent = 0) const; - /// \brief Dump the contents of this module to the given output stream. + /// Dump the contents of this module to the given output stream. void dump() const; private: void buildVisibleModulesCache() const; }; -/// \brief A set of visible modules. +/// A set of visible modules. class VisibleModuleSet { public: VisibleModuleSet() = default; @@ -605,34 +605,34 @@ public: return *this; } - /// \brief Get the current visibility generation. Incremented each time the + /// Get the current visibility generation. Incremented each time the /// set of visible modules changes in any way. unsigned getGeneration() const { return Generation; } - /// \brief Determine whether a module is visible. + /// Determine whether a module is visible. bool isVisible(const Module *M) const { return getImportLoc(M).isValid(); } - /// \brief Get the location at which the import of a module was triggered. + /// Get the location at which the import of a module was triggered. SourceLocation getImportLoc(const Module *M) const { return M->getVisibilityID() < ImportLocs.size() ? ImportLocs[M->getVisibilityID()] : SourceLocation(); } - /// \brief A callback to call when a module is made visible (directly or + /// A callback to call when a module is made visible (directly or /// indirectly) by a call to \ref setVisible. using VisibleCallback = llvm::function_ref<void(Module *M)>; - /// \brief A callback to call when a module conflict is found. \p Path + /// A callback to call when a module conflict is found. \p Path /// consists of a sequence of modules from the conflicting module to the one /// made visible, where each was exported by the next. using ConflictCallback = llvm::function_ref<void(ArrayRef<Module *> Path, Module *Conflict, StringRef Message)>; - /// \brief Make a specific module visible. + /// Make a specific module visible. void setVisible(Module *M, SourceLocation Loc, VisibleCallback Vis = [](Module *) {}, ConflictCallback Cb = [](ArrayRef<Module *>, Module *, diff --git a/include/clang/Basic/ObjCRuntime.h b/include/clang/Basic/ObjCRuntime.h index c41803c3bb..bc51574cf3 100644 --- a/include/clang/Basic/ObjCRuntime.h +++ b/include/clang/Basic/ObjCRuntime.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines types useful for describing an Objective-C runtime. +/// Defines types useful for describing an Objective-C runtime. // //===----------------------------------------------------------------------===// @@ -24,10 +24,10 @@ namespace clang { -/// \brief The basic abstraction for the target Objective-C runtime. +/// The basic abstraction for the target Objective-C runtime. class ObjCRuntime { public: - /// \brief The basic Objective-C runtimes that we know about. + /// The basic Objective-C runtimes that we know about. enum Kind { /// 'macosx' is the Apple-provided NeXT-derived runtime on Mac OS /// X platforms that use the non-fragile ABI; the version is a @@ -77,7 +77,7 @@ public: Kind getKind() const { return TheKind; } const VersionTuple &getVersion() const { return Version; } - /// \brief Does this runtime follow the set of implied behaviors for a + /// Does this runtime follow the set of implied behaviors for a /// "non-fragile" ABI? bool isNonFragile() const { switch (getKind()) { @@ -115,7 +115,7 @@ public: return true; } - /// \brief Is this runtime basically of the GNU family of runtimes? + /// Is this runtime basically of the GNU family of runtimes? bool isGNUFamily() const { switch (getKind()) { case FragileMacOSX: @@ -131,14 +131,14 @@ public: llvm_unreachable("bad kind"); } - /// \brief Is this runtime basically of the NeXT family of runtimes? + /// Is this runtime basically of the NeXT family of runtimes? bool isNeXTFamily() const { // For now, this is just the inverse of isGNUFamily(), but that's // not inherently true. return !isGNUFamily(); } - /// \brief Does this runtime allow ARC at all? + /// Does this runtime allow ARC at all? bool allowsARC() const { switch (getKind()) { case FragileMacOSX: @@ -154,7 +154,7 @@ public: llvm_unreachable("bad kind"); } - /// \brief Does this runtime natively provide the ARC entrypoints? + /// Does this runtime natively provide the ARC entrypoints? /// /// ARC cannot be directly supported on a platform that does not provide /// these entrypoints, although it may be supportable via a stub @@ -173,7 +173,7 @@ public: llvm_unreachable("bad kind"); } - /// \brief Does this runtime supports optimized setter entrypoints? + /// Does this runtime supports optimized setter entrypoints? bool hasOptimizedSetter() const { switch (getKind()) { case MacOSX: @@ -194,7 +194,7 @@ public: return hasNativeWeak(); } - /// \brief Does this runtime natively provide ARC-compliant 'weak' + /// Does this runtime natively provide ARC-compliant 'weak' /// entrypoints? bool hasNativeWeak() const { // Right now, this is always equivalent to whether the runtime @@ -202,7 +202,7 @@ public: return hasNativeARC(); } - /// \brief Does this runtime directly support the subscripting methods? + /// Does this runtime directly support the subscripting methods? /// /// This is really a property of the library, not the runtime. bool hasSubscripting() const { @@ -222,12 +222,12 @@ public: llvm_unreachable("bad kind"); } - /// \brief Does this runtime allow sizeof or alignof on object types? + /// Does this runtime allow sizeof or alignof on object types? bool allowsSizeofAlignof() const { return isFragile(); } - /// \brief Does this runtime allow pointer arithmetic on objects? + /// Does this runtime allow pointer arithmetic on objects? /// /// This covers +, -, ++, --, and (if isSubscriptPointerArithmetic() /// yields true) []. @@ -246,12 +246,12 @@ public: llvm_unreachable("bad kind"); } - /// \brief Is subscripting pointer arithmetic? + /// Is subscripting pointer arithmetic? bool isSubscriptPointerArithmetic() const { return allowsPointerArithmetic(); } - /// \brief Does this runtime provide an objc_terminate function? + /// Does this runtime provide an objc_terminate function? /// /// This is used in handlers for exceptions during the unwind process; /// without it, abort() must be used in pure ObjC files. @@ -268,7 +268,7 @@ public: llvm_unreachable("bad kind"); } - /// \brief Does this runtime support weakly importing classes? + /// Does this runtime support weakly importing classes? bool hasWeakClassImport() const { switch (getKind()) { case MacOSX: return true; @@ -282,7 +282,7 @@ public: llvm_unreachable("bad kind"); } - /// \brief Does this runtime use zero-cost exceptions? + /// Does this runtime use zero-cost exceptions? bool hasUnwindExceptions() const { switch (getKind()) { case MacOSX: return true; @@ -340,7 +340,7 @@ public: } } - /// \brief Try to parse an Objective-C runtime specification from the given + /// Try to parse an Objective-C runtime specification from the given /// string. /// /// \return true on error. diff --git a/include/clang/Basic/OpenCLOptions.h b/include/clang/Basic/OpenCLOptions.h index cc850f0b0b..cc4e9922dc 100644 --- a/include/clang/Basic/OpenCLOptions.h +++ b/include/clang/Basic/OpenCLOptions.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::OpenCLOptions class. +/// Defines the clang::OpenCLOptions class. /// //===----------------------------------------------------------------------===// @@ -19,7 +19,7 @@ namespace clang { -/// \brief OpenCL supported extensions and optional core features +/// OpenCL supported extensions and optional core features class OpenCLOptions { struct Info { bool Supported; // Is this option supported @@ -67,7 +67,7 @@ public: OptMap[Ext].Enabled = V; } - /// \brief Enable or disable support for OpenCL extensions + /// Enable or disable support for OpenCL extensions /// \param Ext name of the extension optionally prefixed with /// '+' or '-' /// \param V used when \p Ext is not prefixed by '+' or '-' diff --git a/include/clang/Basic/OpenMPKinds.def b/include/clang/Basic/OpenMPKinds.def index 6a0bed7ab1..4ed7053b67 100644 --- a/include/clang/Basic/OpenMPKinds.def +++ b/include/clang/Basic/OpenMPKinds.def @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file defines the list of supported OpenMP directives and +/// This file defines the list of supported OpenMP directives and /// clauses. /// //===----------------------------------------------------------------------===// diff --git a/include/clang/Basic/OpenMPKinds.h b/include/clang/Basic/OpenMPKinds.h index e00333153f..c47973e53a 100644 --- a/include/clang/Basic/OpenMPKinds.h +++ b/include/clang/Basic/OpenMPKinds.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines some OpenMP-specific enums and functions. +/// Defines some OpenMP-specific enums and functions. /// //===----------------------------------------------------------------------===// @@ -19,7 +19,7 @@ namespace clang { -/// \brief OpenMP directives. +/// OpenMP directives. enum OpenMPDirectiveKind { #define OPENMP_DIRECTIVE(Name) \ OMPD_##Name, @@ -29,7 +29,7 @@ enum OpenMPDirectiveKind { OMPD_unknown }; -/// \brief OpenMP clauses. +/// OpenMP clauses. enum OpenMPClauseKind { #define OPENMP_CLAUSE(Name, Class) \ OMPC_##Name, @@ -39,7 +39,7 @@ enum OpenMPClauseKind { OMPC_unknown }; -/// \brief OpenMP attributes for 'default' clause. +/// OpenMP attributes for 'default' clause. enum OpenMPDefaultClauseKind { #define OPENMP_DEFAULT_KIND(Name) \ OMPC_DEFAULT_##Name, @@ -47,7 +47,7 @@ enum OpenMPDefaultClauseKind { OMPC_DEFAULT_unknown }; -/// \brief OpenMP attributes for 'proc_bind' clause. +/// OpenMP attributes for 'proc_bind' clause. enum OpenMPProcBindClauseKind { #define OPENMP_PROC_BIND_KIND(Name) \ OMPC_PROC_BIND_##Name, @@ -55,7 +55,7 @@ enum OpenMPProcBindClauseKind { OMPC_PROC_BIND_unknown }; -/// \brief OpenMP attributes for 'schedule' clause. +/// OpenMP attributes for 'schedule' clause. enum OpenMPScheduleClauseKind { #define OPENMP_SCHEDULE_KIND(Name) \ OMPC_SCHEDULE_##Name, @@ -63,7 +63,7 @@ enum OpenMPScheduleClauseKind { OMPC_SCHEDULE_unknown }; -/// \brief OpenMP modifiers for 'schedule' clause. +/// OpenMP modifiers for 'schedule' clause. enum OpenMPScheduleClauseModifier { OMPC_SCHEDULE_MODIFIER_unknown = OMPC_SCHEDULE_unknown, #define OPENMP_SCHEDULE_MODIFIER(Name) \ @@ -72,7 +72,7 @@ enum OpenMPScheduleClauseModifier { OMPC_SCHEDULE_MODIFIER_last }; -/// \brief OpenMP attributes for 'depend' clause. +/// OpenMP attributes for 'depend' clause. enum OpenMPDependClauseKind { #define OPENMP_DEPEND_KIND(Name) \ OMPC_DEPEND_##Name, @@ -80,7 +80,7 @@ enum OpenMPDependClauseKind { OMPC_DEPEND_unknown }; -/// \brief OpenMP attributes for 'linear' clause. +/// OpenMP attributes for 'linear' clause. enum OpenMPLinearClauseKind { #define OPENMP_LINEAR_KIND(Name) \ OMPC_LINEAR_##Name, @@ -88,7 +88,7 @@ enum OpenMPLinearClauseKind { OMPC_LINEAR_unknown }; -/// \brief OpenMP mapping kind for 'map' clause. +/// OpenMP mapping kind for 'map' clause. enum OpenMPMapClauseKind { #define OPENMP_MAP_KIND(Name) \ OMPC_MAP_##Name, @@ -96,14 +96,14 @@ enum OpenMPMapClauseKind { OMPC_MAP_unknown }; -/// \brief OpenMP attributes for 'dist_schedule' clause. +/// OpenMP attributes for 'dist_schedule' clause. enum OpenMPDistScheduleClauseKind { #define OPENMP_DIST_SCHEDULE_KIND(Name) OMPC_DIST_SCHEDULE_##Name, #include "clang/Basic/OpenMPKinds.def" OMPC_DIST_SCHEDULE_unknown }; -/// \brief OpenMP attributes for 'defaultmap' clause. +/// OpenMP attributes for 'defaultmap' clause. enum OpenMPDefaultmapClauseKind { #define OPENMP_DEFAULTMAP_KIND(Name) \ OMPC_DEFAULTMAP_##Name, @@ -111,7 +111,7 @@ enum OpenMPDefaultmapClauseKind { OMPC_DEFAULTMAP_unknown }; -/// \brief OpenMP modifiers for 'defaultmap' clause. +/// OpenMP modifiers for 'defaultmap' clause. enum OpenMPDefaultmapClauseModifier { OMPC_DEFAULTMAP_MODIFIER_unknown = OMPC_DEFAULTMAP_unknown, #define OPENMP_DEFAULTMAP_MODIFIER(Name) \ @@ -139,39 +139,39 @@ const char *getOpenMPSimpleClauseTypeName(OpenMPClauseKind Kind, unsigned Type); bool isAllowedClauseForDirective(OpenMPDirectiveKind DKind, OpenMPClauseKind CKind); -/// \brief Checks if the specified directive is a directive with an associated +/// Checks if the specified directive is a directive with an associated /// loop construct. /// \param DKind Specified directive. /// \return true - the directive is a loop-associated directive like 'omp simd' /// or 'omp for' directive, otherwise - false. bool isOpenMPLoopDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a worksharing directive. +/// Checks if the specified directive is a worksharing directive. /// \param DKind Specified directive. /// \return true - the directive is a worksharing directive like 'omp for', /// otherwise - false. bool isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a taskloop directive. +/// Checks if the specified directive is a taskloop directive. /// \param DKind Specified directive. /// \return true - the directive is a worksharing directive like 'omp taskloop', /// otherwise - false. bool isOpenMPTaskLoopDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a parallel-kind directive. +/// Checks if the specified directive is a parallel-kind directive. /// \param DKind Specified directive. /// \return true - the directive is a parallel-like directive like 'omp /// parallel', otherwise - false. bool isOpenMPParallelDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a target code offload directive. +/// Checks if the specified directive is a target code offload directive. /// \param DKind Specified directive. /// \return true - the directive is a target code offload directive like /// 'omp target', 'omp target parallel', 'omp target xxx' /// otherwise - false. bool isOpenMPTargetExecutionDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a target data offload directive. +/// Checks if the specified directive is a target data offload directive. /// \param DKind Specified directive. /// \return true - the directive is a target data offload directive like /// 'omp target data', 'omp target update', 'omp target enter data', @@ -193,13 +193,13 @@ bool isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind); /// \return true - the directive is a teams-like directive, otherwise - false. bool isOpenMPTeamsDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a simd directive. +/// Checks if the specified directive is a simd directive. /// \param DKind Specified directive. /// \return true - the directive is a simd directive like 'omp simd', /// otherwise - false. bool isOpenMPSimdDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified directive is a distribute directive. +/// Checks if the specified directive is a distribute directive. /// \param DKind Specified directive. /// \return true - the directive is a distribute-directive like 'omp /// distribute', @@ -214,13 +214,13 @@ bool isOpenMPDistributeDirective(OpenMPDirectiveKind DKind); /// otherwise - false. bool isOpenMPNestingDistributeDirective(OpenMPDirectiveKind DKind); -/// \brief Checks if the specified clause is one of private clauses like +/// Checks if the specified clause is one of private clauses like /// 'private', 'firstprivate', 'reduction' etc.. /// \param Kind Clause kind. /// \return true - the clause is a private clause, otherwise - false. bool isOpenMPPrivate(OpenMPClauseKind Kind); -/// \brief Checks if the specified clause is one of threadprivate clauses like +/// Checks if the specified clause is one of threadprivate clauses like /// 'threadprivate', 'copyin' or 'copyprivate'. /// \param Kind Clause kind. /// \return true - the clause is a threadprivate clause, otherwise - false. diff --git a/include/clang/Basic/OperatorKinds.h b/include/clang/Basic/OperatorKinds.h index 7120baeef6..b0064cfb4e 100644 --- a/include/clang/Basic/OperatorKinds.h +++ b/include/clang/Basic/OperatorKinds.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines an enumeration for C++ overloaded operators. +/// Defines an enumeration for C++ overloaded operators. /// //===----------------------------------------------------------------------===// @@ -17,7 +17,7 @@ namespace clang { -/// \brief Enumeration specifying the different kinds of C++ overloaded +/// Enumeration specifying the different kinds of C++ overloaded /// operators. enum OverloadedOperatorKind : int { OO_None, ///< Not an overloaded operator @@ -27,7 +27,7 @@ enum OverloadedOperatorKind : int { NUM_OVERLOADED_OPERATORS }; -/// \brief Retrieve the spelling of the given overloaded operator, without +/// Retrieve the spelling of the given overloaded operator, without /// the preceding "operator" keyword. const char *getOperatorSpelling(OverloadedOperatorKind Operator); diff --git a/include/clang/Basic/OperatorPrecedence.h b/include/clang/Basic/OperatorPrecedence.h index 94978f81e5..4389e3bbd2 100644 --- a/include/clang/Basic/OperatorPrecedence.h +++ b/include/clang/Basic/OperatorPrecedence.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines and computes precedence levels for binary/ternary operators. +/// Defines and computes precedence levels for binary/ternary operators. /// //===----------------------------------------------------------------------===// @@ -44,7 +44,7 @@ namespace prec { }; } -/// \brief Return the precedence of the specified binary operator token. +/// Return the precedence of the specified binary operator token. prec::Level getBinOpPrecedence(tok::TokenKind Kind, bool GreaterThanIsOperator, bool CPlusPlus11); diff --git a/include/clang/Basic/PartialDiagnostic.h b/include/clang/Basic/PartialDiagnostic.h index dffeaee8e2..9727af86f6 100644 --- a/include/clang/Basic/PartialDiagnostic.h +++ b/include/clang/Basic/PartialDiagnostic.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Implements a partial diagnostic that can be emitted anwyhere +/// Implements a partial diagnostic that can be emitted anwyhere /// in a DiagnosticBuilder stream. // //===----------------------------------------------------------------------===// @@ -44,7 +44,7 @@ public: struct Storage { enum { - /// \brief The maximum number of arguments we can hold. We + /// The maximum number of arguments we can hold. We /// currently only support up to 10 arguments (%0-%9). /// /// A single diagnostic with more than that almost certainly has to @@ -52,35 +52,35 @@ public: MaxArguments = PartialDiagnostic::MaxArguments }; - /// \brief The number of entries in Arguments. + /// The number of entries in Arguments. unsigned char NumDiagArgs = 0; - /// \brief Specifies for each argument whether it is in DiagArgumentsStr + /// Specifies for each argument whether it is in DiagArgumentsStr /// or in DiagArguments. unsigned char DiagArgumentsKind[MaxArguments]; - /// \brief The values for the various substitution positions. + /// The values for the various substitution positions. /// /// This is used when the argument is not an std::string. The specific value /// is mangled into an intptr_t and the interpretation depends on exactly /// what sort of argument kind it is. intptr_t DiagArgumentsVal[MaxArguments]; - /// \brief The values for the various substitution positions that have + /// The values for the various substitution positions that have /// string arguments. std::string DiagArgumentsStr[MaxArguments]; - /// \brief The list of ranges added to this diagnostic. + /// The list of ranges added to this diagnostic. SmallVector<CharSourceRange, 8> DiagRanges; - /// \brief If valid, provides a hint with some code to insert, remove, or + /// If valid, provides a hint with some code to insert, remove, or /// modify at a particular position. SmallVector<FixItHint, 6> FixItHints; Storage() = default; }; - /// \brief An allocator for Storage objects, which uses a small cache to + /// An allocator for Storage objects, which uses a small cache to /// objects, used to reduce malloc()/free() traffic for partial diagnostics. class StorageAllocator { static const unsigned NumCached = 16; @@ -92,7 +92,7 @@ public: StorageAllocator(); ~StorageAllocator(); - /// \brief Allocate new storage. + /// Allocate new storage. Storage *Allocate() { if (NumFreeListEntries == 0) return new Storage; @@ -104,7 +104,7 @@ public: return Result; } - /// \brief Free the given storage object. + /// Free the given storage object. void Deallocate(Storage *S) { if (S >= Cached && S <= Cached + NumCached) { FreeList[NumFreeListEntries++] = S; @@ -120,16 +120,16 @@ private: // in the sense that its bits can be safely memcpy'ed and destructed // in the new location. - /// \brief The diagnostic ID. + /// The diagnostic ID. mutable unsigned DiagID = 0; - /// \brief Storage for args and ranges. + /// Storage for args and ranges. mutable Storage *DiagStorage = nullptr; - /// \brief Allocator used to allocate storage for this diagnostic. + /// Allocator used to allocate storage for this diagnostic. StorageAllocator *Allocator = nullptr; - /// \brief Retrieve storage for this particular diagnostic. + /// Retrieve storage for this particular diagnostic. Storage *getStorage() const { if (DiagStorage) return DiagStorage; @@ -184,7 +184,7 @@ private: public: struct NullDiagnostic {}; - /// \brief Create a null partial diagnostic, which cannot carry a payload, + /// Create a null partial diagnostic, which cannot carry a payload, /// and only exists to be swapped with a real partial diagnostic. PartialDiagnostic(NullDiagnostic) {} @@ -324,7 +324,7 @@ public: Diags.Clear(); } - /// \brief Clear out this partial diagnostic, giving it a new diagnostic ID + /// Clear out this partial diagnostic, giving it a new diagnostic ID /// and removing all of its arguments, ranges, and fix-it hints. void Reset(unsigned DiagID = 0) { this->DiagID = DiagID; @@ -414,7 +414,7 @@ inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB, return DB; } -/// \brief A partial diagnostic along with the source location where this +/// A partial diagnostic along with the source location where this /// diagnostic occurs. using PartialDiagnosticAt = std::pair<SourceLocation, PartialDiagnostic>; diff --git a/include/clang/Basic/PrettyStackTrace.h b/include/clang/Basic/PrettyStackTrace.h index 6badae5c03..e652f52055 100644 --- a/include/clang/Basic/PrettyStackTrace.h +++ b/include/clang/Basic/PrettyStackTrace.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the PrettyStackTraceEntry class, which is used to make +/// Defines the PrettyStackTraceEntry class, which is used to make /// crashes give more contextual information about what the program was doing /// when it crashed. /// diff --git a/include/clang/Basic/Sanitizers.h b/include/clang/Basic/Sanitizers.h index fad22b2a75..469d9e2e95 100644 --- a/include/clang/Basic/Sanitizers.h +++ b/include/clang/Basic/Sanitizers.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::SanitizerKind enum. +/// Defines the clang::SanitizerKind enum. // //===----------------------------------------------------------------------===// @@ -48,16 +48,16 @@ enum SanitizerOrdinal : uint64_t { } // namespace SanitizerKind struct SanitizerSet { - /// \brief Check if a certain (single) sanitizer is enabled. + /// Check if a certain (single) sanitizer is enabled. bool has(SanitizerMask K) const { assert(llvm::isPowerOf2_64(K)); return Mask & K; } - /// \brief Check if one or more sanitizers are enabled. + /// Check if one or more sanitizers are enabled. bool hasOneOf(SanitizerMask K) const { return Mask & K; } - /// \brief Enable or disable a certain (single) sanitizer. + /// Enable or disable a certain (single) sanitizer. void set(SanitizerMask K, bool Value) { assert(llvm::isPowerOf2_64(K)); Mask = Value ? (Mask | K) : (Mask & ~K); @@ -66,10 +66,10 @@ struct SanitizerSet { /// Disable the sanitizers specified in \p K. void clear(SanitizerMask K = SanitizerKind::All) { Mask &= ~K; } - /// \brief Returns true if at least one sanitizer is enabled. + /// Returns true if at least one sanitizer is enabled. bool empty() const { return Mask == 0; } - /// \brief Bitmask of enabled sanitizers. + /// Bitmask of enabled sanitizers. SanitizerMask Mask = 0; }; diff --git a/include/clang/Basic/SourceLocation.h b/include/clang/Basic/SourceLocation.h index 4ca9340e80..f174f83abf 100644 --- a/include/clang/Basic/SourceLocation.h +++ b/include/clang/Basic/SourceLocation.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::SourceLocation class and associated facilities. +/// Defines the clang::SourceLocation class and associated facilities. // //===----------------------------------------------------------------------===// @@ -34,11 +34,11 @@ namespace clang { class SourceManager; -/// \brief An opaque identifier used by SourceManager which refers to a +/// An opaque identifier used by SourceManager which refers to a /// source file (MemoryBuffer) along with its \#include path and \#line data. /// class FileID { - /// \brief A mostly-opaque identifier, where 0 is "invalid", >0 is + /// A mostly-opaque identifier, where 0 is "invalid", >0 is /// this module, and <-1 is something loaded from another module. int ID = 0; @@ -70,7 +70,7 @@ private: int getOpaqueValue() const { return ID; } }; -/// \brief Encodes a location in the source. The SourceManager can decode this +/// Encodes a location in the source. The SourceManager can decode this /// to get at the full include stack, line and column information. /// /// Technically, a source location is simply an offset into the manager's view @@ -100,7 +100,7 @@ public: bool isFileID() const { return (ID & MacroIDBit) == 0; } bool isMacroID() const { return (ID & MacroIDBit) != 0; } - /// \brief Return true if this is a valid SourceLocation object. + /// Return true if this is a valid SourceLocation object. /// /// Invalid SourceLocations are often used when events have no corresponding /// location in the source (e.g. a diagnostic is required for a command line @@ -109,7 +109,7 @@ public: bool isInvalid() const { return ID == 0; } private: - /// \brief Return the offset into the manager's global input view. + /// Return the offset into the manager's global input view. unsigned getOffset() const { return ID & ~MacroIDBit; } @@ -129,7 +129,7 @@ private: } public: - /// \brief Return a source location with the specified offset from this + /// Return a source location with the specified offset from this /// SourceLocation. SourceLocation getLocWithOffset(int Offset) const { assert(((getOffset()+Offset) & MacroIDBit) == 0 && "offset overflow"); @@ -138,14 +138,14 @@ public: return L; } - /// \brief When a SourceLocation itself cannot be used, this returns + /// When a SourceLocation itself cannot be used, this returns /// an (opaque) 32-bit integer encoding for it. /// /// This should only be passed to SourceLocation::getFromRawEncoding, it /// should not be inspected directly. unsigned getRawEncoding() const { return ID; } - /// \brief Turn a raw encoding of a SourceLocation object into + /// Turn a raw encoding of a SourceLocation object into /// a real SourceLocation. /// /// \see getRawEncoding. @@ -155,7 +155,7 @@ public: return X; } - /// \brief When a SourceLocation itself cannot be used, this returns + /// When a SourceLocation itself cannot be used, this returns /// an (opaque) pointer encoding for it. /// /// This should only be passed to SourceLocation::getFromPtrEncoding, it @@ -166,7 +166,7 @@ public: return (void*)(uintptr_t)getRawEncoding(); } - /// \brief Turn a pointer encoding of a SourceLocation object back + /// Turn a pointer encoding of a SourceLocation object back /// into a real SourceLocation. static SourceLocation getFromPtrEncoding(const void *Encoding) { return getFromRawEncoding((unsigned)(uintptr_t)Encoding); @@ -194,7 +194,7 @@ inline bool operator<(const SourceLocation &LHS, const SourceLocation &RHS) { return LHS.getRawEncoding() < RHS.getRawEncoding(); } -/// \brief A trivial tuple used to represent a source range. +/// A trivial tuple used to represent a source range. class SourceRange { SourceLocation B; SourceLocation E; @@ -222,7 +222,7 @@ public: } }; -/// \brief Represents a character-granular source range. +/// Represents a character-granular source range. /// /// The underlying SourceRange can either specify the starting/ending character /// of the range, or it can specify the start of the range and the start of the @@ -253,7 +253,7 @@ public: return getCharRange(SourceRange(B, E)); } - /// \brief Return true if the end of this range specifies the start of + /// Return true if the end of this range specifies the start of /// the last token. Return false if the end of this range specifies the last /// character in the range. bool isTokenRange() const { return IsTokenRange; } @@ -271,7 +271,7 @@ public: bool isInvalid() const { return !isValid(); } }; -/// \brief Represents an unpacked "presumed" location which can be presented +/// Represents an unpacked "presumed" location which can be presented /// to the user. /// /// A 'presumed' location can be modified by \#line and GNU line marker @@ -288,14 +288,14 @@ public: PresumedLoc(const char *FN, unsigned Ln, unsigned Co, SourceLocation IL) : Filename(FN), Line(Ln), Col(Co), IncludeLoc(IL) {} - /// \brief Return true if this object is invalid or uninitialized. + /// Return true if this object is invalid or uninitialized. /// /// This occurs when created with invalid source locations or when walking /// off the top of a \#include stack. bool isInvalid() const { return Filename == nullptr; } bool isValid() const { return Filename != nullptr; } - /// \brief Return the presumed filename of this location. + /// Return the presumed filename of this location. /// /// This can be affected by \#line etc. const char *getFilename() const { @@ -303,7 +303,7 @@ public: return Filename; } - /// \brief Return the presumed line number of this location. + /// Return the presumed line number of this location. /// /// This can be affected by \#line etc. unsigned getLine() const { @@ -311,7 +311,7 @@ public: return Line; } - /// \brief Return the presumed column number of this location. + /// Return the presumed column number of this location. /// /// This cannot be affected by \#line, but is packaged here for convenience. unsigned getColumn() const { @@ -319,7 +319,7 @@ public: return Col; } - /// \brief Return the presumed include location of this location. + /// Return the presumed include location of this location. /// /// This can be affected by GNU linemarker directives. SourceLocation getIncludeLoc() const { @@ -330,14 +330,14 @@ public: class FileEntry; -/// \brief A SourceLocation and its associated SourceManager. +/// A SourceLocation and its associated SourceManager. /// /// This is useful for argument passing to functions that expect both objects. class FullSourceLoc : public SourceLocation { const SourceManager *SrcMgr = nullptr; public: - /// \brief Creates a FullSourceLoc where isValid() returns \c false. + /// Creates a FullSourceLoc where isValid() returns \c false. FullSourceLoc() = default; explicit FullSourceLoc(SourceLocation Loc, const SourceManager &SM) @@ -379,11 +379,11 @@ public: const FileEntry *getFileEntry() const; - /// \brief Return a StringRef to the source buffer data for the + /// Return a StringRef to the source buffer data for the /// specified FileID. StringRef getBufferData(bool *Invalid = nullptr) const; - /// \brief Decompose the specified location into a raw FileID + Offset pair. + /// Decompose the specified location into a raw FileID + Offset pair. /// /// The first element is the FileID, the second is the offset from the /// start of the buffer of the location. @@ -391,12 +391,12 @@ public: bool isInSystemHeader() const; - /// \brief Determines the order of 2 source locations in the translation unit. + /// Determines the order of 2 source locations in the translation unit. /// /// \returns true if this source location comes before 'Loc', false otherwise. bool isBeforeInTranslationUnitThan(SourceLocation Loc) const; - /// \brief Determines the order of 2 source locations in the translation unit. + /// Determines the order of 2 source locations in the translation unit. /// /// \returns true if this source location comes before 'Loc', false otherwise. bool isBeforeInTranslationUnitThan(FullSourceLoc Loc) const { @@ -405,14 +405,14 @@ public: return isBeforeInTranslationUnitThan((SourceLocation)Loc); } - /// \brief Comparison function class, useful for sorting FullSourceLocs. + /// Comparison function class, useful for sorting FullSourceLocs. struct BeforeThanCompare { bool operator()(const FullSourceLoc& lhs, const FullSourceLoc& rhs) const { return lhs.isBeforeInTranslationUnitThan(rhs); } }; - /// \brief Prints information about this FullSourceLoc to stderr. + /// Prints information about this FullSourceLoc to stderr. /// /// This is useful for debugging. void dump() const; diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index 55c138410d..25acdd2600 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the SourceManager interface. +/// Defines the SourceManager interface. /// /// There are three different types of locations in a %file: a spelling /// location, an expansion location, and a presumed location. @@ -64,11 +64,11 @@ class DiagnosticsEngine; class LineTableInfo; class SourceManager; -/// \brief Public enums and private classes that are part of the +/// Public enums and private classes that are part of the /// SourceManager implementation. namespace SrcMgr { - /// \brief Indicates whether a file or directory holds normal user code, + /// Indicates whether a file or directory holds normal user code, /// system code, or system code which is implicitly 'extern "C"' in C++ mode. /// /// Entire directories can be tagged with this (this is maintained by @@ -89,19 +89,19 @@ namespace SrcMgr { return CK == C_User_ModuleMap || CK == C_System_ModuleMap; } - /// \brief One instance of this struct is kept for every file loaded or used. + /// One instance of this struct is kept for every file loaded or used. /// /// This object owns the MemoryBuffer object. class LLVM_ALIGNAS(8) ContentCache { enum CCFlags { - /// \brief Whether the buffer is invalid. + /// Whether the buffer is invalid. InvalidFlag = 0x01, - /// \brief Whether the buffer should not be freed on destruction. + /// Whether the buffer should not be freed on destruction. DoNotFreeFlag = 0x02 }; - /// \brief The actual buffer containing the characters from the input + /// The actual buffer containing the characters from the input /// file. /// /// This is owned by the ContentCache object. The bits indicate @@ -109,7 +109,7 @@ namespace SrcMgr { mutable llvm::PointerIntPair<llvm::MemoryBuffer *, 2> Buffer; public: - /// \brief Reference to the file entry representing this ContentCache. + /// Reference to the file entry representing this ContentCache. /// /// This reference does not own the FileEntry object. /// @@ -117,35 +117,35 @@ namespace SrcMgr { /// an imaginary text buffer. const FileEntry *OrigEntry; - /// \brief References the file which the contents were actually loaded from. + /// References the file which the contents were actually loaded from. /// /// Can be different from 'Entry' if we overridden the contents of one file /// with the contents of another file. const FileEntry *ContentsEntry; - /// \brief A bump pointer allocated array of offsets for each source line. + /// A bump pointer allocated array of offsets for each source line. /// /// This is lazily computed. This is owned by the SourceManager /// BumpPointerAllocator object. unsigned *SourceLineCache = nullptr; - /// \brief The number of lines in this ContentCache. + /// The number of lines in this ContentCache. /// /// This is only valid if SourceLineCache is non-null. unsigned NumLines = 0; - /// \brief Indicates whether the buffer itself was provided to override + /// Indicates whether the buffer itself was provided to override /// the actual file contents. /// /// When true, the original entry may be a virtual file that does not /// exist. unsigned BufferOverridden : 1; - /// \brief True if this content cache was initially created for a source + /// True if this content cache was initially created for a source /// file considered as a system one. unsigned IsSystemFile : 1; - /// \brief True if this file may be transient, that is, if it might not + /// True if this file may be transient, that is, if it might not /// exist at some later point in time when this content entry is used, /// after serialization and deserialization. unsigned IsTransient : 1; @@ -176,7 +176,7 @@ namespace SrcMgr { ~ContentCache(); - /// \brief Returns the memory buffer for the associated content. + /// Returns the memory buffer for the associated content. /// /// \param Diag Object through which diagnostics will be emitted if the /// buffer cannot be retrieved. @@ -190,7 +190,7 @@ namespace SrcMgr { SourceLocation Loc = SourceLocation(), bool *Invalid = nullptr) const; - /// \brief Returns the size of the content encapsulated by this + /// Returns the size of the content encapsulated by this /// ContentCache. /// /// This can be the size of the source file or the size of an @@ -198,7 +198,7 @@ namespace SrcMgr { /// file this size is retrieved from the file's FileEntry. unsigned getSize() const; - /// \brief Returns the number of bytes actually mapped for this + /// Returns the number of bytes actually mapped for this /// ContentCache. /// /// This can be 0 if the MemBuffer was not actually expanded. @@ -208,20 +208,20 @@ namespace SrcMgr { /// this content cache. This is used for performance analysis. llvm::MemoryBuffer::BufferKind getMemoryBufferKind() const; - /// \brief Get the underlying buffer, returning NULL if the buffer is not + /// Get the underlying buffer, returning NULL if the buffer is not /// yet available. llvm::MemoryBuffer *getRawBuffer() const { return Buffer.getPointer(); } - /// \brief Replace the existing buffer (which will be deleted) + /// Replace the existing buffer (which will be deleted) /// with the given buffer. void replaceBuffer(llvm::MemoryBuffer *B, bool DoNotFree = false); - /// \brief Determine whether the buffer itself is invalid. + /// Determine whether the buffer itself is invalid. bool isBufferInvalid() const { return Buffer.getInt() & InvalidFlag; } - /// \brief Determine whether the buffer should be freed. + /// Determine whether the buffer should be freed. bool shouldFreeBuffer() const { return (Buffer.getInt() & DoNotFreeFlag) == 0; } @@ -232,7 +232,7 @@ namespace SrcMgr { static_assert(alignof(ContentCache) >= 8, "ContentCache must be 8-byte aligned."); - /// \brief Information about a FileID, basically just the logical file + /// Information about a FileID, basically just the logical file /// that it represents and include stack information. /// /// Each FileInfo has include stack information, indicating where it came @@ -246,26 +246,26 @@ namespace SrcMgr { friend class clang::ASTWriter; friend class clang::ASTReader; - /// \brief The location of the \#include that brought in this file. + /// The location of the \#include that brought in this file. /// /// This is an invalid SLOC for the main file (top of the \#include chain). unsigned IncludeLoc; // Really a SourceLocation - /// \brief Number of FileIDs (files and macros) that were created during + /// Number of FileIDs (files and macros) that were created during /// preprocessing of this \#include, including this SLocEntry. /// /// Zero means the preprocessor didn't provide such info for this SLocEntry. unsigned NumCreatedFIDs : 31; - /// \brief Whether this FileInfo has any \#line directives. + /// Whether this FileInfo has any \#line directives. unsigned HasLineDirectives : 1; - /// \brief The content cache and the characteristic of the file. + /// The content cache and the characteristic of the file. llvm::PointerIntPair<const ContentCache*, 3, CharacteristicKind> ContentAndKind; public: - /// \brief Return a FileInfo object. + /// Return a FileInfo object. static FileInfo get(SourceLocation IL, const ContentCache *Con, CharacteristicKind FileCharacter) { FileInfo X; @@ -285,28 +285,28 @@ namespace SrcMgr { return ContentAndKind.getPointer(); } - /// \brief Return whether this is a system header or not. + /// Return whether this is a system header or not. CharacteristicKind getFileCharacteristic() const { return ContentAndKind.getInt(); } - /// \brief Return true if this FileID has \#line directives in it. + /// Return true if this FileID has \#line directives in it. bool hasLineDirectives() const { return HasLineDirectives; } - /// \brief Set the flag that indicates that this FileID has + /// Set the flag that indicates that this FileID has /// line table entries associated with it. void setHasLineDirectives() { HasLineDirectives = true; } }; - /// \brief Each ExpansionInfo encodes the expansion location - where + /// Each ExpansionInfo encodes the expansion location - where /// the token was ultimately expanded, and the SpellingLoc - where the actual /// character data for the token came from. class ExpansionInfo { // Really these are all SourceLocations. - /// \brief Where the spelling for the token can be found. + /// Where the spelling for the token can be found. unsigned SpellingLoc; /// In a macro expansion, ExpansionLocStart and ExpansionLocEnd @@ -362,7 +362,7 @@ namespace SrcMgr { getExpansionLocStart() != getExpansionLocEnd(); } - /// \brief Return a ExpansionInfo for an expansion. + /// Return a ExpansionInfo for an expansion. /// /// Start and End specify the expansion range (where the macro is /// expanded), and SpellingLoc specifies the spelling location (where @@ -379,7 +379,7 @@ namespace SrcMgr { return X; } - /// \brief Return a special ExpansionInfo for the expansion of + /// Return a special ExpansionInfo for the expansion of /// a macro argument into a function-like macro's body. /// /// ExpansionLoc specifies the expansion location (where the macro is @@ -406,7 +406,7 @@ namespace SrcMgr { return create(SpellingLoc, ExpansionLoc, SourceLocation()); } - /// \brief Return a special ExpansionInfo representing a token that ends + /// Return a special ExpansionInfo representing a token that ends /// prematurely. This is used to model a '>>' token that has been split /// into '>' tokens and similar cases. Unlike for the other forms of /// expansion, the expansion range in this case is a character range, not @@ -418,7 +418,7 @@ namespace SrcMgr { } }; - /// \brief This is a discriminated union of FileInfo and ExpansionInfo. + /// This is a discriminated union of FileInfo and ExpansionInfo. /// /// SourceManager keeps an array of these objects, and they are uniquely /// identified by the FileID datatype. @@ -469,44 +469,44 @@ namespace SrcMgr { } // namespace SrcMgr -/// \brief External source of source location entries. +/// External source of source location entries. class ExternalSLocEntrySource { public: virtual ~ExternalSLocEntrySource(); - /// \brief Read the source location entry with index ID, which will always be + /// Read the source location entry with index ID, which will always be /// less than -1. /// /// \returns true if an error occurred that prevented the source-location /// entry from being loaded. virtual bool ReadSLocEntry(int ID) = 0; - /// \brief Retrieve the module import location and name for the given ID, if + /// Retrieve the module import location and name for the given ID, if /// in fact it was loaded from a module (rather than, say, a precompiled /// header). virtual std::pair<SourceLocation, StringRef> getModuleImportLoc(int ID) = 0; }; -/// \brief Holds the cache used by isBeforeInTranslationUnit. +/// Holds the cache used by isBeforeInTranslationUnit. /// /// The cache structure is complex enough to be worth breaking out of /// SourceManager. class InBeforeInTUCacheEntry { - /// \brief The FileID's of the cached query. + /// The FileID's of the cached query. /// /// If these match up with a subsequent query, the result can be reused. FileID LQueryFID, RQueryFID; - /// \brief True if LQueryFID was created before RQueryFID. + /// True if LQueryFID was created before RQueryFID. /// /// This is used to compare macro expansion locations. bool IsLQFIDBeforeRQFID; - /// \brief The file found in common between the two \#include traces, i.e., + /// The file found in common between the two \#include traces, i.e., /// the nearest common ancestor of the \#include tree. FileID CommonFID; - /// \brief The offset of the previous query in CommonFID. + /// The offset of the previous query in CommonFID. /// /// Usually, this represents the location of the \#include for QueryFID, but /// if LQueryFID is a parent of RQueryFID (or vice versa) then these can be a @@ -514,7 +514,7 @@ class InBeforeInTUCacheEntry { unsigned LCommonOffset, RCommonOffset; public: - /// \brief Return true if the currently cached values match up with + /// Return true if the currently cached values match up with /// the specified LHS/RHS query. /// /// If not, we can't use the cache. @@ -522,7 +522,7 @@ public: return LQueryFID == LHS && RQueryFID == RHS; } - /// \brief If the cache is valid, compute the result given the + /// If the cache is valid, compute the result given the /// specified offsets in the LHS/RHS FileID's. bool getCachedResult(unsigned LOffset, unsigned ROffset) const { // If one of the query files is the common file, use the offset. Otherwise, @@ -541,7 +541,7 @@ public: return LOffset < ROffset; } - /// \brief Set up a new query. + /// Set up a new query. void setQueryFIDs(FileID LHS, FileID RHS, bool isLFIDBeforeRFID) { assert(LHS != RHS); LQueryFID = LHS; @@ -562,12 +562,12 @@ public: } }; -/// \brief The stack used when building modules on demand, which is used +/// The stack used when building modules on demand, which is used /// to provide a link between the source managers of the different compiler /// instances. using ModuleBuildStack = ArrayRef<std::pair<std::string, FullSourceLoc>>; -/// \brief This class handles loading and caching of source files into memory. +/// This class handles loading and caching of source files into memory. /// /// This object owns the MemoryBuffer objects for all of the loaded /// files and assigns unique FileID's for each unique \#include chain. @@ -580,14 +580,14 @@ using ModuleBuildStack = ArrayRef<std::pair<std::string, FullSourceLoc>>; /// where the expanded token came from and the expansion location specifies /// where it was expanded. class SourceManager : public RefCountedBase<SourceManager> { - /// \brief DiagnosticsEngine object. + /// DiagnosticsEngine object. DiagnosticsEngine &Diag; FileManager &FileMgr; mutable llvm::BumpPtrAllocator ContentCacheAlloc; - /// \brief Memoized information about all of the files tracked by this + /// Memoized information about all of the files tracked by this /// SourceManager. /// /// This map allows us to merge ContentCache entries based @@ -595,29 +595,29 @@ class SourceManager : public RefCountedBase<SourceManager> { /// non-null, FileEntry pointers. llvm::DenseMap<const FileEntry*, SrcMgr::ContentCache*> FileInfos; - /// \brief True if the ContentCache for files that are overridden by other + /// True if the ContentCache for files that are overridden by other /// files, should report the original file name. Defaults to true. bool OverridenFilesKeepOriginalName = true; - /// \brief True if non-system source files should be treated as volatile + /// True if non-system source files should be treated as volatile /// (likely to change while trying to use them). Defaults to false. bool UserFilesAreVolatile; - /// \brief True if all files read during this compilation should be treated + /// True if all files read during this compilation should be treated /// as transient (may not be present in later compilations using a module /// file created from this compilation). Defaults to false. bool FilesAreTransient = false; struct OverriddenFilesInfoTy { - /// \brief Files that have been overridden with the contents from another + /// Files that have been overridden with the contents from another /// file. llvm::DenseMap<const FileEntry *, const FileEntry *> OverriddenFiles; - /// \brief Files that were overridden with a memory buffer. + /// Files that were overridden with a memory buffer. llvm::DenseSet<const FileEntry *> OverriddenFilesWithBuffer; }; - /// \brief Lazily create the object keeping overridden files info, since + /// Lazily create the object keeping overridden files info, since /// it is uncommonly used. std::unique_ptr<OverriddenFilesInfoTy> OverriddenFilesInfo; @@ -627,77 +627,77 @@ class SourceManager : public RefCountedBase<SourceManager> { return *OverriddenFilesInfo; } - /// \brief Information about various memory buffers that we have read in. + /// Information about various memory buffers that we have read in. /// /// All FileEntry* within the stored ContentCache objects are NULL, /// as they do not refer to a file. std::vector<SrcMgr::ContentCache*> MemBufferInfos; - /// \brief The table of SLocEntries that are local to this module. + /// The table of SLocEntries that are local to this module. /// /// Positive FileIDs are indexes into this table. Entry 0 indicates an invalid /// expansion. SmallVector<SrcMgr::SLocEntry, 0> LocalSLocEntryTable; - /// \brief The table of SLocEntries that are loaded from other modules. + /// The table of SLocEntries that are loaded from other modules. /// /// Negative FileIDs are indexes into this table. To get from ID to an index, /// use (-ID - 2). mutable SmallVector<SrcMgr::SLocEntry, 0> LoadedSLocEntryTable; - /// \brief The starting offset of the next local SLocEntry. + /// The starting offset of the next local SLocEntry. /// /// This is LocalSLocEntryTable.back().Offset + the size of that entry. unsigned NextLocalOffset; - /// \brief The starting offset of the latest batch of loaded SLocEntries. + /// The starting offset of the latest batch of loaded SLocEntries. /// /// This is LoadedSLocEntryTable.back().Offset, except that that entry might /// not have been loaded, so that value would be unknown. unsigned CurrentLoadedOffset; - /// \brief The highest possible offset is 2^31-1, so CurrentLoadedOffset + /// The highest possible offset is 2^31-1, so CurrentLoadedOffset /// starts at 2^31. static const unsigned MaxLoadedOffset = 1U << 31U; - /// \brief A bitmap that indicates whether the entries of LoadedSLocEntryTable + /// A bitmap that indicates whether the entries of LoadedSLocEntryTable /// have already been loaded from the external source. /// /// Same indexing as LoadedSLocEntryTable. llvm::BitVector SLocEntryLoaded; - /// \brief An external source for source location entries. + /// An external source for source location entries. ExternalSLocEntrySource *ExternalSLocEntries = nullptr; - /// \brief A one-entry cache to speed up getFileID. + /// A one-entry cache to speed up getFileID. /// /// LastFileIDLookup records the last FileID looked up or created, because it /// is very common to look up many tokens from the same file. mutable FileID LastFileIDLookup; - /// \brief Holds information for \#line directives. + /// Holds information for \#line directives. /// /// This is referenced by indices from SLocEntryTable. LineTableInfo *LineTable = nullptr; - /// \brief These ivars serve as a cache used in the getLineNumber + /// These ivars serve as a cache used in the getLineNumber /// method which is used to speedup getLineNumber calls to nearby locations. mutable FileID LastLineNoFileIDQuery; mutable SrcMgr::ContentCache *LastLineNoContentCache; mutable unsigned LastLineNoFilePos; mutable unsigned LastLineNoResult; - /// \brief The file ID for the main source file of the translation unit. + /// The file ID for the main source file of the translation unit. FileID MainFileID; - /// \brief The file ID for the precompiled preamble there is one. + /// The file ID for the precompiled preamble there is one. FileID PreambleFileID; // Statistics for -print-stats. mutable unsigned NumLinearScans = 0; mutable unsigned NumBinaryProbes = 0; - /// \brief Associates a FileID with its "included/expanded in" decomposed + /// Associates a FileID with its "included/expanded in" decomposed /// location. /// /// Used to cache results from and speed-up \c getDecomposedIncludedLoc @@ -725,14 +725,14 @@ class SourceManager : public RefCountedBase<SourceManager> { mutable std::unique_ptr<SrcMgr::ContentCache> FakeContentCacheForRecovery; - /// \brief Lazily computed map of macro argument chunks to their expanded + /// Lazily computed map of macro argument chunks to their expanded /// source location. using MacroArgsMap = std::map<unsigned, SourceLocation>; mutable llvm::DenseMap<FileID, std::unique_ptr<MacroArgsMap>> MacroArgsCacheMap; - /// \brief The stack of modules being built, which is used to detect + /// The stack of modules being built, which is used to detect /// cycles in the module dependency graph as modules are being built, as /// well as to describe why we're rebuilding a particular module. /// @@ -758,29 +758,29 @@ public: FileManager &getFileManager() const { return FileMgr; } - /// \brief Set true if the SourceManager should report the original file name + /// Set true if the SourceManager should report the original file name /// for contents of files that were overridden by other files. Defaults to /// true. void setOverridenFilesKeepOriginalName(bool value) { OverridenFilesKeepOriginalName = value; } - /// \brief True if non-system source files should be treated as volatile + /// True if non-system source files should be treated as volatile /// (likely to change while trying to use them). bool userFilesAreVolatile() const { return UserFilesAreVolatile; } - /// \brief Retrieve the module build stack. + /// Retrieve the module build stack. ModuleBuildStack getModuleBuildStack() const { return StoredModuleBuildStack; } - /// \brief Set the module build stack. + /// Set the module build stack. void setModuleBuildStack(ModuleBuildStack stack) { StoredModuleBuildStack.clear(); StoredModuleBuildStack.append(stack.begin(), stack.end()); } - /// \brief Push an entry to the module build stack. + /// Push an entry to the module build stack. void pushModuleBuildStack(StringRef moduleName, FullSourceLoc importLoc) { StoredModuleBuildStack.push_back(std::make_pair(moduleName.str(),importLoc)); } @@ -789,28 +789,28 @@ public: // MainFileID creation and querying methods. //===--------------------------------------------------------------------===// - /// \brief Returns the FileID of the main source file. + /// Returns the FileID of the main source file. FileID getMainFileID() const { return MainFileID; } - /// \brief Set the file ID for the main source file. + /// Set the file ID for the main source file. void setMainFileID(FileID FID) { MainFileID = FID; } - /// \brief Set the file ID for the precompiled preamble. + /// Set the file ID for the precompiled preamble. void setPreambleFileID(FileID Preamble) { assert(PreambleFileID.isInvalid() && "PreambleFileID already set!"); PreambleFileID = Preamble; } - /// \brief Get the file ID for the precompiled preamble if there is one. + /// Get the file ID for the precompiled preamble if there is one. FileID getPreambleFileID() const { return PreambleFileID; } //===--------------------------------------------------------------------===// // Methods to create new FileID's and macro expansions. //===--------------------------------------------------------------------===// - /// \brief Create a new FileID that represents the specified file + /// Create a new FileID that represents the specified file /// being \#included from the specified IncludePosition. /// /// This translates NULL into standard input. @@ -823,7 +823,7 @@ public: return createFileID(IR, IncludePos, FileCharacter, LoadedID, LoadedOffset); } - /// \brief Create a new FileID that represents the specified memory buffer. + /// Create a new FileID that represents the specified memory buffer. /// /// This does no caching of the buffer and takes ownership of the /// MemoryBuffer, so only pass a MemoryBuffer to this once. @@ -838,7 +838,7 @@ public: enum UnownedTag { Unowned }; - /// \brief Create a new FileID that represents the specified memory buffer. + /// Create a new FileID that represents the specified memory buffer. /// /// This does no caching of the buffer and takes ownership of the /// MemoryBuffer, so only pass a MemoryBuffer to this once. @@ -850,7 +850,7 @@ public: IncludeLoc, FileCharacter, LoadedID, LoadedOffset); } - /// \brief Get the FileID for \p SourceFile if it exists. Otherwise, create a + /// Get the FileID for \p SourceFile if it exists. Otherwise, create a /// new FileID for the \p SourceFile. FileID getOrCreateFileID(const FileEntry *SourceFile, SrcMgr::CharacteristicKind FileCharacter) { @@ -859,7 +859,7 @@ public: FileCharacter); } - /// \brief Return a new SourceLocation that encodes the + /// Return a new SourceLocation that encodes the /// fact that a token from SpellingLoc should actually be referenced from /// ExpansionLoc, and that it represents the expansion of a macro argument /// into the function-like macro body. @@ -867,7 +867,7 @@ public: SourceLocation ExpansionLoc, unsigned TokLength); - /// \brief Return a new SourceLocation that encodes the fact + /// Return a new SourceLocation that encodes the fact /// that a token from SpellingLoc should actually be referenced from /// ExpansionLoc. SourceLocation createExpansionLoc(SourceLocation Loc, @@ -878,20 +878,20 @@ public: int LoadedID = 0, unsigned LoadedOffset = 0); - /// \brief Return a new SourceLocation that encodes that the token starting + /// Return a new SourceLocation that encodes that the token starting /// at \p TokenStart ends prematurely at \p TokenEnd. SourceLocation createTokenSplitLoc(SourceLocation SpellingLoc, SourceLocation TokenStart, SourceLocation TokenEnd); - /// \brief Retrieve the memory buffer associated with the given file. + /// Retrieve the memory buffer associated with the given file. /// /// \param Invalid If non-NULL, will be set \c true if an error /// occurs while retrieving the memory buffer. llvm::MemoryBuffer *getMemoryBufferForFile(const FileEntry *File, bool *Invalid = nullptr); - /// \brief Override the contents of the given source file by providing an + /// Override the contents of the given source file by providing an /// already-allocated buffer. /// /// \param SourceFile the source file whose contents will be overridden. @@ -908,7 +908,7 @@ public: overrideFileContents(SourceFile, Buffer.release(), /*DoNotFree*/ false); } - /// \brief Override the given source file with another one. + /// Override the given source file with another one. /// /// \param SourceFile the source file which will be overridden. /// @@ -917,7 +917,7 @@ public: void overrideFileContents(const FileEntry *SourceFile, const FileEntry *NewFile); - /// \brief Returns true if the file contents have been overridden. + /// Returns true if the file contents have been overridden. bool isFileOverridden(const FileEntry *File) const { if (OverriddenFilesInfo) { if (OverriddenFilesInfo->OverriddenFilesWithBuffer.count(File)) @@ -929,16 +929,16 @@ public: return false; } - /// \brief Disable overridding the contents of a file, previously enabled + /// Disable overridding the contents of a file, previously enabled /// with #overrideFileContents. /// /// This should be called before parsing has begun. void disableFileContentsOverride(const FileEntry *File); - /// \brief Specify that a file is transient. + /// Specify that a file is transient. void setFileIsTransient(const FileEntry *SourceFile); - /// \brief Specify that all files that are read during this compilation are + /// Specify that all files that are read during this compilation are /// transient. void setAllFilesAreTransient(bool Transient) { FilesAreTransient = Transient; @@ -948,7 +948,7 @@ public: // FileID manipulation methods. //===--------------------------------------------------------------------===// - /// \brief Return the buffer for the specified FileID. + /// Return the buffer for the specified FileID. /// /// If there is an error opening this buffer the first time, this /// manufactures a temporary buffer and returns a non-empty error string. @@ -982,7 +982,7 @@ public: Invalid); } - /// \brief Returns the FileEntry record for the provided FileID. + /// Returns the FileEntry record for the provided FileID. const FileEntry *getFileEntryForID(FileID FID) const { bool MyInvalid = false; const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &MyInvalid); @@ -995,7 +995,7 @@ public: return Content->OrigEntry; } - /// \brief Returns the FileEntry record for the provided SLocEntry. + /// Returns the FileEntry record for the provided SLocEntry. const FileEntry *getFileEntryForSLocEntry(const SrcMgr::SLocEntry &sloc) const { const SrcMgr::ContentCache *Content = sloc.getFile().getContentCache(); @@ -1004,14 +1004,14 @@ public: return Content->OrigEntry; } - /// \brief Return a StringRef to the source buffer data for the + /// Return a StringRef to the source buffer data for the /// specified FileID. /// /// \param FID The file ID whose contents will be returned. /// \param Invalid If non-NULL, will be set true if an error occurred. StringRef getBufferData(FileID FID, bool *Invalid = nullptr) const; - /// \brief Get the number of FileIDs (files and macros) that were created + /// Get the number of FileIDs (files and macros) that were created /// during preprocessing of \p FID, including it. unsigned getNumCreatedFIDsForFileID(FileID FID) const { bool Invalid = false; @@ -1022,7 +1022,7 @@ public: return Entry.getFile().NumCreatedFIDs; } - /// \brief Set the number of FileIDs (files and macros) that were created + /// Set the number of FileIDs (files and macros) that were created /// during preprocessing of \p FID, including it. void setNumCreatedFIDsForFileID(FileID FID, unsigned NumFIDs) const { bool Invalid = false; @@ -1038,7 +1038,7 @@ public: // SourceLocation manipulation methods. //===--------------------------------------------------------------------===// - /// \brief Return the FileID for a SourceLocation. + /// Return the FileID for a SourceLocation. /// /// This is a very hot method that is used for all SourceManager queries /// that start with a SourceLocation object. It is responsible for finding @@ -1054,14 +1054,14 @@ public: return getFileIDSlow(SLocOffset); } - /// \brief Return the filename of the file containing a SourceLocation. + /// Return the filename of the file containing a SourceLocation. StringRef getFilename(SourceLocation SpellingLoc) const { if (const FileEntry *F = getFileEntryForID(getFileID(SpellingLoc))) return F->getName(); return StringRef(); } - /// \brief Return the source location corresponding to the first byte of + /// Return the source location corresponding to the first byte of /// the specified file. SourceLocation getLocForStartOfFile(FileID FID) const { bool Invalid = false; @@ -1073,7 +1073,7 @@ public: return SourceLocation::getFileLoc(FileOffset); } - /// \brief Return the source location corresponding to the last byte of the + /// Return the source location corresponding to the last byte of the /// specified file. SourceLocation getLocForEndOfFile(FileID FID) const { bool Invalid = false; @@ -1085,7 +1085,7 @@ public: return SourceLocation::getFileLoc(FileOffset + getFileIDSize(FID)); } - /// \brief Returns the include location if \p FID is a \#include'd file + /// Returns the include location if \p FID is a \#include'd file /// otherwise it returns an invalid location. SourceLocation getIncludeLoc(FileID FID) const { bool Invalid = false; @@ -1096,7 +1096,7 @@ public: return Entry.getFile().getIncludeLoc(); } - // \brief Returns the import location if the given source location is + // Returns the import location if the given source location is // located within a module, or an invalid location if the source location // is within the current translation unit. std::pair<SourceLocation, StringRef> @@ -1111,7 +1111,7 @@ public: return ExternalSLocEntries->getModuleImportLoc(FID.ID); } - /// \brief Given a SourceLocation object \p Loc, return the expansion + /// Given a SourceLocation object \p Loc, return the expansion /// location referenced by the ID. SourceLocation getExpansionLoc(SourceLocation Loc) const { // Handle the non-mapped case inline, defer to out of line code to handle @@ -1120,7 +1120,7 @@ public: return getExpansionLocSlowCase(Loc); } - /// \brief Given \p Loc, if it is a macro location return the expansion + /// Given \p Loc, if it is a macro location return the expansion /// location or the spelling location, depending on if it comes from a /// macro argument or not. SourceLocation getFileLoc(SourceLocation Loc) const { @@ -1128,17 +1128,17 @@ public: return getFileLocSlowCase(Loc); } - /// \brief Return the start/end of the expansion information for an + /// Return the start/end of the expansion information for an /// expansion location. /// /// \pre \p Loc is required to be an expansion location. CharSourceRange getImmediateExpansionRange(SourceLocation Loc) const; - /// \brief Given a SourceLocation object, return the range of + /// Given a SourceLocation object, return the range of /// tokens covered by the expansion in the ultimate file. CharSourceRange getExpansionRange(SourceLocation Loc) const; - /// \brief Given a SourceRange object, return the range of + /// Given a SourceRange object, return the range of /// tokens or characters covered by the expansion in the ultimate file. CharSourceRange getExpansionRange(SourceRange Range) const { SourceLocation Begin = getExpansionRange(Range.getBegin()).getBegin(); @@ -1147,7 +1147,7 @@ public: End.isTokenRange()); } - /// \brief Given a CharSourceRange object, return the range of + /// Given a CharSourceRange object, return the range of /// tokens or characters covered by the expansion in the ultimate file. CharSourceRange getExpansionRange(CharSourceRange Range) const { CharSourceRange Expansion = getExpansionRange(Range.getAsRange()); @@ -1156,7 +1156,7 @@ public: return Expansion; } - /// \brief Given a SourceLocation object, return the spelling + /// Given a SourceLocation object, return the spelling /// location referenced by the ID. /// /// This is the place where the characters that make up the lexed token @@ -1168,7 +1168,7 @@ public: return getSpellingLocSlowCase(Loc); } - /// \brief Given a SourceLocation object, return the spelling location + /// Given a SourceLocation object, return the spelling location /// referenced by the ID. /// /// This is the first level down towards the place where the characters @@ -1176,7 +1176,7 @@ public: /// be used by clients. SourceLocation getImmediateSpellingLoc(SourceLocation Loc) const; - /// \brief Form a SourceLocation from a FileID and Offset pair. + /// Form a SourceLocation from a FileID and Offset pair. SourceLocation getComposedLoc(FileID FID, unsigned Offset) const { bool Invalid = false; const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &Invalid); @@ -1188,7 +1188,7 @@ public: : SourceLocation::getMacroLoc(GlobalOffset); } - /// \brief Decompose the specified location into a raw FileID + Offset pair. + /// Decompose the specified location into a raw FileID + Offset pair. /// /// The first element is the FileID, the second is the offset from the /// start of the buffer of the location. @@ -1201,7 +1201,7 @@ public: return std::make_pair(FID, Loc.getOffset()-E.getOffset()); } - /// \brief Decompose the specified location into a raw FileID + Offset pair. + /// Decompose the specified location into a raw FileID + Offset pair. /// /// If the location is an expansion record, walk through it until we find /// the final location expanded. @@ -1220,7 +1220,7 @@ public: return getDecomposedExpansionLocSlowCase(E); } - /// \brief Decompose the specified location into a raw FileID + Offset pair. + /// Decompose the specified location into a raw FileID + Offset pair. /// /// If the location is an expansion record, walk through it until we find /// its spelling record. @@ -1238,11 +1238,11 @@ public: return getDecomposedSpellingLocSlowCase(E, Offset); } - /// \brief Returns the "included/expanded in" decomposed location of the given + /// Returns the "included/expanded in" decomposed location of the given /// FileID. std::pair<FileID, unsigned> getDecomposedIncludedLoc(FileID FID) const; - /// \brief Returns the offset from the start of the file that the + /// Returns the offset from the start of the file that the /// specified SourceLocation represents. /// /// This is not very meaningful for a macro ID. @@ -1250,7 +1250,7 @@ public: return getDecomposedLoc(SpellingLoc).second; } - /// \brief Tests whether the given source location represents a macro + /// Tests whether the given source location represents a macro /// argument's expansion into the function-like macro definition. /// /// \param StartLoc If non-null and function returns true, it is set to the @@ -1262,14 +1262,14 @@ public: bool isMacroArgExpansion(SourceLocation Loc, SourceLocation *StartLoc = nullptr) const; - /// \brief Tests whether the given source location represents the expansion of + /// Tests whether the given source location represents the expansion of /// a macro body. /// /// This is equivalent to testing whether the location is part of a macro /// expansion but not the expansion of an argument to a function-like macro. bool isMacroBodyExpansion(SourceLocation Loc) const; - /// \brief Returns true if the given MacroID location points at the beginning + /// Returns true if the given MacroID location points at the beginning /// of the immediate macro expansion. /// /// \param MacroBegin If non-null and function returns true, it is set to the @@ -1277,7 +1277,7 @@ public: bool isAtStartOfImmediateMacroExpansion(SourceLocation Loc, SourceLocation *MacroBegin = nullptr) const; - /// \brief Returns true if the given MacroID location points at the character + /// Returns true if the given MacroID location points at the character /// end of the immediate macro expansion. /// /// \param MacroEnd If non-null and function returns true, it is set to the @@ -1286,7 +1286,7 @@ public: isAtEndOfImmediateMacroExpansion(SourceLocation Loc, SourceLocation *MacroEnd = nullptr) const; - /// \brief Returns true if \p Loc is inside the [\p Start, +\p Length) + /// Returns true if \p Loc is inside the [\p Start, +\p Length) /// chunk of the source location address space. /// /// If it's true and \p RelativeOffset is non-null, it will be set to the @@ -1311,7 +1311,7 @@ public: return false; } - /// \brief Return true if both \p LHS and \p RHS are in the local source + /// Return true if both \p LHS and \p RHS are in the local source /// location address space or the loaded one. /// /// If it's true and \p RelativeOffset is non-null, it will be set to the @@ -1335,14 +1335,14 @@ public: // Queries about the code at a SourceLocation. //===--------------------------------------------------------------------===// - /// \brief Return a pointer to the start of the specified location + /// Return a pointer to the start of the specified location /// in the appropriate spelling MemoryBuffer. /// /// \param Invalid If non-NULL, will be set \c true if an error occurs. const char *getCharacterData(SourceLocation SL, bool *Invalid = nullptr) const; - /// \brief Return the column # for the specified file position. + /// Return the column # for the specified file position. /// /// This is significantly cheaper to compute than the line number. This /// returns zero if the column number isn't known. This may only be called @@ -1357,7 +1357,7 @@ public: unsigned getPresumedColumnNumber(SourceLocation Loc, bool *Invalid = nullptr) const; - /// \brief Given a SourceLocation, return the spelling line number + /// Given a SourceLocation, return the spelling line number /// for the position indicated. /// /// This requires building and caching a table of line offsets for the @@ -1368,14 +1368,14 @@ public: unsigned getExpansionLineNumber(SourceLocation Loc, bool *Invalid = nullptr) const; unsigned getPresumedLineNumber(SourceLocation Loc, bool *Invalid = nullptr) const; - /// \brief Return the filename or buffer identifier of the buffer the + /// Return the filename or buffer identifier of the buffer the /// location is in. /// /// Note that this name does not respect \#line directives. Use /// getPresumedLoc for normal clients. StringRef getBufferName(SourceLocation Loc, bool *Invalid = nullptr) const; - /// \brief Return the file characteristic of the specified source + /// Return the file characteristic of the specified source /// location, indicating whether this is a normal file, a system /// header, or an "implicit extern C" system header. /// @@ -1387,7 +1387,7 @@ public: /// considered to be from a system header. SrcMgr::CharacteristicKind getFileCharacteristic(SourceLocation Loc) const; - /// \brief Returns the "presumed" location of a SourceLocation specifies. + /// Returns the "presumed" location of a SourceLocation specifies. /// /// A "presumed location" can be modified by \#line or GNU line marker /// directives. This provides a view on the data that a user should see @@ -1403,7 +1403,7 @@ public: PresumedLoc getPresumedLoc(SourceLocation Loc, bool UseLineDirectives = true) const; - /// \brief Returns whether the PresumedLoc for a given SourceLocation is + /// Returns whether the PresumedLoc for a given SourceLocation is /// in the main file. /// /// This computes the "presumed" location for a SourceLocation, then checks @@ -1412,7 +1412,7 @@ public: /// account. bool isInMainFile(SourceLocation Loc) const; - /// \brief Returns true if the spelling locations for both SourceLocations + /// Returns true if the spelling locations for both SourceLocations /// are part of the same file buffer. /// /// This check ignores line marker directives. @@ -1420,7 +1420,7 @@ public: return getFileID(Loc1) == getFileID(Loc2); } - /// \brief Returns true if the spelling location for the given location + /// Returns true if the spelling location for the given location /// is in the main file buffer. /// /// This check ignores line marker directives. @@ -1428,25 +1428,25 @@ public: return getFileID(Loc) == getMainFileID(); } - /// \brief Returns if a SourceLocation is in a system header. + /// Returns if a SourceLocation is in a system header. bool isInSystemHeader(SourceLocation Loc) const { return isSystem(getFileCharacteristic(Loc)); } - /// \brief Returns if a SourceLocation is in an "extern C" system header. + /// Returns if a SourceLocation is in an "extern C" system header. bool isInExternCSystemHeader(SourceLocation Loc) const { return getFileCharacteristic(Loc) == SrcMgr::C_ExternCSystem; } - /// \brief Returns whether \p Loc is expanded from a macro in a system header. + /// Returns whether \p Loc is expanded from a macro in a system header. bool isInSystemMacro(SourceLocation loc) const { return loc.isMacroID() && isInSystemHeader(getSpellingLoc(loc)); } - /// \brief The size of the SLocEntry that \p FID represents. + /// The size of the SLocEntry that \p FID represents. unsigned getFileIDSize(FileID FID) const; - /// \brief Given a specific FileID, returns true if \p Loc is inside that + /// Given a specific FileID, returns true if \p Loc is inside that /// FileID chunk and sets relative offset (offset of \p Loc from beginning /// of FileID) to \p relativeOffset. bool isInFileID(SourceLocation Loc, FileID FID, @@ -1465,10 +1465,10 @@ public: // Line Table Manipulation Routines //===--------------------------------------------------------------------===// - /// \brief Return the uniqued ID for the specified filename. + /// Return the uniqued ID for the specified filename. unsigned getLineTableFilenameID(StringRef Str); - /// \brief Add a line note to the line table for the FileID and offset + /// Add a line note to the line table for the FileID and offset /// specified by Loc. /// /// If FilenameID is -1, it is considered to be unspecified. @@ -1476,17 +1476,17 @@ public: bool IsFileEntry, bool IsFileExit, SrcMgr::CharacteristicKind FileKind); - /// \brief Determine if the source manager has a line table. + /// Determine if the source manager has a line table. bool hasLineTable() const { return LineTable != nullptr; } - /// \brief Retrieve the stored line table. + /// Retrieve the stored line table. LineTableInfo &getLineTable(); //===--------------------------------------------------------------------===// // Queries for performance analysis. //===--------------------------------------------------------------------===// - /// \brief Return the total amount of physical memory allocated by the + /// Return the total amount of physical memory allocated by the /// ContentCache allocator. size_t getContentCacheSize() const { return ContentCacheAlloc.getTotalMemory(); @@ -1500,11 +1500,11 @@ public: : malloc_bytes(malloc_bytes), mmap_bytes(mmap_bytes) {} }; - /// \brief Return the amount of memory used by memory buffers, breaking down + /// Return the amount of memory used by memory buffers, breaking down /// by heap-backed versus mmap'ed memory. MemoryBufferSizes getMemoryBufferSizes() const; - /// \brief Return the amount of memory used for various side tables and + /// Return the amount of memory used for various side tables and /// data structures in the SourceManager. size_t getDataStructureSizes() const; @@ -1512,25 +1512,25 @@ public: // Other miscellaneous methods. //===--------------------------------------------------------------------===// - /// \brief Get the source location for the given file:line:col triplet. + /// Get the source location for the given file:line:col triplet. /// /// If the source file is included multiple times, the source location will /// be based upon the first inclusion. SourceLocation translateFileLineCol(const FileEntry *SourceFile, unsigned Line, unsigned Col) const; - /// \brief Get the FileID for the given file. + /// Get the FileID for the given file. /// /// If the source file is included multiple times, the FileID will be the /// first inclusion. FileID translateFile(const FileEntry *SourceFile) const; - /// \brief Get the source location in \p FID for the given line:col. + /// Get the source location in \p FID for the given line:col. /// Returns null location if \p FID is not a file SLocEntry. SourceLocation translateLineCol(FileID FID, unsigned Line, unsigned Col) const; - /// \brief If \p Loc points inside a function macro argument, the returned + /// If \p Loc points inside a function macro argument, the returned /// location will be the macro location in which the argument was expanded. /// If a macro argument is used multiple times, the expanded location will /// be at the first expansion of the argument. @@ -1541,12 +1541,12 @@ public: /// where 'foo' was expanded into. SourceLocation getMacroArgExpandedLocation(SourceLocation Loc) const; - /// \brief Determines the order of 2 source locations in the translation unit. + /// Determines the order of 2 source locations in the translation unit. /// /// \returns true if LHS source location comes before RHS, false otherwise. bool isBeforeInTranslationUnit(SourceLocation LHS, SourceLocation RHS) const; - /// \brief Determines whether the two decomposed source location is in the + /// Determines whether the two decomposed source location is in the /// same translation unit. As a byproduct, it also calculates the order /// of the source locations in case they are in the same TU. /// @@ -1557,13 +1557,13 @@ public: isInTheSameTranslationUnit(std::pair<FileID, unsigned> &LOffs, std::pair<FileID, unsigned> &ROffs) const; - /// \brief Determines the order of 2 source locations in the "source location + /// Determines the order of 2 source locations in the "source location /// address space". bool isBeforeInSLocAddrSpace(SourceLocation LHS, SourceLocation RHS) const { return isBeforeInSLocAddrSpace(LHS, RHS.getOffset()); } - /// \brief Determines the order of a source location and a source location + /// Determines the order of a source location and a source location /// offset in the "source location address space". /// /// Note that we always consider source locations loaded from @@ -1595,25 +1595,25 @@ public: return FileInfos.find(File) != FileInfos.end(); } - /// \brief Print statistics to stderr. + /// Print statistics to stderr. void PrintStats() const; void dump() const; - /// \brief Get the number of local SLocEntries we have. + /// Get the number of local SLocEntries we have. unsigned local_sloc_entry_size() const { return LocalSLocEntryTable.size(); } - /// \brief Get a local SLocEntry. This is exposed for indexing. + /// Get a local SLocEntry. This is exposed for indexing. const SrcMgr::SLocEntry &getLocalSLocEntry(unsigned Index, bool *Invalid = nullptr) const { assert(Index < LocalSLocEntryTable.size() && "Invalid index"); return LocalSLocEntryTable[Index]; } - /// \brief Get the number of loaded SLocEntries we have. + /// Get the number of loaded SLocEntries we have. unsigned loaded_sloc_entry_size() const { return LoadedSLocEntryTable.size();} - /// \brief Get a loaded SLocEntry. This is exposed for indexing. + /// Get a loaded SLocEntry. This is exposed for indexing. const SrcMgr::SLocEntry &getLoadedSLocEntry(unsigned Index, bool *Invalid = nullptr) const { assert(Index < LoadedSLocEntryTable.size() && "Invalid index"); @@ -1639,7 +1639,7 @@ public: ExternalSLocEntries = Source; } - /// \brief Allocate a number of loaded SLocEntries, which will be actually + /// Allocate a number of loaded SLocEntries, which will be actually /// loaded on demand from the external source. /// /// NumSLocEntries will be allocated, which occupy a total of TotalSize space @@ -1648,23 +1648,23 @@ public: std::pair<int, unsigned> AllocateLoadedSLocEntries(unsigned NumSLocEntries, unsigned TotalSize); - /// \brief Returns true if \p Loc came from a PCH/Module. + /// Returns true if \p Loc came from a PCH/Module. bool isLoadedSourceLocation(SourceLocation Loc) const { return Loc.getOffset() >= CurrentLoadedOffset; } - /// \brief Returns true if \p Loc did not come from a PCH/Module. + /// Returns true if \p Loc did not come from a PCH/Module. bool isLocalSourceLocation(SourceLocation Loc) const { return Loc.getOffset() < NextLocalOffset; } - /// \brief Returns true if \p FID came from a PCH/Module. + /// Returns true if \p FID came from a PCH/Module. bool isLoadedFileID(FileID FID) const { assert(FID.ID != -1 && "Using FileID sentinel value"); return FID.ID < 0; } - /// \brief Returns true if \p FID did not come from a PCH/Module. + /// Returns true if \p FID did not come from a PCH/Module. bool isLocalFileID(FileID FID) const { return !isLoadedFileID(FID); } @@ -1697,7 +1697,7 @@ private: const SrcMgr::SLocEntry &loadSLocEntry(unsigned Index, bool *Invalid) const; - /// \brief Get the entry with the given unwrapped FileID. + /// Get the entry with the given unwrapped FileID. const SrcMgr::SLocEntry &getSLocEntryByID(int ID, bool *Invalid = nullptr) const { assert(ID != -1 && "Using FileID sentinel value"); @@ -1718,7 +1718,7 @@ private: int LoadedID = 0, unsigned LoadedOffset = 0); - /// \brief Return true if the specified FileID contains the + /// Return true if the specified FileID contains the /// specified SourceLocation offset. This is a very hot method. inline bool isOffsetInFileID(FileID FID, unsigned SLocOffset) const { const SrcMgr::SLocEntry &Entry = getSLocEntry(FID); @@ -1738,15 +1738,15 @@ private: return SLocOffset < getSLocEntryByID(FID.ID+1).getOffset(); } - /// \brief Returns the previous in-order FileID or an invalid FileID if there + /// Returns the previous in-order FileID or an invalid FileID if there /// is no previous one. FileID getPreviousFileID(FileID FID) const; - /// \brief Returns the next in-order FileID or an invalid FileID if there is + /// Returns the next in-order FileID or an invalid FileID if there is /// no next one. FileID getNextFileID(FileID FID) const; - /// \brief Create a new fileID for the specified ContentCache and + /// Create a new fileID for the specified ContentCache and /// include position. /// /// This works regardless of whether the ContentCache corresponds to a @@ -1760,7 +1760,7 @@ private: getOrCreateContentCache(const FileEntry *SourceFile, bool isSystemFile = false); - /// \brief Create a new ContentCache for the specified memory buffer. + /// Create a new ContentCache for the specified memory buffer. const SrcMgr::ContentCache * createMemBufferContentCache(llvm::MemoryBuffer *Buf, bool DoNotFree); @@ -1785,11 +1785,11 @@ private: unsigned ExpansionLength) const; }; -/// \brief Comparison function object. +/// Comparison function object. template<typename T> class BeforeThanCompare; -/// \brief Compare two source locations. +/// Compare two source locations. template<> class BeforeThanCompare<SourceLocation> { SourceManager &SM; @@ -1802,7 +1802,7 @@ public: } }; -/// \brief Compare two non-overlapping source ranges. +/// Compare two non-overlapping source ranges. template<> class BeforeThanCompare<SourceRange> { SourceManager &SM; diff --git a/include/clang/Basic/SourceManagerInternals.h b/include/clang/Basic/SourceManagerInternals.h index edd910e704..68873be594 100644 --- a/include/clang/Basic/SourceManagerInternals.h +++ b/include/clang/Basic/SourceManagerInternals.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines implementation details of the clang::SourceManager class. +/// Defines implementation details of the clang::SourceManager class. // //===----------------------------------------------------------------------===// @@ -31,20 +31,20 @@ namespace clang { //===----------------------------------------------------------------------===// struct LineEntry { - /// \brief The offset in this file that the line entry occurs at. + /// The offset in this file that the line entry occurs at. unsigned FileOffset; - /// \brief The presumed line number of this line entry: \#line 4. + /// The presumed line number of this line entry: \#line 4. unsigned LineNo; - /// \brief The ID of the filename identified by this line entry: + /// The ID of the filename identified by this line entry: /// \#line 4 "foo.c". This is -1 if not specified. int FilenameID; - /// \brief Set the 0 if no flags, 1 if a system header, + /// Set the 0 if no flags, 1 if a system header, SrcMgr::CharacteristicKind FileKind; - /// \brief The offset of the virtual include stack location, + /// The offset of the virtual include stack location, /// which is manipulated by GNU linemarker directives. /// /// If this is 0 then there is no virtual \#includer. @@ -77,9 +77,9 @@ inline bool operator<(unsigned Offset, const LineEntry &E) { return Offset < E.FileOffset; } -/// \brief Used to hold and unique data used to represent \#line information. +/// Used to hold and unique data used to represent \#line information. class LineTableInfo { - /// \brief Map used to assign unique IDs to filenames in \#line directives. + /// Map used to assign unique IDs to filenames in \#line directives. /// /// This allows us to unique the filenames that /// frequently reoccur and reference them with indices. FilenameIDs holds @@ -88,7 +88,7 @@ class LineTableInfo { llvm::StringMap<unsigned, llvm::BumpPtrAllocator> FilenameIDs; std::vector<llvm::StringMapEntry<unsigned>*> FilenamesByID; - /// \brief Map from FileIDs to a list of line entries (sorted by the offset + /// Map from FileIDs to a list of line entries (sorted by the offset /// at which they occur in the file). std::map<FileID, std::vector<LineEntry>> LineEntries; @@ -113,7 +113,7 @@ public: unsigned EntryExit, SrcMgr::CharacteristicKind FileKind); - /// \brief Find the line entry nearest to FID that is before it. + /// Find the line entry nearest to FID that is before it. /// /// If there is no line entry before \p Offset in \p FID, returns null. const LineEntry *FindNearestLineEntry(FileID FID, unsigned Offset); @@ -124,7 +124,7 @@ public: iterator begin() { return LineEntries.begin(); } iterator end() { return LineEntries.end(); } - /// \brief Add a new line entry that has already been encoded into + /// Add a new line entry that has already been encoded into /// the internal representation of the line table. void AddEntry(FileID FID, const std::vector<LineEntry> &Entries); }; diff --git a/include/clang/Basic/Specifiers.h b/include/clang/Basic/Specifiers.h index d17e5a8145..ee57fc47fd 100644 --- a/include/clang/Basic/Specifiers.h +++ b/include/clang/Basic/Specifiers.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines various enumerations that describe declaration and +/// Defines various enumerations that describe declaration and /// type specifiers. /// //===----------------------------------------------------------------------===// @@ -21,7 +21,7 @@ #include "llvm/Support/ErrorHandling.h" namespace clang { - /// \brief Specifies the width of a type, e.g., short, long, or long long. + /// Specifies the width of a type, e.g., short, long, or long long. enum TypeSpecifierWidth { TSW_unspecified, TSW_short, @@ -29,7 +29,7 @@ namespace clang { TSW_longlong }; - /// \brief Specifies the signedness of a type, e.g., signed or unsigned. + /// Specifies the signedness of a type, e.g., signed or unsigned. enum TypeSpecifierSign { TSS_unspecified, TSS_signed, @@ -41,7 +41,7 @@ namespace clang { TSP_pipe }; - /// \brief Specifies the kind of type. + /// Specifies the kind of type. enum TypeSpecifierType { TST_unspecified, TST_void, @@ -81,7 +81,7 @@ namespace clang { TST_error // erroneous type }; - /// \brief Structure that packs information about the type specifiers that + /// Structure that packs information about the type specifiers that /// were written in a particular type specifier sequence. struct WrittenBuiltinSpecs { static_assert(TST_error < 1 << 6, "Type bitfield not wide enough for TST"); @@ -91,7 +91,7 @@ namespace clang { unsigned ModeAttr : 1; }; - /// \brief A C++ access specifier (public, private, protected), plus the + /// A C++ access specifier (public, private, protected), plus the /// special value "none" which means different things in different contexts. enum AccessSpecifier { AS_public, @@ -100,24 +100,24 @@ namespace clang { AS_none }; - /// \brief The categorization of expression values, currently following the + /// The categorization of expression values, currently following the /// C++11 scheme. enum ExprValueKind { - /// \brief An r-value expression (a pr-value in the C++11 taxonomy) + /// An r-value expression (a pr-value in the C++11 taxonomy) /// produces a temporary value. VK_RValue, - /// \brief An l-value expression is a reference to an object with + /// An l-value expression is a reference to an object with /// independent storage. VK_LValue, - /// \brief An x-value expression is a reference to an object with + /// An x-value expression is a reference to an object with /// independent storage but which can be "moved", i.e. /// efficiently cannibalized for its resources. VK_XValue }; - /// \brief A further classification of the kind of object referenced by an + /// A further classification of the kind of object referenced by an /// l-value or x-value. enum ExprObjectKind { /// An ordinary object is located at an address in memory. @@ -139,7 +139,7 @@ namespace clang { OK_ObjCSubscript }; - /// \brief Describes the kind of template specialization that a + /// Describes the kind of template specialization that a /// particular template specialization declaration represents. enum TemplateSpecializationKind { /// This template specialization was formed from a template-id but @@ -162,14 +162,14 @@ namespace clang { TSK_ExplicitInstantiationDefinition }; - /// \brief Determine whether this template specialization kind refers + /// Determine whether this template specialization kind refers /// to an instantiation of an entity (as opposed to a non-template or /// an explicit specialization). inline bool isTemplateInstantiation(TemplateSpecializationKind Kind) { return Kind != TSK_Undeclared && Kind != TSK_ExplicitSpecialization; } - /// \brief True if this template specialization kind is an explicit + /// True if this template specialization kind is an explicit /// specialization, explicit instantiation declaration, or explicit /// instantiation definition. inline bool isTemplateExplicitInstantiationOrSpecialization( @@ -187,7 +187,7 @@ namespace clang { llvm_unreachable("bad template specialization kind"); } - /// \brief Thread storage-class-specifier. + /// Thread storage-class-specifier. enum ThreadStorageClassSpecifier { TSCS_unspecified, /// GNU __thread. @@ -200,7 +200,7 @@ namespace clang { TSCS__Thread_local }; - /// \brief Storage classes. + /// Storage classes. enum StorageClass { // These are legal on both functions and variables. SC_None, @@ -213,24 +213,24 @@ namespace clang { SC_Register }; - /// \brief Checks whether the given storage class is legal for functions. + /// Checks whether the given storage class is legal for functions. inline bool isLegalForFunction(StorageClass SC) { return SC <= SC_PrivateExtern; } - /// \brief Checks whether the given storage class is legal for variables. + /// Checks whether the given storage class is legal for variables. inline bool isLegalForVariable(StorageClass SC) { return true; } - /// \brief In-class initialization styles for non-static data members. + /// In-class initialization styles for non-static data members. enum InClassInitStyle { ICIS_NoInit, ///< No in-class initializer. ICIS_CopyInit, ///< Copy initialization. ICIS_ListInit ///< Direct list-initialization. }; - /// \brief CallingConv - Specifies the calling convention that a function uses. + /// CallingConv - Specifies the calling convention that a function uses. enum CallingConv { CC_C, // __attribute__((cdecl)) CC_X86StdCall, // __attribute__((stdcall)) @@ -251,7 +251,7 @@ namespace clang { CC_PreserveAll, // __attribute__((preserve_all)) }; - /// \brief Checks whether the given calling convention supports variadic + /// Checks whether the given calling convention supports variadic /// calls. Unprototyped calls also use the variadic call rules. inline bool supportsVariadicCall(CallingConv CC) { switch (CC) { @@ -270,7 +270,7 @@ namespace clang { } } - /// \brief The storage duration for an object (per C++ [basic.stc]). + /// The storage duration for an object (per C++ [basic.stc]). enum StorageDuration { SD_FullExpression, ///< Full-expression storage duration (for temporaries). SD_Automatic, ///< Automatic storage duration (most local variables). @@ -296,7 +296,7 @@ namespace clang { llvm::StringRef getNullabilitySpelling(NullabilityKind kind, bool isContextSensitive = false); - /// \brief Kinds of parameter ABI. + /// Kinds of parameter ABI. enum class ParameterABI { /// This parameter uses ordinary ABI rules for its type. Ordinary, diff --git a/include/clang/Basic/SyncScope.h b/include/clang/Basic/SyncScope.h index 09ac005218..db4461eda0 100644 --- a/include/clang/Basic/SyncScope.h +++ b/include/clang/Basic/SyncScope.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Provides definitions for the atomic synchronization scopes. +/// Provides definitions for the atomic synchronization scopes. /// //===----------------------------------------------------------------------===// @@ -22,7 +22,7 @@ namespace clang { -/// \brief Defines synch scope values used internally by clang. +/// Defines synch scope values used internally by clang. /// /// The enum values start from 0 and are contiguous. They are mainly used for /// enumerating all supported synch scope values and mapping them to LLVM @@ -62,36 +62,36 @@ inline llvm::StringRef getAsString(SyncScope S) { llvm_unreachable("Invalid synch scope"); } -/// \brief Defines the kind of atomic scope models. +/// Defines the kind of atomic scope models. enum class AtomicScopeModelKind { None, OpenCL }; -/// \brief Defines the interface for synch scope model. +/// Defines the interface for synch scope model. class AtomicScopeModel { public: virtual ~AtomicScopeModel() {} - /// \brief Maps language specific synch scope values to internal + /// Maps language specific synch scope values to internal /// SyncScope enum. virtual SyncScope map(unsigned S) const = 0; - /// \brief Check if the compile-time constant synch scope value + /// Check if the compile-time constant synch scope value /// is valid. virtual bool isValid(unsigned S) const = 0; - /// \brief Get all possible synch scope values that might be + /// Get all possible synch scope values that might be /// encountered at runtime for the current language. virtual ArrayRef<unsigned> getRuntimeValues() const = 0; - /// \brief If atomic builtin function is called with invalid + /// If atomic builtin function is called with invalid /// synch scope value at runtime, it will fall back to a valid /// synch scope value returned by this function. virtual unsigned getFallBackValue() const = 0; - /// \brief Create an atomic scope model by AtomicScopeModelKind. + /// Create an atomic scope model by AtomicScopeModelKind. /// \return an empty std::unique_ptr for AtomicScopeModelKind::None. static std::unique_ptr<AtomicScopeModel> create(AtomicScopeModelKind K); }; -/// \brief Defines the synch scope model for OpenCL. +/// Defines the synch scope model for OpenCL. class AtomicScopeOpenCLModel : public AtomicScopeModel { public: /// The enum values match the pre-defined macros diff --git a/include/clang/Basic/TargetBuiltins.h b/include/clang/Basic/TargetBuiltins.h index 8f4f5e9a74..75a3811007 100644 --- a/include/clang/Basic/TargetBuiltins.h +++ b/include/clang/Basic/TargetBuiltins.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Enumerates target-specific builtins in their own namespaces within +/// Enumerates target-specific builtins in their own namespaces within /// namespace ::clang. /// //===----------------------------------------------------------------------===// @@ -31,7 +31,7 @@ namespace clang { }; } - /// \brief ARM builtins + /// ARM builtins namespace ARM { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -42,7 +42,7 @@ namespace clang { }; } - /// \brief AArch64 builtins + /// AArch64 builtins namespace AArch64 { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, @@ -53,7 +53,7 @@ namespace clang { }; } - /// \brief PPC builtins + /// PPC builtins namespace PPC { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -63,7 +63,7 @@ namespace clang { }; } - /// \brief NVPTX builtins + /// NVPTX builtins namespace NVPTX { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -73,7 +73,7 @@ namespace clang { }; } - /// \brief AMDGPU builtins + /// AMDGPU builtins namespace AMDGPU { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, @@ -83,7 +83,7 @@ namespace clang { }; } - /// \brief X86 builtins + /// X86 builtins namespace X86 { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, @@ -97,7 +97,7 @@ namespace clang { }; } - /// \brief Flags to identify the types for overloaded Neon builtins. + /// Flags to identify the types for overloaded Neon builtins. /// /// These must be kept in sync with the flags in utils/TableGen/NeonEmitter.h. class NeonTypeFlags { @@ -140,7 +140,7 @@ namespace clang { bool isQuad() const { return (Flags & QuadFlag) != 0; } }; - /// \brief Hexagon builtins + /// Hexagon builtins namespace Hexagon { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -150,7 +150,7 @@ namespace clang { }; } - /// \brief Nios2 builtins + /// Nios2 builtins namespace Nios2 { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, @@ -160,7 +160,7 @@ namespace clang { }; } - /// \brief MIPS builtins + /// MIPS builtins namespace Mips { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -170,7 +170,7 @@ namespace clang { }; } - /// \brief XCore builtins + /// XCore builtins namespace XCore { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -180,7 +180,7 @@ namespace clang { }; } - /// \brief Le64 builtins + /// Le64 builtins namespace Le64 { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, @@ -190,7 +190,7 @@ namespace clang { }; } - /// \brief SystemZ builtins + /// SystemZ builtins namespace SystemZ { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, @@ -200,7 +200,7 @@ namespace clang { }; } - /// \brief WebAssembly builtins + /// WebAssembly builtins namespace WebAssembly { enum { LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1, diff --git a/include/clang/Basic/TargetCXXABI.h b/include/clang/Basic/TargetCXXABI.h index 074f07ca5c..455121a98f 100644 --- a/include/clang/Basic/TargetCXXABI.h +++ b/include/clang/Basic/TargetCXXABI.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the TargetCXXABI class, which abstracts details of the +/// Defines the TargetCXXABI class, which abstracts details of the /// C++ ABI that we're targeting. /// //===----------------------------------------------------------------------===// @@ -20,10 +20,10 @@ namespace clang { -/// \brief The basic abstraction for the target C++ ABI. +/// The basic abstraction for the target C++ ABI. class TargetCXXABI { public: - /// \brief The basic C++ ABI kind. + /// The basic C++ ABI kind. enum Kind { /// The generic Itanium ABI is the standard ABI of most open-source /// and Unix-like platforms. It is the primary ABI targeted by @@ -131,7 +131,7 @@ public: Kind getKind() const { return TheKind; } - /// \brief Does this ABI generally fall into the Itanium family of ABIs? + /// Does this ABI generally fall into the Itanium family of ABIs? bool isItaniumFamily() const { switch (getKind()) { case GenericAArch64: @@ -150,7 +150,7 @@ public: llvm_unreachable("bad ABI kind"); } - /// \brief Is this ABI an MSVC-compatible ABI? + /// Is this ABI an MSVC-compatible ABI? bool isMicrosoft() const { switch (getKind()) { case GenericAArch64: @@ -169,7 +169,7 @@ public: llvm_unreachable("bad ABI kind"); } - /// \brief Are member functions differently aligned? + /// Are member functions differently aligned? /// /// Many Itanium-style C++ ABIs require member functions to be aligned, so /// that a pointer to such a function is guaranteed to have a zero in the @@ -210,25 +210,25 @@ public: return isMicrosoft(); } - /// \brief Does this ABI have different entrypoints for complete-object + /// Does this ABI have different entrypoints for complete-object /// and base-subobject constructors? bool hasConstructorVariants() const { return isItaniumFamily(); } - /// \brief Does this ABI allow virtual bases to be primary base classes? + /// Does this ABI allow virtual bases to be primary base classes? bool hasPrimaryVBases() const { return isItaniumFamily(); } - /// \brief Does this ABI use key functions? If so, class data such as the + /// Does this ABI use key functions? If so, class data such as the /// vtable is emitted with strong linkage by the TU containing the key /// function. bool hasKeyFunctions() const { return isItaniumFamily(); } - /// \brief Can an out-of-line inline function serve as a key function? + /// Can an out-of-line inline function serve as a key function? /// /// This flag is only useful in ABIs where type data (for example, /// vtables and type_info objects) are emitted only after processing diff --git a/include/clang/Basic/TargetInfo.h b/include/clang/Basic/TargetInfo.h index ddf737c744..6af4793478 100644 --- a/include/clang/Basic/TargetInfo.h +++ b/include/clang/Basic/TargetInfo.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::TargetInfo interface. +/// Defines the clang::TargetInfo interface. /// //===----------------------------------------------------------------------===// @@ -49,7 +49,7 @@ class SourceManager; namespace Builtin { struct Info; } -/// \brief Exposes information about the current target. +/// Exposes information about the current target. /// class TargetInfo : public RefCountedBase<TargetInfo> { std::shared_ptr<TargetOptions> TargetOpts; @@ -109,7 +109,7 @@ protected: } public: - /// \brief Construct a target for the given options. + /// Construct a target for the given options. /// /// \param Opts - The options to use to initialize the target. The target may /// modify the options to canonicalize the target feature information to match @@ -120,7 +120,7 @@ public: virtual ~TargetInfo(); - /// \brief Retrieve the target options. + /// Retrieve the target options. TargetOptions &getTargetOpts() const { assert(TargetOpts && "Missing target options"); return *TargetOpts; @@ -149,7 +149,7 @@ public: Float128 }; - /// \brief The different kinds of __builtin_va_list types defined by + /// The different kinds of __builtin_va_list types defined by /// the target implementation. enum BuiltinVaListKind { /// typedef char* __builtin_va_list; @@ -195,7 +195,7 @@ protected: WIntType, Char16Type, Char32Type, Int64Type, SigAtomicType, ProcessIDType; - /// \brief Whether Objective-C's built-in boolean type should be signed char. + /// Whether Objective-C's built-in boolean type should be signed char. /// /// Otherwise, when this flag is not set, the normal built-in boolean type is /// used. @@ -208,7 +208,7 @@ protected: /// boundary. unsigned UseBitFieldTypeAlignment : 1; - /// \brief Whether zero length bitfields (e.g., int : 0;) force alignment of + /// Whether zero length bitfields (e.g., int : 0;) force alignment of /// the next bitfield. /// /// If the alignment of the zero length bitfield is greater than the member @@ -216,14 +216,14 @@ protected: /// zero-length bitfield. unsigned UseZeroLengthBitfieldAlignment : 1; - /// \brief Whether explicit bit field alignment attributes are honored. + /// Whether explicit bit field alignment attributes are honored. unsigned UseExplicitBitFieldAlignment : 1; /// If non-zero, specifies a fixed alignment value for bitfields that follow /// zero length bitfield, regardless of the zero length bitfield type. unsigned ZeroLengthBitfieldBoundary; - /// \brief Specify if mangling based on address space map should be used or + /// Specify if mangling based on address space map should be used or /// not for language specific address spaces bool UseAddrSpaceMapMangling; @@ -285,30 +285,30 @@ public: } } - /// \brief Return the width (in bits) of the specified integer type enum. + /// Return the width (in bits) of the specified integer type enum. /// /// For example, SignedInt -> getIntWidth(). unsigned getTypeWidth(IntType T) const; - /// \brief Return integer type with specified width. + /// Return integer type with specified width. virtual IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const; - /// \brief Return the smallest integer type with at least the specified width. + /// Return the smallest integer type with at least the specified width. virtual IntType getLeastIntTypeByWidth(unsigned BitWidth, bool IsSigned) const; - /// \brief Return floating point type with specified width. + /// Return floating point type with specified width. RealType getRealTypeByWidth(unsigned BitWidth) const; - /// \brief Return the alignment (in bits) of the specified integer type enum. + /// Return the alignment (in bits) of the specified integer type enum. /// /// For example, SignedInt -> getIntAlign(). unsigned getTypeAlign(IntType T) const; - /// \brief Returns true if the type is signed; false otherwise. + /// Returns true if the type is signed; false otherwise. static bool isTypeSigned(IntType T); - /// \brief Return the width of pointers on this target, for the + /// Return the width of pointers on this target, for the /// specified address space. uint64_t getPointerWidth(unsigned AddrSpace) const { return AddrSpace == 0 ? PointerWidth : getPointerWidthV(AddrSpace); @@ -317,29 +317,29 @@ public: return AddrSpace == 0 ? PointerAlign : getPointerAlignV(AddrSpace); } - /// \brief Return the maximum width of pointers on this target. + /// Return the maximum width of pointers on this target. virtual uint64_t getMaxPointerWidth() const { return PointerWidth; } - /// \brief Get integer value for null pointer. + /// Get integer value for null pointer. /// \param AddrSpace address space of pointee in source language. virtual uint64_t getNullPointerValue(LangAS AddrSpace) const { return 0; } - /// \brief Return the size of '_Bool' and C++ 'bool' for this target, in bits. + /// Return the size of '_Bool' and C++ 'bool' for this target, in bits. unsigned getBoolWidth() const { return BoolWidth; } - /// \brief Return the alignment of '_Bool' and C++ 'bool' for this target. + /// Return the alignment of '_Bool' and C++ 'bool' for this target. unsigned getBoolAlign() const { return BoolAlign; } unsigned getCharWidth() const { return 8; } // FIXME unsigned getCharAlign() const { return 8; } // FIXME - /// \brief Return the size of 'signed short' and 'unsigned short' for this + /// Return the size of 'signed short' and 'unsigned short' for this /// target, in bits. unsigned getShortWidth() const { return 16; } // FIXME - /// \brief Return the alignment of 'signed short' and 'unsigned short' for + /// Return the alignment of 'signed short' and 'unsigned short' for /// this target. unsigned getShortAlign() const { return 16; } // FIXME @@ -358,22 +358,22 @@ public: unsigned getLongLongWidth() const { return LongLongWidth; } unsigned getLongLongAlign() const { return LongLongAlign; } - /// \brief Determine whether the __int128 type is supported on this target. + /// Determine whether the __int128 type is supported on this target. virtual bool hasInt128Type() const { return (getPointerWidth(0) >= 64) || getTargetOpts().ForceEnableInt128; } // FIXME - /// \brief Determine whether _Float16 is supported on this target. + /// Determine whether _Float16 is supported on this target. virtual bool hasLegalHalfType() const { return HasLegalHalfType; } - /// \brief Determine whether the __float128 type is supported on this target. + /// Determine whether the __float128 type is supported on this target. virtual bool hasFloat128Type() const { return HasFloat128; } - /// \brief Return the alignment that is suitable for storing any + /// Return the alignment that is suitable for storing any /// object with a fundamental alignment requirement. unsigned getSuitableAlign() const { return SuitableAlign; } - /// \brief Return the default alignment for __attribute__((aligned)) on + /// Return the default alignment for __attribute__((aligned)) on /// this target, to be used if no alignment value is specified. unsigned getDefaultAlignForAttributeAligned() const { return DefaultAlignForAttributeAligned; @@ -436,11 +436,11 @@ public: return *Float128Format; } - /// \brief Return true if the 'long double' type should be mangled like + /// Return true if the 'long double' type should be mangled like /// __float128. virtual bool useFloat128ManglingForLongDouble() const { return false; } - /// \brief Return the value for the C99 FLT_EVAL_METHOD macro. + /// Return the value for the C99 FLT_EVAL_METHOD macro. virtual unsigned getFloatEvalMethod() const { return 0; } // getLargeArrayMinWidth/Align - Return the minimum array size that is @@ -448,16 +448,16 @@ public: unsigned getLargeArrayMinWidth() const { return LargeArrayMinWidth; } unsigned getLargeArrayAlign() const { return LargeArrayAlign; } - /// \brief Return the maximum width lock-free atomic operation which will + /// Return the maximum width lock-free atomic operation which will /// ever be supported for the given target unsigned getMaxAtomicPromoteWidth() const { return MaxAtomicPromoteWidth; } - /// \brief Return the maximum width lock-free atomic operation which can be + /// Return the maximum width lock-free atomic operation which can be /// inlined given the supported features of the given target. unsigned getMaxAtomicInlineWidth() const { return MaxAtomicInlineWidth; } - /// \brief Set the maximum inline or promote width lock-free atomic operation + /// Set the maximum inline or promote width lock-free atomic operation /// for the given target. virtual void setMaxAtomicWidth() {} - /// \brief Returns true if the given target supports lock-free atomic + /// Returns true if the given target supports lock-free atomic /// operations at the specified width and alignment. virtual bool hasBuiltinAtomic(uint64_t AtomicSizeInBits, uint64_t AlignmentInBits) const { @@ -467,14 +467,14 @@ public: llvm::isPowerOf2_64(AtomicSizeInBits / getCharWidth())); } - /// \brief Return the maximum vector alignment supported for the given target. + /// Return the maximum vector alignment supported for the given target. unsigned getMaxVectorAlign() const { return MaxVectorAlign; } - /// \brief Return default simd alignment for the given target. Generally, this + /// Return default simd alignment for the given target. Generally, this /// value is type-specific, but this alignment can be used for most of the /// types for the given target. unsigned getSimdDefaultAlign() const { return SimdDefaultAlign; } - /// \brief Return the size of intmax_t and uintmax_t for this target, in bits. + /// Return the size of intmax_t and uintmax_t for this target, in bits. unsigned getIntMaxTWidth() const { return getTypeWidth(IntMaxType); } @@ -482,7 +482,7 @@ public: // Return the size of unwind_word for this target. virtual unsigned getUnwindWordWidth() const { return getPointerWidth(0); } - /// \brief Return the "preferred" register width on this target. + /// Return the "preferred" register width on this target. virtual unsigned getRegisterWidth() const { // Currently we assume the register width on the target matches the pointer // width, we can introduce a new variable for this if/when some target wants @@ -490,12 +490,12 @@ public: return PointerWidth; } - /// \brief Returns the name of the mcount instrumentation function. + /// Returns the name of the mcount instrumentation function. const char *getMCountName() const { return MCountName; } - /// \brief Check if the Objective-C built-in boolean type should be signed + /// Check if the Objective-C built-in boolean type should be signed /// char. /// /// Otherwise, if this returns false, the normal built-in boolean type @@ -507,58 +507,58 @@ public: UseSignedCharForObjCBool = false; } - /// \brief Check whether the alignment of bit-field types is respected + /// Check whether the alignment of bit-field types is respected /// when laying out structures. bool useBitFieldTypeAlignment() const { return UseBitFieldTypeAlignment; } - /// \brief Check whether zero length bitfields should force alignment of + /// Check whether zero length bitfields should force alignment of /// the next member. bool useZeroLengthBitfieldAlignment() const { return UseZeroLengthBitfieldAlignment; } - /// \brief Get the fixed alignment value in bits for a member that follows + /// Get the fixed alignment value in bits for a member that follows /// a zero length bitfield. unsigned getZeroLengthBitfieldBoundary() const { return ZeroLengthBitfieldBoundary; } - /// \brief Check whether explicit bitfield alignment attributes should be + /// Check whether explicit bitfield alignment attributes should be // honored, as in "__attribute__((aligned(2))) int b : 1;". bool useExplicitBitFieldAlignment() const { return UseExplicitBitFieldAlignment; } - /// \brief Check whether this target support '\#pragma options align=mac68k'. + /// Check whether this target support '\#pragma options align=mac68k'. bool hasAlignMac68kSupport() const { return HasAlignMac68kSupport; } - /// \brief Return the user string for the specified integer type enum. + /// Return the user string for the specified integer type enum. /// /// For example, SignedShort -> "short". static const char *getTypeName(IntType T); - /// \brief Return the constant suffix for the specified integer type enum. + /// Return the constant suffix for the specified integer type enum. /// /// For example, SignedLong -> "L". const char *getTypeConstantSuffix(IntType T) const; - /// \brief Return the printf format modifier for the specified + /// Return the printf format modifier for the specified /// integer type enum. /// /// For example, SignedLong -> "l". static const char *getTypeFormatModifier(IntType T); - /// \brief Check whether the given real type should use the "fpret" flavor of + /// Check whether the given real type should use the "fpret" flavor of /// Objective-C message passing on this target. bool useObjCFPRetForRealType(RealType T) const { return RealTypeUsesObjCFPRet & (1 << T); } - /// \brief Check whether _Complex long double should use the "fp2ret" flavor + /// Check whether _Complex long double should use the "fp2ret" flavor /// of Objective-C message passing on this target. bool useObjCFP2RetForComplexLongDouble() const { return ComplexLongDoubleUsesFP2Ret; @@ -572,7 +572,7 @@ public: return true; } - /// \brief Specify if mangling based on address space map should be used or + /// Specify if mangling based on address space map should be used or /// not for language specific address spaces bool useAddressSpaceMapMangling() const { return UseAddrSpaceMapMangling; @@ -580,7 +580,7 @@ public: ///===---- Other target property query methods --------------------------===// - /// \brief Appends the target-specific \#define values for this + /// Appends the target-specific \#define values for this /// target set to the specified buffer. virtual void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const = 0; @@ -598,7 +598,7 @@ public: /// idea to avoid optimizing based on that undef behavior. virtual bool isCLZForZeroUndef() const { return true; } - /// \brief Returns the kind of __builtin_va_list type that should be used + /// Returns the kind of __builtin_va_list type that should be used /// with this target. virtual BuiltinVaListKind getBuiltinVaListKind() const = 0; @@ -609,19 +609,19 @@ public: /// Returns true for RenderScript. bool isRenderScriptTarget() const { return IsRenderScriptTarget; } - /// \brief Returns whether the passed in string is a valid clobber in an + /// Returns whether the passed in string is a valid clobber in an /// inline asm statement. /// /// This is used by Sema. bool isValidClobber(StringRef Name) const; - /// \brief Returns whether the passed in string is a valid register name + /// Returns whether the passed in string is a valid register name /// according to GCC. /// /// This is used by Sema for inline asm statements. virtual bool isValidGCCRegisterName(StringRef Name) const; - /// \brief Returns the "normalized" GCC register name. + /// Returns the "normalized" GCC register name. /// /// ReturnCannonical true will return the register name without any additions /// such as "{}" or "%" in it's canonical form, for example: @@ -629,7 +629,7 @@ public: StringRef getNormalizedGCCRegisterName(StringRef Name, bool ReturnCanonical = false) const; - /// \brief Extracts a register from the passed constraint (if it is a + /// Extracts a register from the passed constraint (if it is a /// single-register constraint) and the asm label expression related to a /// variable in the input or output list of an inline asm statement. /// @@ -674,11 +674,11 @@ public: bool allowsRegister() const { return (Flags & CI_AllowsRegister) != 0; } bool allowsMemory() const { return (Flags & CI_AllowsMemory) != 0; } - /// \brief Return true if this output operand has a matching + /// Return true if this output operand has a matching /// (tied) input operand. bool hasMatchingInput() const { return (Flags & CI_HasMatchingInput) != 0; } - /// \brief Return true if this input operand is a matching + /// Return true if this input operand is a matching /// constraint that ties it to an output operand. /// /// If this returns true then getTiedOperand will indicate which output @@ -722,7 +722,7 @@ public: ImmRange.Max = INT_MAX; } - /// \brief Indicate that this is an input operand that is tied to + /// Indicate that this is an input operand that is tied to /// the specified output operand. /// /// Copy over the various constraint information from the output. @@ -734,7 +734,7 @@ public: } }; - /// \brief Validate register name used for global register variables. + /// Validate register name used for global register variables. /// /// This function returns true if the register passed in RegName can be used /// for global register variables on this target. In addition, it returns @@ -788,16 +788,16 @@ public: return std::string(1, *Constraint); } - /// \brief Returns a string of target-specific clobbers, in LLVM format. + /// Returns a string of target-specific clobbers, in LLVM format. virtual const char *getClobbers() const = 0; - /// \brief Returns true if NaN encoding is IEEE 754-2008. + /// Returns true if NaN encoding is IEEE 754-2008. /// Only MIPS allows a different encoding. virtual bool isNan2008() const { return true; } - /// \brief Returns the target triple of the primary target. + /// Returns the target triple of the primary target. const llvm::Triple &getTriple() const { return Triple; } @@ -817,7 +817,7 @@ public: const unsigned RegNum; }; - /// \brief Does this target support "protected" visibility? + /// Does this target support "protected" visibility? /// /// Any target which dynamic libraries will naturally support /// something like "default" (meaning that the symbol is visible @@ -829,7 +829,7 @@ public: /// either; the entire thing is pretty badly mangled. virtual bool hasProtectedVisibility() const { return true; } - /// \brief An optional hook that targets can implement to perform semantic + /// An optional hook that targets can implement to perform semantic /// checking on attribute((section("foo"))) specifiers. /// /// In this case, "foo" is passed in to be checked. If the section @@ -844,18 +844,18 @@ public: return ""; } - /// \brief Set forced language options. + /// Set forced language options. /// /// Apply changes to the target information with respect to certain /// language options which change the target configuration and adjust /// the language based on the target options where applicable. virtual void adjust(LangOptions &Opts); - /// \brief Adjust target options based on codegen options. + /// Adjust target options based on codegen options. virtual void adjustTargetOptions(const CodeGenOptions &CGOpts, TargetOptions &TargetOpts) const {} - /// \brief Initialize the map with the default set of target features for the + /// Initialize the map with the default set of target features for the /// CPU this should include all legal feature strings on the target. /// /// \return False on error (invalid features). @@ -863,15 +863,15 @@ public: DiagnosticsEngine &Diags, StringRef CPU, const std::vector<std::string> &FeatureVec) const; - /// \brief Get the ABI currently in use. + /// Get the ABI currently in use. virtual StringRef getABI() const { return StringRef(); } - /// \brief Get the C++ ABI currently in use. + /// Get the C++ ABI currently in use. TargetCXXABI getCXXABI() const { return TheCXXABI; } - /// \brief Target the specified CPU. + /// Target the specified CPU. /// /// \return False on error (invalid CPU name). virtual bool setCPU(const std::string &Name) { @@ -886,21 +886,21 @@ public: return true; } - /// \brief Use the specified ABI. + /// Use the specified ABI. /// /// \return False on error (invalid ABI name). virtual bool setABI(const std::string &Name) { return false; } - /// \brief Use the specified unit for FP math. + /// Use the specified unit for FP math. /// /// \return False on error (invalid unit name). virtual bool setFPMath(StringRef Name) { return false; } - /// \brief Enable or disable a specific target feature; + /// Enable or disable a specific target feature; /// the feature name must be valid. virtual void setFeatureEnabled(llvm::StringMap<bool> &Features, StringRef Name, @@ -908,12 +908,12 @@ public: Features[Name] = Enabled; } - /// \brief Determine whether this TargetInfo supports the given feature. + /// Determine whether this TargetInfo supports the given feature. virtual bool isValidFeatureName(StringRef Feature) const { return true; } - /// \brief Perform initialization based on the user configured + /// Perform initialization based on the user configured /// set of features (e.g., +sse4). /// /// The list is guaranteed to have at most one entry per feature. @@ -929,41 +929,41 @@ public: return true; } - /// \brief Determine whether the given target has the given feature. + /// Determine whether the given target has the given feature. virtual bool hasFeature(StringRef Feature) const { return false; } - /// \brief Identify whether this taret supports multiversioning of functions, + /// Identify whether this taret supports multiversioning of functions, /// which requires support for cpu_supports and cpu_is functionality. virtual bool supportsMultiVersioning() const { return false; } - // \brief Validate the contents of the __builtin_cpu_supports(const char*) + // Validate the contents of the __builtin_cpu_supports(const char*) // argument. virtual bool validateCpuSupports(StringRef Name) const { return false; } - // \brief Return the target-specific priority for features/cpus/vendors so + // Return the target-specific priority for features/cpus/vendors so // that they can be properly sorted for checking. virtual unsigned multiVersionSortPriority(StringRef Name) const { return 0; } - // \brief Validate the contents of the __builtin_cpu_is(const char*) + // Validate the contents of the __builtin_cpu_is(const char*) // argument. virtual bool validateCpuIs(StringRef Name) const { return false; } - // \brief Returns maximal number of args passed in registers. + // Returns maximal number of args passed in registers. unsigned getRegParmMax() const { assert(RegParmMax < 7 && "RegParmMax value is larger than AST can handle"); return RegParmMax; } - /// \brief Whether the target supports thread-local storage. + /// Whether the target supports thread-local storage. bool isTLSSupported() const { return TLSSupported; } - /// \brief Return the maximum alignment (in bits) of a TLS variable + /// Return the maximum alignment (in bits) of a TLS variable /// /// Gets the maximum alignment (in bits) of a TLS variable on this target. /// Returns zero if there is no such constraint. @@ -971,17 +971,17 @@ public: return MaxTLSAlign; } - /// \brief Whether target supports variable-length arrays. + /// Whether target supports variable-length arrays. bool isVLASupported() const { return VLASupported; } - /// \brief Whether the target supports SEH __try. + /// Whether the target supports SEH __try. bool isSEHTrySupported() const { return getTriple().isOSWindows() && (getTriple().getArch() == llvm::Triple::x86 || getTriple().getArch() == llvm::Triple::x86_64); } - /// \brief Return true if {|} are normal characters in the asm string. + /// Return true if {|} are normal characters in the asm string. /// /// If this returns false (the default), then {abc|xyz} is syntax /// that says that when compiling for asm variant #0, "abc" should be @@ -991,7 +991,7 @@ public: return NoAsmVariants; } - /// \brief Return the register number that __builtin_eh_return_regno would + /// Return the register number that __builtin_eh_return_regno would /// return with the specified argument. /// This corresponds with TargetLowering's getExceptionPointerRegister /// and getExceptionSelectorRegister in the backend. @@ -999,14 +999,14 @@ public: return -1; } - /// \brief Return the section to use for C++ static initialization functions. + /// Return the section to use for C++ static initialization functions. virtual const char *getStaticInitSectionSpecifier() const { return nullptr; } const LangASMap &getAddressSpaceMap() const { return *AddrSpaceMap; } - /// \brief Return an AST address space which can be used opportunistically + /// Return an AST address space which can be used opportunistically /// for constant global memory. It must be possible to convert pointers into /// this address space to LangAS::Default. If no such address space exists, /// this may return None, and such optimizations will be disabled. @@ -1014,11 +1014,11 @@ public: return LangAS::Default; } - /// \brief Retrieve the name of the platform as it is used in the + /// Retrieve the name of the platform as it is used in the /// availability attribute. StringRef getPlatformName() const { return PlatformName; } - /// \brief Retrieve the minimum desired version of the platform, to + /// Retrieve the minimum desired version of the platform, to /// which the program should be compiled. VersionTuple getPlatformMinVersion() const { return PlatformMinVersion; } @@ -1031,7 +1031,7 @@ public: CCMT_NonMember }; - /// \brief Gets the default calling convention for the given target and + /// Gets the default calling convention for the given target and /// declaration context. virtual CallingConv getDefaultCallingConv(CallingConvMethodType MT) const { // Not all targets will specify an explicit calling convention that we can @@ -1046,7 +1046,7 @@ public: CCCR_Ignore, }; - /// \brief Determines whether a given calling convention is valid for the + /// Determines whether a given calling convention is valid for the /// target. A calling convention can either be accepted, produce a warning /// and be substituted with the default calling convention, or (someday) /// produce an error (such as using thiscall on a non-instance function). @@ -1085,25 +1085,25 @@ public: return false; } - /// \brief Whether target allows to overalign ABI-specified preferred alignment + /// Whether target allows to overalign ABI-specified preferred alignment virtual bool allowsLargerPreferedTypeAlignment() const { return true; } - /// \brief Set supported OpenCL extensions and optional core features. + /// Set supported OpenCL extensions and optional core features. virtual void setSupportedOpenCLOpts() {} - /// \brief Set supported OpenCL extensions as written on command line + /// Set supported OpenCL extensions as written on command line virtual void setOpenCLExtensionOpts() { for (const auto &Ext : getTargetOpts().OpenCLExtensionsAsWritten) { getTargetOpts().SupportedOpenCLOptions.support(Ext); } } - /// \brief Get supported OpenCL extensions and optional core features. + /// Get supported OpenCL extensions and optional core features. OpenCLOptions &getSupportedOpenCLOpts() { return getTargetOpts().SupportedOpenCLOptions; } - /// \brief Get const supported OpenCL extensions and optional core features. + /// Get const supported OpenCL extensions and optional core features. const OpenCLOptions &getSupportedOpenCLOpts() const { return getTargetOpts().SupportedOpenCLOptions; } @@ -1119,7 +1119,7 @@ public: OCLTK_Sampler, }; - /// \brief Get address space for OpenCL type. + /// Get address space for OpenCL type. virtual LangAS getOpenCLTypeAddrSpace(OpenCLTypeKind TK) const; /// \returns Target specific vtbl ptr address space. @@ -1137,7 +1137,7 @@ public: return None; } - /// \brief Check the target is valid after it is fully initialized. + /// Check the target is valid after it is fully initialized. virtual bool validateTarget(DiagnosticsEngine &Diags) const { return true; } diff --git a/include/clang/Basic/TargetOptions.h b/include/clang/Basic/TargetOptions.h index bd57393a27..cbe0953e74 100644 --- a/include/clang/Basic/TargetOptions.h +++ b/include/clang/Basic/TargetOptions.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::TargetOptions class. +/// Defines the clang::TargetOptions class. /// //===----------------------------------------------------------------------===// @@ -22,7 +22,7 @@ namespace clang { -/// \brief Options for controlling the target. +/// Options for controlling the target. class TargetOptions { public: /// The name of the target triple to compile for. @@ -47,7 +47,7 @@ public: /// If given, the version string of the linker in use. std::string LinkerVersion; - /// \brief The list of target specific features to enable or disable, as written on the command line. + /// The list of target specific features to enable or disable, as written on the command line. std::vector<std::string> FeaturesAsWritten; /// The list of target specific features to enable or disable -- this should @@ -57,11 +57,11 @@ public: /// Supported OpenCL extensions and optional core features. OpenCLOptions SupportedOpenCLOptions; - /// \brief The list of OpenCL extensions to enable or disable, as written on + /// The list of OpenCL extensions to enable or disable, as written on /// the command line. std::vector<std::string> OpenCLExtensionsAsWritten; - /// \brief If given, enables support for __int128_t and __uint128_t types. + /// If given, enables support for __int128_t and __uint128_t types. bool ForceEnableInt128 = false; }; diff --git a/include/clang/Basic/TemplateKinds.h b/include/clang/Basic/TemplateKinds.h index ac99ad185f..3b68cba736 100644 --- a/include/clang/Basic/TemplateKinds.h +++ b/include/clang/Basic/TemplateKinds.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::TemplateNameKind enum. +/// Defines the clang::TemplateNameKind enum. /// //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_BASIC_TEMPLATEKINDS_H @@ -16,7 +16,7 @@ namespace clang { -/// \brief Specifies the kind of template name that an identifier refers to. +/// Specifies the kind of template name that an identifier refers to. /// Be careful when changing this: this enumeration is used in diagnostics. enum TemplateNameKind { /// The name does not refer to a template. diff --git a/include/clang/Basic/TokenKinds.h b/include/clang/Basic/TokenKinds.h index f4ecb3eb30..fb4b5252b7 100644 --- a/include/clang/Basic/TokenKinds.h +++ b/include/clang/Basic/TokenKinds.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::TokenKind enum and support functions. +/// Defines the clang::TokenKind enum and support functions. /// //===----------------------------------------------------------------------===// @@ -21,14 +21,14 @@ namespace clang { namespace tok { -/// \brief Provides a simple uniform namespace for tokens from all C languages. +/// Provides a simple uniform namespace for tokens from all C languages. enum TokenKind : unsigned short { #define TOK(X) X, #include "clang/Basic/TokenKinds.def" NUM_TOKENS }; -/// \brief Provides a namespace for preprocessor keywords which start with a +/// Provides a namespace for preprocessor keywords which start with a /// '#' at the beginning of the line. enum PPKeywordKind { #define PPKEYWORD(X) pp_##X, @@ -36,7 +36,7 @@ enum PPKeywordKind { NUM_PP_KEYWORDS }; -/// \brief Provides a namespace for Objective-C keywords which start with +/// Provides a namespace for Objective-C keywords which start with /// an '@'. enum ObjCKeywordKind { #define OBJC1_AT_KEYWORD(X) objc_##X, @@ -45,18 +45,18 @@ enum ObjCKeywordKind { NUM_OBJC_KEYWORDS }; -/// \brief Defines the possible values of an on-off-switch (C99 6.10.6p2). +/// Defines the possible values of an on-off-switch (C99 6.10.6p2). enum OnOffSwitch { OOS_ON, OOS_OFF, OOS_DEFAULT }; -/// \brief Determines the name of a token as used within the front end. +/// Determines the name of a token as used within the front end. /// /// The name of a token will be an internal name (such as "l_square") /// and should not be used as part of diagnostic messages. const char *getTokenName(TokenKind Kind) LLVM_READNONE; -/// \brief Determines the spelling of simple punctuation tokens like +/// Determines the spelling of simple punctuation tokens like /// '!' or '%', and returns NULL for literal and annotation tokens. /// /// This routine only retrieves the "simple" spelling of the token, @@ -65,16 +65,16 @@ const char *getTokenName(TokenKind Kind) LLVM_READNONE; /// Preprocessor::getSpelling(). const char *getPunctuatorSpelling(TokenKind Kind) LLVM_READNONE; -/// \brief Determines the spelling of simple keyword and contextual keyword +/// Determines the spelling of simple keyword and contextual keyword /// tokens like 'int' and 'dynamic_cast'. Returns NULL for other token kinds. const char *getKeywordSpelling(TokenKind Kind) LLVM_READNONE; -/// \brief Return true if this is a raw identifier or an identifier kind. +/// Return true if this is a raw identifier or an identifier kind. inline bool isAnyIdentifier(TokenKind K) { return (K == tok::identifier) || (K == tok::raw_identifier); } -/// \brief Return true if this is a C or C++ string-literal (or +/// Return true if this is a C or C++ string-literal (or /// C++11 user-defined-string-literal) token. inline bool isStringLiteral(TokenKind K) { return K == tok::string_literal || K == tok::wide_string_literal || @@ -82,7 +82,7 @@ inline bool isStringLiteral(TokenKind K) { K == tok::utf32_string_literal; } -/// \brief Return true if this is a "literal" kind, like a numeric +/// Return true if this is a "literal" kind, like a numeric /// constant, string, etc. inline bool isLiteral(TokenKind K) { return K == tok::numeric_constant || K == tok::char_constant || @@ -91,7 +91,7 @@ inline bool isLiteral(TokenKind K) { isStringLiteral(K) || K == tok::angle_string_literal; } -/// \brief Return true if this is any of tok::annot_* kinds. +/// Return true if this is any of tok::annot_* kinds. inline bool isAnnotation(TokenKind K) { #define ANNOTATION(NAME) \ if (K == tok::annot_##NAME) \ diff --git a/include/clang/Basic/TypeTraits.h b/include/clang/Basic/TypeTraits.h index 509e8b4351..bdb426834a 100644 --- a/include/clang/Basic/TypeTraits.h +++ b/include/clang/Basic/TypeTraits.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines enumerations for the type traits support. +/// Defines enumerations for the type traits support. /// //===----------------------------------------------------------------------===// @@ -17,7 +17,7 @@ namespace clang { - /// \brief Names for traits that operate specifically on types. + /// Names for traits that operate specifically on types. enum TypeTrait { UTT_HasNothrowAssign, UTT_HasNothrowMoveAssign, @@ -87,13 +87,13 @@ namespace clang { TT_IsTriviallyConstructible }; - /// \brief Names for the array type traits. + /// Names for the array type traits. enum ArrayTypeTrait { ATT_ArrayRank, ATT_ArrayExtent }; - /// \brief Names for the "expression or type" traits. + /// Names for the "expression or type" traits. enum UnaryExprOrTypeTrait { UETT_SizeOf, UETT_AlignOf, diff --git a/include/clang/Basic/Version.h b/include/clang/Basic/Version.h index aec5f99087..6d625c6ddb 100644 --- a/include/clang/Basic/Version.h +++ b/include/clang/Basic/Version.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines version macros and version-related utility functions +/// Defines version macros and version-related utility functions /// for Clang. /// //===----------------------------------------------------------------------===// @@ -20,40 +20,40 @@ #include "llvm/ADT/StringRef.h" namespace clang { - /// \brief Retrieves the repository path (e.g., Subversion path) that + /// Retrieves the repository path (e.g., Subversion path) that /// identifies the particular Clang branch, tag, or trunk from which this /// Clang was built. std::string getClangRepositoryPath(); - /// \brief Retrieves the repository path from which LLVM was built. + /// Retrieves the repository path from which LLVM was built. /// /// This supports LLVM residing in a separate repository from clang. std::string getLLVMRepositoryPath(); - /// \brief Retrieves the repository revision number (or identifier) from which + /// Retrieves the repository revision number (or identifier) from which /// this Clang was built. std::string getClangRevision(); - /// \brief Retrieves the repository revision number (or identifier) from which + /// Retrieves the repository revision number (or identifier) from which /// LLVM was built. /// /// If Clang and LLVM are in the same repository, this returns the same /// string as getClangRevision. std::string getLLVMRevision(); - /// \brief Retrieves the full repository version that is an amalgamation of + /// Retrieves the full repository version that is an amalgamation of /// the information in getClangRepositoryPath() and getClangRevision(). std::string getClangFullRepositoryVersion(); - /// \brief Retrieves a string representing the complete clang version, + /// Retrieves a string representing the complete clang version, /// which includes the clang version number, the repository version, /// and the vendor tag. std::string getClangFullVersion(); - /// \brief Like getClangFullVersion(), but with a custom tool name. + /// Like getClangFullVersion(), but with a custom tool name. std::string getClangToolFullVersion(llvm::StringRef ToolName); - /// \brief Retrieves a string representing the complete clang version suitable + /// Retrieves a string representing the complete clang version suitable /// for use in the CPP __VERSION__ macro, which includes the clang version /// number, the repository version, and the vendor tag. std::string getClangFullCPPVersion(); diff --git a/include/clang/Basic/VersionTuple.h b/include/clang/Basic/VersionTuple.h index da3b01903e..fad77f2d32 100644 --- a/include/clang/Basic/VersionTuple.h +++ b/include/clang/Basic/VersionTuple.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::VersionTuple class, which represents a version in +/// Defines the clang::VersionTuple class, which represents a version in /// the form major[.minor[.subminor]]. /// //===----------------------------------------------------------------------===// @@ -22,7 +22,7 @@ namespace clang { -/// \brief Represents a version number in the form major[.minor[.subminor[.build]]]. +/// Represents a version number in the form major[.minor[.subminor[.build]]]. class VersionTuple { unsigned Major : 31; @@ -64,30 +64,30 @@ public: HasMinor(true), Subminor(Subminor), HasSubminor(true), Build(Build), HasBuild(true) {} - /// \brief Determine whether this version information is empty + /// Determine whether this version information is empty /// (e.g., all version components are zero). bool empty() const { return Major == 0 && Minor == 0 && Subminor == 0 && Build == 0; } - /// \brief Retrieve the major version number. + /// Retrieve the major version number. unsigned getMajor() const { return Major; } - /// \brief Retrieve the minor version number, if provided. + /// Retrieve the minor version number, if provided. Optional<unsigned> getMinor() const { if (!HasMinor) return None; return Minor; } - /// \brief Retrieve the subminor version number, if provided. + /// Retrieve the subminor version number, if provided. Optional<unsigned> getSubminor() const { if (!HasSubminor) return None; return Subminor; } - /// \brief Retrieve the build version number, if provided. + /// Retrieve the build version number, if provided. Optional<unsigned> getBuild() const { if (!HasBuild) return None; @@ -102,14 +102,14 @@ public: UsesUnderscores = false; } - /// \brief Determine if two version numbers are equivalent. If not + /// Determine if two version numbers are equivalent. If not /// provided, minor and subminor version numbers are considered to be zero. friend bool operator==(const VersionTuple& X, const VersionTuple &Y) { return X.Major == Y.Major && X.Minor == Y.Minor && X.Subminor == Y.Subminor && X.Build == Y.Build; } - /// \brief Determine if two version numbers are not equivalent. + /// Determine if two version numbers are not equivalent. /// /// If not provided, minor and subminor version numbers are considered to be /// zero. @@ -117,7 +117,7 @@ public: return !(X == Y); } - /// \brief Determine whether one version number precedes another. + /// Determine whether one version number precedes another. /// /// If not provided, minor and subminor version numbers are considered to be /// zero. @@ -126,7 +126,7 @@ public: std::tie(Y.Major, Y.Minor, Y.Subminor, Y.Build); } - /// \brief Determine whether one version number follows another. + /// Determine whether one version number follows another. /// /// If not provided, minor and subminor version numbers are considered to be /// zero. @@ -134,7 +134,7 @@ public: return Y < X; } - /// \brief Determine whether one version number precedes or is + /// Determine whether one version number precedes or is /// equivalent to another. /// /// If not provided, minor and subminor version numbers are considered to be @@ -143,7 +143,7 @@ public: return !(Y < X); } - /// \brief Determine whether one version number follows or is + /// Determine whether one version number follows or is /// equivalent to another. /// /// If not provided, minor and subminor version numbers are considered to be @@ -152,16 +152,16 @@ public: return !(X < Y); } - /// \brief Retrieve a string representation of the version number. + /// Retrieve a string representation of the version number. std::string getAsString() const; - /// \brief Try to parse the given string as a version number. + /// Try to parse the given string as a version number. /// \returns \c true if the string does not match the regular expression /// [0-9]+(\.[0-9]+){0,3} bool tryParse(StringRef string); }; -/// \brief Print a version number. +/// Print a version number. raw_ostream& operator<<(raw_ostream &Out, const VersionTuple &V); } // end namespace clang diff --git a/include/clang/Basic/VirtualFileSystem.h b/include/clang/Basic/VirtualFileSystem.h index ec7cd6f5e8..813e746df2 100644 --- a/include/clang/Basic/VirtualFileSystem.h +++ b/include/clang/Basic/VirtualFileSystem.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the virtual file system interface vfs::FileSystem. +/// Defines the virtual file system interface vfs::FileSystem. // //===----------------------------------------------------------------------===// @@ -45,7 +45,7 @@ class MemoryBuffer; namespace clang { namespace vfs { -/// \brief The result of a \p status operation. +/// The result of a \p status operation. class Status { std::string Name; llvm::sys::fs::UniqueID UID; @@ -72,7 +72,7 @@ public: static Status copyWithNewName(const llvm::sys::fs::file_status &In, StringRef NewName); - /// \brief Returns the name that should be used for this file or directory. + /// Returns the name that should be used for this file or directory. StringRef getName() const { return Name; } /// @name Status interface from llvm::sys::fs @@ -98,18 +98,18 @@ public: /// @} }; -/// \brief Represents an open file. +/// Represents an open file. class File { public: - /// \brief Destroy the file after closing it (if open). + /// Destroy the file after closing it (if open). /// Sub-classes should generally call close() inside their destructors. We /// cannot do that from the base class, since close is virtual. virtual ~File(); - /// \brief Get the status of the file. + /// Get the status of the file. virtual llvm::ErrorOr<Status> status() = 0; - /// \brief Get the name of the file + /// Get the name of the file virtual llvm::ErrorOr<std::string> getName() { if (auto Status = status()) return Status->getName().str(); @@ -117,23 +117,23 @@ public: return Status.getError(); } - /// \brief Get the contents of the file as a \p MemoryBuffer. + /// Get the contents of the file as a \p MemoryBuffer. virtual llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> getBuffer(const Twine &Name, int64_t FileSize = -1, bool RequiresNullTerminator = true, bool IsVolatile = false) = 0; - /// \brief Closes the file. + /// Closes the file. virtual std::error_code close() = 0; }; namespace detail { -/// \brief An interface for virtual file systems to provide an iterator over the +/// An interface for virtual file systems to provide an iterator over the /// (non-recursive) contents of a directory. struct DirIterImpl { virtual ~DirIterImpl(); - /// \brief Sets \c CurrentEntry to the next entry in the directory on success, + /// Sets \c CurrentEntry to the next entry in the directory on success, /// or returns a system-defined \c error_code. virtual std::error_code increment() = 0; @@ -142,7 +142,7 @@ struct DirIterImpl { } // namespace detail -/// \brief An input iterator over the entries in a virtual path, similar to +/// An input iterator over the entries in a virtual path, similar to /// llvm::sys::fs::directory_iterator. class directory_iterator { std::shared_ptr<detail::DirIterImpl> Impl; // Input iterator semantics on copy @@ -155,10 +155,10 @@ public: Impl.reset(); // Normalize the end iterator to Impl == nullptr. } - /// \brief Construct an 'end' iterator. + /// Construct an 'end' iterator. directory_iterator() = default; - /// \brief Equivalent to operator++, with an error code. + /// Equivalent to operator++, with an error code. directory_iterator &increment(std::error_code &EC) { assert(Impl && "attempting to increment past end"); EC = Impl->increment(); @@ -182,7 +182,7 @@ public: class FileSystem; -/// \brief An input iterator over the recursive contents of a virtual path, +/// An input iterator over the recursive contents of a virtual path, /// similar to llvm::sys::fs::recursive_directory_iterator. class recursive_directory_iterator { using IterState = @@ -195,10 +195,10 @@ public: recursive_directory_iterator(FileSystem &FS, const Twine &Path, std::error_code &EC); - /// \brief Construct an 'end' iterator. + /// Construct an 'end' iterator. recursive_directory_iterator() = default; - /// \brief Equivalent to operator++, with an error code. + /// Equivalent to operator++, with an error code. recursive_directory_iterator &increment(std::error_code &EC); const Status &operator*() const { return *State->top(); } @@ -211,22 +211,22 @@ public: return !(*this == RHS); } - /// \brief Gets the current level. Starting path is at level 0. + /// Gets the current level. Starting path is at level 0. int level() const { assert(!State->empty() && "Cannot get level without any iteration state"); return State->size()-1; } }; -/// \brief The virtual file system interface. +/// The virtual file system interface. class FileSystem : public llvm::ThreadSafeRefCountedBase<FileSystem> { public: virtual ~FileSystem(); - /// \brief Get the status of the entry at \p Path, if one exists. + /// Get the status of the entry at \p Path, if one exists. virtual llvm::ErrorOr<Status> status(const Twine &Path) = 0; - /// \brief Get a \p File object for the file at \p Path, if one exists. + /// Get a \p File object for the file at \p Path, if one exists. virtual llvm::ErrorOr<std::unique_ptr<File>> openFileForRead(const Twine &Path) = 0; @@ -236,7 +236,7 @@ public: getBufferForFile(const Twine &Name, int64_t FileSize = -1, bool RequiresNullTerminator = true, bool IsVolatile = false); - /// \brief Get a directory_iterator for \p Dir. + /// Get a directory_iterator for \p Dir. /// \note The 'end' iterator is directory_iterator(). virtual directory_iterator dir_begin(const Twine &Dir, std::error_code &EC) = 0; @@ -265,11 +265,11 @@ public: std::error_code makeAbsolute(SmallVectorImpl<char> &Path) const; }; -/// \brief Gets an \p vfs::FileSystem for the 'real' file system, as seen by +/// Gets an \p vfs::FileSystem for the 'real' file system, as seen by /// the operating system. IntrusiveRefCntPtr<FileSystem> getRealFileSystem(); -/// \brief A file system that allows overlaying one \p AbstractFileSystem on top +/// A file system that allows overlaying one \p AbstractFileSystem on top /// of another. /// /// Consists of a stack of >=1 \p FileSystem objects, which are treated as being @@ -282,14 +282,14 @@ IntrusiveRefCntPtr<FileSystem> getRealFileSystem(); class OverlayFileSystem : public FileSystem { using FileSystemList = SmallVector<IntrusiveRefCntPtr<FileSystem>, 1>; - /// \brief The stack of file systems, implemented as a list in order of + /// The stack of file systems, implemented as a list in order of /// their addition. FileSystemList FSList; public: OverlayFileSystem(IntrusiveRefCntPtr<FileSystem> Base); - /// \brief Pushes a file system on top of the stack. + /// Pushes a file system on top of the stack. void pushOverlay(IntrusiveRefCntPtr<FileSystem> FS); llvm::ErrorOr<Status> status(const Twine &Path) override; @@ -301,10 +301,10 @@ public: using iterator = FileSystemList::reverse_iterator; - /// \brief Get an iterator pointing to the most recently added file system. + /// Get an iterator pointing to the most recently added file system. iterator overlays_begin() { return FSList.rbegin(); } - /// \brief Get an iterator pointing one-past the least recently added file + /// Get an iterator pointing one-past the least recently added file /// system. iterator overlays_end() { return FSList.rend(); } }; @@ -367,10 +367,10 @@ public: std::error_code setCurrentWorkingDirectory(const Twine &Path) override; }; -/// \brief Get a globally unique ID for a virtual file or directory. +/// Get a globally unique ID for a virtual file or directory. llvm::sys::fs::UniqueID getNextVirtualUniqueID(); -/// \brief Gets a \p FileSystem for a virtual file system described in YAML +/// Gets a \p FileSystem for a virtual file system described in YAML /// format. IntrusiveRefCntPtr<FileSystem> getVFSFromYAML(std::unique_ptr<llvm::MemoryBuffer> Buffer, @@ -386,7 +386,7 @@ struct YAMLVFSEntry { std::string RPath; }; -/// \brief Collect all pairs of <virtual path, real path> entries from the +/// Collect all pairs of <virtual path, real path> entries from the /// \p YAMLFilePath. This is used by the module dependency collector to forward /// the entries into the reproducer output VFS YAML file. void collectVFSFromYAML( diff --git a/include/clang/Basic/Visibility.h b/include/clang/Basic/Visibility.h index f93c314483..d443608762 100644 --- a/include/clang/Basic/Visibility.h +++ b/include/clang/Basic/Visibility.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines the clang::Visibility enumeration and various utility +/// Defines the clang::Visibility enumeration and various utility /// functions. /// //===----------------------------------------------------------------------===// @@ -20,7 +20,7 @@ namespace clang { -/// \brief Describes the different kinds of visibility that a declaration +/// Describes the different kinds of visibility that a declaration /// may have. /// /// Visibility determines how a declaration interacts with the dynamic diff --git a/include/clang/Basic/XRayInstr.h b/include/clang/Basic/XRayInstr.h index 6a03c7b5e2..13c3032a5c 100644 --- a/include/clang/Basic/XRayInstr.h +++ b/include/clang/Basic/XRayInstr.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Defines the clang::XRayInstrKind enum. +/// Defines the clang::XRayInstrKind enum. // //===----------------------------------------------------------------------===// |