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 /lib | |
parent | c8ad1ab42f269f29bcf6385446e5b728aff7e4ad (diff) | |
download | clang-647be32c6048e24f90f470c557e850597e5526c3.tar.gz |
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 'lib')
280 files changed, 3566 insertions, 3566 deletions
diff --git a/lib/ARCMigrate/ARCMT.cpp b/lib/ARCMigrate/ARCMT.cpp index cf7cddefc0..74c9974cc8 100644 --- a/lib/ARCMigrate/ARCMT.cpp +++ b/lib/ARCMigrate/ARCMT.cpp @@ -503,7 +503,7 @@ public: } // end anonymous namespace. -/// \brief Anchor for VTable. +/// Anchor for VTable. MigrationProcess::RewriteListener::~RewriteListener() { } MigrationProcess::MigrationProcess( diff --git a/lib/ARCMigrate/ObjCMT.cpp b/lib/ARCMigrate/ObjCMT.cpp index 109b079186..433e6194a2 100644 --- a/lib/ARCMigrate/ObjCMT.cpp +++ b/lib/ARCMigrate/ObjCMT.cpp @@ -226,7 +226,7 @@ namespace { isa<ParenListExpr>(Expr) || isa<SizeOfPackExpr>(Expr)); } - /// \brief - Rewrite message expression for Objective-C setter and getters into + /// - Rewrite message expression for Objective-C setter and getters into /// property-dot syntax. bool rewriteToPropertyDotSyntax(const ObjCMessageExpr *Msg, Preprocessor &PP, @@ -1065,7 +1065,7 @@ static bool TypeIsInnerPointer(QualType T) { return true; } -/// \brief Check whether the two versions match. +/// Check whether the two versions match. static bool versionsMatch(const VersionTuple &X, const VersionTuple &Y) { return (X == Y); } diff --git a/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp b/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp index d45d5d60b7..cbc22ed601 100644 --- a/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp +++ b/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp @@ -73,7 +73,7 @@ static bool isEmptyARCMTMacroStatement(NullStmt *S, namespace { -/// \brief Returns true if the statement became empty due to previous +/// Returns true if the statement became empty due to previous /// transformations. class EmptyChecker : public StmtVisitor<EmptyChecker, bool> { ASTContext &Ctx; diff --git a/lib/ARCMigrate/TransGCAttrs.cpp b/lib/ARCMigrate/TransGCAttrs.cpp index a8ca14b19b..4fd21aa6c2 100644 --- a/lib/ARCMigrate/TransGCAttrs.cpp +++ b/lib/ARCMigrate/TransGCAttrs.cpp @@ -23,7 +23,7 @@ using namespace trans; namespace { -/// \brief Collects all the places where GC attributes __strong/__weak occur. +/// Collects all the places where GC attributes __strong/__weak occur. class GCAttrsCollector : public RecursiveASTVisitor<GCAttrsCollector> { MigrationContext &MigrateCtx; bool FullyMigratable; diff --git a/lib/ARCMigrate/TransProperties.cpp b/lib/ARCMigrate/TransProperties.cpp index 389b03666b..1468c21a00 100644 --- a/lib/ARCMigrate/TransProperties.cpp +++ b/lib/ARCMigrate/TransProperties.cpp @@ -330,7 +330,7 @@ private: return false; } - // \brief Returns true if all declarations in the @property have GC __weak. + // Returns true if all declarations in the @property have GC __weak. bool hasGCWeak(PropsTy &props, SourceLocation atLoc) const { if (!Pass.isGCMigration()) return false; diff --git a/lib/ARCMigrate/TransRetainReleaseDealloc.cpp b/lib/ARCMigrate/TransRetainReleaseDealloc.cpp index 389f3655aa..ebe289b34d 100644 --- a/lib/ARCMigrate/TransRetainReleaseDealloc.cpp +++ b/lib/ARCMigrate/TransRetainReleaseDealloc.cpp @@ -158,7 +158,7 @@ public: } private: - /// \brief Checks for idioms where an unused -autorelease is common. + /// Checks for idioms where an unused -autorelease is common. /// /// Returns true for this idiom which is common in property /// setters: @@ -309,7 +309,7 @@ private: return nullptr; } - /// \brief Check if the retain/release is due to a GCD/XPC macro that are + /// Check if the retain/release is due to a GCD/XPC macro that are /// defined as: /// /// #define dispatch_retain(object) ({ dispatch_object_t _o = (object); _dispatch_object_validate(_o); (void)[_o retain]; }) diff --git a/lib/ARCMigrate/TransformActions.cpp b/lib/ARCMigrate/TransformActions.cpp index 7439eb2859..704be4374d 100644 --- a/lib/ARCMigrate/TransformActions.cpp +++ b/lib/ARCMigrate/TransformActions.cpp @@ -19,7 +19,7 @@ using namespace arcmt; namespace { -/// \brief Collects transformations and merges them before applying them with +/// Collects transformations and merges them before applying them with /// with applyRewrites(). E.g. if the same source range /// is requested to be removed twice, only one rewriter remove will be invoked. /// Rewrites happen in "transactions"; if one rewrite in the transaction cannot @@ -61,7 +61,7 @@ class TransformActionsImpl { Range_ExtendsEnd }; - /// \brief A range to remove. It is a character range. + /// A range to remove. It is a character range. struct CharRange { FullSourceLoc Begin, End; @@ -107,7 +107,7 @@ class TransformActionsImpl { typedef std::map<FullSourceLoc, TextsVec, FullSourceLoc::BeforeThanCompare> InsertsMap; InsertsMap Inserts; - /// \brief A list of ranges to remove. They are always sorted and they never + /// A list of ranges to remove. They are always sorted and they never /// intersect with each other. std::list<CharRange> Removals; @@ -115,7 +115,7 @@ class TransformActionsImpl { std::vector<std::pair<CharRange, SourceLocation> > IndentationRanges; - /// \brief Keeps text passed to transformation methods. + /// Keeps text passed to transformation methods. llvm::StringMap<bool> UniqueText; public: @@ -167,12 +167,12 @@ private: void addRemoval(CharSourceRange range); void addInsertion(SourceLocation loc, StringRef text); - /// \brief Stores text passed to the transformation methods to keep the string + /// Stores text passed to the transformation methods to keep the string /// "alive". Since the vast majority of text will be the same, we also unique /// the strings using a StringMap. StringRef getUniqueText(StringRef text); - /// \brief Computes the source location just past the end of the token at + /// Computes the source location just past the end of the token at /// the given source location. If the location points at a macro, the whole /// macro expansion is skipped. static SourceLocation getLocForEndOfToken(SourceLocation loc, @@ -577,14 +577,14 @@ void TransformActionsImpl::applyRewrites( } } -/// \brief Stores text passed to the transformation methods to keep the string +/// Stores text passed to the transformation methods to keep the string /// "alive". Since the vast majority of text will be the same, we also unique /// the strings using a StringMap. StringRef TransformActionsImpl::getUniqueText(StringRef text) { return UniqueText.insert(std::make_pair(text, false)).first->first(); } -/// \brief Computes the source location just past the end of the token at +/// Computes the source location just past the end of the token at /// the given source location. If the location points at a macro, the whole /// macro expansion is skipped. SourceLocation TransformActionsImpl::getLocForEndOfToken(SourceLocation loc, diff --git a/lib/ARCMigrate/Transforms.cpp b/lib/ARCMigrate/Transforms.cpp index cb96a547fb..1f4e6a297f 100644 --- a/lib/ARCMigrate/Transforms.cpp +++ b/lib/ARCMigrate/Transforms.cpp @@ -111,7 +111,7 @@ bool trans::isPlusOne(const Expr *E) { return implCE && implCE->getCastKind() == CK_ARCConsumeObject; } -/// \brief 'Loc' is the end of a statement range. This returns the location +/// 'Loc' is the end of a statement range. This returns the location /// immediately after the semicolon following the statement. /// If no semicolon is found or the location is inside a macro, the returned /// source location will be invalid. @@ -123,7 +123,7 @@ SourceLocation trans::findLocationAfterSemi(SourceLocation loc, return SemiLoc.getLocWithOffset(1); } -/// \brief \arg Loc is the end of a statement range. This returns the location +/// \arg Loc is the end of a statement range. This returns the location /// of the semicolon following the statement. /// If no semicolon is found or the location is inside a macro, the returned /// source location will be invalid. diff --git a/lib/ARCMigrate/Transforms.h b/lib/ARCMigrate/Transforms.h index 7e3dd34e76..8ea4f79456 100644 --- a/lib/ARCMigrate/Transforms.h +++ b/lib/ARCMigrate/Transforms.h @@ -89,7 +89,7 @@ public: SourceLocation Loc; QualType ModifiedType; Decl *Dcl; - /// \brief true if the attribute is owned, e.g. it is in a body and not just + /// true if the attribute is owned, e.g. it is in a body and not just /// in an interface. bool FullyMigratable; }; @@ -97,7 +97,7 @@ public: llvm::DenseSet<unsigned> AttrSet; llvm::DenseSet<unsigned> RemovedAttrSet; - /// \brief Set of raw '@' locations for 'assign' properties group that contain + /// Set of raw '@' locations for 'assign' properties group that contain /// GC __weak. llvm::DenseSet<unsigned> AtPropsWeak; @@ -156,21 +156,21 @@ public: // Helpers. //===----------------------------------------------------------------------===// -/// \brief Determine whether we can add weak to the given type. +/// Determine whether we can add weak to the given type. bool canApplyWeak(ASTContext &Ctx, QualType type, bool AllowOnUnknownClass = false); bool isPlusOneAssign(const BinaryOperator *E); bool isPlusOne(const Expr *E); -/// \brief 'Loc' is the end of a statement range. This returns the location +/// 'Loc' is the end of a statement range. This returns the location /// immediately after the semicolon following the statement. /// If no semicolon is found or the location is inside a macro, the returned /// source location will be invalid. SourceLocation findLocationAfterSemi(SourceLocation loc, ASTContext &Ctx, bool IsDecl = false); -/// \brief 'Loc' is the end of a statement range. This returns the location +/// 'Loc' is the end of a statement range. This returns the location /// of the semicolon following the statement. /// If no semicolon is found or the location is inside a macro, the returned /// source location will be invalid. @@ -179,7 +179,7 @@ SourceLocation findSemiAfterLocation(SourceLocation loc, ASTContext &Ctx, bool hasSideEffects(Expr *E, ASTContext &Ctx); bool isGlobalVar(Expr *E); -/// \brief Returns "nil" or "0" if 'nil' macro is not actually defined. +/// Returns "nil" or "0" if 'nil' macro is not actually defined. StringRef getNilString(MigrationPass &Pass); template <typename BODY_TRANS> diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index a0fc4e72ef..f8de2b4480 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -1259,7 +1259,7 @@ AttrVec& ASTContext::getDeclAttrs(const Decl *D) { return *Result; } -/// \brief Erase the attributes corresponding to the given declaration. +/// Erase the attributes corresponding to the given declaration. void ASTContext::eraseDeclAttrs(const Decl *D) { llvm::DenseMap<const Decl*, AttrVec*>::iterator Pos = DeclAttrs.find(D); if (Pos != DeclAttrs.end()) { @@ -2336,7 +2336,7 @@ bool ASTContext::isSentinelNullExpr(const Expr *E) { return false; } -/// \brief Get the implementation of ObjCInterfaceDecl, or nullptr if none +/// Get the implementation of ObjCInterfaceDecl, or nullptr if none /// exists. ObjCImplementationDecl *ASTContext::getObjCImplementation(ObjCInterfaceDecl *D) { llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*>::iterator @@ -2346,7 +2346,7 @@ ObjCImplementationDecl *ASTContext::getObjCImplementation(ObjCInterfaceDecl *D) return nullptr; } -/// \brief Get the implementation of ObjCCategoryDecl, or nullptr if none +/// Get the implementation of ObjCCategoryDecl, or nullptr if none /// exists. ObjCCategoryImplDecl *ASTContext::getObjCImplementation(ObjCCategoryDecl *D) { llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*>::iterator @@ -2356,14 +2356,14 @@ ObjCCategoryImplDecl *ASTContext::getObjCImplementation(ObjCCategoryDecl *D) { return nullptr; } -/// \brief Set the implementation of ObjCInterfaceDecl. +/// Set the implementation of ObjCInterfaceDecl. void ASTContext::setObjCImplementation(ObjCInterfaceDecl *IFaceD, ObjCImplementationDecl *ImplD) { assert(IFaceD && ImplD && "Passed null params"); ObjCImpls[IFaceD] = ImplD; } -/// \brief Set the implementation of ObjCCategoryDecl. +/// Set the implementation of ObjCCategoryDecl. void ASTContext::setObjCImplementation(ObjCCategoryDecl *CatD, ObjCCategoryImplDecl *ImplD) { assert(CatD && ImplD && "Passed null params"); @@ -2393,7 +2393,7 @@ const ObjCInterfaceDecl *ASTContext::getObjContainingInterface( return nullptr; } -/// \brief Get the copy initialization expression of VarDecl, or nullptr if +/// Get the copy initialization expression of VarDecl, or nullptr if /// none exists. Expr *ASTContext::getBlockVarCopyInits(const VarDecl*VD) { assert(VD && "Passed null params"); @@ -2404,7 +2404,7 @@ Expr *ASTContext::getBlockVarCopyInits(const VarDecl*VD) { return (I != BlockVarCopyInits.end()) ? I->second : nullptr; } -/// \brief Set the copy inialization expression of a block var decl. +/// Set the copy inialization expression of a block var decl. void ASTContext::setBlockVarCopyInits(VarDecl*VD, Expr* Init) { assert(VD && Init && "Passed null params"); assert(VD->hasAttr<BlocksAttr>() && @@ -3355,7 +3355,7 @@ QualType ASTContext::getDependentAddressSpaceType(QualType PointeeType, return QualType(sugaredType, 0); } -/// \brief Determine whether \p T is canonical as the result type of a function. +/// Determine whether \p T is canonical as the result type of a function. static bool isCanonicalResultType(QualType T) { return T.isCanonical() && (T.getObjCLifetime() == Qualifiers::OCL_None || @@ -3747,7 +3747,7 @@ QualType ASTContext::getAttributedType(AttributedType::Kind attrKind, return QualType(type, 0); } -/// \brief Retrieve a substitution-result type. +/// Retrieve a substitution-result type. QualType ASTContext::getSubstTemplateTypeParmType(const TemplateTypeParmType *Parm, QualType Replacement) const { @@ -3770,7 +3770,7 @@ ASTContext::getSubstTemplateTypeParmType(const TemplateTypeParmType *Parm, return QualType(SubstParm, 0); } -/// \brief Retrieve a +/// Retrieve a QualType ASTContext::getSubstTemplateTypeParmPackType( const TemplateTypeParmType *Parm, const TemplateArgument &ArgPack) { @@ -3804,7 +3804,7 @@ QualType ASTContext::getSubstTemplateTypeParmPackType( return QualType(SubstParm, 0); } -/// \brief Retrieve the template type parameter type for a template +/// Retrieve the template type parameter type for a template /// parameter or parameter pack with the given depth, index, and (optionally) /// name. QualType ASTContext::getTemplateTypeParmType(unsigned Depth, unsigned Index, @@ -4580,7 +4580,7 @@ QualType ASTContext::getTypeOfType(QualType tofType) const { return QualType(tot, 0); } -/// \brief Unlike many "get<Type>" functions, we don't unique DecltypeType +/// Unlike many "get<Type>" functions, we don't unique DecltypeType /// nodes. This would never be helpful, since each such type has its own /// expression, and would not give a significant memory saving, since there /// is an Expr tree under each such type. @@ -4801,14 +4801,14 @@ QualType ASTContext::getPointerDiffType() const { return getFromTargetType(Target->getPtrDiffType(0)); } -/// \brief Return the unique unsigned counterpart of "ptrdiff_t" +/// Return the unique unsigned counterpart of "ptrdiff_t" /// integer type. The standard (C11 7.21.6.1p7) refers to this type /// in the definition of %tu format specifier. QualType ASTContext::getUnsignedPointerDiffType() const { return getFromTargetType(Target->getUnsignedPtrDiffType(0)); } -/// \brief Return the unique type for "pid_t" defined in +/// Return the unique type for "pid_t" defined in /// <sys/types.h>. We need this to compute the correct type for vfork(). QualType ASTContext::getProcessIDType() const { return getFromTargetType(Target->getProcessIDType()); @@ -5374,7 +5374,7 @@ unsigned ASTContext::getIntegerRank(const Type *T) const { } } -/// \brief Whether this is a promotable bitfield reference according +/// Whether this is a promotable bitfield reference according /// to C99 6.3.1.1p2, bullet 2 (and GCC extensions). /// /// \returns the type this bit-field will promote to, or NULL if no @@ -5468,7 +5468,7 @@ QualType ASTContext::getPromotedIntegerType(QualType Promotable) const { return (PromotableSize != IntSize) ? IntTy : UnsignedIntTy; } -/// \brief Recurses in pointer/array types until it finds an objc retainable +/// Recurses in pointer/array types until it finds an objc retainable /// type and returns its ownership. Qualifiers::ObjCLifetime ASTContext::getInnerObjCOwnership(QualType T) const { while (!T.isNull()) { @@ -7242,7 +7242,7 @@ void ASTContext::setObjCConstantStringInterface(ObjCInterfaceDecl *Decl) { ObjCConstantStringType = getObjCInterfaceType(Decl); } -/// \brief Retrieve the template name that corresponds to a non-empty +/// Retrieve the template name that corresponds to a non-empty /// lookup. TemplateName ASTContext::getOverloadedTemplateName(UnresolvedSetIterator Begin, @@ -7266,7 +7266,7 @@ ASTContext::getOverloadedTemplateName(UnresolvedSetIterator Begin, return TemplateName(OT); } -/// \brief Retrieve the template name that represents a qualified +/// Retrieve the template name that represents a qualified /// template name such as \c std::vector. TemplateName ASTContext::getQualifiedTemplateName(NestedNameSpecifier *NNS, @@ -7290,7 +7290,7 @@ ASTContext::getQualifiedTemplateName(NestedNameSpecifier *NNS, return TemplateName(QTN); } -/// \brief Retrieve the template name that represents a dependent +/// Retrieve the template name that represents a dependent /// template name such as \c MetaFun::template apply. TemplateName ASTContext::getDependentTemplateName(NestedNameSpecifier *NNS, @@ -7326,7 +7326,7 @@ ASTContext::getDependentTemplateName(NestedNameSpecifier *NNS, return TemplateName(QTN); } -/// \brief Retrieve the template name that represents a dependent +/// Retrieve the template name that represents a dependent /// template name such as \c MetaFun::template operator+. TemplateName ASTContext::getDependentTemplateName(NestedNameSpecifier *NNS, @@ -9760,7 +9760,7 @@ createDynTypedNode(const NestedNameSpecifierLoc &Node) { } /// @} - /// \brief A \c RecursiveASTVisitor that builds a map from nodes to their + /// A \c RecursiveASTVisitor that builds a map from nodes to their /// parents as defined by the \c RecursiveASTVisitor. /// /// Note that the relationship described here is purely in terms of AST @@ -9770,7 +9770,7 @@ createDynTypedNode(const NestedNameSpecifierLoc &Node) { /// FIXME: Currently only builds up the map using \c Stmt and \c Decl nodes. class ParentMapASTVisitor : public RecursiveASTVisitor<ParentMapASTVisitor> { public: - /// \brief Builds and returns the translation unit's parent map. + /// Builds and returns the translation unit's parent map. /// /// The caller takes ownership of the returned \c ParentMap. static std::pair<ASTContext::ParentMapPointers *, diff --git a/lib/AST/ASTDiagnostic.cpp b/lib/AST/ASTDiagnostic.cpp index b43c28deb3..c4c0f6e5eb 100644 --- a/lib/AST/ASTDiagnostic.cpp +++ b/lib/AST/ASTDiagnostic.cpp @@ -200,7 +200,7 @@ break; \ return QC.apply(Context, QT); } -/// \brief Convert the given type to a string suitable for printing as part of +/// Convert the given type to a string suitable for printing as part of /// a diagnostic. /// /// There are four main criteria when determining whether we should have an diff --git a/lib/AST/ASTImporter.cpp b/lib/AST/ASTImporter.cpp index ffe1762d67..d2c8427441 100644 --- a/lib/AST/ASTImporter.cpp +++ b/lib/AST/ASTImporter.cpp @@ -146,17 +146,17 @@ namespace clang { Optional<LambdaCapture> ImportLambdaCapture(const LambdaCapture &From); - /// \brief What we should import from the definition. + /// What we should import from the definition. enum ImportDefinitionKind { - /// \brief Import the default subset of the definition, which might be + /// Import the default subset of the definition, which might be /// nothing (if minimal import is set) or might be everything (if minimal /// import is not set). IDK_Default, - /// \brief Import everything. + /// Import everything. IDK_Everything, - /// \brief Import only the bare bones needed to establish a valid + /// Import only the bare bones needed to establish a valid /// DeclContext. IDK_Basic }; diff --git a/lib/AST/CXXInheritance.cpp b/lib/AST/CXXInheritance.cpp index 9314cfde7c..374ddac60b 100644 --- a/lib/AST/CXXInheritance.cpp +++ b/lib/AST/CXXInheritance.cpp @@ -34,7 +34,7 @@ using namespace clang; -/// \brief Computes the set of declarations referenced by these base +/// Computes the set of declarations referenced by these base /// paths. void CXXBasePaths::ComputeDeclsFound() { assert(NumDeclsFound == 0 && !DeclsFound && @@ -76,7 +76,7 @@ void CXXBasePaths::clear() { DetectedVirtual = nullptr; } -/// @brief Swaps the contents of this CXXBasePaths structure with the +/// Swaps the contents of this CXXBasePaths structure with the /// contents of Other. void CXXBasePaths::swap(CXXBasePaths &Other) { std::swap(Origin, Other.Origin); @@ -567,11 +567,11 @@ void OverridingMethods::replaceAll(UniqueVirtualMethod Overriding) { namespace { class FinalOverriderCollector { - /// \brief The number of subobjects of a given class type that + /// The number of subobjects of a given class type that /// occur within the class hierarchy. llvm::DenseMap<const CXXRecordDecl *, unsigned> SubobjectCount; - /// \brief Overriders for each virtual base subobject. + /// Overriders for each virtual base subobject. llvm::DenseMap<const CXXRecordDecl *, CXXFinalOverriderMap *> VirtualOverriders; CXXFinalOverriderMap FinalOverriders; diff --git a/lib/AST/CommentBriefParser.cpp b/lib/AST/CommentBriefParser.cpp index eecea8fc11..5ec7586a47 100644 --- a/lib/AST/CommentBriefParser.cpp +++ b/lib/AST/CommentBriefParser.cpp @@ -122,8 +122,8 @@ std::string BriefParser::Parse() { if (Tok.is(tok::newline)) { ConsumeToken(); // We found a paragraph end. This ends the brief description if - // \\brief command or its equivalent was explicitly used. - // Stop scanning text because an explicit \\brief paragraph is the + // \command or its equivalent was explicitly used. + // Stop scanning text because an explicit \paragraph is the // preffered one. if (InBrief) break; diff --git a/lib/AST/CommentSema.cpp b/lib/AST/CommentSema.cpp index 6c2019e1a7..4bc98bf107 100644 --- a/lib/AST/CommentSema.cpp +++ b/lib/AST/CommentSema.cpp @@ -215,7 +215,7 @@ void Sema::checkContainerDecl(const BlockCommandComment *Comment) { << Comment->getSourceRange(); } -/// \brief Turn a string into the corresponding PassDirection or -1 if it's not +/// Turn a string into the corresponding PassDirection or -1 if it's not /// valid. static int getParamPassDirection(StringRef Arg) { return llvm::StringSwitch<int>(Arg) diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 3b4507de61..895d50d101 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -243,7 +243,7 @@ LinkageInfo LinkageComputer::getLVForType(const Type &T, return getTypeLinkageAndVisibility(&T); } -/// \brief Get the most restrictive linkage for the types in the given +/// Get the most restrictive linkage for the types in the given /// template parameter list. For visibility purposes, template /// parameters are part of the signature of a template. LinkageInfo LinkageComputer::getLVForTemplateParameterList( @@ -310,7 +310,7 @@ static const Decl *getOutermostFuncOrBlockContext(const Decl *D) { return Ret; } -/// \brief Get the most restrictive linkage for the types and +/// Get the most restrictive linkage for the types and /// declarations in the given template argument list. /// /// Note that we don't take an LVComputationKind because we always @@ -2873,7 +2873,7 @@ FunctionDecl::setPreviousDeclaration(FunctionDecl *PrevDecl) { FunctionDecl *FunctionDecl::getCanonicalDecl() { return getFirstDecl(); } -/// \brief Returns a value indicating whether this function +/// Returns a value indicating whether this function /// corresponds to a builtin function. /// /// The function corresponds to a built-in function if it is @@ -2975,7 +2975,7 @@ unsigned FunctionDecl::getMinRequiredArguments() const { return NumRequiredArgs; } -/// \brief The combination of the extern and inline keywords under MSVC forces +/// The combination of the extern and inline keywords under MSVC forces /// the function to be required. /// /// Note: This function assumes that we will only get called when isInlined() @@ -3024,7 +3024,7 @@ static bool RedeclForcesDefC99(const FunctionDecl *Redecl) { return false; } -/// \brief For a function declaration in C or C++, determine whether this +/// For a function declaration in C or C++, determine whether this /// declaration causes the definition to be externally visible. /// /// For instance, this determines if adding the current declaration to the set @@ -3139,7 +3139,7 @@ const Attr *FunctionDecl::getUnusedResultAttr() const { return getAttr<WarnUnusedResultAttr>(); } -/// \brief For an inline function definition in C, or for a gnu_inline function +/// For an inline function definition in C, or for a gnu_inline function /// in C++, determine whether the definition will be externally visible. /// /// Inline function definitions are always available for inlining optimizations. @@ -4481,7 +4481,7 @@ EmptyDecl *EmptyDecl::CreateDeserialized(ASTContext &C, unsigned ID) { // ImportDecl Implementation //===----------------------------------------------------------------------===// -/// \brief Retrieve the number of module identifiers needed to name the given +/// Retrieve the number of module identifiers needed to name the given /// module. static unsigned getNumModuleIdentifiers(Module *Mod) { unsigned Result = 1; diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 8d7291ee3e..5c8915774f 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -493,7 +493,7 @@ static StringRef getRealizedPlatform(const AvailabilityAttr *A, return RealizedPlatform; } -/// \brief Determine the availability of the given declaration based on +/// Determine the availability of the given declaration based on /// the target platform. /// /// When it returns an availability result other than \c AR_Available, @@ -1003,7 +1003,7 @@ bool DeclContext::classof(const Decl *D) { DeclContext::~DeclContext() = default; -/// \brief Find the parent context of this context that will be +/// Find the parent context of this context that will be /// used for unqualified name lookup. /// /// Generally, the parent lookup context is the semantic context. However, for @@ -1221,7 +1221,7 @@ DeclContext::BuildDeclChain(ArrayRef<Decl *> Decls, return std::make_pair(FirstNewDecl, PrevDecl); } -/// \brief We have just acquired external visible storage, and we already have +/// We have just acquired external visible storage, and we already have /// built a lookup map. For every name in the map, pull in the new names from /// the external storage. void DeclContext::reconcileExternalVisibleStorage() const { @@ -1232,7 +1232,7 @@ void DeclContext::reconcileExternalVisibleStorage() const { Lookup.second.setHasExternalDecls(); } -/// \brief Load the declarations within this lexical storage from an +/// Load the declarations within this lexical storage from an /// external source. /// \return \c true if any declarations were added. bool diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index f3b3ed0fa2..b3607caef6 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -2305,7 +2305,7 @@ bool CXXConstructorDecl::isMoveConstructor(unsigned &TypeQuals) const { getParamDecl(0)->getType()->isRValueReferenceType(); } -/// \brief Determine whether this is a copy or move constructor. +/// Determine whether this is a copy or move constructor. bool CXXConstructorDecl::isCopyOrMoveConstructor(unsigned &TypeQuals) const { // C++ [class.copy]p2: // A non-template constructor for class X is a copy constructor diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index 16e063caac..5db0450999 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -109,7 +109,7 @@ ObjCContainerDecl::getMethod(Selector Sel, bool isInstance, return nullptr; } -/// \brief This routine returns 'true' if a user declared setter method was +/// This routine returns 'true' if a user declared setter method was /// found in the class, its protocols, its super classes or categories. /// It also returns 'true' if one of its categories has declared a 'readwrite' /// property. This is because, user must provide a setter method for the @@ -854,7 +854,7 @@ void ObjCMethodDecl::setMethodParams(ASTContext &C, setParamsAndSelLocs(C, Params, SelLocs); } -/// \brief A definition will return its interface declaration. +/// A definition will return its interface declaration. /// An interface declaration will return its definition. /// Otherwise it will return itself. ObjCMethodDecl *ObjCMethodDecl::getNextRedeclarationImpl() { diff --git a/lib/AST/DeclOpenMP.cpp b/lib/AST/DeclOpenMP.cpp index 95e44acca0..a86c0ebd48 100644 --- a/lib/AST/DeclOpenMP.cpp +++ b/lib/AST/DeclOpenMP.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file implements OMPThreadPrivateDecl, OMPCapturedExprDecl +/// This file implements OMPThreadPrivateDecl, OMPCapturedExprDecl /// classes. /// //===----------------------------------------------------------------------===// diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index b2def80234..d331c32d2f 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -230,7 +230,7 @@ SourceLocation Expr::getExprLoc() const { // Primary Expressions. //===----------------------------------------------------------------------===// -/// \brief Compute the type-, value-, and instantiation-dependence of a +/// Compute the type-, value-, and instantiation-dependence of a /// declaration reference /// based on the declaration being referenced. static void computeDeclRefDependence(const ASTContext &Ctx, NamedDecl *D, @@ -2632,7 +2632,7 @@ bool Expr::isDefaultArgument() const { return isa<CXXDefaultArgExpr>(E); } -/// \brief Skip over any no-op casts and any temporary-binding +/// Skip over any no-op casts and any temporary-binding /// expressions. static const Expr *skipTemporaryBindingsNoOpCastsAndParens(const Expr *E) { if (const MaterializeTemporaryExpr *M = dyn_cast<MaterializeTemporaryExpr>(E)) @@ -2934,7 +2934,7 @@ bool CallExpr::isBuiltinAssumeFalse(const ASTContext &Ctx) const { } namespace { - /// \brief Look for any side effects within a Stmt. + /// Look for any side effects within a Stmt. class SideEffectFinder : public ConstEvaluatedExprVisitor<SideEffectFinder> { typedef ConstEvaluatedExprVisitor<SideEffectFinder> Inherited; const bool IncludePossibleEffects; @@ -3230,7 +3230,7 @@ bool Expr::HasSideEffects(const ASTContext &Ctx, } namespace { - /// \brief Look for a call to a non-trivial function within an expression. + /// Look for a call to a non-trivial function within an expression. class NonTrivialCallFinder : public ConstEvaluatedExprVisitor<NonTrivialCallFinder> { typedef ConstEvaluatedExprVisitor<NonTrivialCallFinder> Inherited; @@ -3406,7 +3406,7 @@ Expr::isNullPointerConstant(ASTContext &Ctx, return NPCK_ZeroExpression; } -/// \brief If this expression is an l-value for an Objective C +/// If this expression is an l-value for an Objective C /// property, find the underlying property reference expression. const ObjCPropertyRefExpr *Expr::getObjCProperty() const { const Expr *E = this; @@ -3830,7 +3830,7 @@ Expr *DesignatedInitExpr::getArrayRangeEnd(const Designator &D) const { return getSubExpr(D.ArrayOrRange.Index + 2); } -/// \brief Replaces the designator at index @p Idx with the series +/// Replaces the designator at index @p Idx with the series /// of designators in [First, Last). void DesignatedInitExpr::ExpandDesignator(const ASTContext &C, unsigned Idx, const Designator *First, diff --git a/lib/AST/ExprConstant.cpp b/lib/AST/ExprConstant.cpp index 438990f406..4d5d15427d 100644 --- a/lib/AST/ExprConstant.cpp +++ b/lib/AST/ExprConstant.cpp @@ -686,11 +686,11 @@ namespace { /// notes attached to it will also be stored, otherwise they will not be. bool HasActiveDiagnostic; - /// \brief Have we emitted a diagnostic explaining why we couldn't constant + /// Have we emitted a diagnostic explaining why we couldn't constant /// fold (not just why it's not strictly a constant expression)? bool HasFoldFailureDiagnostic; - /// \brief Whether or not we're currently speculatively evaluating. + /// Whether or not we're currently speculatively evaluating. bool IsSpeculativelyEvaluating; enum EvaluationMode { @@ -3271,7 +3271,7 @@ static CompleteObject findCompleteObject(EvalInfo &Info, const Expr *E, return CompleteObject(BaseVal, BaseType, LifetimeStartedInEvaluation); } -/// \brief Perform an lvalue-to-rvalue conversion on the given glvalue. This +/// Perform an lvalue-to-rvalue conversion on the given glvalue. This /// can also be used for 'lvalue-to-lvalue' conversions for looking up the /// glvalue referred to by an entity of reference type. /// @@ -3834,7 +3834,7 @@ static bool EvaluateCond(EvalInfo &Info, const VarDecl *CondDecl, } namespace { -/// \brief A location where the result (returned value) of evaluating a +/// A location where the result (returned value) of evaluating a /// statement should be stored. struct StmtResult { /// The APValue that should be filled in with the returned value. @@ -5553,7 +5553,7 @@ bool LValueExprEvaluator::VisitBinAssign(const BinaryOperator *E) { // Pointer Evaluation //===----------------------------------------------------------------------===// -/// \brief Attempts to compute the number of bytes available at the pointer +/// Attempts to compute the number of bytes available at the pointer /// returned by a function with the alloc_size attribute. Returns true if we /// were successful. Places an unsigned number into `Result`. /// @@ -5602,7 +5602,7 @@ static bool getBytesReturnedByAllocSizeCall(const ASTContext &Ctx, return true; } -/// \brief Convenience function. LVal's base must be a call to an alloc_size +/// Convenience function. LVal's base must be a call to an alloc_size /// function. static bool getBytesReturnedByAllocSizeCall(const ASTContext &Ctx, const LValue &LVal, @@ -5614,7 +5614,7 @@ static bool getBytesReturnedByAllocSizeCall(const ASTContext &Ctx, return getBytesReturnedByAllocSizeCall(Ctx, CE, Result); } -/// \brief Attempts to evaluate the given LValueBase as the result of a call to +/// Attempts to evaluate the given LValueBase as the result of a call to /// a function with the alloc_size attribute. If it was possible to do so, this /// function will return true, make Result's Base point to said function call, /// and mark Result's Base as invalid. @@ -7730,7 +7730,7 @@ static bool determineEndOffset(EvalInfo &Info, SourceLocation ExprLoc, return true; } -/// \brief Tries to evaluate the __builtin_object_size for @p E. If successful, +/// Tries to evaluate the __builtin_object_size for @p E. If successful, /// returns true and stores the result in @p Size. /// /// If @p WasError is non-null, this will report whether the failure to evaluate @@ -8151,7 +8151,7 @@ static bool HasSameBase(const LValue &A, const LValue &B) { A.getLValueVersion() == B.getLValueVersion()); } -/// \brief Determine whether this is a pointer past the end of the complete +/// Determine whether this is a pointer past the end of the complete /// object referred to by the lvalue. static bool isOnePastTheEndOfCompleteObject(const ASTContext &Ctx, const LValue &LV) { @@ -8180,7 +8180,7 @@ static bool isOnePastTheEndOfCompleteObject(const ASTContext &Ctx, namespace { -/// \brief Data recursive integer evaluator of certain binary operators. +/// Data recursive integer evaluator of certain binary operators. /// /// We use a data recursive algorithm for binary operators so that we are able /// to handle extreme cases of chained binary operators without causing stack @@ -8225,7 +8225,7 @@ public: DataRecursiveIntBinOpEvaluator(IntExprEvaluator &IntEval, APValue &Result) : IntEval(IntEval), Info(IntEval.getEvalInfo()), FinalResult(Result) { } - /// \brief True if \param E is a binary operator that we are going to handle + /// True if \param E is a binary operator that we are going to handle /// data recursively. /// We handle binary operators that are comma, logical, or that have operands /// with integral or enumeration type. @@ -8266,7 +8266,7 @@ private: return Info.CCEDiag(E, D); } - // \brief Returns true if visiting the RHS is necessary, false otherwise. + // Returns true if visiting the RHS is necessary, false otherwise. bool VisitBinOpLHSOnly(EvalResult &LHSResult, const BinaryOperator *E, bool &SuppressRHSDiags); diff --git a/lib/AST/ItaniumCXXABI.cpp b/lib/AST/ItaniumCXXABI.cpp index abfec13a99..2403e048da 100644 --- a/lib/AST/ItaniumCXXABI.cpp +++ b/lib/AST/ItaniumCXXABI.cpp @@ -101,7 +101,7 @@ struct DenseMapInfo<DecompositionDeclName> { namespace { -/// \brief Keeps track of the mangled names of lambda expressions and block +/// Keeps track of the mangled names of lambda expressions and block /// literals within a particular context. class ItaniumNumberingContext : public MangleNumberingContext { llvm::DenseMap<const Type *, unsigned> ManglingNumbers; diff --git a/lib/AST/MicrosoftCXXABI.cpp b/lib/AST/MicrosoftCXXABI.cpp index 6d73716e13..3b417c1352 100644 --- a/lib/AST/MicrosoftCXXABI.cpp +++ b/lib/AST/MicrosoftCXXABI.cpp @@ -25,7 +25,7 @@ using namespace clang; namespace { -/// \brief Numbers things which need to correspond across multiple TUs. +/// Numbers things which need to correspond across multiple TUs. /// Typically these are things like static locals, lambdas, or blocks. class MicrosoftNumberingContext : public MangleNumberingContext { llvm::DenseMap<const Type *, unsigned> ManglingNumbers; diff --git a/lib/AST/MicrosoftMangle.cpp b/lib/AST/MicrosoftMangle.cpp index 7b60c14e41..159938124b 100644 --- a/lib/AST/MicrosoftMangle.cpp +++ b/lib/AST/MicrosoftMangle.cpp @@ -76,7 +76,7 @@ getLambdaDefaultArgumentDeclContext(const Decl *D) { return nullptr; } -/// \brief Retrieve the declaration context that should be used when mangling +/// Retrieve the declaration context that should be used when mangling /// the given declaration. static const DeclContext *getEffectiveDeclContext(const Decl *D) { // The ABI assumes that lambda closure types that occur within diff --git a/lib/AST/NSAPI.cpp b/lib/AST/NSAPI.cpp index eb807f0cc5..030f2a0c9c 100644 --- a/lib/AST/NSAPI.cpp +++ b/lib/AST/NSAPI.cpp @@ -471,15 +471,15 @@ NSAPI::getNSNumberFactoryMethodKind(QualType T) const { return None; } -/// \brief Returns true if \param T is a typedef of "BOOL" in objective-c. +/// Returns true if \param T is a typedef of "BOOL" in objective-c. bool NSAPI::isObjCBOOLType(QualType T) const { return isObjCTypedef(T, "BOOL", BOOLId); } -/// \brief Returns true if \param T is a typedef of "NSInteger" in objective-c. +/// Returns true if \param T is a typedef of "NSInteger" in objective-c. bool NSAPI::isObjCNSIntegerType(QualType T) const { return isObjCTypedef(T, "NSInteger", NSIntegerId); } -/// \brief Returns true if \param T is a typedef of "NSUInteger" in objective-c. +/// Returns true if \param T is a typedef of "NSUInteger" in objective-c. bool NSAPI::isObjCNSUIntegerType(QualType T) const { return isObjCTypedef(T, "NSUInteger", NSUIntegerId); } diff --git a/lib/AST/NestedNameSpecifier.cpp b/lib/AST/NestedNameSpecifier.cpp index f46552e337..503d0eb65e 100644 --- a/lib/AST/NestedNameSpecifier.cpp +++ b/lib/AST/NestedNameSpecifier.cpp @@ -164,7 +164,7 @@ NestedNameSpecifier::SpecifierKind NestedNameSpecifier::getKind() const { llvm_unreachable("Invalid NNS Kind!"); } -/// \brief Retrieve the namespace stored in this nested name specifier. +/// Retrieve the namespace stored in this nested name specifier. NamespaceDecl *NestedNameSpecifier::getAsNamespace() const { if (Prefix.getInt() == StoredDecl) return dyn_cast<NamespaceDecl>(static_cast<NamedDecl *>(Specifier)); @@ -172,7 +172,7 @@ NamespaceDecl *NestedNameSpecifier::getAsNamespace() const { return nullptr; } -/// \brief Retrieve the namespace alias stored in this nested name specifier. +/// Retrieve the namespace alias stored in this nested name specifier. NamespaceAliasDecl *NestedNameSpecifier::getAsNamespaceAlias() const { if (Prefix.getInt() == StoredDecl) return dyn_cast<NamespaceAliasDecl>(static_cast<NamedDecl *>(Specifier)); @@ -180,7 +180,7 @@ NamespaceAliasDecl *NestedNameSpecifier::getAsNamespaceAlias() const { return nullptr; } -/// \brief Retrieve the record declaration stored in this nested name specifier. +/// Retrieve the record declaration stored in this nested name specifier. CXXRecordDecl *NestedNameSpecifier::getAsRecordDecl() const { switch (Prefix.getInt()) { case StoredIdentifier: @@ -197,7 +197,7 @@ CXXRecordDecl *NestedNameSpecifier::getAsRecordDecl() const { llvm_unreachable("Invalid NNS Kind!"); } -/// \brief Whether this nested name specifier refers to a dependent +/// Whether this nested name specifier refers to a dependent /// type or not. bool NestedNameSpecifier::isDependent() const { switch (getKind()) { @@ -227,7 +227,7 @@ bool NestedNameSpecifier::isDependent() const { llvm_unreachable("Invalid NNS Kind!"); } -/// \brief Whether this nested name specifier refers to a dependent +/// Whether this nested name specifier refers to a dependent /// type or not. bool NestedNameSpecifier::isInstantiationDependent() const { switch (getKind()) { @@ -268,7 +268,7 @@ bool NestedNameSpecifier::containsUnexpandedParameterPack() const { llvm_unreachable("Invalid NNS Kind!"); } -/// \brief Print this nested name specifier to the given output +/// Print this nested name specifier to the given output /// stream. void NestedNameSpecifier::print(raw_ostream &OS, @@ -387,7 +387,7 @@ NestedNameSpecifierLoc::getDataLength(NestedNameSpecifier *Qualifier) { return Length; } -/// \brief Load a (possibly unaligned) source location from a given address +/// Load a (possibly unaligned) source location from a given address /// and offset. static SourceLocation LoadSourceLocation(void *Data, unsigned Offset) { unsigned Raw; @@ -395,7 +395,7 @@ static SourceLocation LoadSourceLocation(void *Data, unsigned Offset) { return SourceLocation::getFromRawEncoding(Raw); } -/// \brief Load a (possibly unaligned) pointer from a given address and +/// Load a (possibly unaligned) pointer from a given address and /// offset. static void *LoadPointer(void *Data, unsigned Offset) { void *Result; @@ -479,7 +479,7 @@ static void Append(char *Start, char *End, char *&Buffer, unsigned &BufferSize, BufferSize += End-Start; } -/// \brief Save a source location to the given buffer. +/// Save a source location to the given buffer. static void SaveSourceLocation(SourceLocation Loc, char *&Buffer, unsigned &BufferSize, unsigned &BufferCapacity) { unsigned Raw = Loc.getRawEncoding(); @@ -488,7 +488,7 @@ static void SaveSourceLocation(SourceLocation Loc, char *&Buffer, Buffer, BufferSize, BufferCapacity); } -/// \brief Save a pointer to the given buffer. +/// Save a pointer to the given buffer. static void SavePointer(void *Ptr, char *&Buffer, unsigned &BufferSize, unsigned &BufferCapacity) { Append(reinterpret_cast<char *>(&Ptr), diff --git a/lib/AST/QualTypeNames.cpp b/lib/AST/QualTypeNames.cpp index 5caeff04e4..8b605ef295 100644 --- a/lib/AST/QualTypeNames.cpp +++ b/lib/AST/QualTypeNames.cpp @@ -22,7 +22,7 @@ namespace clang { namespace TypeName { -/// \brief Create a NestedNameSpecifier for Namesp and its enclosing +/// Create a NestedNameSpecifier for Namesp and its enclosing /// scopes. /// /// \param[in] Ctx - the AST Context to be used. @@ -35,7 +35,7 @@ static NestedNameSpecifier *createNestedNameSpecifier( const NamespaceDecl *Namesp, bool WithGlobalNsPrefix); -/// \brief Create a NestedNameSpecifier for TagDecl and its enclosing +/// Create a NestedNameSpecifier for TagDecl and its enclosing /// scopes. /// /// \param[in] Ctx - the AST Context to be used. @@ -210,7 +210,7 @@ static NestedNameSpecifier *createOuterNNS(const ASTContext &Ctx, const Decl *D, return nullptr; // no starting '::' if |WithGlobalNsPrefix| is false } -/// \brief Return a fully qualified version of this name specifier. +/// Return a fully qualified version of this name specifier. static NestedNameSpecifier *getFullyQualifiedNestedNameSpecifier( const ASTContext &Ctx, NestedNameSpecifier *Scope, bool WithGlobalNsPrefix) { @@ -262,7 +262,7 @@ static NestedNameSpecifier *getFullyQualifiedNestedNameSpecifier( llvm_unreachable("bad NNS kind"); } -/// \brief Create a nested name specifier for the declaring context of +/// Create a nested name specifier for the declaring context of /// the type. static NestedNameSpecifier *createNestedNameSpecifierForScopeOf( const ASTContext &Ctx, const Decl *Decl, @@ -314,7 +314,7 @@ static NestedNameSpecifier *createNestedNameSpecifierForScopeOf( return nullptr; } -/// \brief Create a nested name specifier for the declaring context of +/// Create a nested name specifier for the declaring context of /// the type. static NestedNameSpecifier *createNestedNameSpecifierForScopeOf( const ASTContext &Ctx, const Type *TypePtr, @@ -366,7 +366,7 @@ NestedNameSpecifier *createNestedNameSpecifier(const ASTContext &Ctx, TD->getTypeForDecl()); } -/// \brief Return the fully qualified type, including fully-qualified +/// Return the fully qualified type, including fully-qualified /// versions of any template parameters. QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx, bool WithGlobalNsPrefix) { diff --git a/lib/AST/RawCommentList.cpp b/lib/AST/RawCommentList.cpp index 73a4d9def5..d6a640b7dc 100644 --- a/lib/AST/RawCommentList.cpp +++ b/lib/AST/RawCommentList.cpp @@ -80,7 +80,7 @@ bool commentsStartOnSameColumn(const SourceManager &SM, const RawComment &R1, } } // unnamed namespace -/// \brief Determines whether there is only whitespace in `Buffer` between `P` +/// Determines whether there is only whitespace in `Buffer` between `P` /// and the previous line. /// \param Buffer The buffer to search in. /// \param P The offset from the beginning of `Buffer` to start from. diff --git a/lib/AST/RecordLayoutBuilder.cpp b/lib/AST/RecordLayoutBuilder.cpp index 33c7fcdb16..64c1a02cef 100644 --- a/lib/AST/RecordLayoutBuilder.cpp +++ b/lib/AST/RecordLayoutBuilder.cpp @@ -54,25 +54,25 @@ struct BaseSubobjectInfo { const BaseSubobjectInfo *Derived; }; -/// \brief Externally provided layout. Typically used when the AST source, such +/// Externally provided layout. Typically used when the AST source, such /// as DWARF, lacks all the information that was available at compile time, such /// as alignment attributes on fields and pragmas in effect. struct ExternalLayout { ExternalLayout() : Size(0), Align(0) {} - /// \brief Overall record size in bits. + /// Overall record size in bits. uint64_t Size; - /// \brief Overall record alignment in bits. + /// Overall record alignment in bits. uint64_t Align; - /// \brief Record field offsets in bits. + /// Record field offsets in bits. llvm::DenseMap<const FieldDecl *, uint64_t> FieldOffsets; - /// \brief Direct, non-virtual base offsets. + /// Direct, non-virtual base offsets. llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsets; - /// \brief Virtual base offsets. + /// Virtual base offsets. llvm::DenseMap<const CXXRecordDecl *, CharUnits> VirtualBaseOffsets; /// Get the offset of the given field. The external source must provide @@ -579,16 +579,16 @@ protected: /// Alignment - The current alignment of the record layout. CharUnits Alignment; - /// \brief The alignment if attribute packed is not used. + /// The alignment if attribute packed is not used. CharUnits UnpackedAlignment; SmallVector<uint64_t, 16> FieldOffsets; - /// \brief Whether the external AST source has provided a layout for this + /// Whether the external AST source has provided a layout for this /// record. unsigned UseExternalLayout : 1; - /// \brief Whether we need to infer alignment, even when we have an + /// Whether we need to infer alignment, even when we have an /// externally-provided layout. unsigned InferAlignment : 1; @@ -632,7 +632,7 @@ protected: /// pointer, as opposed to inheriting one from a primary base class. bool HasOwnVFPtr; - /// \brief the flag of field offset changing due to packed attribute. + /// the flag of field offset changing due to packed attribute. bool HasPackedField; typedef llvm::DenseMap<const CXXRecordDecl *, CharUnits> BaseOffsetsMapTy; @@ -749,7 +749,7 @@ protected: UpdateAlignment(NewAlignment, NewAlignment); } - /// \brief Retrieve the externally-supplied field offset for the given + /// Retrieve the externally-supplied field offset for the given /// field. /// /// \param Field The field whose offset is being queried. @@ -1962,7 +1962,7 @@ ItaniumRecordLayoutBuilder::updateExternalFieldOffset(const FieldDecl *Field, return ExternalFieldOffset; } -/// \brief Get diagnostic %select index for tag kind for +/// Get diagnostic %select index for tag kind for /// field padding diagnostic message. /// WARNING: Indexes apply to particular diagnostics only! /// @@ -2253,9 +2253,9 @@ private: public: void layout(const RecordDecl *RD); void cxxLayout(const CXXRecordDecl *RD); - /// \brief Initializes size and alignment and honors some flags. + /// Initializes size and alignment and honors some flags. void initializeLayout(const RecordDecl *RD); - /// \brief Initialized C++ layout, compute alignment and virtual alignment and + /// Initialized C++ layout, compute alignment and virtual alignment and /// existence of vfptrs and vbptrs. Alignment is needed before the vfptr is /// laid out. void initializeCXXLayout(const CXXRecordDecl *RD); @@ -2266,93 +2266,93 @@ public: const ASTRecordLayout *&PreviousBaseLayout); void injectVFPtr(const CXXRecordDecl *RD); void injectVBPtr(const CXXRecordDecl *RD); - /// \brief Lays out the fields of the record. Also rounds size up to + /// Lays out the fields of the record. Also rounds size up to /// alignment. void layoutFields(const RecordDecl *RD); void layoutField(const FieldDecl *FD); void layoutBitField(const FieldDecl *FD); - /// \brief Lays out a single zero-width bit-field in the record and handles + /// Lays out a single zero-width bit-field in the record and handles /// special cases associated with zero-width bit-fields. void layoutZeroWidthBitField(const FieldDecl *FD); void layoutVirtualBases(const CXXRecordDecl *RD); void finalizeLayout(const RecordDecl *RD); - /// \brief Gets the size and alignment of a base taking pragma pack and + /// Gets the size and alignment of a base taking pragma pack and /// __declspec(align) into account. ElementInfo getAdjustedElementInfo(const ASTRecordLayout &Layout); - /// \brief Gets the size and alignment of a field taking pragma pack and + /// Gets the size and alignment of a field taking pragma pack and /// __declspec(align) into account. It also updates RequiredAlignment as a /// side effect because it is most convenient to do so here. ElementInfo getAdjustedElementInfo(const FieldDecl *FD); - /// \brief Places a field at an offset in CharUnits. + /// Places a field at an offset in CharUnits. void placeFieldAtOffset(CharUnits FieldOffset) { FieldOffsets.push_back(Context.toBits(FieldOffset)); } - /// \brief Places a bitfield at a bit offset. + /// Places a bitfield at a bit offset. void placeFieldAtBitOffset(uint64_t FieldOffset) { FieldOffsets.push_back(FieldOffset); } - /// \brief Compute the set of virtual bases for which vtordisps are required. + /// Compute the set of virtual bases for which vtordisps are required. void computeVtorDispSet( llvm::SmallPtrSetImpl<const CXXRecordDecl *> &HasVtorDispSet, const CXXRecordDecl *RD) const; const ASTContext &Context; - /// \brief The size of the record being laid out. + /// The size of the record being laid out. CharUnits Size; - /// \brief The non-virtual size of the record layout. + /// The non-virtual size of the record layout. CharUnits NonVirtualSize; - /// \brief The data size of the record layout. + /// The data size of the record layout. CharUnits DataSize; - /// \brief The current alignment of the record layout. + /// The current alignment of the record layout. CharUnits Alignment; - /// \brief The maximum allowed field alignment. This is set by #pragma pack. + /// The maximum allowed field alignment. This is set by #pragma pack. CharUnits MaxFieldAlignment; - /// \brief The alignment that this record must obey. This is imposed by + /// The alignment that this record must obey. This is imposed by /// __declspec(align()) on the record itself or one of its fields or bases. CharUnits RequiredAlignment; - /// \brief The size of the allocation of the currently active bitfield. + /// The size of the allocation of the currently active bitfield. /// This value isn't meaningful unless LastFieldIsNonZeroWidthBitfield /// is true. CharUnits CurrentBitfieldSize; - /// \brief Offset to the virtual base table pointer (if one exists). + /// Offset to the virtual base table pointer (if one exists). CharUnits VBPtrOffset; - /// \brief Minimum record size possible. + /// Minimum record size possible. CharUnits MinEmptyStructSize; - /// \brief The size and alignment info of a pointer. + /// The size and alignment info of a pointer. ElementInfo PointerInfo; - /// \brief The primary base class (if one exists). + /// The primary base class (if one exists). const CXXRecordDecl *PrimaryBase; - /// \brief The class we share our vb-pointer with. + /// The class we share our vb-pointer with. const CXXRecordDecl *SharedVBPtrBase; - /// \brief The collection of field offsets. + /// The collection of field offsets. SmallVector<uint64_t, 16> FieldOffsets; - /// \brief Base classes and their offsets in the record. + /// Base classes and their offsets in the record. BaseOffsetsMapTy Bases; - /// \brief virtual base classes and their offsets in the record. + /// virtual base classes and their offsets in the record. ASTRecordLayout::VBaseOffsetsMapTy VBases; - /// \brief The number of remaining bits in our last bitfield allocation. + /// The number of remaining bits in our last bitfield allocation. /// This value isn't meaningful unless LastFieldIsNonZeroWidthBitfield is /// true. unsigned RemainingBitsInField; bool IsUnion : 1; - /// \brief True if the last field laid out was a bitfield and was not 0 + /// True if the last field laid out was a bitfield and was not 0 /// width. bool LastFieldIsNonZeroWidthBitfield : 1; - /// \brief True if the class has its own vftable pointer. + /// True if the class has its own vftable pointer. bool HasOwnVFPtr : 1; - /// \brief True if the class has a vbtable pointer. + /// True if the class has a vbtable pointer. bool HasVBPtr : 1; - /// \brief True if the last sub-object within the type is zero sized or the + /// True if the last sub-object within the type is zero sized or the /// object itself is zero sized. This *does not* count members that are not /// records. Only used for MS-ABI. bool EndsWithZeroSizedObject : 1; - /// \brief True if this class is zero sized or first base is zero sized or + /// True if this class is zero sized or first base is zero sized or /// has this property. Only used for MS-ABI. bool LeadsWithZeroSizedBase : 1; - /// \brief True if the external AST source provided a layout for this record. + /// True if the external AST source provided a layout for this record. bool UseExternalLayout : 1; - /// \brief The layout provided by the external AST source. Only active if + /// The layout provided by the external AST source. Only active if /// UseExternalLayout is true. ExternalLayout External; }; diff --git a/lib/AST/Stmt.cpp b/lib/AST/Stmt.cpp index 736bbcf32f..a041006c90 100644 --- a/lib/AST/Stmt.cpp +++ b/lib/AST/Stmt.cpp @@ -128,7 +128,7 @@ Stmt *Stmt::IgnoreImplicit() { return s; } -/// \brief Skip no-op (attributed, compound) container stmts and skip captured +/// Skip no-op (attributed, compound) container stmts and skip captured /// stmt at the top, if \a IgnoreCaptured is true. Stmt *Stmt::IgnoreContainers(bool IgnoreCaptured) { Stmt *S = this; @@ -148,7 +148,7 @@ Stmt *Stmt::IgnoreContainers(bool IgnoreCaptured) { return S; } -/// \brief Strip off all label-like statements. +/// Strip off all label-like statements. /// /// This will strip off label statements, case statements, attributed /// statements and default statements recursively. @@ -1105,18 +1105,18 @@ const CapturedDecl *CapturedStmt::getCapturedDecl() const { return CapDeclAndKind.getPointer(); } -/// \brief Set the outlined function declaration. +/// Set the outlined function declaration. void CapturedStmt::setCapturedDecl(CapturedDecl *D) { assert(D && "null CapturedDecl"); CapDeclAndKind.setPointer(D); } -/// \brief Retrieve the captured region kind. +/// Retrieve the captured region kind. CapturedRegionKind CapturedStmt::getCapturedRegionKind() const { return CapDeclAndKind.getInt(); } -/// \brief Set the captured region kind. +/// Set the captured region kind. void CapturedStmt::setCapturedRegionKind(CapturedRegionKind Kind) { CapDeclAndKind.setInt(Kind); } diff --git a/lib/AST/StmtPrinter.cpp b/lib/AST/StmtPrinter.cpp index e782d3d144..dc6cc16071 100644 --- a/lib/AST/StmtPrinter.cpp +++ b/lib/AST/StmtPrinter.cpp @@ -631,7 +631,7 @@ class OMPClausePrinter : public OMPClauseVisitor<OMPClausePrinter> { raw_ostream &OS; const PrintingPolicy &Policy; - /// \brief Process clauses with list of variables. + /// Process clauses with list of variables. template <typename T> void VisitOMPClauseList(T *Node, char StartSym); diff --git a/lib/AST/StmtProfile.cpp b/lib/AST/StmtProfile.cpp index a12f4bc612..91c7aa9f2f 100644 --- a/lib/AST/StmtProfile.cpp +++ b/lib/AST/StmtProfile.cpp @@ -43,34 +43,34 @@ namespace { #define STMT(Node, Base) void Visit##Node(const Node *S); #include "clang/AST/StmtNodes.inc" - /// \brief Visit a declaration that is referenced within an expression + /// Visit a declaration that is referenced within an expression /// or statement. virtual void VisitDecl(const Decl *D) = 0; - /// \brief Visit a type that is referenced within an expression or + /// Visit a type that is referenced within an expression or /// statement. virtual void VisitType(QualType T) = 0; - /// \brief Visit a name that occurs within an expression or statement. + /// Visit a name that occurs within an expression or statement. virtual void VisitName(DeclarationName Name, bool TreatAsDecl = false) = 0; - /// \brief Visit identifiers that are not in Decl's or Type's. + /// Visit identifiers that are not in Decl's or Type's. virtual void VisitIdentifierInfo(IdentifierInfo *II) = 0; - /// \brief Visit a nested-name-specifier that occurs within an expression + /// Visit a nested-name-specifier that occurs within an expression /// or statement. virtual void VisitNestedNameSpecifier(NestedNameSpecifier *NNS) = 0; - /// \brief Visit a template name that occurs within an expression or + /// Visit a template name that occurs within an expression or /// statement. virtual void VisitTemplateName(TemplateName Name) = 0; - /// \brief Visit template arguments that occur within an expression or + /// Visit template arguments that occur within an expression or /// statement. void VisitTemplateArguments(const TemplateArgumentLoc *Args, unsigned NumArgs); - /// \brief Visit a single template argument. + /// Visit a single template argument. void VisitTemplateArgument(const TemplateArgument &Arg); }; @@ -405,7 +405,7 @@ StmtProfiler::VisitObjCAutoreleasePoolStmt(const ObjCAutoreleasePoolStmt *S) { namespace { class OMPClauseProfiler : public ConstOMPClauseVisitor<OMPClauseProfiler> { StmtProfiler *Profiler; - /// \brief Process clauses with list of variables. + /// Process clauses with list of variables. template <typename T> void VisitOMPClauseList(T *Node); diff --git a/lib/AST/TemplateBase.cpp b/lib/AST/TemplateBase.cpp index 7ed6bf1c7b..394e9f38bc 100644 --- a/lib/AST/TemplateBase.cpp +++ b/lib/AST/TemplateBase.cpp @@ -43,7 +43,7 @@ using namespace clang; -/// \brief Print a template integral argument value. +/// Print a template integral argument value. /// /// \param TemplArg the TemplateArgument instance to print. /// diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp index 93c3f63db7..e94ae9329f 100644 --- a/lib/AST/Type.cpp +++ b/lib/AST/Type.cpp @@ -341,7 +341,7 @@ QualType QualType::IgnoreParens(QualType T) { return T; } -/// \brief This will check for a T (which should be a Type which can act as +/// This will check for a T (which should be a Type which can act as /// sugar, such as a TypedefType) by removing any existing sugar until it /// reaches a T or a non-sugared type. template<typename T> static const T *getAsSugar(const Type *Cur) { @@ -1700,7 +1700,7 @@ bool Type::hasIntegerRepresentation() const { return isIntegerType(); } -/// \brief Determine whether this type is an integral type. +/// Determine whether this type is an integral type. /// /// This routine determines whether the given type is an integral type per /// C++ [basic.fundamental]p7. Although the C standard does not define the @@ -1781,7 +1781,7 @@ bool Type::isChar32Type() const { return false; } -/// \brief Determine whether this type is any of the built-in character +/// Determine whether this type is any of the built-in character /// types. bool Type::isAnyCharacterType() const { const auto *BT = dyn_cast<BuiltinType>(CanonicalType); @@ -1957,7 +1957,7 @@ Type::ScalarTypeKind Type::getScalarTypeKind() const { llvm_unreachable("unknown scalar type"); } -/// \brief Determines whether the type is a C++ aggregate type or C +/// Determines whether the type is a C++ aggregate type or C /// aggregate or union type. /// /// An aggregate type is an array or a class type (struct, union, or @@ -3343,7 +3343,7 @@ void ObjCTypeParamType::Profile(llvm::FoldingSetNodeID &ID) { namespace { -/// \brief The cached properties of a type. +/// The cached properties of a type. class CachedProperties { Linkage L; bool local; @@ -3510,7 +3510,7 @@ static CachedProperties computeCachedProperties(const Type *T) { llvm_unreachable("unhandled type class"); } -/// \brief Determine the linkage of this type. +/// Determine the linkage of this type. Linkage Type::getLinkage() const { Cache::ensure(this); return TypeBits.getLinkage(); @@ -3870,13 +3870,13 @@ bool Type::isObjCLifetimeType() const { return type->isObjCRetainableType(); } -/// \brief Determine whether the given type T is a "bridgable" Objective-C type, +/// Determine whether the given type T is a "bridgable" Objective-C type, /// which is either an Objective-C object pointer type or an bool Type::isObjCARCBridgableType() const { return isObjCObjectPointerType() || isBlockPointerType(); } -/// \brief Determine whether the given type T is a "bridgeable" C type. +/// Determine whether the given type T is a "bridgeable" C type. bool Type::isCARCBridgableType() const { const auto *Pointer = getAs<PointerType>(); if (!Pointer) diff --git a/lib/AST/TypeLoc.cpp b/lib/AST/TypeLoc.cpp index 57349b46f5..dc325427b9 100644 --- a/lib/AST/TypeLoc.cpp +++ b/lib/AST/TypeLoc.cpp @@ -68,7 +68,7 @@ public: } // namespace -/// \brief Returns the alignment of the type source info data block. +/// Returns the alignment of the type source info data block. unsigned TypeLoc::getLocalAlignmentForType(QualType Ty) { if (Ty.isNull()) return 1; return TypeAligner().Visit(TypeLoc(Ty, nullptr)); @@ -88,7 +88,7 @@ public: } // namespace -/// \brief Returns the size of the type source info data block. +/// Returns the size of the type source info data block. unsigned TypeLoc::getFullDataSizeForType(QualType Ty) { unsigned Total = 0; TypeLoc TyLoc(Ty, nullptr); @@ -118,13 +118,13 @@ public: } // namespace -/// \brief Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the +/// Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the /// TypeLoc is a PointerLoc and next TypeLoc is for "int". TypeLoc TypeLoc::getNextTypeLocImpl(TypeLoc TL) { return NextLoc().Visit(TL); } -/// \brief Initializes a type location, and all of its children +/// Initializes a type location, and all of its children /// recursively, as if the entire tree had been written in the /// given location. void TypeLoc::initializeImpl(ASTContext &Context, TypeLoc TL, @@ -281,7 +281,7 @@ struct TSTChecker : public TypeLocVisitor<TSTChecker, bool> { } // namespace -/// \brief Determines if the given type loc corresponds to a +/// Determines if the given type loc corresponds to a /// TypeSpecTypeLoc. Since there is not actually a TypeSpecType in /// the type hierarchy, this is made somewhat complicated. /// diff --git a/lib/AST/TypePrinter.cpp b/lib/AST/TypePrinter.cpp index c278dc932a..016e70d472 100644 --- a/lib/AST/TypePrinter.cpp +++ b/lib/AST/TypePrinter.cpp @@ -47,7 +47,7 @@ using namespace clang; namespace { - /// \brief RAII object that enables printing of the ARC __strong lifetime + /// RAII object that enables printing of the ARC __strong lifetime /// qualifier. class IncludeStrongLifetimeRAII { PrintingPolicy &Policy; @@ -270,7 +270,7 @@ void TypePrinter::printBefore(QualType T, raw_ostream &OS) { printBefore(Split.Ty, Quals, OS); } -/// \brief Prints the part of the type string before an identifier, e.g. for +/// Prints the part of the type string before an identifier, e.g. for /// "int foo[10]" it prints "int ". void TypePrinter::printBefore(const Type *T,Qualifiers Quals, raw_ostream &OS) { if (Policy.SuppressSpecifiers && T->isSpecifierType()) @@ -323,7 +323,7 @@ void TypePrinter::printAfter(QualType t, raw_ostream &OS) { printAfter(split.Ty, split.Quals, OS); } -/// \brief Prints the part of the type string after an identifier, e.g. for +/// Prints the part of the type string after an identifier, e.g. for /// "int foo[10]" it prints "[10]". void TypePrinter::printAfter(const Type *T, Qualifiers Quals, raw_ostream &OS) { switch (T->getTypeClass()) { diff --git a/lib/AST/VTableBuilder.cpp b/lib/AST/VTableBuilder.cpp index 036d86e727..9d7c944108 100644 --- a/lib/AST/VTableBuilder.cpp +++ b/lib/AST/VTableBuilder.cpp @@ -2396,7 +2396,7 @@ private: MethodVFTableLocationsTy MethodVFTableLocations; - /// \brief Does this class have an RTTI component? + /// Does this class have an RTTI component? bool HasRTTIComponent = false; /// MethodInfo - Contains information about a method in a vtable. diff --git a/lib/ASTMatchers/ASTMatchFinder.cpp b/lib/ASTMatchers/ASTMatchFinder.cpp index c06508a373..63f8395b82 100644 --- a/lib/ASTMatchers/ASTMatchFinder.cpp +++ b/lib/ASTMatchers/ASTMatchFinder.cpp @@ -511,7 +511,7 @@ private: TimeBucketRegion() : Bucket(nullptr) {} ~TimeBucketRegion() { setBucket(nullptr); } - /// \brief Start timing for \p NewBucket. + /// Start timing for \p NewBucket. /// /// If there was a bucket already set, it will finish the timing for that /// other bucket. @@ -534,7 +534,7 @@ private: llvm::TimeRecord *Bucket; }; - /// \brief Runs all the \p Matchers on \p Node. + /// Runs all the \p Matchers on \p Node. /// /// Used by \c matchDispatch() below. template <typename T, typename MC> @@ -590,7 +590,7 @@ private: } /// @{ - /// \brief Overloads to pair the different node types to their matchers. + /// Overloads to pair the different node types to their matchers. void matchDispatch(const Decl *Node) { return matchWithFilter(ast_type_traits::DynTypedNode::create(*Node)); } @@ -752,14 +752,14 @@ private: return false; } - /// \brief Bucket to record map. + /// Bucket to record map. /// /// Used to get the appropriate bucket for each matcher. llvm::StringMap<llvm::TimeRecord> TimeByBucket; const MatchFinder::MatchersByType *Matchers; - /// \brief Filtered list of matcher indices for each matcher kind. + /// Filtered list of matcher indices for each matcher kind. /// /// \c Decl and \c Stmt toplevel matchers usually apply to a specific node /// kind (and derived kinds) so it is a waste to try every matcher on every diff --git a/lib/ASTMatchers/ASTMatchersInternal.cpp b/lib/ASTMatchers/ASTMatchersInternal.cpp index 06d032ea26..e9ff825d90 100644 --- a/lib/ASTMatchers/ASTMatchersInternal.cpp +++ b/lib/ASTMatchers/ASTMatchersInternal.cpp @@ -118,7 +118,7 @@ private: const IntrusiveRefCntPtr<DynMatcherInterface> InnerMatcher; }; -/// \brief A matcher that always returns true. +/// A matcher that always returns true. /// /// We only ever need one instance of this matcher, so we create a global one /// and reuse it to reduce the overhead of the matcher and increase the chance diff --git a/lib/ASTMatchers/Dynamic/Marshallers.h b/lib/ASTMatchers/Dynamic/Marshallers.h index af90e2c7ec..c6c89351af 100644 --- a/lib/ASTMatchers/Dynamic/Marshallers.h +++ b/lib/ASTMatchers/Dynamic/Marshallers.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Functions templates and classes to wrap matcher construct functions. +/// Functions templates and classes to wrap matcher construct functions. /// /// A collection of template function and classes that provide a generic /// marshalling layer on top of matcher construct functions. @@ -47,7 +47,7 @@ namespace ast_matchers { namespace dynamic { namespace internal { -/// \brief Helper template class to just from argument type to the right is/get +/// Helper template class to just from argument type to the right is/get /// functions in VariantValue. /// Used to verify and extract the matcher arguments below. template <class T> struct ArgTypeTraits; @@ -166,7 +166,7 @@ public: } }; -/// \brief Matcher descriptor interface. +/// Matcher descriptor interface. /// /// Provides a \c create() method that constructs the matcher from the provided /// arguments, and various other methods for type introspection. @@ -222,7 +222,7 @@ inline bool isRetKindConvertibleTo( return false; } -/// \brief Simple callback implementation. Marshaller and function are provided. +/// Simple callback implementation. Marshaller and function are provided. /// /// This class wraps a function of arbitrary signature and a marshaller /// function into a MatcherDescriptor. @@ -279,7 +279,7 @@ private: const std::vector<ArgKind> ArgKinds; }; -/// \brief Helper methods to extract and merge all possible typed matchers +/// Helper methods to extract and merge all possible typed matchers /// out of the polymorphic object. template <class PolyMatcher> static void mergePolyMatchers(const PolyMatcher &Poly, @@ -293,7 +293,7 @@ static void mergePolyMatchers(const PolyMatcher &Poly, mergePolyMatchers(Poly, Out, typename TypeList::tail()); } -/// \brief Convert the return values of the functions into a VariantMatcher. +/// Convert the return values of the functions into a VariantMatcher. /// /// There are 2 cases right now: The return value is a Matcher<T> or is a /// polymorphic matcher. For the former, we just construct the VariantMatcher. @@ -347,7 +347,7 @@ struct BuildReturnTypeVector<ast_matchers::internal::BindableMatcher<T>> { } }; -/// \brief Variadic marshaller function. +/// Variadic marshaller function. template <typename ResultT, typename ArgT, ResultT (*Func)(ArrayRef<const ArgT *>)> VariantMatcher @@ -383,7 +383,7 @@ variadicMatcherDescriptor(StringRef MatcherName, SourceRange NameRange, return Out; } -/// \brief Matcher descriptor for variadic functions. +/// Matcher descriptor for variadic functions. /// /// This class simply wraps a VariadicFunction with the right signature to export /// it as a MatcherDescriptor. @@ -436,7 +436,7 @@ private: const ArgKind ArgsKind; }; -/// \brief Return CK_Trivial when appropriate for VariadicDynCastAllOfMatchers. +/// Return CK_Trivial when appropriate for VariadicDynCastAllOfMatchers. class DynCastAllOfMatcherDescriptor : public VariadicFuncMatcherDescriptor { public: template <typename BaseT, typename DerivedT> @@ -470,7 +470,7 @@ private: const ast_type_traits::ASTNodeKind DerivedKind; }; -/// \brief Helper macros to check the arguments on all marshaller functions. +/// Helper macros to check the arguments on all marshaller functions. #define CHECK_ARG_COUNT(count) \ if (Args.size() != count) { \ Error->addError(NameRange, Error->ET_RegistryWrongArgCount) \ @@ -486,7 +486,7 @@ private: return VariantMatcher(); \ } -/// \brief 0-arg marshaller function. +/// 0-arg marshaller function. template <typename ReturnType> static VariantMatcher matcherMarshall0(void (*Func)(), StringRef MatcherName, SourceRange NameRange, @@ -497,7 +497,7 @@ static VariantMatcher matcherMarshall0(void (*Func)(), StringRef MatcherName, return outvalueToVariantMatcher(reinterpret_cast<FuncType>(Func)()); } -/// \brief 1-arg marshaller function. +/// 1-arg marshaller function. template <typename ReturnType, typename ArgType1> static VariantMatcher matcherMarshall1(void (*Func)(), StringRef MatcherName, SourceRange NameRange, @@ -510,7 +510,7 @@ static VariantMatcher matcherMarshall1(void (*Func)(), StringRef MatcherName, ArgTypeTraits<ArgType1>::get(Args[0].Value))); } -/// \brief 2-arg marshaller function. +/// 2-arg marshaller function. template <typename ReturnType, typename ArgType1, typename ArgType2> static VariantMatcher matcherMarshall2(void (*Func)(), StringRef MatcherName, SourceRange NameRange, @@ -528,7 +528,7 @@ static VariantMatcher matcherMarshall2(void (*Func)(), StringRef MatcherName, #undef CHECK_ARG_COUNT #undef CHECK_ARG_TYPE -/// \brief Helper class used to collect all the possible overloads of an +/// Helper class used to collect all the possible overloads of an /// argument adaptative matcher function. template <template <typename ToArg, typename FromArg> class ArgumentAdapterT, typename FromTypes, typename ToTypes> @@ -544,10 +544,10 @@ private: using AdaptativeFunc = ast_matchers::internal::ArgumentAdaptingMatcherFunc< ArgumentAdapterT, FromTypes, ToTypes>; - /// \brief End case for the recursion + /// End case for the recursion static void collect(ast_matchers::internal::EmptyTypeList) {} - /// \brief Recursive case. Get the overload for the head of the list, and + /// Recursive case. Get the overload for the head of the list, and /// recurse to the tail. template <typename FromTypeList> inline void collect(FromTypeList); @@ -556,7 +556,7 @@ private: std::vector<std::unique_ptr<MatcherDescriptor>> &Out; }; -/// \brief MatcherDescriptor that wraps multiple "overloads" of the same +/// MatcherDescriptor that wraps multiple "overloads" of the same /// matcher. /// /// It will try every overload and generate appropriate errors for when none or @@ -635,7 +635,7 @@ private: std::vector<std::unique_ptr<MatcherDescriptor>> Overloads; }; -/// \brief Variadic operator marshaller function. +/// Variadic operator marshaller function. class VariadicOperatorMatcherDescriptor : public MatcherDescriptor { public: using VarOp = DynTypedMatcher::VariadicOperator; @@ -701,7 +701,7 @@ private: /// Helper functions to select the appropriate marshaller functions. /// They detect the number of arguments, arguments types and return type. -/// \brief 0-arg overload +/// 0-arg overload template <typename ReturnType> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall(ReturnType (*Func)(), StringRef MatcherName) { @@ -712,7 +712,7 @@ makeMatcherAutoMarshall(ReturnType (*Func)(), StringRef MatcherName) { MatcherName, RetTypes, None); } -/// \brief 1-arg overload +/// 1-arg overload template <typename ReturnType, typename ArgType1> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall(ReturnType (*Func)(ArgType1), StringRef MatcherName) { @@ -724,7 +724,7 @@ makeMatcherAutoMarshall(ReturnType (*Func)(ArgType1), StringRef MatcherName) { reinterpret_cast<void (*)()>(Func), MatcherName, RetTypes, AK); } -/// \brief 2-arg overload +/// 2-arg overload template <typename ReturnType, typename ArgType1, typename ArgType2> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall(ReturnType (*Func)(ArgType1, ArgType2), @@ -738,7 +738,7 @@ makeMatcherAutoMarshall(ReturnType (*Func)(ArgType1, ArgType2), reinterpret_cast<void (*)()>(Func), MatcherName, RetTypes, AKs); } -/// \brief Variadic overload. +/// Variadic overload. template <typename ResultT, typename ArgT, ResultT (*Func)(ArrayRef<const ArgT *>)> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall( @@ -747,7 +747,7 @@ std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall( return llvm::make_unique<VariadicFuncMatcherDescriptor>(VarFunc, MatcherName); } -/// \brief Overload for VariadicDynCastAllOfMatchers. +/// Overload for VariadicDynCastAllOfMatchers. /// /// Not strictly necessary, but DynCastAllOfMatcherDescriptor gives us better /// completion results for that type of matcher. @@ -759,7 +759,7 @@ std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall( return llvm::make_unique<DynCastAllOfMatcherDescriptor>(VarFunc, MatcherName); } -/// \brief Argument adaptative overload. +/// Argument adaptative overload. template <template <typename ToArg, typename FromArg> class ArgumentAdapterT, typename FromTypes, typename ToTypes> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall( @@ -782,7 +782,7 @@ inline void AdaptativeOverloadCollector<ArgumentAdapterT, FromTypes, collect(typename FromTypeList::tail()); } -/// \brief Variadic operator overload. +/// Variadic operator overload. template <unsigned MinCount, unsigned MaxCount> std::unique_ptr<MatcherDescriptor> makeMatcherAutoMarshall( ast_matchers::internal::VariadicOperatorMatcherFunc<MinCount, MaxCount> diff --git a/lib/ASTMatchers/Dynamic/Parser.cpp b/lib/ASTMatchers/Dynamic/Parser.cpp index d840e8a773..da8df907ba 100644 --- a/lib/ASTMatchers/Dynamic/Parser.cpp +++ b/lib/ASTMatchers/Dynamic/Parser.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Recursive parser implementation for the matcher expression grammar. +/// Recursive parser implementation for the matcher expression grammar. /// //===----------------------------------------------------------------------===// @@ -34,9 +34,9 @@ namespace clang { namespace ast_matchers { namespace dynamic { -/// \brief Simple structure to hold information for one token from the parser. +/// Simple structure to hold information for one token from the parser. struct Parser::TokenInfo { - /// \brief Different possible tokens. + /// Different possible tokens. enum TokenKind { TK_Eof, TK_OpenParen, @@ -50,7 +50,7 @@ struct Parser::TokenInfo { TK_CodeCompletion }; - /// \brief Some known identifiers. + /// Some known identifiers. static const char* const ID_Bind; TokenInfo() = default; @@ -63,7 +63,7 @@ struct Parser::TokenInfo { const char* const Parser::TokenInfo::ID_Bind = "bind"; -/// \brief Simple tokenizer for the parser. +/// Simple tokenizer for the parser. class Parser::CodeTokenizer { public: explicit CodeTokenizer(StringRef MatcherCode, Diagnostics *Error) @@ -78,10 +78,10 @@ public: NextToken = getNextToken(); } - /// \brief Returns but doesn't consume the next token. + /// Returns but doesn't consume the next token. const TokenInfo &peekNextToken() const { return NextToken; } - /// \brief Consumes and returns the next token. + /// Consumes and returns the next token. TokenInfo consumeNextToken() { TokenInfo ThisToken = NextToken; NextToken = getNextToken(); @@ -185,7 +185,7 @@ private: return Result; } - /// \brief Consume an unsigned and float literal. + /// Consume an unsigned and float literal. void consumeNumberLiteral(TokenInfo *Result) { bool isFloatingLiteral = false; unsigned Length = 1; @@ -238,7 +238,7 @@ private: Result->Kind = TokenInfo::TK_Error; } - /// \brief Consume a string literal. + /// Consume a string literal. /// /// \c Code must be positioned at the start of the literal (the opening /// quote). Consumed until it finds the same closing quote character. @@ -272,7 +272,7 @@ private: Result->Kind = TokenInfo::TK_Error; } - /// \brief Consume all leading whitespace from \c Code. + /// Consume all leading whitespace from \c Code. void consumeWhitespace() { while (!Code.empty() && isWhitespace(Code[0])) { if (Code[0] == '\n') { @@ -326,7 +326,7 @@ struct Parser::ScopedContextEntry { } }; -/// \brief Parse expressions that start with an identifier. +/// Parse expressions that start with an identifier. /// /// This function can parse named values and matchers. /// In case of failure it will try to determine the user's intent to give @@ -359,7 +359,7 @@ bool Parser::parseIdentifierPrefixImpl(VariantValue *Value) { return parseMatcherExpressionImpl(NameToken, Value); } -/// \brief Parse and validate a matcher expression. +/// Parse and validate a matcher expression. /// \return \c true on success, in which case \c Value has the matcher parsed. /// If the input is malformed, or some argument has an error, it /// returns \c false. @@ -524,7 +524,7 @@ void Parser::addExpressionCompletions() { } } -/// \brief Parse an <Expression> +/// Parse an <Expression> bool Parser::parseExpressionImpl(VariantValue *Value) { switch (Tokenizer->nextTokenKind()) { case TokenInfo::TK_Literal: diff --git a/lib/ASTMatchers/Dynamic/Registry.cpp b/lib/ASTMatchers/Dynamic/Registry.cpp index afc5f6a9b8..e6a6a20916 100644 --- a/lib/ASTMatchers/Dynamic/Registry.cpp +++ b/lib/ASTMatchers/Dynamic/Registry.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// // /// \file -/// \brief Registry map populated at static initialization time. +/// Registry map populated at static initialization time. // //===----------------------------------------------------------------------===// @@ -90,7 +90,7 @@ void RegistryMaps::registerMatcher( REGISTER_MATCHER_OVERLOAD(name); \ } while (false) -/// \brief Generate a registry map with all the known matchers. +/// Generate a registry map with all the known matchers. RegistryMaps::RegistryMaps() { // TODO: Here is the list of the missing matchers, grouped by reason. // diff --git a/lib/ASTMatchers/Dynamic/VariantValue.cpp b/lib/ASTMatchers/Dynamic/VariantValue.cpp index 57858d00ac..06d95eaa75 100644 --- a/lib/ASTMatchers/Dynamic/VariantValue.cpp +++ b/lib/ASTMatchers/Dynamic/VariantValue.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Polymorphic value type. +/// Polymorphic value type. /// //===----------------------------------------------------------------------===// diff --git a/lib/Analysis/CFG.cpp b/lib/Analysis/CFG.cpp index f53fc0f9bc..597bdd2b22 100644 --- a/lib/Analysis/CFG.cpp +++ b/lib/Analysis/CFG.cpp @@ -851,7 +851,7 @@ private: B->prependScopeEnd(VD, S, cfg->getBumpVectorContext()); } - /// \brief Find a relational comparison with an expression evaluating to a + /// Find a relational comparison with an expression evaluating to a /// boolean and a constant other than 0 and 1. /// e.g. if ((x < y) == 10) TryResult checkIncorrectRelationalOperator(const BinaryOperator *B) { @@ -964,7 +964,7 @@ private: } } - /// \brief Find a pair of comparison expressions with or without parentheses + /// Find a pair of comparison expressions with or without parentheses /// with a shared variable and constants and a logical operator between them /// that always evaluates to either true or false. /// e.g. if (x != 3 || x != 4) @@ -1120,7 +1120,7 @@ private: return evaluateAsBooleanConditionNoCache(S); } - /// \brief Evaluate as boolean \param E without using the cache. + /// Evaluate as boolean \param E without using the cache. TryResult evaluateAsBooleanConditionNoCache(Expr *E) { if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(E)) { if (Bop->isLogicalOp()) { @@ -1491,7 +1491,7 @@ CFGBlock *CFGBuilder::addInitializer(CXXCtorInitializer *I) { return Block; } -/// \brief Retrieve the type of the temporary object whose lifetime was +/// Retrieve the type of the temporary object whose lifetime was /// extended by a local reference with the given initializer. static QualType getReferenceInitTemporaryType(ASTContext &Context, const Expr *Init, diff --git a/lib/Analysis/ThreadSafety.cpp b/lib/Analysis/ThreadSafety.cpp index 0456df20ac..8895dec02b 100644 --- a/lib/Analysis/ThreadSafety.cpp +++ b/lib/Analysis/ThreadSafety.cpp @@ -86,11 +86,11 @@ static void warnInvalidLock(ThreadSafetyHandler &Handler, namespace { -/// \brief A set of CapabilityInfo objects, which are compiled from the +/// A set of CapabilityInfo objects, which are compiled from the /// requires attributes on a function. class CapExprSet : public SmallVector<CapabilityExpr, 4> { public: - /// \brief Push M onto list, but discard duplicates. + /// Push M onto list, but discard duplicates. void push_back_nodup(const CapabilityExpr &CapE) { iterator It = std::find_if(begin(), end(), [=](const CapabilityExpr &CapE2) { @@ -104,7 +104,7 @@ public: class FactManager; class FactSet; -/// \brief This is a helper class that stores a fact that is known at a +/// This is a helper class that stores a fact that is known at a /// particular point in program execution. Currently, a fact is a capability, /// along with additional information, such as where it was acquired, whether /// it is exclusive or shared, etc. @@ -157,7 +157,7 @@ public: using FactID = unsigned short; -/// \brief FactManager manages the memory for all facts that are created during +/// FactManager manages the memory for all facts that are created during /// the analysis of a single routine. class FactManager { private: @@ -173,7 +173,7 @@ public: FactEntry &operator[](FactID F) { return *Facts[F]; } }; -/// \brief A FactSet is the set of facts that are known to be true at a +/// A FactSet is the set of facts that are known to be true at a /// particular program point. FactSets must be small, because they are /// frequently copied, and are thus implemented as a set of indices into a /// table maintained by a FactManager. A typical FactSet only holds 1 or 2 @@ -948,7 +948,7 @@ public: } }; -/// \brief Class which implements the core thread safety analysis routines. +/// Class which implements the core thread safety analysis routines. class ThreadSafetyAnalyzer { friend class BuildLockset; friend class threadSafety::BeforeSet; @@ -1130,7 +1130,7 @@ void BeforeSet::checkBeforeAfter(const ValueDecl* StartVd, Info->Visited = 0; } -/// \brief Gets the value decl pointer from DeclRefExprs or MemberExprs. +/// Gets the value decl pointer from DeclRefExprs or MemberExprs. static const ValueDecl *getValueDecl(const Expr *Exp) { if (const auto *CE = dyn_cast<ImplicitCastExpr>(Exp)) return getValueDecl(CE->getSubExpr()); @@ -1223,7 +1223,7 @@ bool ThreadSafetyAnalyzer::inCurrentScope(const CapabilityExpr &CapE) { return false; } -/// \brief Add a new lock to the lockset, warning if the lock is already there. +/// Add a new lock to the lockset, warning if the lock is already there. /// \param ReqAttr -- true if this is part of an initial Requires attribute. void ThreadSafetyAnalyzer::addLock(FactSet &FSet, std::unique_ptr<FactEntry> Entry, @@ -1261,7 +1261,7 @@ void ThreadSafetyAnalyzer::addLock(FactSet &FSet, } } -/// \brief Remove a lock from the lockset, warning if the lock is not there. +/// Remove a lock from the lockset, warning if the lock is not there. /// \param UnlockLoc The source location of the unlock (only used in error msg) void ThreadSafetyAnalyzer::removeLock(FactSet &FSet, const CapabilityExpr &Cp, SourceLocation UnlockLoc, @@ -1287,7 +1287,7 @@ void ThreadSafetyAnalyzer::removeLock(FactSet &FSet, const CapabilityExpr &Cp, DiagKind); } -/// \brief Extract the list of mutexIDs from the attribute on an expression, +/// Extract the list of mutexIDs from the attribute on an expression, /// and push them onto Mtxs, discarding any duplicates. template <typename AttrType> void ThreadSafetyAnalyzer::getMutexIDs(CapExprSet &Mtxs, AttrType *Attr, @@ -1318,7 +1318,7 @@ void ThreadSafetyAnalyzer::getMutexIDs(CapExprSet &Mtxs, AttrType *Attr, } } -/// \brief Extract the list of mutexIDs from a trylock attribute. If the +/// Extract the list of mutexIDs from a trylock attribute. If the /// trylock applies to the given edge, then push them onto Mtxs, discarding /// any duplicates. template <class AttrType> @@ -1418,7 +1418,7 @@ const CallExpr* ThreadSafetyAnalyzer::getTrylockCallExpr(const Stmt *Cond, return nullptr; } -/// \brief Find the lockset that holds on the edge between PredBlock +/// Find the lockset that holds on the edge between PredBlock /// and CurrBlock. The edge set is the exit set of PredBlock (passed /// as the ExitSet parameter) plus any trylocks, which are conditionally held. void ThreadSafetyAnalyzer::getEdgeLockset(FactSet& Result, @@ -1491,7 +1491,7 @@ void ThreadSafetyAnalyzer::getEdgeLockset(FactSet& Result, namespace { -/// \brief We use this class to visit different types of expressions in +/// We use this class to visit different types of expressions in /// CFGBlocks, and build up the lockset. /// An expression may cause us to add or remove locks from the lockset, or else /// output error messages related to missing locks. @@ -1533,7 +1533,7 @@ public: } // namespace -/// \brief Warn if the LSet does not contain a lock sufficient to protect access +/// Warn if the LSet does not contain a lock sufficient to protect access /// of at least the passed in AccessKind. void BuildLockset::warnIfMutexNotHeld(const NamedDecl *D, const Expr *Exp, AccessKind AK, Expr *MutexExp, @@ -1597,7 +1597,7 @@ void BuildLockset::warnIfMutexNotHeld(const NamedDecl *D, const Expr *Exp, } } -/// \brief Warn if the LSet contains the given lock. +/// Warn if the LSet contains the given lock. void BuildLockset::warnIfMutexHeld(const NamedDecl *D, const Expr *Exp, Expr *MutexExp, StringRef DiagKind) { CapabilityExpr Cp = Analyzer->SxBuilder.translateAttrExpr(MutexExp, D, Exp); @@ -1615,7 +1615,7 @@ void BuildLockset::warnIfMutexHeld(const NamedDecl *D, const Expr *Exp, } } -/// \brief Checks guarded_by and pt_guarded_by attributes. +/// Checks guarded_by and pt_guarded_by attributes. /// Whenever we identify an access (read or write) to a DeclRefExpr that is /// marked with guarded_by, we must ensure the appropriate mutexes are held. /// Similarly, we check if the access is to an expression that dereferences @@ -1671,7 +1671,7 @@ void BuildLockset::checkAccess(const Expr *Exp, AccessKind AK, ClassifyDiagnostic(I), Loc); } -/// \brief Checks pt_guarded_by and pt_guarded_var attributes. +/// Checks pt_guarded_by and pt_guarded_var attributes. /// POK is the same operationKind that was passed to checkAccess. void BuildLockset::checkPtAccess(const Expr *Exp, AccessKind AK, ProtectedOperationKind POK) { @@ -1710,7 +1710,7 @@ void BuildLockset::checkPtAccess(const Expr *Exp, AccessKind AK, ClassifyDiagnostic(I), Exp->getExprLoc()); } -/// \brief Process a function call, method call, constructor call, +/// Process a function call, method call, constructor call, /// or destructor call. This involves looking at the attributes on the /// corresponding function/method/constructor/destructor, issuing warnings, /// and updating the locksets accordingly. @@ -1876,7 +1876,7 @@ void BuildLockset::handleCall(Expr *Exp, const NamedDecl *D, VarDecl *VD) { Analyzer->removeLock(FSet, M, Loc, Dtor, LK_Generic, CapDiagKind); } -/// \brief For unary operations which read and write a variable, we need to +/// For unary operations which read and write a variable, we need to /// check whether we hold any required mutexes. Reads are checked in /// VisitCastExpr. void BuildLockset::VisitUnaryOperator(UnaryOperator *UO) { @@ -2089,7 +2089,7 @@ void BuildLockset::VisitDeclStmt(DeclStmt *S) { } } -/// \brief Compute the intersection of two locksets and issue warnings for any +/// Compute the intersection of two locksets and issue warnings for any /// locks in the symmetric difference. /// /// This function is used at a merge point in the CFG when comparing the lockset @@ -2166,7 +2166,7 @@ static bool neverReturns(const CFGBlock *B) { return false; } -/// \brief Check a function's CFG for thread-safety violations. +/// Check a function's CFG for thread-safety violations. /// /// We traverse the blocks in the CFG, compute the set of mutexes that are held /// at the end of each block, and issue warnings for thread safety violations. @@ -2462,7 +2462,7 @@ void ThreadSafetyAnalyzer::runAnalysis(AnalysisDeclContext &AC) { Handler.leaveFunction(CurrentFunction); } -/// \brief Check a function's CFG for thread-safety violations. +/// Check a function's CFG for thread-safety violations. /// /// We traverse the blocks in the CFG, compute the set of mutexes that are held /// at the end of each block, and issue warnings for thread safety violations. @@ -2478,7 +2478,7 @@ void threadSafety::runThreadSafetyAnalysis(AnalysisDeclContext &AC, void threadSafety::threadSafetyCleanup(BeforeSet *Cache) { delete Cache; } -/// \brief Helper function that returns a LockKind required for the given level +/// Helper function that returns a LockKind required for the given level /// of access. LockKind threadSafety::getLockKindFromAccessKind(AccessKind AK) { switch (AK) { diff --git a/lib/Analysis/ThreadSafetyCommon.cpp b/lib/Analysis/ThreadSafetyCommon.cpp index 07e3a75e1a..fced17ff91 100644 --- a/lib/Analysis/ThreadSafetyCommon.cpp +++ b/lib/Analysis/ThreadSafetyCommon.cpp @@ -86,7 +86,7 @@ static bool isCalleeArrow(const Expr *E) { return ME ? ME->isArrow() : false; } -/// \brief Translate a clang expression in an attribute to a til::SExpr. +/// Translate a clang expression in an attribute to a til::SExpr. /// Constructs the context from D, DeclExp, and SelfDecl. /// /// \param AttrExp The expression to translate. @@ -146,7 +146,7 @@ CapabilityExpr SExprBuilder::translateAttrExpr(const Expr *AttrExp, return translateAttrExpr(AttrExp, &Ctx); } -/// \brief Translate a clang expression in an attribute to a til::SExpr. +/// Translate a clang expression in an attribute to a til::SExpr. // This assumes a CallingContext has already been created. CapabilityExpr SExprBuilder::translateAttrExpr(const Expr *AttrExp, CallingContext *Ctx) { diff --git a/lib/Analysis/UninitializedValues.cpp b/lib/Analysis/UninitializedValues.cpp index feccf844d0..6335329234 100644 --- a/lib/Analysis/UninitializedValues.cpp +++ b/lib/Analysis/UninitializedValues.cpp @@ -321,7 +321,7 @@ static FindVarResult findVar(const Expr *E, const DeclContext *DC) { namespace { -/// \brief Classify each DeclRefExpr as an initialization or a use. Any +/// Classify each DeclRefExpr as an initialization or a use. Any /// DeclRefExpr which isn't explicitly classified will be assumed to have /// escaped the analysis and will be treated as an initialization. class ClassifyRefs : public StmtVisitor<ClassifyRefs> { diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp index cb38161ae6..519e835e32 100644 --- a/lib/Basic/Diagnostic.cpp +++ b/lib/Basic/Diagnostic.cpp @@ -737,7 +737,7 @@ static void HandlePluralModifier(const Diagnostic &DInfo, unsigned ValNo, } } -/// \brief Returns the friendly description for a token kind that will appear +/// Returns the friendly description for a token kind that will appear /// without quotes in diagnostic messages. These strings may be translatable in /// future. static const char *getTokenDescForDiagnostic(tok::TokenKind Kind) { diff --git a/lib/Basic/DiagnosticIDs.cpp b/lib/Basic/DiagnosticIDs.cpp index b25057fc3b..697de68a5a 100644 --- a/lib/Basic/DiagnosticIDs.cpp +++ b/lib/Basic/DiagnosticIDs.cpp @@ -340,7 +340,7 @@ bool DiagnosticIDs::isBuiltinWarningOrExtension(unsigned DiagID) { getBuiltinDiagClass(DiagID) != CLASS_ERROR; } -/// \brief Determine whether the given built-in diagnostic ID is a +/// Determine whether the given built-in diagnostic ID is a /// Note. bool DiagnosticIDs::isBuiltinNote(unsigned DiagID) { return DiagID < diag::DIAG_UPPER_LIMIT && @@ -412,7 +412,7 @@ DiagnosticIDs::getDiagnosticLevel(unsigned DiagID, SourceLocation Loc, return toLevel(getDiagnosticSeverity(DiagID, Loc, Diag)); } -/// \brief Based on the way the client configured the Diagnostic +/// Based on the way the client configured the Diagnostic /// object, classify the specified diagnostic ID into a Level, consumable by /// the DiagnosticClient. /// diff --git a/lib/Basic/FileManager.cpp b/lib/Basic/FileManager.cpp index 719b2f6651..14a9033b20 100644 --- a/lib/Basic/FileManager.cpp +++ b/lib/Basic/FileManager.cpp @@ -102,7 +102,7 @@ void FileManager::clearStatCaches() { StatCache.reset(); } -/// \brief Retrieve the directory that the given file name resides in. +/// Retrieve the directory that the given file name resides in. /// Filename can point to either a real file or a virtual file. static const DirectoryEntry *getDirectoryFromFile(FileManager &FileMgr, StringRef Filename, diff --git a/lib/Basic/IdentifierTable.cpp b/lib/Basic/IdentifierTable.cpp index 025104c63b..621bcc2650 100644 --- a/lib/Basic/IdentifierTable.cpp +++ b/lib/Basic/IdentifierTable.cpp @@ -65,7 +65,7 @@ IdentifierInfoLookup::~IdentifierInfoLookup() = default; namespace { -/// \brief A simple identifier lookup iterator that represents an +/// A simple identifier lookup iterator that represents an /// empty sequence of identifiers. class EmptyLookupIterator : public IdentifierIterator { @@ -127,7 +127,7 @@ namespace { ~KEYNOOPENCL) // KEYNOMS18 and KEYNOOPENCL are used to exclude. }; - /// \brief How a keyword is treated in the selected standard. + /// How a keyword is treated in the selected standard. enum KeywordStatus { KS_Disabled, // Disabled KS_Extension, // Is an extension @@ -137,7 +137,7 @@ namespace { } // namespace -/// \brief Translates flags as specified in TokenKinds.def into keyword status +/// Translates flags as specified in TokenKinds.def into keyword status /// in the given language standard. static KeywordStatus getKeywordStatus(const LangOptions &LangOpts, unsigned Flags) { @@ -244,7 +244,7 @@ void IdentifierTable::AddKeywords(const LangOptions &LangOpts) { get("import").setModulesImport(true); } -/// \brief Checks if the specified token kind represents a keyword in the +/// Checks if the specified token kind represents a keyword in the /// specified language. /// \returns Status of the keyword in the language. static KeywordStatus getTokenKwStatus(const LangOptions &LangOpts, @@ -257,7 +257,7 @@ static KeywordStatus getTokenKwStatus(const LangOptions &LangOpts, } } -/// \brief Returns true if the identifier represents a keyword in the +/// Returns true if the identifier represents a keyword in the /// specified language. bool IdentifierInfo::isKeyword(const LangOptions &LangOpts) const { switch (getTokenKwStatus(LangOpts, getTokenID())) { @@ -269,7 +269,7 @@ bool IdentifierInfo::isKeyword(const LangOptions &LangOpts) const { } } -/// \brief Returns true if the identifier represents a C++ keyword in the +/// Returns true if the identifier represents a C++ keyword in the /// specified language. bool IdentifierInfo::isCPlusPlusKeyword(const LangOptions &LangOpts) const { if (!LangOpts.CPlusPlus || !isKeyword(LangOpts)) diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp index bf85157746..2714b98120 100644 --- a/lib/Basic/Module.cpp +++ b/lib/Basic/Module.cpp @@ -71,7 +71,7 @@ Module::~Module() { } } -/// \brief Determine whether a translation unit built using the current +/// Determine whether a translation unit built using the current /// language options has the given feature. static bool hasFeature(StringRef Feature, const LangOptions &LangOpts, const TargetInfo &Target) { diff --git a/lib/Basic/OpenMPKinds.cpp b/lib/Basic/OpenMPKinds.cpp index c4398d6335..67b7d91e62 100644 --- a/lib/Basic/OpenMPKinds.cpp +++ b/lib/Basic/OpenMPKinds.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file implements the OpenMP enum and support functions. +/// This file implements the OpenMP enum and support functions. /// //===----------------------------------------------------------------------===// diff --git a/lib/Basic/OperatorPrecedence.cpp b/lib/Basic/OperatorPrecedence.cpp index 3743b6ad5f..bf805fc7de 100644 --- a/lib/Basic/OperatorPrecedence.cpp +++ b/lib/Basic/OperatorPrecedence.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Defines and computes precedence levels for binary/ternary operators. +/// Defines and computes precedence levels for binary/ternary operators. /// //===----------------------------------------------------------------------===// #include "clang/Basic/OperatorPrecedence.h" diff --git a/lib/Basic/SourceManager.cpp b/lib/Basic/SourceManager.cpp index d5e71e9363..c05dfeaa8a 100644 --- a/lib/Basic/SourceManager.cpp +++ b/lib/Basic/SourceManager.cpp @@ -260,7 +260,7 @@ const LineEntry *LineTableInfo::FindNearestLineEntry(FileID FID, return &*--I; } -/// \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 LineTableInfo::AddEntry(FileID FID, const std::vector<LineEntry> &Entries) { @@ -468,7 +468,7 @@ SourceManager::AllocateLoadedSLocEntries(unsigned NumSLocEntries, return std::make_pair(-ID - 1, CurrentLoadedOffset); } -/// \brief As part of recovering from missing or changed content, produce a +/// As part of recovering from missing or changed content, produce a /// fake, non-empty buffer. llvm::MemoryBuffer *SourceManager::getFakeBufferForRecovery() const { if (!FakeBufferForRecovery) @@ -478,7 +478,7 @@ llvm::MemoryBuffer *SourceManager::getFakeBufferForRecovery() const { return FakeBufferForRecovery.get(); } -/// \brief As part of recovering from missing or changed content, produce a +/// As part of recovering from missing or changed content, produce a /// fake content cache. const SrcMgr::ContentCache * SourceManager::getFakeContentCacheForRecovery() const { @@ -490,7 +490,7 @@ SourceManager::getFakeContentCacheForRecovery() const { return FakeContentCacheForRecovery.get(); } -/// \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 SourceManager::getPreviousFileID(FileID FID) const { if (FID.isInvalid()) @@ -510,7 +510,7 @@ FileID SourceManager::getPreviousFileID(FileID FID) const { return FileID::get(ID-1); } -/// \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 SourceManager::getNextFileID(FileID FID) const { if (FID.isInvalid()) @@ -692,7 +692,7 @@ StringRef SourceManager::getBufferData(FileID FID, bool *Invalid) const { // SourceLocation manipulation methods. //===----------------------------------------------------------------------===// -/// \brief Return the FileID for a SourceLocation. +/// Return the FileID for a SourceLocation. /// /// This is the cache-miss path of getFileID. Not as hot as that function, but /// still very important. It is responsible for finding the entry in the @@ -708,7 +708,7 @@ FileID SourceManager::getFileIDSlow(unsigned SLocOffset) const { return getFileIDLoaded(SLocOffset); } -/// \brief Return the FileID for a SourceLocation with a low offset. +/// Return the FileID for a SourceLocation with a low offset. /// /// This function knows that the SourceLocation is in a local buffer, not a /// loaded one. @@ -799,7 +799,7 @@ FileID SourceManager::getFileIDLocal(unsigned SLocOffset) const { } } -/// \brief Return the FileID for a SourceLocation with a high offset. +/// Return the FileID for a SourceLocation with a high offset. /// /// This function knows that the SourceLocation is in a loaded buffer, not a /// local one. @@ -1519,7 +1519,7 @@ PresumedLoc SourceManager::getPresumedLoc(SourceLocation Loc, return PresumedLoc(Filename.data(), LineNo, ColNo, IncludeLoc); } -/// \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 @@ -1549,7 +1549,7 @@ bool SourceManager::isInMainFile(SourceLocation Loc) const { return FI.getIncludeLoc().isInvalid(); } -/// \brief The size of the SLocEntry that \p FID represents. +/// The size of the SLocEntry that \p FID represents. unsigned SourceManager::getFileIDSize(FileID FID) const { bool Invalid = false; const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &Invalid); @@ -1572,7 +1572,7 @@ unsigned SourceManager::getFileIDSize(FileID FID) const { // Other miscellaneous methods. //===----------------------------------------------------------------------===// -/// \brief Retrieve the inode for the given file entry, if possible. +/// Retrieve the inode for the given file entry, if possible. /// /// This routine involves a system call, and therefore should only be used /// in non-performance-critical code. @@ -1588,7 +1588,7 @@ getActualFileUID(const FileEntry *File) { return ID; } -/// \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 an arbitrary inclusion. @@ -1602,7 +1602,7 @@ SourceLocation SourceManager::translateFileLineCol(const FileEntry *SourceFile, return translateLineCol(FirstFID, Line, Col); } -/// \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. @@ -1719,7 +1719,7 @@ FileID SourceManager::translateFile(const FileEntry *SourceFile) const { return FirstFID; } -/// \brief Get the source location in \arg FID for the given line:col. +/// Get the source location in \arg FID for the given line:col. /// Returns null location if \arg FID is not a file SLocEntry. SourceLocation SourceManager::translateLineCol(FileID FID, unsigned Line, @@ -1780,7 +1780,7 @@ SourceLocation SourceManager::translateLineCol(FileID FID, return FileLoc.getLocWithOffset(FilePos + i); } -/// \brief Compute a map of macro argument chunks to their expanded source +/// Compute a map of macro argument chunks to their expanded source /// location. Chunks that are not part of a macro argument will map to an /// invalid source location. e.g. if a file contains one macro argument at /// offset 100 with length 10, this is how the map will be formed: @@ -1919,7 +1919,7 @@ void SourceManager::associateFileChunkWithMacroArgExp( MacroArgsCache[EndOffs] = EndOffsMappedLoc; } -/// \brief If \arg Loc points inside a function macro argument, the returned +/// If \arg 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. @@ -2028,7 +2028,7 @@ InBeforeInTUCacheEntry &SourceManager::getInBeforeInTUCache(FileID LFID, return IBTUCacheOverflow; } -/// \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 SourceManager::isBeforeInTranslationUnit(SourceLocation LHS, diff --git a/lib/Basic/Targets/AMDGPU.h b/lib/Basic/Targets/AMDGPU.h index 6a264f8456..b0221031ad 100644 --- a/lib/Basic/Targets/AMDGPU.h +++ b/lib/Basic/Targets/AMDGPU.h @@ -38,7 +38,7 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo { static const LangASMap AMDGPUDefIsGenMap; static const LangASMap AMDGPUDefIsPrivMap; - /// \brief GPU kinds supported by the AMDGPU target. + /// GPU kinds supported by the AMDGPU target. enum GPUKind : uint32_t { // Not specified processor. GK_NONE = 0, diff --git a/lib/Basic/Targets/PPC.h b/lib/Basic/Targets/PPC.h index 364a4f62cb..629e4cfefb 100644 --- a/lib/Basic/Targets/PPC.h +++ b/lib/Basic/Targets/PPC.h @@ -57,7 +57,7 @@ public: LongDoubleFormat = &llvm::APFloat::PPCDoubleDouble(); } - /// \brief Flags for architecture specific defines. + /// Flags for architecture specific defines. typedef enum { ArchDefineNone = 0, ArchDefineName = 1 << 0, // <name> is substituted for arch name. diff --git a/lib/Basic/Targets/X86.h b/lib/Basic/Targets/X86.h index ea46274a20..074f8d9f80 100644 --- a/lib/Basic/Targets/X86.h +++ b/lib/Basic/Targets/X86.h @@ -108,7 +108,7 @@ class LLVM_LIBRARY_VISIBILITY X86TargetInfo : public TargetInfo { bool HasMOVDIR64B = false; protected: - /// \brief Enumeration of all of the X86 CPUs supported by Clang. + /// Enumeration of all of the X86 CPUs supported by Clang. /// /// Each enumeration represents a particular CPU supported by Clang. These /// loosely correspond to the options passed to '-march' or '-mtune' flags. diff --git a/lib/Basic/VirtualFileSystem.cpp b/lib/Basic/VirtualFileSystem.cpp index 3a0f041047..84684a4165 100644 --- a/lib/Basic/VirtualFileSystem.cpp +++ b/lib/Basic/VirtualFileSystem.cpp @@ -165,7 +165,7 @@ static bool pathHasTraversal(StringRef Path) { namespace { -/// \brief Wrapper around a raw file descriptor. +/// Wrapper around a raw file descriptor. class RealFile : public File { friend class RealFileSystem; @@ -227,7 +227,7 @@ std::error_code RealFile::close() { namespace { -/// \brief The file system according to your operating system. +/// The file system according to your operating system. class RealFileSystem : public FileSystem { public: ErrorOr<Status> status(const Twine &Path) override; @@ -780,7 +780,7 @@ enum EntryKind { EK_File }; -/// \brief A single file or directory in the VFS. +/// A single file or directory in the VFS. class Entry { EntryKind Kind; std::string Name; @@ -842,7 +842,7 @@ public: StringRef getExternalContentsPath() const { return ExternalContentsPath; } - /// \brief whether to use the external path as the name for this file. + /// whether to use the external path as the name for this file. bool useExternalName(bool GlobalUseExternalName) const { return UseName == NK_NotSet ? GlobalUseExternalName : (UseName == NK_External); @@ -869,7 +869,7 @@ public: std::error_code increment() override; }; -/// \brief A virtual file system parsed from a YAML file. +/// A virtual file system parsed from a YAML file. /// /// Currently, this class allows creating virtual directories and mapping /// virtual file paths to existing external files, available in \c ExternalFS. @@ -930,7 +930,7 @@ class RedirectingFileSystem : public vfs::FileSystem { /// The root(s) of the virtual file system. std::vector<std::unique_ptr<Entry>> Roots; - /// \brief The file system to use for external references. + /// The file system to use for external references. IntrusiveRefCntPtr<FileSystem> ExternalFS; /// If IsRelativeOverlay is set, this represents the directory @@ -941,7 +941,7 @@ class RedirectingFileSystem : public vfs::FileSystem { /// @name Configuration /// @{ - /// \brief Whether to perform case-sensitive comparisons. + /// Whether to perform case-sensitive comparisons. /// /// Currently, case-insensitive matching only works correctly with ASCII. bool CaseSensitive = true; @@ -950,11 +950,11 @@ class RedirectingFileSystem : public vfs::FileSystem { /// be prefixed in every 'external-contents' when reading from YAML files. bool IsRelativeOverlay = false; - /// \brief Whether to use to use the value of 'external-contents' for the + /// Whether to use to use the value of 'external-contents' for the /// names of files. This global value is overridable on a per-file basis. bool UseExternalNames = true; - /// \brief Whether an invalid path obtained via 'external-contents' should + /// Whether an invalid path obtained via 'external-contents' should /// cause iteration on the VFS to stop. If 'true', the VFS should ignore /// the entry and continue with the next. Allows YAML files to be shared /// across multiple compiler invocations regardless of prior existent @@ -977,19 +977,19 @@ private: RedirectingFileSystem(IntrusiveRefCntPtr<FileSystem> ExternalFS) : ExternalFS(std::move(ExternalFS)) {} - /// \brief Looks up the path <tt>[Start, End)</tt> in \p From, possibly + /// Looks up the path <tt>[Start, End)</tt> in \p From, possibly /// recursing into the contents of \p From if it is a directory. ErrorOr<Entry *> lookupPath(sys::path::const_iterator Start, sys::path::const_iterator End, Entry *From); - /// \brief Get the status of a given an \c Entry. + /// Get the status of a given an \c Entry. ErrorOr<Status> status(const Twine &Path, Entry *E); public: - /// \brief Looks up \p Path in \c Roots. + /// Looks up \p Path in \c Roots. ErrorOr<Entry *> lookupPath(const Twine &Path); - /// \brief Parses \p Buffer, which is expected to be in YAML format and + /// Parses \p Buffer, which is expected to be in YAML format and /// returns a virtual file system representing its contents. static RedirectingFileSystem * create(std::unique_ptr<MemoryBuffer> Buffer, @@ -1065,7 +1065,7 @@ LLVM_DUMP_METHOD void dumpEntry(Entry *E, int NumSpaces = 0) const { #endif }; -/// \brief A helper class to hold the common YAML parsing state. +/// A helper class to hold the common YAML parsing state. class RedirectingFileSystemParser { yaml::Stream &Stream; diff --git a/lib/CodeGen/CGAtomic.cpp b/lib/CodeGen/CGAtomic.cpp index 47a82b602a..f526eb4bb7 100644 --- a/lib/CodeGen/CGAtomic.cpp +++ b/lib/CodeGen/CGAtomic.cpp @@ -187,7 +187,7 @@ namespace { RValue convertAtomicTempToRValue(Address addr, AggValueSlot resultSlot, SourceLocation loc, bool AsValue) const; - /// \brief Converts a rvalue to integer value. + /// Converts a rvalue to integer value. llvm::Value *convertRValueToInt(RValue RVal) const; RValue ConvertIntToValueOrAtomic(llvm::Value *IntVal, @@ -208,13 +208,13 @@ namespace { LVal.getBaseInfo(), LVal.getTBAAInfo()); } - /// \brief Emits atomic load. + /// Emits atomic load. /// \returns Loaded value. RValue EmitAtomicLoad(AggValueSlot ResultSlot, SourceLocation Loc, bool AsValue, llvm::AtomicOrdering AO, bool IsVolatile); - /// \brief Emits atomic compare-and-exchange sequence. + /// Emits atomic compare-and-exchange sequence. /// \param Expected Expected value. /// \param Desired Desired value. /// \param Success Atomic ordering for success operation. @@ -230,13 +230,13 @@ namespace { llvm::AtomicOrdering::SequentiallyConsistent, bool IsWeak = false); - /// \brief Emits atomic update. + /// Emits atomic update. /// \param AO Atomic ordering. /// \param UpdateOp Update operation for the current lvalue. void EmitAtomicUpdate(llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp, bool IsVolatile); - /// \brief Emits atomic update. + /// Emits atomic update. /// \param AO Atomic ordering. void EmitAtomicUpdate(llvm::AtomicOrdering AO, RValue UpdateRVal, bool IsVolatile); @@ -244,25 +244,25 @@ namespace { /// Materialize an atomic r-value in atomic-layout memory. Address materializeRValue(RValue rvalue) const; - /// \brief Creates temp alloca for intermediate operations on atomic value. + /// Creates temp alloca for intermediate operations on atomic value. Address CreateTempAlloca() const; private: bool requiresMemSetZero(llvm::Type *type) const; - /// \brief Emits atomic load as a libcall. + /// Emits atomic load as a libcall. void EmitAtomicLoadLibcall(llvm::Value *AddForLoaded, llvm::AtomicOrdering AO, bool IsVolatile); - /// \brief Emits atomic load as LLVM instruction. + /// Emits atomic load as LLVM instruction. llvm::Value *EmitAtomicLoadOp(llvm::AtomicOrdering AO, bool IsVolatile); - /// \brief Emits atomic compare-and-exchange op as a libcall. + /// Emits atomic compare-and-exchange op as a libcall. llvm::Value *EmitAtomicCompareExchangeLibcall( llvm::Value *ExpectedAddr, llvm::Value *DesiredAddr, llvm::AtomicOrdering Success = llvm::AtomicOrdering::SequentiallyConsistent, llvm::AtomicOrdering Failure = llvm::AtomicOrdering::SequentiallyConsistent); - /// \brief Emits atomic compare-and-exchange op as LLVM instruction. + /// Emits atomic compare-and-exchange op as LLVM instruction. std::pair<llvm::Value *, llvm::Value *> EmitAtomicCompareExchangeOp( llvm::Value *ExpectedVal, llvm::Value *DesiredVal, llvm::AtomicOrdering Success = @@ -270,19 +270,19 @@ namespace { llvm::AtomicOrdering Failure = llvm::AtomicOrdering::SequentiallyConsistent, bool IsWeak = false); - /// \brief Emit atomic update as libcalls. + /// Emit atomic update as libcalls. void EmitAtomicUpdateLibcall(llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp, bool IsVolatile); - /// \brief Emit atomic update as LLVM instructions. + /// Emit atomic update as LLVM instructions. void EmitAtomicUpdateOp(llvm::AtomicOrdering AO, const llvm::function_ref<RValue(RValue)> &UpdateOp, bool IsVolatile); - /// \brief Emit atomic update as libcalls. + /// Emit atomic update as libcalls. void EmitAtomicUpdateLibcall(llvm::AtomicOrdering AO, RValue UpdateRVal, bool IsVolatile); - /// \brief Emit atomic update as LLVM instructions. + /// Emit atomic update as LLVM instructions. void EmitAtomicUpdateOp(llvm::AtomicOrdering AO, RValue UpdateRal, bool IsVolatile); }; diff --git a/lib/CodeGen/CGBuilder.h b/lib/CodeGen/CGBuilder.h index 3a4224873f..5b9c7a3c46 100644 --- a/lib/CodeGen/CGBuilder.h +++ b/lib/CodeGen/CGBuilder.h @@ -20,7 +20,7 @@ namespace CodeGen { class CodeGenFunction; -/// \brief This is an IRBuilder insertion helper that forwards to +/// This is an IRBuilder insertion helper that forwards to /// CodeGenFunction::InsertHelper, which adds necessary metadata to /// instructions. class CGBuilderInserter : protected llvm::IRBuilderDefaultInserter { @@ -29,7 +29,7 @@ public: explicit CGBuilderInserter(CodeGenFunction *CGF) : CGF(CGF) {} protected: - /// \brief This forwards to CodeGenFunction::InsertHelper. + /// This forwards to CodeGenFunction::InsertHelper. void InsertHelper(llvm::Instruction *I, const llvm::Twine &Name, llvm::BasicBlock *BB, llvm::BasicBlock::iterator InsertPt) const; diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 2740c17a19..96d74b1844 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -189,7 +189,7 @@ static RValue EmitBinaryAtomicPost(CodeGenFunction &CGF, return RValue::get(Result); } -/// @brief Utility to insert an atomic cmpxchg instruction. +/// Utility to insert an atomic cmpxchg instruction. /// /// @param CGF The current codegen function. /// @param E Builtin call expression to convert to cmpxchg. @@ -320,7 +320,7 @@ static RValue emitLibraryCall(CodeGenFunction &CGF, const FunctionDecl *FD, return CGF.EmitCall(E->getCallee()->getType(), callee, E, ReturnValueSlot()); } -/// \brief Emit a call to llvm.{sadd,uadd,ssub,usub,smul,umul}.with.overflow.* +/// Emit a call to llvm.{sadd,uadd,ssub,usub,smul,umul}.with.overflow.* /// depending on IntrinsicID. /// /// \arg CGF The current codegen function. @@ -3667,7 +3667,7 @@ Value *CodeGenFunction::EmitNeonShiftVector(Value *V, llvm::Type *Ty, return ConstantInt::get(Ty, neg ? -SV : SV); } -// \brief Right-shift a vector by a constant. +// Right-shift a vector by a constant. Value *CodeGenFunction::EmitNeonRShiftImm(Value *Vec, Value *Shift, llvm::Type *Ty, bool usgn, const char *name) { diff --git a/lib/CodeGen/CGCXXABI.h b/lib/CodeGen/CGCXXABI.h index 1e4e13273a..a1158d926c 100644 --- a/lib/CodeGen/CGCXXABI.h +++ b/lib/CodeGen/CGCXXABI.h @@ -40,7 +40,7 @@ class CodeGenFunction; class CodeGenModule; struct CatchTypeInfo; -/// \brief Implements C++ ABI-specific code generation functions. +/// Implements C++ ABI-specific code generation functions. class CGCXXABI { protected: CodeGenModule &CGM; @@ -222,7 +222,7 @@ protected: /// is required. llvm::Constant *getMemberPointerAdjustment(const CastExpr *E); - /// \brief Computes the non-virtual adjustment needed for a member pointer + /// Computes the non-virtual adjustment needed for a member pointer /// conversion along an inheritance path stored in an APValue. Unlike /// getMemberPointerAdjustment(), the adjustment can be negative if the path /// is from a derived type to a base type. @@ -237,7 +237,7 @@ public: virtual void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) = 0; virtual llvm::GlobalVariable *getThrowInfo(QualType T) { return nullptr; } - /// \brief Determine whether it's possible to emit a vtable for \p RD, even + /// Determine whether it's possible to emit a vtable for \p RD, even /// though we do not know that the vtable has been marked as used by semantic /// analysis. virtual bool canSpeculativelyEmitVTable(const CXXRecordDecl *RD) const = 0; diff --git a/lib/CodeGen/CGCall.h b/lib/CodeGen/CGCall.h index da042e9906..8adbe76fa6 100644 --- a/lib/CodeGen/CGCall.h +++ b/lib/CodeGen/CGCall.h @@ -43,9 +43,9 @@ namespace CodeGen { /// Abstract information about a function or function prototype. class CGCalleeInfo { - /// \brief The function prototype of the callee. + /// The function prototype of the callee. const FunctionProtoType *CalleeProtoTy; - /// \brief The function declaration of the callee. + /// The function declaration of the callee. const Decl *CalleeDecl; public: @@ -334,7 +334,7 @@ public: llvm::Instruction *getStackBase() const { return StackBase; } void freeArgumentMemory(CodeGenFunction &CGF) const; - /// \brief Returns if we're using an inalloca struct to pass arguments in + /// Returns if we're using an inalloca struct to pass arguments in /// memory. bool isUsingInAlloca() const { return StackBase; } diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index 3b142d7052..db947d6514 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -1739,7 +1739,7 @@ namespace { }; } // end anonymous namespace -/// \brief Emit all code that comes at the end of class's +/// Emit all code that comes at the end of class's /// destructor. This is to call destructors on members and base classes /// in reverse order of their construction. /// diff --git a/lib/CodeGen/CGDebugInfo.h b/lib/CodeGen/CGDebugInfo.h index 5cd7717797..a692babef5 100644 --- a/lib/CodeGen/CGDebugInfo.h +++ b/lib/CodeGen/CGDebugInfo.h @@ -658,7 +658,7 @@ public: ~ApplyDebugLocation(); - /// \brief Apply TemporaryLocation if it is valid. Otherwise switch + /// Apply TemporaryLocation if it is valid. Otherwise switch /// to an artificial debug location that has a valid scope, but no /// line information. /// @@ -672,7 +672,7 @@ public: static ApplyDebugLocation CreateArtificial(CodeGenFunction &CGF) { return ApplyDebugLocation(CGF, false, SourceLocation()); } - /// \brief Apply TemporaryLocation if it is valid. Otherwise switch + /// Apply TemporaryLocation if it is valid. Otherwise switch /// to an artificial debug location that has a valid scope, but no /// line information. static ApplyDebugLocation diff --git a/lib/CodeGen/CGDecl.cpp b/lib/CodeGen/CGDecl.cpp index 75251df55b..8c7bf882e7 100644 --- a/lib/CodeGen/CGDecl.cpp +++ b/lib/CodeGen/CGDecl.cpp @@ -1283,7 +1283,7 @@ static bool isCapturedBy(const VarDecl &var, const Expr *e) { return false; } -/// \brief Determine whether the given initializer is trivial in the sense +/// Determine whether the given initializer is trivial in the sense /// that it requires no code to be generated. bool CodeGenFunction::isTrivialInitializer(const Expr *Init) { if (!Init) diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index 7b0f253944..194eb41238 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -1791,7 +1791,7 @@ RValue CodeGenFunction::EmitLoadOfExtVectorElementLValue(LValue LV) { return RValue::get(Vec); } -/// @brief Generates lvalue for partial ext_vector access. +/// Generates lvalue for partial ext_vector access. Address CodeGenFunction::EmitExtVectorElementLValue(LValue LV) { Address VectorAddress = LV.getExtVectorAddress(); const VectorType *ExprVT = LV.getType()->getAs<VectorType>(); @@ -1813,7 +1813,7 @@ Address CodeGenFunction::EmitExtVectorElementLValue(LValue LV) { return VectorBasePtrPlusIx; } -/// @brief Load of global gamed gegisters are always calls to intrinsics. +/// Load of global gamed gegisters are always calls to intrinsics. RValue CodeGenFunction::EmitLoadOfGlobalRegLValue(LValue LV) { assert((LV.getType()->isIntegerType() || LV.getType()->isPointerType()) && "Bad type for register variable"); @@ -2073,7 +2073,7 @@ void CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(RValue Src, Dst.isVolatileQualified()); } -/// @brief Store of global named registers are always calls to intrinsics. +/// Store of global named registers are always calls to intrinsics. void CodeGenFunction::EmitStoreThroughGlobalRegLValue(RValue Src, LValue Dst) { assert((Dst.getType()->isIntegerType() || Dst.getType()->isPointerType()) && "Bad type for register variable"); @@ -2710,7 +2710,7 @@ llvm::Value *CodeGenFunction::EmitCheckValue(llvm::Value *V) { return Builder.CreatePtrToInt(V, TargetTy); } -/// \brief Emit a representation of a SourceLocation for passing to a handler +/// Emit a representation of a SourceLocation for passing to a handler /// in a sanitizer runtime library. The format for this data is: /// \code /// struct SourceLocation { @@ -2769,7 +2769,7 @@ llvm::Constant *CodeGenFunction::EmitCheckSourceLocation(SourceLocation Loc) { } namespace { -/// \brief Specify under what conditions this check can be recovered +/// Specify under what conditions this check can be recovered enum class CheckRecoverableKind { /// Always terminate program execution if this check fails. Unrecoverable, diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index 7e02a65bb6..713224ca12 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -220,7 +220,7 @@ void AggExprEmitter::EmitAggLoadOfLValue(const Expr *E) { EmitFinalDestCopy(E->getType(), LV); } -/// \brief True if the given aggregate type requires special GC API calls. +/// True if the given aggregate type requires special GC API calls. bool AggExprEmitter::TypeRequiresGCollection(QualType T) { // Only record types have members that might require garbage collection. const RecordType *RecordTy = T->getAs<RecordType>(); @@ -369,7 +369,7 @@ void AggExprEmitter::EmitCopy(QualType type, const AggValueSlot &dest, dest.isVolatile() || src.isVolatile()); } -/// \brief Emit the initializer for a std::initializer_list initialized with a +/// Emit the initializer for a std::initializer_list initialized with a /// real initializer list. void AggExprEmitter::VisitCXXStdInitializerListExpr(CXXStdInitializerListExpr *E) { @@ -434,7 +434,7 @@ AggExprEmitter::VisitCXXStdInitializerListExpr(CXXStdInitializerListExpr *E) { } } -/// \brief Determine if E is a trivial array filler, that is, one that is +/// Determine if E is a trivial array filler, that is, one that is /// equivalent to zero-initialization. static bool isTrivialFiller(Expr *E) { if (!E) @@ -457,7 +457,7 @@ static bool isTrivialFiller(Expr *E) { return false; } -/// \brief Emit initialization of an array from an initializer list. +/// Emit initialization of an array from an initializer list. void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, QualType ArrayQTy, InitListExpr *E) { uint64_t NumInitElements = E->getNumInits(); diff --git a/lib/CodeGen/CGExprComplex.cpp b/lib/CodeGen/CGExprComplex.cpp index 30bbca4c02..fb176093a7 100644 --- a/lib/CodeGen/CGExprComplex.cpp +++ b/lib/CodeGen/CGExprComplex.cpp @@ -595,7 +595,7 @@ ComplexPairTy ComplexExprEmitter::EmitBinSub(const BinOpInfo &Op) { return ComplexPairTy(ResR, ResI); } -/// \brief Emit a libcall for a binary operation on complex types. +/// Emit a libcall for a binary operation on complex types. ComplexPairTy ComplexExprEmitter::EmitComplexBinOpLibCall(StringRef LibCallName, const BinOpInfo &Op) { CallArgList Args; @@ -633,7 +633,7 @@ ComplexPairTy ComplexExprEmitter::EmitComplexBinOpLibCall(StringRef LibCallName, return Res.getComplexVal(); } -/// \brief Lookup the libcall name for a given floating point type complex +/// Lookup the libcall name for a given floating point type complex /// multiply. static StringRef getComplexMultiplyLibCallName(llvm::Type *Ty) { switch (Ty->getTypeID()) { diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp index 9787f897d6..0edd1cbdaf 100644 --- a/lib/CodeGen/CGExprScalar.cpp +++ b/lib/CodeGen/CGExprScalar.cpp @@ -1145,7 +1145,7 @@ Value *ScalarExprEmitter::EmitNullValue(QualType Ty) { return CGF.EmitFromMemory(CGF.CGM.EmitNullConstant(Ty), Ty); } -/// \brief Emit a sanitization check for the given "binary" operation (which +/// Emit a sanitization check for the given "binary" operation (which /// might actually be a unary increment which has been lowered to a binary /// operation). The check passes if all values in \p Checks (which are \c i1), /// are \c true. diff --git a/lib/CodeGen/CGLoopInfo.h b/lib/CodeGen/CGLoopInfo.h index 15608c105d..9d5f23ff9a 100644 --- a/lib/CodeGen/CGLoopInfo.h +++ b/lib/CodeGen/CGLoopInfo.h @@ -32,62 +32,62 @@ class Attr; class ASTContext; namespace CodeGen { -/// \brief Attributes that may be specified on loops. +/// Attributes that may be specified on loops. struct LoopAttributes { explicit LoopAttributes(bool IsParallel = false); void clear(); - /// \brief Generate llvm.loop.parallel metadata for loads and stores. + /// Generate llvm.loop.parallel metadata for loads and stores. bool IsParallel; - /// \brief State of loop vectorization or unrolling. + /// State of loop vectorization or unrolling. enum LVEnableState { Unspecified, Enable, Disable, Full }; - /// \brief Value for llvm.loop.vectorize.enable metadata. + /// Value for llvm.loop.vectorize.enable metadata. LVEnableState VectorizeEnable; - /// \brief Value for llvm.loop.unroll.* metadata (enable, disable, or full). + /// Value for llvm.loop.unroll.* metadata (enable, disable, or full). LVEnableState UnrollEnable; - /// \brief Value for llvm.loop.vectorize.width metadata. + /// Value for llvm.loop.vectorize.width metadata. unsigned VectorizeWidth; - /// \brief Value for llvm.loop.interleave.count metadata. + /// Value for llvm.loop.interleave.count metadata. unsigned InterleaveCount; - /// \brief llvm.unroll. + /// llvm.unroll. unsigned UnrollCount; - /// \brief Value for llvm.loop.distribute.enable metadata. + /// Value for llvm.loop.distribute.enable metadata. LVEnableState DistributeEnable; }; -/// \brief Information used when generating a structured loop. +/// Information used when generating a structured loop. class LoopInfo { public: - /// \brief Construct a new LoopInfo for the loop with entry Header. + /// Construct a new LoopInfo for the loop with entry Header. LoopInfo(llvm::BasicBlock *Header, const LoopAttributes &Attrs, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc); - /// \brief Get the loop id metadata for this loop. + /// Get the loop id metadata for this loop. llvm::MDNode *getLoopID() const { return LoopID; } - /// \brief Get the header block of this loop. + /// Get the header block of this loop. llvm::BasicBlock *getHeader() const { return Header; } - /// \brief Get the set of attributes active for this loop. + /// Get the set of attributes active for this loop. const LoopAttributes &getAttributes() const { return Attrs; } private: - /// \brief Loop ID metadata. + /// Loop ID metadata. llvm::MDNode *LoopID; - /// \brief Header block of this loop. + /// Header block of this loop. llvm::BasicBlock *Header; - /// \brief The attributes for this loop. + /// The attributes for this loop. LoopAttributes Attrs; }; -/// \brief A stack of loop information corresponding to loop nesting levels. +/// A stack of loop information corresponding to loop nesting levels. /// This stack can be used to prepare attributes which are applied when a loop /// is emitted. class LoopInfoStack { @@ -97,70 +97,70 @@ class LoopInfoStack { public: LoopInfoStack() {} - /// \brief Begin a new structured loop. The set of staged attributes will be + /// Begin a new structured loop. The set of staged attributes will be /// applied to the loop and then cleared. void push(llvm::BasicBlock *Header, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc); - /// \brief Begin a new structured loop. Stage attributes from the Attrs list. + /// Begin a new structured loop. Stage attributes from the Attrs list. /// The staged attributes are applied to the loop and then cleared. void push(llvm::BasicBlock *Header, clang::ASTContext &Ctx, llvm::ArrayRef<const Attr *> Attrs, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc); - /// \brief End the current loop. + /// End the current loop. void pop(); - /// \brief Return the top loop id metadata. + /// Return the top loop id metadata. llvm::MDNode *getCurLoopID() const { return getInfo().getLoopID(); } - /// \brief Return true if the top loop is parallel. + /// Return true if the top loop is parallel. bool getCurLoopParallel() const { return hasInfo() ? getInfo().getAttributes().IsParallel : false; } - /// \brief Function called by the CodeGenFunction when an instruction is + /// Function called by the CodeGenFunction when an instruction is /// created. void InsertHelper(llvm::Instruction *I) const; - /// \brief Set the next pushed loop as parallel. + /// Set the next pushed loop as parallel. void setParallel(bool Enable = true) { StagedAttrs.IsParallel = Enable; } - /// \brief Set the next pushed loop 'vectorize.enable' + /// Set the next pushed loop 'vectorize.enable' void setVectorizeEnable(bool Enable = true) { StagedAttrs.VectorizeEnable = Enable ? LoopAttributes::Enable : LoopAttributes::Disable; } - /// \brief Set the next pushed loop as a distribution candidate. + /// Set the next pushed loop as a distribution candidate. void setDistributeState(bool Enable = true) { StagedAttrs.DistributeEnable = Enable ? LoopAttributes::Enable : LoopAttributes::Disable; } - /// \brief Set the next pushed loop unroll state. + /// Set the next pushed loop unroll state. void setUnrollState(const LoopAttributes::LVEnableState &State) { StagedAttrs.UnrollEnable = State; } - /// \brief Set the vectorize width for the next loop pushed. + /// Set the vectorize width for the next loop pushed. void setVectorizeWidth(unsigned W) { StagedAttrs.VectorizeWidth = W; } - /// \brief Set the interleave count for the next loop pushed. + /// Set the interleave count for the next loop pushed. void setInterleaveCount(unsigned C) { StagedAttrs.InterleaveCount = C; } - /// \brief Set the unroll count for the next loop pushed. + /// Set the unroll count for the next loop pushed. void setUnrollCount(unsigned C) { StagedAttrs.UnrollCount = C; } private: - /// \brief Returns true if there is LoopInfo on the stack. + /// Returns true if there is LoopInfo on the stack. bool hasInfo() const { return !Active.empty(); } - /// \brief Return the LoopInfo for the current loop. HasInfo should be called + /// Return the LoopInfo for the current loop. HasInfo should be called /// first to ensure LoopInfo is present. const LoopInfo &getInfo() const { return Active.back(); } - /// \brief The set of attributes that will be applied to the next pushed loop. + /// The set of attributes that will be applied to the next pushed loop. LoopAttributes StagedAttrs; - /// \brief Stack of active loops. + /// Stack of active loops. llvm::SmallVector<LoopInfo, 4> Active; }; diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index b156737c18..81c1201c0e 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -259,7 +259,7 @@ llvm::Value *CodeGenFunction::EmitObjCProtocolExpr(const ObjCProtocolExpr *E) { return CGM.getObjCRuntime().GenerateProtocolRef(*this, E->getProtocol()); } -/// \brief Adjust the type of an Objective-C object that doesn't match up due +/// Adjust the type of an Objective-C object that doesn't match up due /// to type erasure at various points, e.g., related result types or the use /// of parameterized classes. static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT, @@ -803,7 +803,7 @@ PropertyImplStrategy::PropertyImplStrategy(CodeGenModule &CGM, Kind = Native; } -/// \brief Generate an Objective-C property getter function. +/// Generate an Objective-C property getter function. /// /// The given Decl must be an ObjCImplementationDecl. \@synthesize /// is illegal within a category. @@ -1336,7 +1336,7 @@ CodeGenFunction::generateObjCSetterBody(const ObjCImplementationDecl *classImpl, EmitStmt(&assign); } -/// \brief Generate an Objective-C property setter function. +/// Generate an Objective-C property setter function. /// /// The given Decl must be an ObjCImplementationDecl. \@synthesize /// is illegal within a category. diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp index fa47aca57c..0c766575dc 100644 --- a/lib/CodeGen/CGObjCMac.cpp +++ b/lib/CodeGen/CGObjCMac.cpp @@ -888,7 +888,7 @@ protected: /// int * but is actually an Obj-C class pointer. llvm::WeakTrackingVH ConstantStringClassRef; - /// \brief The LLVM type corresponding to NSConstantString. + /// The LLVM type corresponding to NSConstantString. llvm::StructType *NSConstantStringType = nullptr; llvm::StringMap<llvm::GlobalVariable *> NSConstantStringMap; diff --git a/lib/CodeGen/CGOpenCLRuntime.h b/lib/CodeGen/CGOpenCLRuntime.h index 2df1acd236..a513340827 100644 --- a/lib/CodeGen/CGOpenCLRuntime.h +++ b/lib/CodeGen/CGOpenCLRuntime.h @@ -68,11 +68,11 @@ public: llvm::PointerType *getSamplerType(const Type *T); - // \brief Returns a value which indicates the size in bytes of the pipe + // Returns a value which indicates the size in bytes of the pipe // element. virtual llvm::Value *getPipeElemSize(const Expr *PipeArg); - // \brief Returns a value which indicates the alignment in bytes of the pipe + // Returns a value which indicates the alignment in bytes of the pipe // element. virtual llvm::Value *getPipeElemAlign(const Expr *PipeArg); @@ -83,7 +83,7 @@ public: EnqueuedBlockInfo emitOpenCLEnqueuedBlock(CodeGenFunction &CGF, const Expr *E); - /// \brief Record invoke function and block literal emitted during normal + /// Record invoke function and block literal emitted during normal /// codegen for a block expression. The information is used by /// emitOpenCLEnqueuedBlock to emit wrapper kernel. /// diff --git a/lib/CodeGen/CGOpenMPRuntime.cpp b/lib/CodeGen/CGOpenMPRuntime.cpp index 5ccc77c5cf..59c0540e89 100644 --- a/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/lib/CodeGen/CGOpenMPRuntime.cpp @@ -34,20 +34,20 @@ using namespace clang; using namespace CodeGen; namespace { -/// \brief Base class for handling code generation inside OpenMP regions. +/// Base class for handling code generation inside OpenMP regions. class CGOpenMPRegionInfo : public CodeGenFunction::CGCapturedStmtInfo { public: - /// \brief Kinds of OpenMP regions used in codegen. + /// Kinds of OpenMP regions used in codegen. enum CGOpenMPRegionKind { - /// \brief Region with outlined function for standalone 'parallel' + /// Region with outlined function for standalone 'parallel' /// directive. ParallelOutlinedRegion, - /// \brief Region with outlined function for standalone 'task' directive. + /// Region with outlined function for standalone 'task' directive. TaskOutlinedRegion, - /// \brief Region for constructs that do not require function outlining, + /// Region for constructs that do not require function outlining, /// like 'for', 'sections', 'atomic' etc. directives. InlinedRegion, - /// \brief Region with outlined function for standalone 'target' directive. + /// Region with outlined function for standalone 'target' directive. TargetRegion, }; @@ -64,14 +64,14 @@ public: : CGCapturedStmtInfo(CR_OpenMP), RegionKind(RegionKind), CodeGen(CodeGen), Kind(Kind), HasCancel(HasCancel) {} - /// \brief Get a variable or parameter for storing global thread id + /// Get a variable or parameter for storing global thread id /// inside OpenMP construct. virtual const VarDecl *getThreadIDVariable() const = 0; - /// \brief Emit the captured statement body. + /// Emit the captured statement body. void EmitBody(CodeGenFunction &CGF, const Stmt *S) override; - /// \brief Get an LValue for the current ThreadID variable. + /// Get an LValue for the current ThreadID variable. /// \return LValue for thread id variable. This LValue always has type int32*. virtual LValue getThreadIDVariableLValue(CodeGenFunction &CGF); @@ -96,7 +96,7 @@ protected: bool HasCancel; }; -/// \brief API for captured statement code generation in OpenMP constructs. +/// API for captured statement code generation in OpenMP constructs. class CGOpenMPOutlinedRegionInfo final : public CGOpenMPRegionInfo { public: CGOpenMPOutlinedRegionInfo(const CapturedStmt &CS, const VarDecl *ThreadIDVar, @@ -109,11 +109,11 @@ public: assert(ThreadIDVar != nullptr && "No ThreadID in OpenMP region."); } - /// \brief Get a variable or parameter for storing global thread id + /// Get a variable or parameter for storing global thread id /// inside OpenMP construct. const VarDecl *getThreadIDVariable() const override { return ThreadIDVar; } - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. StringRef getHelperName() const override { return HelperName; } static bool classof(const CGCapturedStmtInfo *Info) { @@ -123,13 +123,13 @@ public: } private: - /// \brief A variable or parameter storing global thread id for OpenMP + /// A variable or parameter storing global thread id for OpenMP /// constructs. const VarDecl *ThreadIDVar; StringRef HelperName; }; -/// \brief API for captured statement code generation in OpenMP constructs. +/// API for captured statement code generation in OpenMP constructs. class CGOpenMPTaskOutlinedRegionInfo final : public CGOpenMPRegionInfo { public: class UntiedTaskActionTy final : public PrePostActionTy { @@ -190,14 +190,14 @@ public: assert(ThreadIDVar != nullptr && "No ThreadID in OpenMP region."); } - /// \brief Get a variable or parameter for storing global thread id + /// Get a variable or parameter for storing global thread id /// inside OpenMP construct. const VarDecl *getThreadIDVariable() const override { return ThreadIDVar; } - /// \brief Get an LValue for the current ThreadID variable. + /// Get an LValue for the current ThreadID variable. LValue getThreadIDVariableLValue(CodeGenFunction &CGF) override; - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. StringRef getHelperName() const override { return ".omp_outlined."; } void emitUntiedSwitch(CodeGenFunction &CGF) override { @@ -211,14 +211,14 @@ public: } private: - /// \brief A variable or parameter storing global thread id for OpenMP + /// A variable or parameter storing global thread id for OpenMP /// constructs. const VarDecl *ThreadIDVar; /// Action for emitting code for untied tasks. const UntiedTaskActionTy &Action; }; -/// \brief API for inlined captured statement code generation in OpenMP +/// API for inlined captured statement code generation in OpenMP /// constructs. class CGOpenMPInlinedRegionInfo : public CGOpenMPRegionInfo { public: @@ -229,7 +229,7 @@ public: OldCSI(OldCSI), OuterRegionInfo(dyn_cast_or_null<CGOpenMPRegionInfo>(OldCSI)) {} - // \brief Retrieve the value of the context parameter. + // Retrieve the value of the context parameter. llvm::Value *getContextValue() const override { if (OuterRegionInfo) return OuterRegionInfo->getContextValue(); @@ -244,7 +244,7 @@ public: llvm_unreachable("No context value for inlined OpenMP region"); } - /// \brief Lookup the captured field decl for a variable. + /// Lookup the captured field decl for a variable. const FieldDecl *lookup(const VarDecl *VD) const override { if (OuterRegionInfo) return OuterRegionInfo->lookup(VD); @@ -259,7 +259,7 @@ public: return nullptr; } - /// \brief Get a variable or parameter for storing global thread id + /// Get a variable or parameter for storing global thread id /// inside OpenMP construct. const VarDecl *getThreadIDVariable() const override { if (OuterRegionInfo) @@ -267,14 +267,14 @@ public: return nullptr; } - /// \brief Get an LValue for the current ThreadID variable. + /// Get an LValue for the current ThreadID variable. LValue getThreadIDVariableLValue(CodeGenFunction &CGF) override { if (OuterRegionInfo) return OuterRegionInfo->getThreadIDVariableLValue(CGF); llvm_unreachable("No LValue for inlined OpenMP construct"); } - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. StringRef getHelperName() const override { if (auto *OuterRegionInfo = getOldCSI()) return OuterRegionInfo->getHelperName(); @@ -296,12 +296,12 @@ public: ~CGOpenMPInlinedRegionInfo() override = default; private: - /// \brief CodeGen info about outer OpenMP region. + /// CodeGen info about outer OpenMP region. CodeGenFunction::CGCapturedStmtInfo *OldCSI; CGOpenMPRegionInfo *OuterRegionInfo; }; -/// \brief API for captured statement code generation in OpenMP target +/// API for captured statement code generation in OpenMP target /// constructs. For this captures, implicit parameters are used instead of the /// captured fields. The name of the target region has to be unique in a given /// application so it is provided by the client, because only the client has @@ -314,11 +314,11 @@ public: /*HasCancel=*/false), HelperName(HelperName) {} - /// \brief This is unused for target regions because each starts executing + /// This is unused for target regions because each starts executing /// with a single thread. const VarDecl *getThreadIDVariable() const override { return nullptr; } - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. StringRef getHelperName() const override { return HelperName; } static bool classof(const CGCapturedStmtInfo *Info) { @@ -333,7 +333,7 @@ private: static void EmptyCodeGen(CodeGenFunction &, PrePostActionTy &) { llvm_unreachable("No codegen for expressions"); } -/// \brief API for generation of expressions captured in a innermost OpenMP +/// API for generation of expressions captured in a innermost OpenMP /// region. class CGOpenMPInnerExprInfo final : public CGOpenMPInlinedRegionInfo { public: @@ -363,25 +363,25 @@ public: (void)PrivScope.Privatize(); } - /// \brief Lookup the captured field decl for a variable. + /// Lookup the captured field decl for a variable. const FieldDecl *lookup(const VarDecl *VD) const override { if (const FieldDecl *FD = CGOpenMPInlinedRegionInfo::lookup(VD)) return FD; return nullptr; } - /// \brief Emit the captured statement body. + /// Emit the captured statement body. void EmitBody(CodeGenFunction &CGF, const Stmt *S) override { llvm_unreachable("No body for expressions"); } - /// \brief Get a variable or parameter for storing global thread id + /// Get a variable or parameter for storing global thread id /// inside OpenMP construct. const VarDecl *getThreadIDVariable() const override { llvm_unreachable("No thread id for expressions"); } - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. StringRef getHelperName() const override { llvm_unreachable("No helper name for expressions"); } @@ -393,7 +393,7 @@ private: CodeGenFunction::OMPPrivateScope PrivScope; }; -/// \brief RAII for emitting code of OpenMP constructs. +/// RAII for emitting code of OpenMP constructs. class InlinedOpenMPRegionRAII { CodeGenFunction &CGF; llvm::DenseMap<const VarDecl *, FieldDecl *> LambdaCaptureFields; @@ -401,7 +401,7 @@ class InlinedOpenMPRegionRAII { const CodeGen::CGBlockInfo *BlockInfo = nullptr; public: - /// \brief Constructs region for combined constructs. + /// Constructs region for combined constructs. /// \param CodeGen Code generation sequence for combined directives. Includes /// a list of functions used for code generation of implicitly inlined /// regions. @@ -430,25 +430,25 @@ public: } }; -/// \brief Values for bit flags used in the ident_t to describe the fields. +/// Values for bit flags used in the ident_t to describe the fields. /// All enumeric elements are named and described in accordance with the code /// from http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h enum OpenMPLocationFlags : unsigned { - /// \brief Use trampoline for internal microtask. + /// Use trampoline for internal microtask. OMP_IDENT_IMD = 0x01, - /// \brief Use c-style ident structure. + /// Use c-style ident structure. OMP_IDENT_KMPC = 0x02, - /// \brief Atomic reduction option for kmpc_reduce. + /// Atomic reduction option for kmpc_reduce. OMP_ATOMIC_REDUCE = 0x10, - /// \brief Explicit 'barrier' directive. + /// Explicit 'barrier' directive. OMP_IDENT_BARRIER_EXPL = 0x20, - /// \brief Implicit barrier in code. + /// Implicit barrier in code. OMP_IDENT_BARRIER_IMPL = 0x40, - /// \brief Implicit barrier in 'for' directive. + /// Implicit barrier in 'for' directive. OMP_IDENT_BARRIER_IMPL_FOR = 0x40, - /// \brief Implicit barrier in 'sections' directive. + /// Implicit barrier in 'sections' directive. OMP_IDENT_BARRIER_IMPL_SECTIONS = 0xC0, - /// \brief Implicit barrier in 'single' directive. + /// Implicit barrier in 'single' directive. OMP_IDENT_BARRIER_IMPL_SINGLE = 0x140, /// Call of __kmp_for_static_init for static loop. OMP_IDENT_WORK_LOOP = 0x200, @@ -459,7 +459,7 @@ enum OpenMPLocationFlags : unsigned { LLVM_MARK_AS_BITMASK_ENUM(/*LargestValue=*/OMP_IDENT_WORK_DISTRIBUTE) }; -/// \brief Describes ident structure that describes a source location. +/// Describes ident structure that describes a source location. /// All descriptions are taken from /// http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h /// Original structure: @@ -486,24 +486,24 @@ enum OpenMPLocationFlags : unsigned { /// */ /// } ident_t; enum IdentFieldIndex { - /// \brief might be used in Fortran + /// might be used in Fortran IdentField_Reserved_1, - /// \brief OMP_IDENT_xxx flags; OMP_IDENT_KMPC identifies this union member. + /// OMP_IDENT_xxx flags; OMP_IDENT_KMPC identifies this union member. IdentField_Flags, - /// \brief Not really used in Fortran any more + /// Not really used in Fortran any more IdentField_Reserved_2, - /// \brief Source[4] in Fortran, do not use for C++ + /// Source[4] in Fortran, do not use for C++ IdentField_Reserved_3, - /// \brief String describing the source location. The string is composed of + /// String describing the source location. The string is composed of /// semi-colon separated fields which describe the source file, the function /// and a pair of line numbers that delimit the construct. IdentField_PSource }; -/// \brief Schedule types for 'omp for' loops (these enumerators are taken from +/// Schedule types for 'omp for' loops (these enumerators are taken from /// the enum sched_type in kmp.h). enum OpenMPSchedType { - /// \brief Lower bound for default (unordered) versions. + /// Lower bound for default (unordered) versions. OMP_sch_lower = 32, OMP_sch_static_chunked = 33, OMP_sch_static = 34, @@ -513,7 +513,7 @@ enum OpenMPSchedType { OMP_sch_auto = 38, /// static with chunk adjustment (e.g., simd) OMP_sch_static_balanced_chunked = 45, - /// \brief Lower bound for 'ordered' versions. + /// Lower bound for 'ordered' versions. OMP_ord_lower = 64, OMP_ord_static_chunked = 65, OMP_ord_static = 66, @@ -522,7 +522,7 @@ enum OpenMPSchedType { OMP_ord_runtime = 69, OMP_ord_auto = 70, OMP_sch_default = OMP_sch_static, - /// \brief dist_schedule types + /// dist_schedule types OMP_dist_sch_static_chunked = 91, OMP_dist_sch_static = 92, /// Support for OpenMP 4.5 monotonic and nonmonotonic schedule modifiers. @@ -533,13 +533,13 @@ enum OpenMPSchedType { }; enum OpenMPRTLFunction { - /// \brief Call to void __kmpc_fork_call(ident_t *loc, kmp_int32 argc, + /// Call to void __kmpc_fork_call(ident_t *loc, kmp_int32 argc, /// kmpc_micro microtask, ...); OMPRTL__kmpc_fork_call, - /// \brief Call to void *__kmpc_threadprivate_cached(ident_t *loc, + /// Call to void *__kmpc_threadprivate_cached(ident_t *loc, /// kmp_int32 global_tid, void *data, size_t size, void ***cache); OMPRTL__kmpc_threadprivate_cached, - /// \brief Call to void __kmpc_threadprivate_register( ident_t *, + /// Call to void __kmpc_threadprivate_register( ident_t *, /// void *data, kmpc_ctor ctor, kmpc_cctor cctor, kmpc_dtor dtor); OMPRTL__kmpc_threadprivate_register, // Call to __kmpc_int32 kmpc_global_thread_num(ident_t *loc); @@ -808,7 +808,7 @@ static void emitInitWithReductionInitializer(CodeGenFunction &CGF, } } -/// \brief Emit initialization of arrays of complex types. +/// Emit initialization of arrays of complex types. /// \param DestAddr Address of the array. /// \param Type Type of array. /// \param Init Initial expression of array. @@ -2608,7 +2608,7 @@ llvm::Function *CGOpenMPRuntime::emitThreadPrivateVarDefinition( return nullptr; } -/// \brief Obtain information that uniquely identifies a target entry. This +/// Obtain information that uniquely identifies a target entry. This /// consists of the file and device IDs as well as line number associated with /// the relevant entry source location. static void getTargetEntryUniqueInfo(ASTContext &C, SourceLocation Loc, @@ -3242,7 +3242,7 @@ void CGOpenMPRuntime::emitBarrierCall(CodeGenFunction &CGF, SourceLocation Loc, CGF.EmitRuntimeCall(createRuntimeFunction(OMPRTL__kmpc_barrier), Args); } -/// \brief Map the OpenMP loop schedule to the runtime enumeration. +/// Map the OpenMP loop schedule to the runtime enumeration. static OpenMPSchedType getRuntimeSchedule(OpenMPScheduleClauseKind ScheduleKind, bool Chunked, bool Ordered) { switch (ScheduleKind) { @@ -3264,7 +3264,7 @@ static OpenMPSchedType getRuntimeSchedule(OpenMPScheduleClauseKind ScheduleKind, llvm_unreachable("Unexpected runtime schedule"); } -/// \brief Map the OpenMP distribute schedule to the runtime enumeration. +/// Map the OpenMP distribute schedule to the runtime enumeration. static OpenMPSchedType getRuntimeSchedule(OpenMPDistScheduleClauseKind ScheduleKind, bool Chunked) { // only static is allowed for dist_schedule @@ -3557,13 +3557,13 @@ void CGOpenMPRuntime::emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *>, } namespace { -/// \brief Indexes of fields for type kmp_task_t. +/// Indexes of fields for type kmp_task_t. enum KmpTaskTFields { - /// \brief List of shared variables. + /// List of shared variables. KmpTaskTShareds, - /// \brief Task routine. + /// Task routine. KmpTaskTRoutine, - /// \brief Partition id for the untied tasks. + /// Partition id for the untied tasks. KmpTaskTPartId, /// Function with call of destructors for private variables. Data1, @@ -3587,7 +3587,7 @@ bool CGOpenMPRuntime::OffloadEntriesInfoManagerTy::empty() const { OffloadEntriesDeviceGlobalVar.empty(); } -/// \brief Initialize target region entry. +/// Initialize target region entry. void CGOpenMPRuntime::OffloadEntriesInfoManagerTy:: initializeTargetRegionEntryInfo(unsigned DeviceID, unsigned FileID, StringRef ParentName, unsigned LineNum, @@ -3994,7 +3994,7 @@ void CGOpenMPRuntime::createOffloadEntriesAndInfoMetadata() { } } -/// \brief Loads all the offload entries information from the host IR +/// Loads all the offload entries information from the host IR /// metadata. void CGOpenMPRuntime::loadOffloadInfoMetadata() { // If we are in target mode, load the metadata from the host IR. This code has @@ -4257,7 +4257,7 @@ createKmpTaskTWithPrivatesRecordDecl(CodeGenModule &CGM, QualType KmpTaskTQTy, return RD; } -/// \brief Emit a proxy function which accepts kmp_task_t as the second +/// Emit a proxy function which accepts kmp_task_t as the second /// argument. /// \code /// kmp_int32 .omp_task_entry.(kmp_int32 gtid, kmp_task_t *tt) { @@ -4421,7 +4421,7 @@ static llvm::Value *emitDestructorsFunction(CodeGenModule &CGM, return DestructorFn; } -/// \brief Emit a privates mapping function for correct handling of private and +/// Emit a privates mapping function for correct handling of private and /// firstprivate variables. /// \code /// void .omp_task_privates_map.(const .privates. *noalias privs, <ty1> @@ -5214,7 +5214,7 @@ void CGOpenMPRuntime::emitTaskLoopCall(CodeGenFunction &CGF, SourceLocation Loc, CGF.EmitRuntimeCall(createRuntimeFunction(OMPRTL__kmpc_taskloop), TaskArgs); } -/// \brief Emit reduction operation for each element of array (required for +/// Emit reduction operation for each element of array (required for /// array sections) LHS op = RHS. /// \param Type Type of array. /// \param LHSVar Variable on the left side of the reduction operation @@ -6477,39 +6477,39 @@ emitNumThreadsForTargetDirective(CGOpenMPRuntime &OMPRuntime, } namespace { -// \brief Utility to handle information from clauses associated with a given +// Utility to handle information from clauses associated with a given // construct that use mappable expressions (e.g. 'map' clause, 'to' clause). // It provides a convenient interface to obtain the information and generate // code for that information. class MappableExprsHandler { public: - /// \brief Values for bit flags used to specify the mapping type for + /// Values for bit flags used to specify the mapping type for /// offloading. enum OpenMPOffloadMappingFlags { - /// \brief Allocate memory on the device and move data from host to device. + /// Allocate memory on the device and move data from host to device. OMP_MAP_TO = 0x01, - /// \brief Allocate memory on the device and move data from device to host. + /// Allocate memory on the device and move data from device to host. OMP_MAP_FROM = 0x02, - /// \brief Always perform the requested mapping action on the element, even + /// Always perform the requested mapping action on the element, even /// if it was already mapped before. OMP_MAP_ALWAYS = 0x04, - /// \brief Delete the element from the device environment, ignoring the + /// Delete the element from the device environment, ignoring the /// current reference count associated with the element. OMP_MAP_DELETE = 0x08, - /// \brief The element being mapped is a pointer-pointee pair; both the + /// The element being mapped is a pointer-pointee pair; both the /// pointer and the pointee should be mapped. OMP_MAP_PTR_AND_OBJ = 0x10, - /// \brief This flags signals that the base address of an entry should be + /// This flags signals that the base address of an entry should be /// passed to the target kernel as an argument. OMP_MAP_TARGET_PARAM = 0x20, - /// \brief Signal that the runtime library has to return the device pointer + /// Signal that the runtime library has to return the device pointer /// in the current position for the data being mapped. Used when we have the /// use_device_ptr clause. OMP_MAP_RETURN_PARAM = 0x40, - /// \brief This flag signals that the reference being passed is a pointer to + /// This flag signals that the reference being passed is a pointer to /// private data. OMP_MAP_PRIVATE = 0x80, - /// \brief Pass the element to the device by value. + /// Pass the element to the device by value. OMP_MAP_LITERAL = 0x100, /// Implicit map OMP_MAP_IMPLICIT = 0x200, @@ -6537,13 +6537,13 @@ public: typedef SmallVector<uint64_t, 16> MapFlagsArrayTy; private: - /// \brief Directive from where the map clauses were extracted. + /// Directive from where the map clauses were extracted. const OMPExecutableDirective &CurDir; - /// \brief Function the directive is being generated for. + /// Function the directive is being generated for. CodeGenFunction &CGF; - /// \brief Set of all first private variables in the current directive. + /// Set of all first private variables in the current directive. llvm::SmallPtrSet<const VarDecl *, 8> FirstPrivateDecls; /// Set of all reduction variables in the current directive. llvm::SmallPtrSet<const VarDecl *, 8> ReductionDecls; @@ -6597,7 +6597,7 @@ private: return CGF.getTypeSize(ExprTy); } - /// \brief Return the corresponding bits for a given map clause modifier. Add + /// Return the corresponding bits for a given map clause modifier. Add /// a flag marking the map as a pointer if requested. Add a flag marking the /// map as the first one of a series of maps that relate to the same map /// expression. @@ -6638,7 +6638,7 @@ private: return Bits; } - /// \brief Return true if the provided expression is a final array section. A + /// Return true if the provided expression is a final array section. A /// final array section, is one whose length can't be proved to be one. bool isFinalArraySectionExpression(const Expr *E) const { const auto *OASE = dyn_cast<OMPArraySectionExpr>(E); @@ -6676,7 +6676,7 @@ private: return ConstLength.getSExtValue() != 1; } - /// \brief Return the adjusted map modifiers if the declaration a capture + /// Return the adjusted map modifiers if the declaration a capture /// refers to appears in a first-private clause. This is expected to be used /// only with directives that start with 'target'. unsigned adjustMapModifiersForPrivateClauses(const CapturedStmt::Capture &Cap, @@ -6720,7 +6720,7 @@ public: DevPointersMap[L.first].push_back(L.second); } - /// \brief Generate the base pointers, section pointers, sizes and map type + /// Generate the base pointers, section pointers, sizes and map type /// bits for the provided map type, map modifier, and expression components. /// \a IsFirstComponent should be set to true if the provided set of /// components is the first associated with a capture. @@ -6982,7 +6982,7 @@ public: } } - /// \brief Generate all the base pointers, section pointers, sizes and map + /// Generate all the base pointers, section pointers, sizes and map /// types for the extracted mappable expressions. Also, for each item that /// relates with a device pointer, a pair of the relevant declaration and /// index where it occurs is appended to the device pointers info array. @@ -7146,7 +7146,7 @@ public: } } - /// \brief Generate the base pointers, section pointers, sizes and map types + /// Generate the base pointers, section pointers, sizes and map types /// associated to a given capture. void generateInfoForCapture(const CapturedStmt::Capture *Cap, llvm::Value *Arg, @@ -7212,7 +7212,7 @@ public: return; } - /// \brief Generate the default map information for a given capture \a CI, + /// Generate the default map information for a given capture \a CI, /// record field declaration \a RI and captured value \a CV. void generateDefaultMapInfo(const CapturedStmt::Capture &CI, const FieldDecl &RI, llvm::Value *CV, @@ -7264,13 +7264,13 @@ public: }; enum OpenMPOffloadingReservedDeviceIDs { - /// \brief Device ID if the device was not defined, runtime should get it + /// Device ID if the device was not defined, runtime should get it /// from environment variables in the spec. OMP_DEVICEID_UNDEF = -1, }; } // anonymous namespace -/// \brief Emit the arrays used to pass the captures and map information to the +/// Emit the arrays used to pass the captures and map information to the /// offloading runtime library. If there is no map or capture information, /// return nullptr by reference. static void @@ -7384,7 +7384,7 @@ emitOffloadingArrays(CodeGenFunction &CGF, } } } -/// \brief Emit the arguments to be passed to the runtime library based on the +/// Emit the arguments to be passed to the runtime library based on the /// arrays of pointers, sizes and map types. static void emitOffloadingArraysArgument( CodeGenFunction &CGF, llvm::Value *&BasePointersArrayArg, diff --git a/lib/CodeGen/CGOpenMPRuntime.h b/lib/CodeGen/CGOpenMPRuntime.h index 4546da4746..599b3ba01f 100644 --- a/lib/CodeGen/CGOpenMPRuntime.h +++ b/lib/CodeGen/CGOpenMPRuntime.h @@ -219,13 +219,13 @@ protected: explicit CGOpenMPRuntime(CodeGenModule &CGM, StringRef FirstSeparator, StringRef Separator); - /// \brief Creates offloading entry for the provided entry ID \a ID, + /// Creates offloading entry for the provided entry ID \a ID, /// address \a Addr, size \a Size, and flags \a Flags. virtual void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr, uint64_t Size, int32_t Flags, llvm::GlobalValue::LinkageTypes Linkage); - /// \brief Helper to emit outlined function for 'target' directive. + /// Helper to emit outlined function for 'target' directive. /// \param D Directive to emit. /// \param ParentName Name of the function that encloses the target region. /// \param OutlinedFn Outlined function value to be defined by this call. @@ -241,7 +241,7 @@ protected: bool IsOffloadEntry, const RegionCodeGenTy &CodeGen); - /// \brief Emits code for OpenMP 'if' clause using specified \a CodeGen + /// Emits code for OpenMP 'if' clause using specified \a CodeGen /// function. Here is the logic: /// if (Cond) { /// ThenGen(); @@ -252,20 +252,20 @@ protected: const RegionCodeGenTy &ThenGen, const RegionCodeGenTy &ElseGen); - /// \brief Emits object of ident_t type with info for source location. + /// Emits object of ident_t type with info for source location. /// \param Flags Flags for OpenMP location. /// llvm::Value *emitUpdateLocation(CodeGenFunction &CGF, SourceLocation Loc, unsigned Flags = 0); - /// \brief Returns pointer to ident_t type. + /// Returns pointer to ident_t type. llvm::Type *getIdentTyPointerTy(); - /// \brief Gets thread id value for the current thread. + /// Gets thread id value for the current thread. /// llvm::Value *getThreadID(CodeGenFunction &CGF, SourceLocation Loc); - /// \brief Get the function name of an outlined region. + /// Get the function name of an outlined region. // The name can be customized depending on the target. // virtual StringRef getOutlinedHelperName() const { return ".omp_outlined."; } @@ -274,34 +274,34 @@ protected: void emitCall(CodeGenFunction &CGF, SourceLocation Loc, llvm::Value *Callee, ArrayRef<llvm::Value *> Args = llvm::None) const; - /// \brief Emits address of the word in a memory where current thread id is + /// Emits address of the word in a memory where current thread id is /// stored. virtual Address emitThreadIDAddress(CodeGenFunction &CGF, SourceLocation Loc); private: - /// \brief Default const ident_t object used for initialization of all other + /// Default const ident_t object used for initialization of all other /// ident_t objects. llvm::Constant *DefaultOpenMPPSource = nullptr; - /// \brief Map of flags and corresponding default locations. + /// Map of flags and corresponding default locations. typedef llvm::DenseMap<unsigned, llvm::Value *> OpenMPDefaultLocMapTy; OpenMPDefaultLocMapTy OpenMPDefaultLocMap; Address getOrCreateDefaultLocation(unsigned Flags); QualType IdentQTy; llvm::StructType *IdentTy = nullptr; - /// \brief Map for SourceLocation and OpenMP runtime library debug locations. + /// Map for SourceLocation and OpenMP runtime library debug locations. typedef llvm::DenseMap<unsigned, llvm::Value *> OpenMPDebugLocMapTy; OpenMPDebugLocMapTy OpenMPDebugLocMap; - /// \brief The type for a microtask which gets passed to __kmpc_fork_call(). + /// The type for a microtask which gets passed to __kmpc_fork_call(). /// Original representation is: /// typedef void (kmpc_micro)(kmp_int32 global_tid, kmp_int32 bound_tid,...); llvm::FunctionType *Kmpc_MicroTy = nullptr; - /// \brief Stores debug location and ThreadID for the function. + /// Stores debug location and ThreadID for the function. struct DebugLocThreadIdTy { llvm::Value *DebugLoc; llvm::Value *ThreadID; }; - /// \brief Map of local debug location, ThreadId and functions. + /// Map of local debug location, ThreadId and functions. typedef llvm::DenseMap<llvm::Function *, DebugLocThreadIdTy> OpenMPLocThreadIDMapTy; OpenMPLocThreadIDMapTy OpenMPLocThreadIDMap; @@ -319,20 +319,20 @@ private: IdentifierInfo *Out = nullptr; IdentifierInfo *Priv = nullptr; IdentifierInfo *Orig = nullptr; - /// \brief Type kmp_critical_name, originally defined as typedef kmp_int32 + /// Type kmp_critical_name, originally defined as typedef kmp_int32 /// kmp_critical_name[8]; llvm::ArrayType *KmpCriticalNameTy; - /// \brief An ordered map of auto-generated variables to their unique names. + /// An ordered map of auto-generated variables to their unique names. /// It stores variables with the following names: 1) ".gomp_critical_user_" + /// <critical_section_name> + ".var" for "omp critical" directives; 2) /// <mangled_name_for_global_var> + ".cache." for cache for threadprivate /// variables. llvm::StringMap<llvm::AssertingVH<llvm::Constant>, llvm::BumpPtrAllocator> InternalVars; - /// \brief Type typedef kmp_int32 (* kmp_routine_entry_t)(kmp_int32, void *); + /// Type typedef kmp_int32 (* kmp_routine_entry_t)(kmp_int32, void *); llvm::Type *KmpRoutineEntryPtrTy = nullptr; QualType KmpRoutineEntryPtrQTy; - /// \brief Type typedef struct kmp_task { + /// Type typedef struct kmp_task { /// void * shareds; /**< pointer to block of pointers to /// shared vars */ /// kmp_routine_entry_t routine; /**< pointer to routine to call for @@ -346,7 +346,7 @@ private: QualType SavedKmpTaskTQTy; /// Saved kmp_task_t for taskloop-based directive. QualType SavedKmpTaskloopTQTy; - /// \brief Type typedef struct kmp_depend_info { + /// Type typedef struct kmp_depend_info { /// kmp_intptr_t base_addr; /// size_t len; /// struct { @@ -361,7 +361,7 @@ private: /// kmp_int64 st; // stride /// }; QualType KmpDimTy; - /// \brief Type struct __tgt_offload_entry{ + /// Type struct __tgt_offload_entry{ /// void *addr; // Pointer to the offload entry info. /// // (function or global) /// char *name; // Name of the function or global. @@ -389,12 +389,12 @@ private: /// // entries (non inclusive). /// }; QualType TgtBinaryDescriptorQTy; - /// \brief Entity that registers the offloading constants that were emitted so + /// Entity that registers the offloading constants that were emitted so /// far. class OffloadEntriesInfoManagerTy { CodeGenModule &CGM; - /// \brief Number of entries registered so far. + /// Number of entries registered so far. unsigned OffloadingEntriesNum = 0; public: @@ -600,68 +600,68 @@ private: bool ShouldMarkAsGlobal = true; llvm::SmallDenseSet<const FunctionDecl *> AlreadyEmittedTargetFunctions; - /// \brief Creates and registers offloading binary descriptor for the current + /// Creates and registers offloading binary descriptor for the current /// compilation unit. The function that does the registration is returned. llvm::Function *createOffloadingBinaryDescriptorRegistration(); - /// \brief Creates all the offload entries in the current compilation unit + /// Creates all the offload entries in the current compilation unit /// along with the associated metadata. void createOffloadEntriesAndInfoMetadata(); - /// \brief Loads all the offload entries information from the host IR + /// Loads all the offload entries information from the host IR /// metadata. void loadOffloadInfoMetadata(); - /// \brief Returns __tgt_offload_entry type. + /// Returns __tgt_offload_entry type. QualType getTgtOffloadEntryQTy(); - /// \brief Returns __tgt_device_image type. + /// Returns __tgt_device_image type. QualType getTgtDeviceImageQTy(); - /// \brief Returns __tgt_bin_desc type. + /// Returns __tgt_bin_desc type. QualType getTgtBinaryDescriptorQTy(); - /// \brief Start scanning from statement \a S and and emit all target regions + /// Start scanning from statement \a S and and emit all target regions /// found along the way. /// \param S Starting statement. /// \param ParentName Name of the function declaration that is being scanned. void scanForTargetRegionsFunctions(const Stmt *S, StringRef ParentName); - /// \brief Build type kmp_routine_entry_t (if not built yet). + /// Build type kmp_routine_entry_t (if not built yet). void emitKmpRoutineEntryT(QualType KmpInt32Ty); - /// \brief Returns pointer to kmpc_micro type. + /// Returns pointer to kmpc_micro type. llvm::Type *getKmpc_MicroPointerTy(); - /// \brief Returns specified OpenMP runtime function. + /// Returns specified OpenMP runtime function. /// \param Function OpenMP runtime function. /// \return Specified function. llvm::Constant *createRuntimeFunction(unsigned Function); - /// \brief Returns __kmpc_for_static_init_* runtime function for the specified + /// Returns __kmpc_for_static_init_* runtime function for the specified /// size \a IVSize and sign \a IVSigned. llvm::Constant *createForStaticInitFunction(unsigned IVSize, bool IVSigned); - /// \brief Returns __kmpc_dispatch_init_* runtime function for the specified + /// Returns __kmpc_dispatch_init_* runtime function for the specified /// size \a IVSize and sign \a IVSigned. llvm::Constant *createDispatchInitFunction(unsigned IVSize, bool IVSigned); - /// \brief Returns __kmpc_dispatch_next_* runtime function for the specified + /// Returns __kmpc_dispatch_next_* runtime function for the specified /// size \a IVSize and sign \a IVSigned. llvm::Constant *createDispatchNextFunction(unsigned IVSize, bool IVSigned); - /// \brief Returns __kmpc_dispatch_fini_* runtime function for the specified + /// Returns __kmpc_dispatch_fini_* runtime function for the specified /// size \a IVSize and sign \a IVSigned. llvm::Constant *createDispatchFiniFunction(unsigned IVSize, bool IVSigned); - /// \brief If the specified mangled name is not in the module, create and + /// If the specified mangled name is not in the module, create and /// return threadprivate cache object. This object is a pointer's worth of /// storage that's reserved for use by the OpenMP runtime. /// \param VD Threadprivate variable. /// \return Cache variable for the specified threadprivate. llvm::Constant *getOrCreateThreadPrivateCache(const VarDecl *VD); - /// \brief Gets (if variable with the given name already exist) or creates + /// Gets (if variable with the given name already exist) or creates /// internal global variable with the specified Name. The created variable has /// linkage CommonLinkage by default and is initialized by null value. /// \param Ty Type of the global variable. If it is exist already the type @@ -670,13 +670,13 @@ private: llvm::Constant *getOrCreateInternalVariable(llvm::Type *Ty, const llvm::Twine &Name); - /// \brief Set of threadprivate variables with the generated initializer. + /// Set of threadprivate variables with the generated initializer. llvm::SmallPtrSet<const VarDecl *, 4> ThreadPrivateWithDefinition; /// Set of declare target variables with the generated initializer. llvm::SmallPtrSet<const VarDecl *, 4> DeclareTargetWithDefinition; - /// \brief Emits initialization code for the threadprivate variables. + /// Emits initialization code for the threadprivate variables. /// \param VDAddr Address of the global variable \a VD. /// \param Ctor Pointer to a global init function for \a VD. /// \param CopyCtor Pointer to a global copy function for \a VD. @@ -686,7 +686,7 @@ private: llvm::Value *Ctor, llvm::Value *CopyCtor, llvm::Value *Dtor, SourceLocation Loc); - /// \brief Returns corresponding lock object for the specified critical region + /// Returns corresponding lock object for the specified critical region /// name. If the lock object does not exist it is created, otherwise the /// reference to the existing copy is returned. /// \param CriticalName Name of the critical region. @@ -744,7 +744,7 @@ public: virtual std::pair<llvm::Function *, llvm::Function *> getUserDefinedReduction(const OMPDeclareReductionDecl *D); - /// \brief Emits outlined function for the specified OpenMP parallel directive + /// Emits outlined function for the specified OpenMP parallel directive /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). /// \param D OpenMP directive. @@ -756,7 +756,7 @@ public: const OMPExecutableDirective &D, const VarDecl *ThreadIDVar, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen); - /// \brief Emits outlined function for the specified OpenMP teams directive + /// Emits outlined function for the specified OpenMP teams directive /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). /// \param D OpenMP directive. @@ -768,7 +768,7 @@ public: const OMPExecutableDirective &D, const VarDecl *ThreadIDVar, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen); - /// \brief Emits outlined function for the OpenMP task directive \a D. This + /// Emits outlined function for the OpenMP task directive \a D. This /// outlined function has type void(*)(kmp_int32 ThreadID, struct task_t* /// TaskT). /// \param D OpenMP directive. @@ -789,11 +789,11 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen, bool Tied, unsigned &NumberOfParts); - /// \brief Cleans up references to the objects in finished function. + /// Cleans up references to the objects in finished function. /// virtual void functionFinished(CodeGenFunction &CGF); - /// \brief Emits code for parallel or serial call of the \a OutlinedFn with + /// Emits code for parallel or serial call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run in parallel threads. Type of @@ -808,7 +808,7 @@ public: ArrayRef<llvm::Value *> CapturedVars, const Expr *IfCond); - /// \brief Emits a critical region. + /// Emits a critical region. /// \param CriticalName Name of the critical region. /// \param CriticalOpGen Generator for the statement associated with the given /// critical region. @@ -818,24 +818,24 @@ public: SourceLocation Loc, const Expr *Hint = nullptr); - /// \brief Emits a master region. + /// Emits a master region. /// \param MasterOpGen Generator for the statement associated with the given /// master region. virtual void emitMasterRegion(CodeGenFunction &CGF, const RegionCodeGenTy &MasterOpGen, SourceLocation Loc); - /// \brief Emits code for a taskyield directive. + /// Emits code for a taskyield directive. virtual void emitTaskyieldCall(CodeGenFunction &CGF, SourceLocation Loc); - /// \brief Emit a taskgroup region. + /// Emit a taskgroup region. /// \param TaskgroupOpGen Generator for the statement associated with the /// given taskgroup region. virtual void emitTaskgroupRegion(CodeGenFunction &CGF, const RegionCodeGenTy &TaskgroupOpGen, SourceLocation Loc); - /// \brief Emits a single region. + /// Emits a single region. /// \param SingleOpGen Generator for the statement associated with the given /// single region. virtual void emitSingleRegion(CodeGenFunction &CGF, @@ -846,14 +846,14 @@ public: ArrayRef<const Expr *> SrcExprs, ArrayRef<const Expr *> AssignmentOps); - /// \brief Emit an ordered region. + /// Emit an ordered region. /// \param OrderedOpGen Generator for the statement associated with the given /// ordered region. virtual void emitOrderedRegion(CodeGenFunction &CGF, const RegionCodeGenTy &OrderedOpGen, SourceLocation Loc, bool IsThreads); - /// \brief Emit an implicit/explicit barrier for OpenMP threads. + /// Emit an implicit/explicit barrier for OpenMP threads. /// \param Kind Directive for which this implicit barrier call must be /// generated. Must be OMPD_barrier for explicit barrier generation. /// \param EmitChecks true if need to emit checks for cancellation barriers. @@ -866,7 +866,7 @@ public: bool EmitChecks = true, bool ForceSimpleCall = false); - /// \brief Check if the specified \a ScheduleKind is static non-chunked. + /// Check if the specified \a ScheduleKind is static non-chunked. /// This kind of worksharing directive is emitted without outer loop. /// \param ScheduleKind Schedule kind specified in the 'schedule' clause. /// \param Chunked True if chunk is specified in the clause. @@ -874,7 +874,7 @@ public: virtual bool isStaticNonchunked(OpenMPScheduleClauseKind ScheduleKind, bool Chunked) const; - /// \brief Check if the specified \a ScheduleKind is static non-chunked. + /// Check if the specified \a ScheduleKind is static non-chunked. /// This kind of distribute directive is emitted without outer loop. /// \param ScheduleKind Schedule kind specified in the 'dist_schedule' clause. /// \param Chunked True if chunk is specified in the clause. @@ -882,7 +882,7 @@ public: virtual bool isStaticNonchunked(OpenMPDistScheduleClauseKind ScheduleKind, bool Chunked) const; - /// \brief Check if the specified \a ScheduleKind is dynamic. + /// Check if the specified \a ScheduleKind is dynamic. /// This kind of worksharing directive is emitted without outer loop. /// \param ScheduleKind Schedule Kind specified in the 'schedule' clause. /// @@ -955,7 +955,7 @@ public: : IVSize(IVSize), IVSigned(IVSigned), Ordered(Ordered), IL(IL), LB(LB), UB(UB), ST(ST), Chunk(Chunk) {} }; - /// \brief Call the appropriate runtime routine to initialize it before start + /// Call the appropriate runtime routine to initialize it before start /// of loop. /// /// This is used only in case of static schedule, when the user did not @@ -986,7 +986,7 @@ public: OpenMPDistScheduleClauseKind SchedKind, const StaticRTInput &Values); - /// \brief Call the appropriate runtime routine to notify that we finished + /// Call the appropriate runtime routine to notify that we finished /// iteration of the ordered loop with the dynamic scheduling. /// /// \param CGF Reference to current CodeGenFunction. @@ -998,7 +998,7 @@ public: SourceLocation Loc, unsigned IVSize, bool IVSigned); - /// \brief Call the appropriate runtime routine to notify that we finished + /// Call the appropriate runtime routine to notify that we finished /// all the work with current loop. /// /// \param CGF Reference to current CodeGenFunction. @@ -1027,7 +1027,7 @@ public: Address IL, Address LB, Address UB, Address ST); - /// \brief Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 + /// Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 /// global_tid, kmp_int32 num_threads) to generate code for 'num_threads' /// clause. /// \param NumThreads An integer value of threads. @@ -1035,13 +1035,13 @@ public: llvm::Value *NumThreads, SourceLocation Loc); - /// \brief Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 + /// Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 /// global_tid, int proc_bind) to generate code for 'proc_bind' clause. virtual void emitProcBindClause(CodeGenFunction &CGF, OpenMPProcBindClauseKind ProcBind, SourceLocation Loc); - /// \brief Returns address of the threadprivate variable for the current + /// Returns address of the threadprivate variable for the current /// thread. /// \param VD Threadprivate variable. /// \param VDAddr Address of the global variable \a VD. @@ -1056,7 +1056,7 @@ public: /// clause. virtual Address getAddrOfDeclareTargetLink(const VarDecl *VD); - /// \brief Emit a code for initialization of threadprivate variable. It emits + /// Emit a code for initialization of threadprivate variable. It emits /// a call to runtime library which adds initial value to the newly created /// threadprivate variable (if it is not constant) and registers destructor /// for the variable (if any). @@ -1069,7 +1069,7 @@ public: SourceLocation Loc, bool PerformInit, CodeGenFunction *CGF = nullptr); - /// \brief Emit a code for initialization of declare target variable. + /// Emit a code for initialization of declare target variable. /// \param VD Declare target variable. /// \param Addr Address of the global variable \a VD. /// \param PerformInit true if initialization expression is not constant. @@ -1085,12 +1085,12 @@ public: QualType VarType, StringRef Name); - /// \brief Emit flush of the variables specified in 'omp flush' directive. + /// Emit flush of the variables specified in 'omp flush' directive. /// \param Vars List of variables to flush. virtual void emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *> Vars, SourceLocation Loc); - /// \brief Emit task region for the task directive. The task region is + /// Emit task region for the task directive. The task region is /// emitted in several steps: /// 1. Emit a call to kmp_task_t *__kmpc_omp_task_alloc(ident_t *, kmp_int32 /// gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, @@ -1157,7 +1157,7 @@ public: llvm::Value *TaskFunction, QualType SharedsTy, Address Shareds, const Expr *IfCond, const OMPTaskDataTy &Data); - /// \brief Emit code for the directive that does not require outlining. + /// Emit code for the directive that does not require outlining. /// /// \param InnermostKind Kind of innermost directive (for simple directives it /// is a directive itself, for combined - its innermost directive). @@ -1195,7 +1195,7 @@ public: bool SimpleReduction; OpenMPDirectiveKind ReductionKind; }; - /// \brief Emit a code for reduction clause. Next code should be emitted for + /// Emit a code for reduction clause. Next code should be emitted for /// reduction: /// \code /// @@ -1289,10 +1289,10 @@ public: llvm::Value *ReductionsPtr, LValue SharedLVal); - /// \brief Emit code for 'taskwait' directive. + /// Emit code for 'taskwait' directive. virtual void emitTaskwaitCall(CodeGenFunction &CGF, SourceLocation Loc); - /// \brief Emit code for 'cancellation point' construct. + /// Emit code for 'cancellation point' construct. /// \param CancelRegion Region kind for which the cancellation point must be /// emitted. /// @@ -1300,7 +1300,7 @@ public: SourceLocation Loc, OpenMPDirectiveKind CancelRegion); - /// \brief Emit code for 'cancel' construct. + /// Emit code for 'cancel' construct. /// \param IfCond Condition in the associated 'if' clause, if it was /// specified, nullptr otherwise. /// \param CancelRegion Region kind for which the cancel must be emitted. @@ -1309,7 +1309,7 @@ public: const Expr *IfCond, OpenMPDirectiveKind CancelRegion); - /// \brief Emit outilined function for 'target' directive. + /// Emit outilined function for 'target' directive. /// \param D Directive to emit. /// \param ParentName Name of the function that encloses the target region. /// \param OutlinedFn Outlined function value to be defined by this call. @@ -1325,7 +1325,7 @@ public: bool IsOffloadEntry, const RegionCodeGenTy &CodeGen); - /// \brief Emit the target offloading code associated with \a D. The emitted + /// Emit the target offloading code associated with \a D. The emitted /// code attempts offloading the execution to the device, an the event of /// a failure it executes the host version outlined in \a OutlinedFn. /// \param D Directive to emit. @@ -1341,13 +1341,13 @@ public: llvm::Value *OutlinedFnID, const Expr *IfCond, const Expr *Device); - /// \brief Emit the target regions enclosed in \a GD function definition or + /// Emit the target regions enclosed in \a GD function definition or /// the function itself in case it is a valid device function. Returns true if /// \a GD was dealt with successfully. /// \param GD Function to scan. virtual bool emitTargetFunctions(GlobalDecl GD); - /// \brief Emit the global variable if it is a valid device global variable. + /// Emit the global variable if it is a valid device global variable. /// Returns true if \a GD was dealt with successfully. /// \param GD Variable declaration to emit. virtual bool emitTargetGlobalVariable(GlobalDecl GD); @@ -1357,17 +1357,17 @@ public: virtual void registerTargetGlobalVariable(const VarDecl *VD, llvm::Constant *Addr); - /// \brief Emit the global \a GD if it is meaningful for the target. Returns + /// Emit the global \a GD if it is meaningful for the target. Returns /// if it was emitted successfully. /// \param GD Global to scan. virtual bool emitTargetGlobal(GlobalDecl GD); - /// \brief Creates the offloading descriptor in the event any target region + /// Creates the offloading descriptor in the event any target region /// was emitted in the current module and return the function that registers /// it. virtual llvm::Function *emitRegistrationFunction(); - /// \brief Emits code for teams call of the \a OutlinedFn with + /// Emits code for teams call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run by team masters. Type of @@ -1380,7 +1380,7 @@ public: SourceLocation Loc, llvm::Value *OutlinedFn, ArrayRef<llvm::Value *> CapturedVars); - /// \brief Emits call to void __kmpc_push_num_teams(ident_t *loc, kmp_int32 + /// Emits call to void __kmpc_push_num_teams(ident_t *loc, kmp_int32 /// global_tid, kmp_int32 num_teams, kmp_int32 thread_limit) to generate code /// for num_teams clause. /// \param NumTeams An integer expression of teams. @@ -1428,7 +1428,7 @@ public: bool requiresDevicePointerInfo() { return RequiresDevicePointerInfo; } }; - /// \brief Emit the target data mapping code associated with \a D. + /// Emit the target data mapping code associated with \a D. /// \param D Directive to emit. /// \param IfCond Expression evaluated in if clause associated with the /// target directive, or null if no device clause is used. @@ -1442,7 +1442,7 @@ public: const RegionCodeGenTy &CodeGen, TargetDataInfo &Info); - /// \brief Emit the data mapping/movement code associated with the directive + /// Emit the data mapping/movement code associated with the directive /// \a D that should be of the form 'target [{enter|exit} data | update]'. /// \param D Directive to emit. /// \param IfCond Expression evaluated in if clause associated with the target @@ -1515,7 +1515,7 @@ public: explicit CGOpenMPSIMDRuntime(CodeGenModule &CGM) : CGOpenMPRuntime(CGM) {} ~CGOpenMPSIMDRuntime() override {} - /// \brief Emits outlined function for the specified OpenMP parallel directive + /// Emits outlined function for the specified OpenMP parallel directive /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). /// \param D OpenMP directive. @@ -1529,7 +1529,7 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen) override; - /// \brief Emits outlined function for the specified OpenMP teams directive + /// Emits outlined function for the specified OpenMP teams directive /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). /// \param D OpenMP directive. @@ -1543,7 +1543,7 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen) override; - /// \brief Emits outlined function for the OpenMP task directive \a D. This + /// Emits outlined function for the OpenMP task directive \a D. This /// outlined function has type void(*)(kmp_int32 ThreadID, struct task_t* /// TaskT). /// \param D OpenMP directive. @@ -1564,7 +1564,7 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen, bool Tied, unsigned &NumberOfParts) override; - /// \brief Emits code for parallel or serial call of the \a OutlinedFn with + /// Emits code for parallel or serial call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run in parallel threads. Type of @@ -1579,7 +1579,7 @@ public: ArrayRef<llvm::Value *> CapturedVars, const Expr *IfCond) override; - /// \brief Emits a critical region. + /// Emits a critical region. /// \param CriticalName Name of the critical region. /// \param CriticalOpGen Generator for the statement associated with the given /// critical region. @@ -1589,24 +1589,24 @@ public: SourceLocation Loc, const Expr *Hint = nullptr) override; - /// \brief Emits a master region. + /// Emits a master region. /// \param MasterOpGen Generator for the statement associated with the given /// master region. void emitMasterRegion(CodeGenFunction &CGF, const RegionCodeGenTy &MasterOpGen, SourceLocation Loc) override; - /// \brief Emits code for a taskyield directive. + /// Emits code for a taskyield directive. void emitTaskyieldCall(CodeGenFunction &CGF, SourceLocation Loc) override; - /// \brief Emit a taskgroup region. + /// Emit a taskgroup region. /// \param TaskgroupOpGen Generator for the statement associated with the /// given taskgroup region. void emitTaskgroupRegion(CodeGenFunction &CGF, const RegionCodeGenTy &TaskgroupOpGen, SourceLocation Loc) override; - /// \brief Emits a single region. + /// Emits a single region. /// \param SingleOpGen Generator for the statement associated with the given /// single region. void emitSingleRegion(CodeGenFunction &CGF, @@ -1616,14 +1616,14 @@ public: ArrayRef<const Expr *> SrcExprs, ArrayRef<const Expr *> AssignmentOps) override; - /// \brief Emit an ordered region. + /// Emit an ordered region. /// \param OrderedOpGen Generator for the statement associated with the given /// ordered region. void emitOrderedRegion(CodeGenFunction &CGF, const RegionCodeGenTy &OrderedOpGen, SourceLocation Loc, bool IsThreads) override; - /// \brief Emit an implicit/explicit barrier for OpenMP threads. + /// Emit an implicit/explicit barrier for OpenMP threads. /// \param Kind Directive for which this implicit barrier call must be /// generated. Must be OMPD_barrier for explicit barrier generation. /// \param EmitChecks true if need to emit checks for cancellation barriers. @@ -1656,7 +1656,7 @@ public: unsigned IVSize, bool IVSigned, bool Ordered, const DispatchRTInput &DispatchValues) override; - /// \brief Call the appropriate runtime routine to initialize it before start + /// Call the appropriate runtime routine to initialize it before start /// of loop. /// /// This is used only in case of static schedule, when the user did not @@ -1686,7 +1686,7 @@ public: OpenMPDistScheduleClauseKind SchedKind, const StaticRTInput &Values) override; - /// \brief Call the appropriate runtime routine to notify that we finished + /// Call the appropriate runtime routine to notify that we finished /// iteration of the ordered loop with the dynamic scheduling. /// /// \param CGF Reference to current CodeGenFunction. @@ -1697,7 +1697,7 @@ public: void emitForOrderedIterationEnd(CodeGenFunction &CGF, SourceLocation Loc, unsigned IVSize, bool IVSigned) override; - /// \brief Call the appropriate runtime routine to notify that we finished + /// Call the appropriate runtime routine to notify that we finished /// all the work with current loop. /// /// \param CGF Reference to current CodeGenFunction. @@ -1725,20 +1725,20 @@ public: unsigned IVSize, bool IVSigned, Address IL, Address LB, Address UB, Address ST) override; - /// \brief Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 + /// Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 /// global_tid, kmp_int32 num_threads) to generate code for 'num_threads' /// clause. /// \param NumThreads An integer value of threads. void emitNumThreadsClause(CodeGenFunction &CGF, llvm::Value *NumThreads, SourceLocation Loc) override; - /// \brief Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 + /// Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 /// global_tid, int proc_bind) to generate code for 'proc_bind' clause. void emitProcBindClause(CodeGenFunction &CGF, OpenMPProcBindClauseKind ProcBind, SourceLocation Loc) override; - /// \brief Returns address of the threadprivate variable for the current + /// Returns address of the threadprivate variable for the current /// thread. /// \param VD Threadprivate variable. /// \param VDAddr Address of the global variable \a VD. @@ -1747,7 +1747,7 @@ public: Address getAddrOfThreadPrivate(CodeGenFunction &CGF, const VarDecl *VD, Address VDAddr, SourceLocation Loc) override; - /// \brief Emit a code for initialization of threadprivate variable. It emits + /// Emit a code for initialization of threadprivate variable. It emits /// a call to runtime library which adds initial value to the newly created /// threadprivate variable (if it is not constant) and registers destructor /// for the variable (if any). @@ -1768,12 +1768,12 @@ public: QualType VarType, StringRef Name) override; - /// \brief Emit flush of the variables specified in 'omp flush' directive. + /// Emit flush of the variables specified in 'omp flush' directive. /// \param Vars List of variables to flush. void emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *> Vars, SourceLocation Loc) override; - /// \brief Emit task region for the task directive. The task region is + /// Emit task region for the task directive. The task region is /// emitted in several steps: /// 1. Emit a call to kmp_task_t *__kmpc_omp_task_alloc(ident_t *, kmp_int32 /// gtid, kmp_int32 flags, size_t sizeof_kmp_task_t, size_t sizeof_shareds, @@ -1839,7 +1839,7 @@ public: QualType SharedsTy, Address Shareds, const Expr *IfCond, const OMPTaskDataTy &Data) override; - /// \brief Emit a code for reduction clause. Next code should be emitted for + /// Emit a code for reduction clause. Next code should be emitted for /// reduction: /// \code /// @@ -1932,17 +1932,17 @@ public: llvm::Value *ReductionsPtr, LValue SharedLVal) override; - /// \brief Emit code for 'taskwait' directive. + /// Emit code for 'taskwait' directive. void emitTaskwaitCall(CodeGenFunction &CGF, SourceLocation Loc) override; - /// \brief Emit code for 'cancellation point' construct. + /// Emit code for 'cancellation point' construct. /// \param CancelRegion Region kind for which the cancellation point must be /// emitted. /// void emitCancellationPointCall(CodeGenFunction &CGF, SourceLocation Loc, OpenMPDirectiveKind CancelRegion) override; - /// \brief Emit code for 'cancel' construct. + /// Emit code for 'cancel' construct. /// \param IfCond Condition in the associated 'if' clause, if it was /// specified, nullptr otherwise. /// \param CancelRegion Region kind for which the cancel must be emitted. @@ -1951,7 +1951,7 @@ public: const Expr *IfCond, OpenMPDirectiveKind CancelRegion) override; - /// \brief Emit outilined function for 'target' directive. + /// Emit outilined function for 'target' directive. /// \param D Directive to emit. /// \param ParentName Name of the function that encloses the target region. /// \param OutlinedFn Outlined function value to be defined by this call. @@ -1967,7 +1967,7 @@ public: bool IsOffloadEntry, const RegionCodeGenTy &CodeGen) override; - /// \brief Emit the target offloading code associated with \a D. The emitted + /// Emit the target offloading code associated with \a D. The emitted /// code attempts offloading the execution to the device, an the event of /// a failure it executes the host version outlined in \a OutlinedFn. /// \param D Directive to emit. @@ -1981,28 +1981,28 @@ public: llvm::Value *OutlinedFn, llvm::Value *OutlinedFnID, const Expr *IfCond, const Expr *Device) override; - /// \brief Emit the target regions enclosed in \a GD function definition or + /// Emit the target regions enclosed in \a GD function definition or /// the function itself in case it is a valid device function. Returns true if /// \a GD was dealt with successfully. /// \param GD Function to scan. bool emitTargetFunctions(GlobalDecl GD) override; - /// \brief Emit the global variable if it is a valid device global variable. + /// Emit the global variable if it is a valid device global variable. /// Returns true if \a GD was dealt with successfully. /// \param GD Variable declaration to emit. bool emitTargetGlobalVariable(GlobalDecl GD) override; - /// \brief Emit the global \a GD if it is meaningful for the target. Returns + /// Emit the global \a GD if it is meaningful for the target. Returns /// if it was emitted successfully. /// \param GD Global to scan. bool emitTargetGlobal(GlobalDecl GD) override; - /// \brief Creates the offloading descriptor in the event any target region + /// Creates the offloading descriptor in the event any target region /// was emitted in the current module and return the function that registers /// it. llvm::Function *emitRegistrationFunction() override; - /// \brief Emits code for teams call of the \a OutlinedFn with + /// Emits code for teams call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run by team masters. Type of @@ -2014,7 +2014,7 @@ public: SourceLocation Loc, llvm::Value *OutlinedFn, ArrayRef<llvm::Value *> CapturedVars) override; - /// \brief Emits call to void __kmpc_push_num_teams(ident_t *loc, kmp_int32 + /// Emits call to void __kmpc_push_num_teams(ident_t *loc, kmp_int32 /// global_tid, kmp_int32 num_teams, kmp_int32 thread_limit) to generate code /// for num_teams clause. /// \param NumTeams An integer expression of teams. @@ -2022,7 +2022,7 @@ public: void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams, const Expr *ThreadLimit, SourceLocation Loc) override; - /// \brief Emit the target data mapping code associated with \a D. + /// Emit the target data mapping code associated with \a D. /// \param D Directive to emit. /// \param IfCond Expression evaluated in if clause associated with the /// target directive, or null if no device clause is used. @@ -2035,7 +2035,7 @@ public: const Expr *Device, const RegionCodeGenTy &CodeGen, TargetDataInfo &Info) override; - /// \brief Emit the data mapping/movement code associated with the directive + /// Emit the data mapping/movement code associated with the directive /// \a D that should be of the form 'target [{enter|exit} data | update]'. /// \param D Directive to emit. /// \param IfCond Expression evaluated in if clause associated with the target diff --git a/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp b/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp index 19b3147d26..cee5ca65fc 100644 --- a/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp +++ b/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp @@ -24,24 +24,24 @@ using namespace CodeGen; namespace { enum OpenMPRTLFunctionNVPTX { - /// \brief Call to void __kmpc_kernel_init(kmp_int32 thread_limit, + /// Call to void __kmpc_kernel_init(kmp_int32 thread_limit, /// int16_t RequiresOMPRuntime); OMPRTL_NVPTX__kmpc_kernel_init, - /// \brief Call to void __kmpc_kernel_deinit(int16_t IsOMPRuntimeInitialized); + /// Call to void __kmpc_kernel_deinit(int16_t IsOMPRuntimeInitialized); OMPRTL_NVPTX__kmpc_kernel_deinit, - /// \brief Call to void __kmpc_spmd_kernel_init(kmp_int32 thread_limit, + /// Call to void __kmpc_spmd_kernel_init(kmp_int32 thread_limit, /// int16_t RequiresOMPRuntime, int16_t RequiresDataSharing); OMPRTL_NVPTX__kmpc_spmd_kernel_init, - /// \brief Call to void __kmpc_spmd_kernel_deinit(); + /// Call to void __kmpc_spmd_kernel_deinit(); OMPRTL_NVPTX__kmpc_spmd_kernel_deinit, - /// \brief Call to void __kmpc_kernel_prepare_parallel(void + /// Call to void __kmpc_kernel_prepare_parallel(void /// *outlined_function, int16_t /// IsOMPRuntimeInitialized); OMPRTL_NVPTX__kmpc_kernel_prepare_parallel, - /// \brief Call to bool __kmpc_kernel_parallel(void **outlined_function, + /// Call to bool __kmpc_kernel_parallel(void **outlined_function, /// int16_t IsOMPRuntimeInitialized); OMPRTL_NVPTX__kmpc_kernel_parallel, - /// \brief Call to void __kmpc_kernel_end_parallel(); + /// Call to void __kmpc_kernel_end_parallel(); OMPRTL_NVPTX__kmpc_kernel_end_parallel, /// Call to void __kmpc_serialized_parallel(ident_t *loc, kmp_int32 /// global_tid); @@ -49,25 +49,25 @@ enum OpenMPRTLFunctionNVPTX { /// Call to void __kmpc_end_serialized_parallel(ident_t *loc, kmp_int32 /// global_tid); OMPRTL_NVPTX__kmpc_end_serialized_parallel, - /// \brief Call to int32_t __kmpc_shuffle_int32(int32_t element, + /// Call to int32_t __kmpc_shuffle_int32(int32_t element, /// int16_t lane_offset, int16_t warp_size); OMPRTL_NVPTX__kmpc_shuffle_int32, - /// \brief Call to int64_t __kmpc_shuffle_int64(int64_t element, + /// Call to int64_t __kmpc_shuffle_int64(int64_t element, /// int16_t lane_offset, int16_t warp_size); OMPRTL_NVPTX__kmpc_shuffle_int64, - /// \brief Call to __kmpc_nvptx_parallel_reduce_nowait(kmp_int32 + /// Call to __kmpc_nvptx_parallel_reduce_nowait(kmp_int32 /// global_tid, kmp_int32 num_vars, size_t reduce_size, void* reduce_data, /// void (*kmp_ShuffleReductFctPtr)(void *rhsData, int16_t lane_id, int16_t /// lane_offset, int16_t shortCircuit), /// void (*kmp_InterWarpCopyFctPtr)(void* src, int32_t warp_num)); OMPRTL_NVPTX__kmpc_parallel_reduce_nowait, - /// \brief Call to __kmpc_nvptx_simd_reduce_nowait(kmp_int32 + /// Call to __kmpc_nvptx_simd_reduce_nowait(kmp_int32 /// global_tid, kmp_int32 num_vars, size_t reduce_size, void* reduce_data, /// void (*kmp_ShuffleReductFctPtr)(void *rhsData, int16_t lane_id, int16_t /// lane_offset, int16_t shortCircuit), /// void (*kmp_InterWarpCopyFctPtr)(void* src, int32_t warp_num)); OMPRTL_NVPTX__kmpc_simd_reduce_nowait, - /// \brief Call to __kmpc_nvptx_teams_reduce_nowait(int32_t global_tid, + /// Call to __kmpc_nvptx_teams_reduce_nowait(int32_t global_tid, /// int32_t num_vars, size_t reduce_size, void *reduce_data, /// void (*kmp_ShuffleReductFctPtr)(void *rhs, int16_t lane_id, int16_t /// lane_offset, int16_t shortCircuit), @@ -77,21 +77,21 @@ enum OpenMPRTLFunctionNVPTX { /// void (*kmp_LoadReduceFctPtr)(void *reduce_data, void * scratchpad, int32_t /// index, int32_t width, int32_t reduce)) OMPRTL_NVPTX__kmpc_teams_reduce_nowait, - /// \brief Call to __kmpc_nvptx_end_reduce_nowait(int32_t global_tid); + /// Call to __kmpc_nvptx_end_reduce_nowait(int32_t global_tid); OMPRTL_NVPTX__kmpc_end_reduce_nowait, - /// \brief Call to void __kmpc_data_sharing_init_stack(); + /// Call to void __kmpc_data_sharing_init_stack(); OMPRTL_NVPTX__kmpc_data_sharing_init_stack, - /// \brief Call to void* __kmpc_data_sharing_push_stack(size_t size, + /// Call to void* __kmpc_data_sharing_push_stack(size_t size, /// int16_t UseSharedMemory); OMPRTL_NVPTX__kmpc_data_sharing_push_stack, - /// \brief Call to void __kmpc_data_sharing_pop_stack(void *a); + /// Call to void __kmpc_data_sharing_pop_stack(void *a); OMPRTL_NVPTX__kmpc_data_sharing_pop_stack, - /// \brief Call to void __kmpc_begin_sharing_variables(void ***args, + /// Call to void __kmpc_begin_sharing_variables(void ***args, /// size_t n_args); OMPRTL_NVPTX__kmpc_begin_sharing_variables, - /// \brief Call to void __kmpc_end_sharing_variables(); + /// Call to void __kmpc_end_sharing_variables(); OMPRTL_NVPTX__kmpc_end_sharing_variables, - /// \brief Call to void __kmpc_get_shared_variables(void ***GlobalArgs) + /// Call to void __kmpc_get_shared_variables(void ***GlobalArgs) OMPRTL_NVPTX__kmpc_get_shared_variables, /// Call to uint16_t __kmpc_parallel_level(ident_t *loc, kmp_int32 /// global_tid); @@ -1078,7 +1078,7 @@ void CGOpenMPRuntimeNVPTX::emitWorkerLoop(CodeGenFunction &CGF, CGF.EmitBlock(ExitBB); } -/// \brief Returns specified OpenMP runtime function for the current OpenMP +/// Returns specified OpenMP runtime function for the current OpenMP /// implementation. Specialized for the NVPTX device. /// \param Function OpenMP runtime function. /// \return Specified function. diff --git a/lib/CodeGen/CGOpenMPRuntimeNVPTX.h b/lib/CodeGen/CGOpenMPRuntimeNVPTX.h index ac8011dc79..88420b9049 100644 --- a/lib/CodeGen/CGOpenMPRuntimeNVPTX.h +++ b/lib/CodeGen/CGOpenMPRuntimeNVPTX.h @@ -46,18 +46,18 @@ private: bool isInSpmdExecutionMode() const; - /// \brief Emit the worker function for the current target region. + /// Emit the worker function for the current target region. void emitWorkerFunction(WorkerFunctionState &WST); - /// \brief Helper for worker function. Emit body of worker loop. + /// Helper for worker function. Emit body of worker loop. void emitWorkerLoop(CodeGenFunction &CGF, WorkerFunctionState &WST); - /// \brief Helper for non-SPMD target entry function. Guide the master and + /// Helper for non-SPMD target entry function. Guide the master and /// worker threads to their respective locations. void emitNonSPMDEntryHeader(CodeGenFunction &CGF, EntryFunctionState &EST, WorkerFunctionState &WST); - /// \brief Signal termination of OMP execution for non-SPMD target entry + /// Signal termination of OMP execution for non-SPMD target entry /// function. void emitNonSPMDEntryFooter(CodeGenFunction &CGF, EntryFunctionState &EST); @@ -67,24 +67,24 @@ private: /// Helper for generic variables globalization epilog. void emitGenericVarsEpilog(CodeGenFunction &CGF); - /// \brief Helper for Spmd mode target directive's entry function. + /// Helper for Spmd mode target directive's entry function. void emitSpmdEntryHeader(CodeGenFunction &CGF, EntryFunctionState &EST, const OMPExecutableDirective &D); - /// \brief Signal termination of Spmd mode execution. + /// Signal termination of Spmd mode execution. void emitSpmdEntryFooter(CodeGenFunction &CGF, EntryFunctionState &EST); // // Base class overrides. // - /// \brief Creates offloading entry for the provided entry ID \a ID, + /// Creates offloading entry for the provided entry ID \a ID, /// address \a Addr, size \a Size, and flags \a Flags. void createOffloadEntry(llvm::Constant *ID, llvm::Constant *Addr, uint64_t Size, int32_t Flags, llvm::GlobalValue::LinkageTypes Linkage) override; - /// \brief Emit outlined function specialized for the Fork-Join + /// Emit outlined function specialized for the Fork-Join /// programming model for applicable target directives on the NVPTX device. /// \param D Directive to emit. /// \param ParentName Name of the function that encloses the target region. @@ -98,7 +98,7 @@ private: llvm::Constant *&OutlinedFnID, bool IsOffloadEntry, const RegionCodeGenTy &CodeGen); - /// \brief Emit outlined function specialized for the Single Program + /// Emit outlined function specialized for the Single Program /// Multiple Data programming model for applicable target directives on the /// NVPTX device. /// \param D Directive to emit. @@ -114,7 +114,7 @@ private: llvm::Constant *&OutlinedFnID, bool IsOffloadEntry, const RegionCodeGenTy &CodeGen); - /// \brief Emit outlined function for 'target' directive on the NVPTX + /// Emit outlined function for 'target' directive on the NVPTX /// device. /// \param D Directive to emit. /// \param ParentName Name of the function that encloses the target region. @@ -130,7 +130,7 @@ private: bool IsOffloadEntry, const RegionCodeGenTy &CodeGen) override; - /// \brief Emits code for parallel or serial call of the \a OutlinedFn with + /// Emits code for parallel or serial call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// This call is for the Non-SPMD Execution Mode. @@ -145,7 +145,7 @@ private: ArrayRef<llvm::Value *> CapturedVars, const Expr *IfCond); - /// \brief Emits code for parallel or serial call of the \a OutlinedFn with + /// Emits code for parallel or serial call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// This call is for a parallel directive within an SPMD target directive. @@ -162,7 +162,7 @@ private: const Expr *IfCond); protected: - /// \brief Get the function name of an outlined region. + /// Get the function name of an outlined region. // The name can be customized depending on the target. // StringRef getOutlinedHelperName() const override { @@ -172,13 +172,13 @@ protected: public: explicit CGOpenMPRuntimeNVPTX(CodeGenModule &CGM); - /// \brief Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 + /// Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 /// global_tid, int proc_bind) to generate code for 'proc_bind' clause. virtual void emitProcBindClause(CodeGenFunction &CGF, OpenMPProcBindClauseKind ProcBind, SourceLocation Loc) override; - /// \brief Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 + /// Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 /// global_tid, kmp_int32 num_threads) to generate code for 'num_threads' /// clause. /// \param NumThreads An integer value of threads. @@ -186,7 +186,7 @@ public: llvm::Value *NumThreads, SourceLocation Loc) override; - /// \brief This function ought to emit, in the general case, a call to + /// This function ought to emit, in the general case, a call to // the openmp runtime kmpc_push_num_teams. In NVPTX backend it is not needed // as these numbers are obtained through the PTX grid and block configuration. /// \param NumTeams An integer expression of teams. @@ -194,7 +194,7 @@ public: void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams, const Expr *ThreadLimit, SourceLocation Loc) override; - /// \brief Emits inlined function for the specified OpenMP parallel + /// Emits inlined function for the specified OpenMP parallel // directive. /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). @@ -209,7 +209,7 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen) override; - /// \brief Emits inlined function for the specified OpenMP teams + /// Emits inlined function for the specified OpenMP teams // directive. /// \a D. This outlined function has type void(*)(kmp_int32 *ThreadID, /// kmp_int32 BoundID, struct context_vars*). @@ -224,7 +224,7 @@ public: OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen) override; - /// \brief Emits code for teams call of the \a OutlinedFn with + /// Emits code for teams call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run by team masters. Type of @@ -236,7 +236,7 @@ public: SourceLocation Loc, llvm::Value *OutlinedFn, ArrayRef<llvm::Value *> CapturedVars) override; - /// \brief Emits code for parallel or serial call of the \a OutlinedFn with + /// Emits code for parallel or serial call of the \a OutlinedFn with /// variables captured in a record which address is stored in \a /// CapturedStruct. /// \param OutlinedFn Outlined function to be run in parallel threads. Type of diff --git a/lib/CodeGen/CGRecordLayout.h b/lib/CodeGen/CGRecordLayout.h index 7b9c27d1d7..41084294ab 100644 --- a/lib/CodeGen/CGRecordLayout.h +++ b/lib/CodeGen/CGRecordLayout.h @@ -23,7 +23,7 @@ namespace llvm { namespace clang { namespace CodeGen { -/// \brief Structure with information about how a bitfield should be accessed. +/// Structure with information about how a bitfield should be accessed. /// /// Often we layout a sequence of bitfields as a contiguous sequence of bits. /// When the AST record layout does this, we represent it in the LLVM IR's type @@ -92,7 +92,7 @@ struct CGBitFieldInfo { void print(raw_ostream &OS) const; void dump() const; - /// \brief Given a bit-field decl, build an appropriate helper object for + /// Given a bit-field decl, build an appropriate helper object for /// accessing that field (which is expected to have the given offset and /// size). static CGBitFieldInfo MakeInfo(class CodeGenTypes &Types, @@ -156,31 +156,31 @@ public: IsZeroInitializable(IsZeroInitializable), IsZeroInitializableAsBase(IsZeroInitializableAsBase) {} - /// \brief Return the "complete object" LLVM type associated with + /// Return the "complete object" LLVM type associated with /// this record. llvm::StructType *getLLVMType() const { return CompleteObjectType; } - /// \brief Return the "base subobject" LLVM type associated with + /// Return the "base subobject" LLVM type associated with /// this record. llvm::StructType *getBaseSubobjectLLVMType() const { return BaseSubobjectType; } - /// \brief Check whether this struct can be C++ zero-initialized + /// Check whether this struct can be C++ zero-initialized /// with a zeroinitializer. bool isZeroInitializable() const { return IsZeroInitializable; } - /// \brief Check whether this struct can be C++ zero-initialized + /// Check whether this struct can be C++ zero-initialized /// with a zeroinitializer when considered as a base subobject. bool isZeroInitializableAsBase() const { return IsZeroInitializableAsBase; } - /// \brief Return llvm::StructType element number that corresponds to the + /// Return llvm::StructType element number that corresponds to the /// field FD. unsigned getLLVMFieldNo(const FieldDecl *FD) const { FD = FD->getCanonicalDecl(); @@ -193,14 +193,14 @@ public: return NonVirtualBases.lookup(RD); } - /// \brief Return the LLVM field index corresponding to the given + /// Return the LLVM field index corresponding to the given /// virtual base. Only valid when operating on the complete object. unsigned getVirtualBaseIndex(const CXXRecordDecl *base) const { assert(CompleteObjectVirtualBases.count(base) && "Invalid virtual base!"); return CompleteObjectVirtualBases.lookup(base); } - /// \brief Return the BitFieldInfo that corresponds to the field FD. + /// Return the BitFieldInfo that corresponds to the field FD. const CGBitFieldInfo &getBitFieldInfo(const FieldDecl *FD) const { FD = FD->getCanonicalDecl(); assert(FD->isBitField() && "Invalid call for non-bit-field decl!"); diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp index aac4e80c7b..2d8f071de6 100644 --- a/lib/CodeGen/CGRecordLayoutBuilder.cpp +++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp @@ -95,7 +95,7 @@ struct CGRecordLowering { // The constructor. CGRecordLowering(CodeGenTypes &Types, const RecordDecl *D, bool Packed); // Short helper routines. - /// \brief Constructs a MemberInfo instance from an offset and llvm::Type *. + /// Constructs a MemberInfo instance from an offset and llvm::Type *. MemberInfo StorageInfo(CharUnits Offset, llvm::Type *Data) { return MemberInfo(Offset, MemberInfo::Field, Data); } @@ -118,19 +118,19 @@ struct CGRecordLowering { return !Context.getTargetInfo().getCXXABI().isMicrosoft(); } - /// \brief Wraps llvm::Type::getIntNTy with some implicit arguments. + /// Wraps llvm::Type::getIntNTy with some implicit arguments. llvm::Type *getIntNType(uint64_t NumBits) { return llvm::Type::getIntNTy(Types.getLLVMContext(), (unsigned)llvm::alignTo(NumBits, 8)); } - /// \brief Gets an llvm type of size NumBytes and alignment 1. + /// Gets an llvm type of size NumBytes and alignment 1. llvm::Type *getByteArrayType(CharUnits NumBytes) { assert(!NumBytes.isZero() && "Empty byte arrays aren't allowed."); llvm::Type *Type = llvm::Type::getInt8Ty(Types.getLLVMContext()); return NumBytes == CharUnits::One() ? Type : (llvm::Type *)llvm::ArrayType::get(Type, NumBytes.getQuantity()); } - /// \brief Gets the storage type for a field decl and handles storage + /// Gets the storage type for a field decl and handles storage /// for itanium bitfields that are smaller than their declared type. llvm::Type *getStorageType(const FieldDecl *FD) { llvm::Type *Type = Types.ConvertTypeForMem(FD->getType()); @@ -139,7 +139,7 @@ struct CGRecordLowering { return getIntNType(std::min(FD->getBitWidthValue(Context), (unsigned)Context.toBits(getSize(Type)))); } - /// \brief Gets the llvm Basesubobject type from a CXXRecordDecl. + /// Gets the llvm Basesubobject type from a CXXRecordDecl. llvm::Type *getStorageType(const CXXRecordDecl *RD) { return Types.getCGRecordLayout(RD).getBaseSubobjectLLVMType(); } @@ -168,7 +168,7 @@ struct CGRecordLowering { // Layout routines. void setBitFieldInfo(const FieldDecl *FD, CharUnits StartOffset, llvm::Type *StorageType); - /// \brief Lowers an ASTRecordLayout to a llvm type. + /// Lowers an ASTRecordLayout to a llvm type. void lower(bool NonVirtualBaseType); void lowerUnion(); void accumulateFields(); @@ -177,18 +177,18 @@ struct CGRecordLowering { void accumulateBases(); void accumulateVPtrs(); void accumulateVBases(); - /// \brief Recursively searches all of the bases to find out if a vbase is + /// Recursively searches all of the bases to find out if a vbase is /// not the primary vbase of some base class. bool hasOwnStorage(const CXXRecordDecl *Decl, const CXXRecordDecl *Query); void calculateZeroInit(); - /// \brief Lowers bitfield storage types to I8 arrays for bitfields with tail + /// Lowers bitfield storage types to I8 arrays for bitfields with tail /// padding that is or can potentially be used. void clipTailPadding(); - /// \brief Determines if we need a packed llvm struct. + /// Determines if we need a packed llvm struct. void determinePacked(bool NVBaseType); - /// \brief Inserts padding everywhere it's needed. + /// Inserts padding everywhere it's needed. void insertPadding(); - /// \brief Fills out the structures that are ultimately consumed. + /// Fills out the structures that are ultimately consumed. void fillOutputFields(); // Input memoization fields. CodeGenTypes &Types; diff --git a/lib/CodeGen/CGValue.h b/lib/CodeGen/CGValue.h index ea997c18d6..418bda1f41 100644 --- a/lib/CodeGen/CGValue.h +++ b/lib/CodeGen/CGValue.h @@ -401,7 +401,7 @@ public: return R; } - /// \brief Create a new object to represent a bit-field access. + /// Create a new object to represent a bit-field access. /// /// \param Addr - The base address of the bit-field sequence this /// bit-field refers to. diff --git a/lib/CodeGen/CodeGenAction.cpp b/lib/CodeGen/CodeGenAction.cpp index 93e95a2dd8..9b9f562f85 100644 --- a/lib/CodeGen/CodeGenAction.cpp +++ b/lib/CodeGen/CodeGenAction.cpp @@ -341,17 +341,17 @@ namespace clang { SourceLocation LocCookie); void DiagnosticHandlerImpl(const llvm::DiagnosticInfo &DI); - /// \brief Specialized handler for InlineAsm diagnostic. + /// Specialized handler for InlineAsm diagnostic. /// \return True if the diagnostic has been successfully reported, false /// otherwise. bool InlineAsmDiagHandler(const llvm::DiagnosticInfoInlineAsm &D); - /// \brief Specialized handler for StackSize diagnostic. + /// Specialized handler for StackSize diagnostic. /// \return True if the diagnostic has been successfully reported, false /// otherwise. bool StackSizeDiagHandler(const llvm::DiagnosticInfoStackSize &D); - /// \brief Specialized handler for unsupported backend feature diagnostic. + /// Specialized handler for unsupported backend feature diagnostic. void UnsupportedDiagHandler(const llvm::DiagnosticInfoUnsupported &D); - /// \brief Specialized handlers for optimization remarks. + /// Specialized handlers for optimization remarks. /// Note that these handlers only accept remarks and they always handle /// them. void EmitOptimizationMessage(const llvm::DiagnosticInfoOptimizationBase &D, @@ -697,7 +697,7 @@ void BackendConsumer::OptimizationFailureHandler( EmitOptimizationMessage(D, diag::warn_fe_backend_optimization_failure); } -/// \brief This function is invoked when the backend needs +/// This function is invoked when the backend needs /// to report something to the user. void BackendConsumer::DiagnosticHandlerImpl(const DiagnosticInfo &DI) { unsigned DiagID = diag::err_fe_inline_asm; diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 7889d08907..98fc9ade73 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -201,7 +201,7 @@ public: Address UB)> CodeGenDispatchBoundsTy; - /// \brief CGBuilder insert helper. This function is called after an + /// CGBuilder insert helper. This function is called after an /// instruction is created using Builder. void InsertHelper(llvm::Instruction *I, const llvm::Twine &Name, llvm::BasicBlock *BB, @@ -255,7 +255,7 @@ public: /// we prefer to insert allocas. llvm::AssertingVH<llvm::Instruction> AllocaInsertPt; - /// \brief API for captured statement code generation. + /// API for captured statement code generation. class CGCapturedStmtInfo { public: explicit CGCapturedStmtInfo(CapturedRegionKind K = CR_Default) @@ -283,10 +283,10 @@ public: CapturedRegionKind getKind() const { return Kind; } virtual void setContextValue(llvm::Value *V) { ThisValue = V; } - // \brief Retrieve the value of the context parameter. + // Retrieve the value of the context parameter. virtual llvm::Value *getContextValue() const { return ThisValue; } - /// \brief Lookup the captured field decl for a variable. + /// Lookup the captured field decl for a variable. virtual const FieldDecl *lookup(const VarDecl *VD) const { return CaptureFields.lookup(VD->getCanonicalDecl()); } @@ -298,32 +298,32 @@ public: return true; } - /// \brief Emit the captured statement body. + /// Emit the captured statement body. virtual void EmitBody(CodeGenFunction &CGF, const Stmt *S) { CGF.incrementProfileCounter(S); CGF.EmitStmt(S); } - /// \brief Get the name of the capture helper. + /// Get the name of the capture helper. virtual StringRef getHelperName() const { return "__captured_stmt"; } private: - /// \brief The kind of captured statement being generated. + /// The kind of captured statement being generated. CapturedRegionKind Kind; - /// \brief Keep the map between VarDecl and FieldDecl. + /// Keep the map between VarDecl and FieldDecl. llvm::SmallDenseMap<const VarDecl *, FieldDecl *> CaptureFields; - /// \brief The base address of the captured record, passed in as the first + /// The base address of the captured record, passed in as the first /// argument of the parallel region function. llvm::Value *ThisValue; - /// \brief Captured 'this' type. + /// Captured 'this' type. FieldDecl *CXXThisFieldDecl; }; CGCapturedStmtInfo *CapturedStmtInfo; - /// \brief RAII for correct setting/restoring of CapturedStmtInfo. + /// RAII for correct setting/restoring of CapturedStmtInfo. class CGCapturedStmtRAII { private: CodeGenFunction &CGF; @@ -362,13 +362,13 @@ public: } }; - /// \brief Sanitizers enabled for this function. + /// Sanitizers enabled for this function. SanitizerSet SanOpts; - /// \brief True if CodeGen currently emits code implementing sanitizer checks. + /// True if CodeGen currently emits code implementing sanitizer checks. bool IsSanitizerScope; - /// \brief RAII object to set/unset CodeGenFunction::IsSanitizerScope. + /// RAII object to set/unset CodeGenFunction::IsSanitizerScope. class SanitizerScope { CodeGenFunction *CGF; public: @@ -399,7 +399,7 @@ public: llvm::DenseMap<const VarDecl *, FieldDecl *> LambdaCaptureFields; FieldDecl *LambdaThisCaptureField; - /// \brief A mapping from NRVO variables to the flags used to indicate + /// A mapping from NRVO variables to the flags used to indicate /// when the NRVO has been applied to this variable. llvm::DenseMap<const VarDecl *, llvm::Value *> NRVOFlags; @@ -525,7 +525,7 @@ public: initFullExprCleanup(); } - /// \brief Queue a cleanup to be pushed after finishing the current + /// Queue a cleanup to be pushed after finishing the current /// full-expression. template <class T, class... As> void pushCleanupAfterFullExpr(CleanupKind Kind, As... A) { @@ -584,7 +584,7 @@ public: void ActivateCleanupBlock(EHScopeStack::stable_iterator Cleanup, llvm::Instruction *DominatingIP); - /// \brief Enters a new scope for capturing cleanups, all of which + /// Enters a new scope for capturing cleanups, all of which /// will be executed once the scope is exited. class RunCleanupsScope { EHScopeStack::stable_iterator CleanupStackDepth, OldCleanupScopeDepth; @@ -601,7 +601,7 @@ public: CodeGenFunction& CGF; public: - /// \brief Enter a new cleanup scope. + /// Enter a new cleanup scope. explicit RunCleanupsScope(CodeGenFunction &CGF) : PerformCleanup(true), CGF(CGF) { @@ -614,18 +614,18 @@ public: CGF.CurrentCleanupScopeDepth = CleanupStackDepth; } - /// \brief Exit this cleanup scope, emitting any accumulated cleanups. + /// Exit this cleanup scope, emitting any accumulated cleanups. ~RunCleanupsScope() { if (PerformCleanup) ForceCleanup(); } - /// \brief Determine whether this scope requires any cleanups. + /// Determine whether this scope requires any cleanups. bool requiresCleanups() const { return CGF.EHStack.stable_begin() != CleanupStackDepth; } - /// \brief Force the emission of cleanups now, instead of waiting + /// Force the emission of cleanups now, instead of waiting /// until this object is destroyed. /// \param ValuesToReload - A list of values that need to be available at /// the insertion point after cleanup emission. If cleanup emission created @@ -654,7 +654,7 @@ public: void operator=(const LexicalScope &) = delete; public: - /// \brief Enter a new cleanup scope. + /// Enter a new cleanup scope. explicit LexicalScope(CodeGenFunction &CGF, SourceRange Range) : RunCleanupsScope(CGF), Range(Range), ParentScope(CGF.CurLexicalScope) { CGF.CurLexicalScope = this; @@ -667,7 +667,7 @@ public: Labels.push_back(label); } - /// \brief Exit this cleanup scope, emitting any accumulated + /// Exit this cleanup scope, emitting any accumulated /// cleanups. ~LexicalScope() { if (CGDebugInfo *DI = CGF.getDebugInfo()) @@ -681,7 +681,7 @@ public: } } - /// \brief Force the emission of cleanups now, instead of waiting + /// Force the emission of cleanups now, instead of waiting /// until this object is destroyed. void ForceCleanup() { CGF.CurLexicalScope = ParentScope; @@ -828,13 +828,13 @@ public: } }; - /// \brief Takes the old cleanup stack size and emits the cleanup blocks + /// Takes the old cleanup stack size and emits the cleanup blocks /// that have been added. void PopCleanupBlocks(EHScopeStack::stable_iterator OldCleanupStackSize, std::initializer_list<llvm::Value **> ValuesToReload = {}); - /// \brief Takes the old cleanup stack size and emits the cleanup blocks + /// Takes the old cleanup stack size and emits the cleanup blocks /// that have been added, then adds all lifetime-extended cleanups from /// the given position to the stack. void @@ -1667,7 +1667,7 @@ public: void GenerateCode(GlobalDecl GD, llvm::Function *Fn, const CGFunctionInfo &FnInfo); - /// \brief Emit code for the start of a function. + /// Emit code for the start of a function. /// \param Loc The location to be associated with the function. /// \param StartLoc The location of the function body. void StartFunction(GlobalDecl GD, @@ -1693,7 +1693,7 @@ public: void EmitLambdaStaticInvokeBody(const CXXMethodDecl *MD); void EmitAsanPrologueOrEpilogue(bool Prologue); - /// \brief Emit the unified return block, trying to avoid its emission when + /// Emit the unified return block, trying to avoid its emission when /// possible. /// \return The debug location of the user written return statement if the /// return block is is avoided. @@ -1766,7 +1766,7 @@ public: CFITCK_ICall, }; - /// \brief Derived is the presumed address of an object of type T after a + /// Derived is the presumed address of an object of type T after a /// cast. If T is a polymorphic class type, emit a check that the virtual /// table for Derived belongs to a class derived from T. void EmitVTablePtrCheckForCast(QualType T, llvm::Value *Derived, @@ -2406,7 +2406,7 @@ public: llvm::Value *EmitDynamicCast(Address V, const CXXDynamicCastExpr *DCE); Address EmitCXXUuidofExpr(const CXXUuidofExpr *E); - /// \brief Situations in which we might emit a check for the suitability of a + /// Situations in which we might emit a check for the suitability of a /// pointer or glvalue. enum TypeCheckKind { /// Checking the operand of a load. Must be suitably sized and aligned. @@ -2450,17 +2450,17 @@ public: /// Determine whether the pointer type check \p TCK requires a vptr check. static bool isVptrCheckRequired(TypeCheckKind TCK, QualType Ty); - /// \brief Whether any type-checking sanitizers are enabled. If \c false, + /// Whether any type-checking sanitizers are enabled. If \c false, /// calls to EmitTypeCheck can be skipped. bool sanitizePerformTypeCheck() const; - /// \brief Emit a check that \p V is the address of storage of the + /// Emit a check that \p V is the address of storage of the /// appropriate size and alignment for an object of type \p Type. void EmitTypeCheck(TypeCheckKind TCK, SourceLocation Loc, llvm::Value *V, QualType Type, CharUnits Alignment = CharUnits::Zero(), SanitizerSet SkippedChecks = SanitizerSet()); - /// \brief Emit a check that \p Base points into an array object, which + /// Emit a check that \p Base points into an array object, which /// we can access at index \p Index. \p Accessed should be \c false if we /// this expression is used as an lvalue, for instance in "&Arr[Idx]". void EmitBoundsCheck(const Expr *E, const Expr *Base, llvm::Value *Index, @@ -2501,7 +2501,7 @@ public: typedef void SpecialInitFn(CodeGenFunction &Init, const VarDecl &D, llvm::Value *Address); - /// \brief Determine whether the given initializer is trivial in the sense + /// Determine whether the given initializer is trivial in the sense /// that it requires no code to be generated. bool isTrivialInitializer(const Expr *Init); @@ -2776,7 +2776,7 @@ public: SmallVectorImpl<llvm::Value *> &CapturedVars); void emitOMPSimpleStore(LValue LVal, RValue RVal, QualType RValTy, SourceLocation Loc); - /// \brief Perform element by element copying of arrays with type \a + /// Perform element by element copying of arrays with type \a /// OriginalType from \a SrcAddr to \a DestAddr using copying procedure /// generated by \a CopyGen. /// @@ -2788,7 +2788,7 @@ public: void EmitOMPAggregateAssign( Address DestAddr, Address SrcAddr, QualType OriginalType, const llvm::function_ref<void(Address, Address)> CopyGen); - /// \brief Emit proper copying of data from one variable to another. + /// Emit proper copying of data from one variable to another. /// /// \param OriginalType Original type of the copied variables. /// \param DestAddr Destination address. @@ -2803,7 +2803,7 @@ public: Address DestAddr, Address SrcAddr, const VarDecl *DestVD, const VarDecl *SrcVD, const Expr *Copy); - /// \brief Emit atomic update code for constructs: \a X = \a X \a BO \a E or + /// Emit atomic update code for constructs: \a X = \a X \a BO \a E or /// \a X = \a E \a BO \a E. /// /// \param X Value to be updated. @@ -2827,7 +2827,7 @@ public: void EmitOMPUseDevicePtrClause( const OMPClause &C, OMPPrivateScope &PrivateScope, const llvm::DenseMap<const ValueDecl *, Address> &CaptureDeviceAddrMap); - /// \brief Emit code for copyin clause in \a D directive. The next code is + /// Emit code for copyin clause in \a D directive. The next code is /// generated at the start of outlined functions for directives: /// \code /// threadprivate_var1 = master_threadprivate_var1; @@ -2839,7 +2839,7 @@ public: /// \param D OpenMP directive possibly with 'copyin' clause(s). /// \returns true if at least one copyin variable is found, false otherwise. bool EmitOMPCopyinClause(const OMPExecutableDirective &D); - /// \brief Emit initial code for lastprivate variables. If some variable is + /// Emit initial code for lastprivate variables. If some variable is /// not also firstprivate, then the default initialization is used. Otherwise /// initialization of this variable is performed by EmitOMPFirstprivateClause /// method. @@ -2852,7 +2852,7 @@ public: /// otherwise. bool EmitOMPLastprivateClauseInit(const OMPExecutableDirective &D, OMPPrivateScope &PrivateScope); - /// \brief Emit final copying of lastprivate values to original variables at + /// Emit final copying of lastprivate values to original variables at /// the end of the worksharing or simd directive. /// /// \param D Directive that has at least one 'lastprivate' directives. @@ -2871,7 +2871,7 @@ public: void EmitOMPLinearClauseFinal( const OMPLoopDirective &D, const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen); - /// \brief Emit initial code for reduction variables. Creates reduction copies + /// Emit initial code for reduction variables. Creates reduction copies /// and initializes them with the values according to OpenMP standard. /// /// \param D Directive (possibly) with the 'reduction' clause. @@ -2880,14 +2880,14 @@ public: /// void EmitOMPReductionClauseInit(const OMPExecutableDirective &D, OMPPrivateScope &PrivateScope); - /// \brief Emit final update of reduction values to original variables at + /// Emit final update of reduction values to original variables at /// the end of the directive. /// /// \param D Directive that has at least one 'reduction' directives. /// \param ReductionKind The kind of reduction to perform. void EmitOMPReductionClauseFinal(const OMPExecutableDirective &D, const OpenMPDirectiveKind ReductionKind); - /// \brief Emit initial code for linear variables. Creates private copies + /// Emit initial code for linear variables. Creates private copies /// and initializes them with the values according to OpenMP standard. /// /// \param D Directive (possibly) with the 'linear' clause. @@ -3019,7 +3019,7 @@ public: static void EmitOMPTargetTeamsDistributeParallelForDeviceFunction( CodeGenModule &CGM, StringRef ParentName, const OMPTargetTeamsDistributeParallelForDirective &S); - /// \brief Emit inner loop of the worksharing/simd construct. + /// Emit inner loop of the worksharing/simd construct. /// /// \param S Directive, for which the inner loop must be emitted. /// \param RequiresCleanup true, if directive has some associated private @@ -3043,7 +3043,7 @@ public: /// Helper for the OpenMP loop directives. void EmitOMPLoopBody(const OMPLoopDirective &D, JumpDest LoopExit); - /// \brief Emit code for the worksharing loop-based directive. + /// Emit code for the worksharing loop-based directive. /// \return true, if this construct has any lastprivate clause, false - /// otherwise. bool EmitOMPWorksharingLoop(const OMPLoopDirective &S, Expr *EUB, @@ -3116,7 +3116,7 @@ private: OMPPrivateScope &LoopScope, const OMPLoopArguments &LoopArgs, const CodeGenLoopTy &CodeGenLoopContent); - /// \brief Emit code for sections directive. + /// Emit code for sections directive. void EmitSections(const OMPExecutableDirective &S); public: @@ -3157,7 +3157,7 @@ public: /// LValue EmitLValue(const Expr *E); - /// \brief Same as EmitLValue but additionally we generate checking code to + /// Same as EmitLValue but additionally we generate checking code to /// guard against undefined behavior. This is only suitable when we know /// that the address will be used to access the object. LValue EmitCheckedLValue(const Expr *E, TypeCheckKind TCK); @@ -3634,7 +3634,7 @@ public: void EmitObjCAutoreleasePoolCleanup(llvm::Value *Ptr); void EmitObjCMRRAutoreleasePoolPop(llvm::Value *Ptr); - /// \brief Emits a reference binding to the passed in expression. + /// Emits a reference binding to the passed in expression. RValue EmitReferenceBindingToExpr(const Expr *E); //===--------------------------------------------------------------------===// @@ -3851,26 +3851,26 @@ public: /// enabled, a runtime check specified by \p Kind is also emitted. llvm::Value *EmitCheckedArgForBuiltin(const Expr *E, BuiltinCheckKind Kind); - /// \brief Emit a description of a type in a format suitable for passing to + /// Emit a description of a type in a format suitable for passing to /// a runtime sanitizer handler. llvm::Constant *EmitCheckTypeDescriptor(QualType T); - /// \brief Convert a value into a format suitable for passing to a runtime + /// Convert a value into a format suitable for passing to a runtime /// sanitizer handler. llvm::Value *EmitCheckValue(llvm::Value *V); - /// \brief Emit a description of a source location in a format suitable for + /// Emit a description of a source location in a format suitable for /// passing to a runtime sanitizer handler. llvm::Constant *EmitCheckSourceLocation(SourceLocation Loc); - /// \brief Create a basic block that will call a handler function in a + /// Create a basic block that will call a handler function in a /// sanitizer runtime with the provided arguments, and create a conditional /// branch to it. void EmitCheck(ArrayRef<std::pair<llvm::Value *, SanitizerMask>> Checked, SanitizerHandler Check, ArrayRef<llvm::Constant *> StaticArgs, ArrayRef<llvm::Value *> DynamicArgs); - /// \brief Emit a slow path cross-DSO CFI check which calls __cfi_slowpath + /// Emit a slow path cross-DSO CFI check which calls __cfi_slowpath /// if Cond if false. void EmitCfiSlowPathCheck(SanitizerMask Kind, llvm::Value *Cond, llvm::ConstantInt *TypeId, llvm::Value *Ptr, @@ -3880,21 +3880,21 @@ public: /// checking is enabled. Otherwise, just emit an unreachable instruction. void EmitUnreachable(SourceLocation Loc); - /// \brief Create a basic block that will call the trap intrinsic, and emit a + /// Create a basic block that will call the trap intrinsic, and emit a /// conditional branch to it, for the -ftrapv checks. void EmitTrapCheck(llvm::Value *Checked); - /// \brief Emit a call to trap or debugtrap and attach function attribute + /// Emit a call to trap or debugtrap and attach function attribute /// "trap-func-name" if specified. llvm::CallInst *EmitTrapCall(llvm::Intrinsic::ID IntrID); - /// \brief Emit a stub for the cross-DSO CFI check function. + /// Emit a stub for the cross-DSO CFI check function. void EmitCfiCheckStub(); - /// \brief Emit a cross-DSO CFI failure handling function. + /// Emit a cross-DSO CFI failure handling function. void EmitCfiCheckFail(); - /// \brief Create a check for a function parameter that may potentially be + /// Create a check for a function parameter that may potentially be /// declared as non-null. void EmitNonNullArgCheck(RValue RV, QualType ArgType, SourceLocation ArgLoc, AbstractCallee AC, unsigned ParmNum); @@ -3949,7 +3949,7 @@ private: std::string &ConstraintStr, SourceLocation Loc); - /// \brief Attempts to statically evaluate the object size of E. If that + /// Attempts to statically evaluate the object size of E. If that /// fails, emits code to figure the size of E out for us. This is /// pass_object_size aware. /// @@ -3958,7 +3958,7 @@ private: llvm::IntegerType *ResType, llvm::Value *EmittedE); - /// \brief Emits the size of E, as required by __builtin_object_size. This + /// Emits the size of E, as required by __builtin_object_size. This /// function is aware of pass_object_size parameters, and will act accordingly /// if E is a parameter with the pass_object_size attribute. llvm::Value *emitBuiltinObjectSize(const Expr *E, unsigned Type, diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index 4bb3c7b0d3..bfdd1e65e2 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -1548,7 +1548,7 @@ void CodeGenModule::AddDependentLib(StringRef Lib) { LinkerOptionsMetadata.push_back(llvm::MDNode::get(getLLVMContext(), MDOpts)); } -/// \brief Add link options implied by the given module, including modules +/// Add link options implied by the given module, including modules /// it depends on, using a postorder walk. static void addLinkOptionsPostorder(CodeGenModule &CGM, Module *Mod, SmallVectorImpl<llvm::MDNode *> &Metadata, diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h index 76af56b56c..04a9f64e60 100644 --- a/lib/CodeGen/CodeGenModule.h +++ b/lib/CodeGen/CodeGenModule.h @@ -391,10 +391,10 @@ private: llvm::GlobalValue *> StaticExternCMap; StaticExternCMap StaticExternCValues; - /// \brief thread_local variables defined or used in this TU. + /// thread_local variables defined or used in this TU. std::vector<const VarDecl *> CXXThreadLocals; - /// \brief thread_local variables with initializers that need to run + /// thread_local variables with initializers that need to run /// before any thread_local variable in this TU is odr-used. std::vector<llvm::Function *> CXXThreadLocalInits; std::vector<const VarDecl *> CXXThreadLocalInitVars; @@ -425,14 +425,14 @@ private: /// Global destructor functions and arguments that need to run on termination. std::vector<std::pair<llvm::WeakTrackingVH, llvm::Constant *>> CXXGlobalDtors; - /// \brief The complete set of modules that has been imported. + /// The complete set of modules that has been imported. llvm::SetVector<clang::Module *> ImportedModules; - /// \brief The set of modules for which the module initializers + /// The set of modules for which the module initializers /// have been emitted. llvm::SmallPtrSet<clang::Module *, 16> EmittedModuleInitializers; - /// \brief A vector of metadata strings. + /// A vector of metadata strings. SmallVector<llvm::MDNode *, 16> LinkerOptionsMetadata; /// @name Cache for Objective-C runtime types @@ -442,7 +442,7 @@ private: /// int * but is actually an Obj-C class pointer. llvm::WeakTrackingVH CFConstantStringClassRef; - /// \brief The type used to describe the state of a fast enumeration in + /// The type used to describe the state of a fast enumeration in /// Objective-C's for..in loop. QualType ObjCFastEnumerationStateType; @@ -900,12 +900,12 @@ public: void setAddrOfConstantCompoundLiteral(const CompoundLiteralExpr *CLE, llvm::GlobalVariable *GV); - /// \brief Returns a pointer to a global variable representing a temporary + /// Returns a pointer to a global variable representing a temporary /// with static or thread storage duration. ConstantAddress GetAddrOfGlobalTemporary(const MaterializeTemporaryExpr *E, const Expr *Inner); - /// \brief Retrieve the record type that describes the state of an + /// Retrieve the record type that describes the state of an /// Objective-C fast enumeration loop (for..in). QualType getObjCFastEnumerationStateType(); @@ -933,22 +933,22 @@ public: /// Emit code for a single top level declaration. void EmitTopLevelDecl(Decl *D); - /// \brief Stored a deferred empty coverage mapping for an unused + /// Stored a deferred empty coverage mapping for an unused /// and thus uninstrumented top level declaration. void AddDeferredUnusedCoverageMapping(Decl *D); - /// \brief Remove the deferred empty coverage mapping as this + /// Remove the deferred empty coverage mapping as this /// declaration is actually instrumented. void ClearUnusedCoverageMapping(const Decl *D); - /// \brief Emit all the deferred coverage mappings + /// Emit all the deferred coverage mappings /// for the uninstrumented functions. void EmitDeferredUnusedCoverageMappings(); /// Tell the consumer that this variable has been instantiated. void HandleCXXStaticMemberVarInstantiation(VarDecl *VD); - /// \brief If the declaration has internal linkage but is inside an + /// If the declaration has internal linkage but is inside an /// extern "C" linkage specification, prepare to emit an alias for it /// to the expected name. template<typename SomeDecl> @@ -997,7 +997,7 @@ public: llvm::Constant *getMemberPointerConstant(const UnaryOperator *e); - /// \brief Emit type info if type of an expression is a variably modified + /// Emit type info if type of an expression is a variably modified /// type. Also emit proper debug info for cast types. void EmitExplicitCastExprType(const ExplicitCastExpr *E, CodeGenFunction *CGF = nullptr); @@ -1096,13 +1096,13 @@ public: void RefreshTypeCacheForClass(const CXXRecordDecl *Class); - /// \brief Appends Opts to the "llvm.linker.options" metadata value. + /// Appends Opts to the "llvm.linker.options" metadata value. void AppendLinkerOptions(StringRef Opts); - /// \brief Appends a detect mismatch command to the linker options. + /// Appends a detect mismatch command to the linker options. void AddDetectMismatch(StringRef Name, StringRef Value); - /// \brief Appends a dependent lib to the "llvm.linker.options" metadata + /// Appends a dependent lib to the "llvm.linker.options" metadata /// value. void AddDependentLib(StringRef Lib); @@ -1197,11 +1197,11 @@ public: void addGlobalValReplacement(llvm::GlobalValue *GV, llvm::Constant *C); - /// \brief Emit a code for threadprivate directive. + /// Emit a code for threadprivate directive. /// \param D Threadprivate declaration. void EmitOMPThreadPrivateDecl(const OMPThreadPrivateDecl *D); - /// \brief Emit a code for declare reduction construct. + /// Emit a code for declare reduction construct. void EmitOMPDeclareReduction(const OMPDeclareReductionDecl *D, CodeGenFunction *CGF = nullptr); @@ -1237,7 +1237,7 @@ public: void AddVTableTypeMetadata(llvm::GlobalVariable *VTable, CharUnits Offset, const CXXRecordDecl *RD); - /// \brief Get the declaration of std::terminate for the platform. + /// Get the declaration of std::terminate for the platform. llvm::Constant *getTerminateFn(); llvm::SanitizerStatReport &getSanStats(); @@ -1291,7 +1291,7 @@ private: void EmitDeclContext(const DeclContext *DC); void EmitLinkageSpec(const LinkageSpecDecl *D); - /// \brief Emit the function that initializes C++ thread_local variables. + /// Emit the function that initializes C++ thread_local variables. void EmitCXXThreadLocalInitFunc(); /// Emit the function that initializes C++ globals. @@ -1354,16 +1354,16 @@ private: /// Emit the llvm.used and llvm.compiler.used metadata. void emitLLVMUsed(); - /// \brief Emit the link options introduced by imported modules. + /// Emit the link options introduced by imported modules. void EmitModuleLinkOptions(); - /// \brief Emit aliases for internal-linkage declarations inside "C" language + /// Emit aliases for internal-linkage declarations inside "C" language /// linkage specifications, giving them the "expected" name where possible. void EmitStaticExternCAliases(); void EmitDeclMetadata(); - /// \brief Emit the Clang version as llvm.ident metadata. + /// Emit the Clang version as llvm.ident metadata. void EmitVersionIdentMetadata(); /// Emits target specific Metadata for global declarations. diff --git a/lib/CodeGen/CodeGenPGO.cpp b/lib/CodeGen/CodeGenPGO.cpp index 295893c64f..c8c2a1b956 100644 --- a/lib/CodeGen/CodeGenPGO.cpp +++ b/lib/CodeGen/CodeGenPGO.cpp @@ -58,7 +58,7 @@ enum PGOHashVersion : unsigned { }; namespace { -/// \brief Stable hasher for PGO region counters. +/// Stable hasher for PGO region counters. /// /// PGOHash produces a stable hash of a given function's control flow. /// @@ -79,7 +79,7 @@ class PGOHash { static const unsigned TooBig = 1u << NumBitsPerType; public: - /// \brief Hash values for AST nodes. + /// Hash values for AST nodes. /// /// Distinct values for AST nodes that have region counters attached. /// @@ -978,7 +978,7 @@ void CodeGenPGO::loadRegionCounts(llvm::IndexedInstrProfReader *PGOReader, RegionCounts = ProfRecord->Counts; } -/// \brief Calculate what to divide by to scale weights. +/// Calculate what to divide by to scale weights. /// /// Given the maximum weight, calculate a divisor that will scale all the /// weights to strictly less than UINT32_MAX. @@ -986,7 +986,7 @@ static uint64_t calculateWeightScale(uint64_t MaxWeight) { return MaxWeight < UINT32_MAX ? 1 : MaxWeight / UINT32_MAX + 1; } -/// \brief Scale an individual branch weight (and add 1). +/// Scale an individual branch weight (and add 1). /// /// Scale a 64-bit weight down to 32-bits using \c Scale. /// diff --git a/lib/CodeGen/CodeGenTypes.h b/lib/CodeGen/CodeGenTypes.h index 8cae1863d0..fb8d316842 100644 --- a/lib/CodeGen/CodeGenTypes.h +++ b/lib/CodeGen/CodeGenTypes.h @@ -184,7 +184,7 @@ public: /// ConvertType - Convert type T into a llvm::Type. llvm::Type *ConvertType(QualType T); - /// \brief Converts the GlobalDecl into an llvm::Type. This should be used + /// Converts the GlobalDecl into an llvm::Type. This should be used /// when we know the target of the function we want to convert. This is /// because some functions (explicitly, those with pass_object_size /// parameters) may not have the same signature as their type portrays, and @@ -225,7 +225,7 @@ public: /// replace the 'opaque' type we previously made for it if applicable. void UpdateCompletedType(const TagDecl *TD); - /// \brief Remove stale types from the type cache when an inheritance model + /// Remove stale types from the type cache when an inheritance model /// gets assigned to a class. void RefreshTypeCacheForClass(const CXXRecordDecl *RD); @@ -335,7 +335,7 @@ public: ArrayRef<FunctionProtoType::ExtParameterInfo> paramInfos, RequiredArgs args); - /// \brief Compute a new LLVM record layout object for the given record. + /// Compute a new LLVM record layout object for the given record. CGRecordLayout *ComputeRecordLayout(const RecordDecl *D, llvm::StructType *Ty); diff --git a/lib/CodeGen/CoverageMappingGen.cpp b/lib/CodeGen/CoverageMappingGen.cpp index 97139ef69b..04e2661518 100644 --- a/lib/CodeGen/CoverageMappingGen.cpp +++ b/lib/CodeGen/CoverageMappingGen.cpp @@ -35,14 +35,14 @@ void CoverageSourceInfo::SourceRangeSkipped(SourceRange Range, SourceLocation) { namespace { -/// \brief A region of source code that can be mapped to a counter. +/// A region of source code that can be mapped to a counter. class SourceMappingRegion { Counter Count; - /// \brief The region's starting location. + /// The region's starting location. Optional<SourceLocation> LocStart; - /// \brief The region's ending location. + /// The region's ending location. Optional<SourceLocation> LocEnd; /// Whether this region should be emitted after its parent is emitted. @@ -126,7 +126,7 @@ struct SpellingRegion { } }; -/// \brief Provides the common functionality for the different +/// Provides the common functionality for the different /// coverage mapping region builders. class CoverageMappingBuilder { public: @@ -135,17 +135,17 @@ public: const LangOptions &LangOpts; private: - /// \brief Map of clang's FileIDs to IDs used for coverage mapping. + /// Map of clang's FileIDs to IDs used for coverage mapping. llvm::SmallDenseMap<FileID, std::pair<unsigned, SourceLocation>, 8> FileIDMapping; public: - /// \brief The coverage mapping regions for this function + /// The coverage mapping regions for this function llvm::SmallVector<CounterMappingRegion, 32> MappingRegions; - /// \brief The source mapping regions for this function. + /// The source mapping regions for this function. std::vector<SourceMappingRegion> SourceRegions; - /// \brief A set of regions which can be used as a filter. + /// A set of regions which can be used as a filter. /// /// It is produced by emitExpansionRegions() and is used in /// emitSourceRegions() to suppress producing code regions if @@ -157,7 +157,7 @@ public: const LangOptions &LangOpts) : CVM(CVM), SM(SM), LangOpts(LangOpts) {} - /// \brief Return the precise end location for the given token. + /// Return the precise end location for the given token. SourceLocation getPreciseTokenLocEnd(SourceLocation Loc) { // We avoid getLocForEndOfToken here, because it doesn't do what we want for // macro locations, which we just treat as expanded files. @@ -166,14 +166,14 @@ public: return Loc.getLocWithOffset(TokLen); } - /// \brief Return the start location of an included file or expanded macro. + /// Return the start location of an included file or expanded macro. SourceLocation getStartOfFileOrMacro(SourceLocation Loc) { if (Loc.isMacroID()) return Loc.getLocWithOffset(-SM.getFileOffset(Loc)); return SM.getLocForStartOfFile(SM.getFileID(Loc)); } - /// \brief Return the end location of an included file or expanded macro. + /// Return the end location of an included file or expanded macro. SourceLocation getEndOfFileOrMacro(SourceLocation Loc) { if (Loc.isMacroID()) return Loc.getLocWithOffset(SM.getFileIDSize(SM.getFileID(Loc)) - @@ -181,18 +181,18 @@ public: return SM.getLocForEndOfFile(SM.getFileID(Loc)); } - /// \brief Find out where the current file is included or macro is expanded. + /// Find out where the current file is included or macro is expanded. SourceLocation getIncludeOrExpansionLoc(SourceLocation Loc) { return Loc.isMacroID() ? SM.getImmediateExpansionRange(Loc).getBegin() : SM.getIncludeLoc(SM.getFileID(Loc)); } - /// \brief Return true if \c Loc is a location in a built-in macro. + /// Return true if \c Loc is a location in a built-in macro. bool isInBuiltin(SourceLocation Loc) { return SM.getBufferName(SM.getSpellingLoc(Loc)) == "<built-in>"; } - /// \brief Check whether \c Loc is included or expanded from \c Parent. + /// Check whether \c Loc is included or expanded from \c Parent. bool isNestedIn(SourceLocation Loc, FileID Parent) { do { Loc = getIncludeOrExpansionLoc(Loc); @@ -202,7 +202,7 @@ public: return true; } - /// \brief Get the start of \c S ignoring macro arguments and builtin macros. + /// Get the start of \c S ignoring macro arguments and builtin macros. SourceLocation getStart(const Stmt *S) { SourceLocation Loc = S->getLocStart(); while (SM.isMacroArgExpansion(Loc) || isInBuiltin(Loc)) @@ -210,7 +210,7 @@ public: return Loc; } - /// \brief Get the end of \c S ignoring macro arguments and builtin macros. + /// Get the end of \c S ignoring macro arguments and builtin macros. SourceLocation getEnd(const Stmt *S) { SourceLocation Loc = S->getLocEnd(); while (SM.isMacroArgExpansion(Loc) || isInBuiltin(Loc)) @@ -218,7 +218,7 @@ public: return getPreciseTokenLocEnd(Loc); } - /// \brief Find the set of files we have regions for and assign IDs + /// Find the set of files we have regions for and assign IDs /// /// Fills \c Mapping with the virtual file mapping needed to write out /// coverage and collects the necessary file information to emit source and @@ -258,7 +258,7 @@ public: } } - /// \brief Get the coverage mapping file ID for \c Loc. + /// Get the coverage mapping file ID for \c Loc. /// /// If such file id doesn't exist, return None. Optional<unsigned> getCoverageFileID(SourceLocation Loc) { @@ -268,7 +268,7 @@ public: return None; } - /// \brief Gather all the regions that were skipped by the preprocessor + /// Gather all the regions that were skipped by the preprocessor /// using the constructs like #if. void gatherSkippedRegions() { /// An array of the minimum lineStarts and the maximum lineEnds @@ -305,7 +305,7 @@ public: } } - /// \brief Generate the coverage counter mapping regions from collected + /// Generate the coverage counter mapping regions from collected /// source regions. void emitSourceRegions(const SourceRegionFilter &Filter) { for (const auto &Region : SourceRegions) { @@ -350,7 +350,7 @@ public: } } - /// \brief Generate expansion regions for each virtual file we've seen. + /// Generate expansion regions for each virtual file we've seen. SourceRegionFilter emitExpansionRegions() { SourceRegionFilter Filter; for (const auto &FM : FileIDMapping) { @@ -380,7 +380,7 @@ public: } }; -/// \brief Creates unreachable coverage regions for the functions that +/// Creates unreachable coverage regions for the functions that /// are not emitted. struct EmptyCoverageMappingBuilder : public CoverageMappingBuilder { EmptyCoverageMappingBuilder(CoverageMappingModuleGen &CVM, SourceManager &SM, @@ -414,7 +414,7 @@ struct EmptyCoverageMappingBuilder : public CoverageMappingBuilder { SourceRegions.emplace_back(Counter(), Start, End); } - /// \brief Write the mapping data to the output stream + /// Write the mapping data to the output stream void write(llvm::raw_ostream &OS) { SmallVector<unsigned, 16> FileIDMapping; gatherFileIDs(FileIDMapping); @@ -428,15 +428,15 @@ struct EmptyCoverageMappingBuilder : public CoverageMappingBuilder { } }; -/// \brief A StmtVisitor that creates coverage mapping regions which map +/// A StmtVisitor that creates coverage mapping regions which map /// from the source code locations to the PGO counters. struct CounterCoverageMappingBuilder : public CoverageMappingBuilder, public ConstStmtVisitor<CounterCoverageMappingBuilder> { - /// \brief The map of statements to count values. + /// The map of statements to count values. llvm::DenseMap<const Stmt *, unsigned> &CounterMap; - /// \brief A stack of currently live regions. + /// A stack of currently live regions. std::vector<SourceMappingRegion> RegionStack; /// The currently deferred region: its end location and count can be set once @@ -445,7 +445,7 @@ struct CounterCoverageMappingBuilder CounterExpressionBuilder Builder; - /// \brief A location in the most recently visited file or macro. + /// A location in the most recently visited file or macro. /// /// This is used to adjust the active source regions appropriately when /// expressions cross file or macro boundaries. @@ -454,12 +454,12 @@ struct CounterCoverageMappingBuilder /// Location of the last terminated region. Optional<std::pair<SourceLocation, size_t>> LastTerminatedRegion; - /// \brief Return a counter for the subtraction of \c RHS from \c LHS + /// Return a counter for the subtraction of \c RHS from \c LHS Counter subtractCounters(Counter LHS, Counter RHS) { return Builder.subtract(LHS, RHS); } - /// \brief Return a counter for the sum of \c LHS and \c RHS. + /// Return a counter for the sum of \c LHS and \c RHS. Counter addCounters(Counter LHS, Counter RHS) { return Builder.add(LHS, RHS); } @@ -468,14 +468,14 @@ struct CounterCoverageMappingBuilder return addCounters(addCounters(C1, C2), C3); } - /// \brief Return the region counter for the given statement. + /// Return the region counter for the given statement. /// /// This should only be called on statements that have a dedicated counter. Counter getRegionCounter(const Stmt *S) { return Counter::getCounter(CounterMap[S]); } - /// \brief Push a region onto the stack. + /// Push a region onto the stack. /// /// Returns the index on the stack where the region was pushed. This can be /// used with popRegions to exit a "scope", ending the region that was pushed. @@ -552,7 +552,7 @@ struct CounterCoverageMappingBuilder completeDeferred(Count, DeferredEndLoc); } - /// \brief Pop regions from the stack into the function's list of regions. + /// Pop regions from the stack into the function's list of regions. /// /// Adds all regions from \c ParentIndex to the top of the stack to the /// function's \c SourceRegions. @@ -619,13 +619,13 @@ struct CounterCoverageMappingBuilder assert(!ParentOfDeferredRegion && "Deferred region with no parent"); } - /// \brief Return the currently active region. + /// Return the currently active region. SourceMappingRegion &getRegion() { assert(!RegionStack.empty() && "statement has no region"); return RegionStack.back(); } - /// \brief Propagate counts through the children of \c S. + /// Propagate counts through the children of \c S. Counter propagateCounts(Counter TopCount, const Stmt *S) { SourceLocation StartLoc = getStart(S); SourceLocation EndLoc = getEnd(S); @@ -642,7 +642,7 @@ struct CounterCoverageMappingBuilder return ExitCount; } - /// \brief Check whether a region with bounds \c StartLoc and \c EndLoc + /// Check whether a region with bounds \c StartLoc and \c EndLoc /// is already added to \c SourceRegions. bool isRegionAlreadyAdded(SourceLocation StartLoc, SourceLocation EndLoc) { return SourceRegions.rend() != @@ -653,7 +653,7 @@ struct CounterCoverageMappingBuilder }); } - /// \brief Adjust the most recently visited location to \c EndLoc. + /// Adjust the most recently visited location to \c EndLoc. /// /// This should be used after visiting any statements in non-source order. void adjustForOutOfOrderTraversal(SourceLocation EndLoc) { @@ -670,7 +670,7 @@ struct CounterCoverageMappingBuilder MostRecentLocation = getIncludeOrExpansionLoc(MostRecentLocation); } - /// \brief Adjust regions and state when \c NewLoc exits a file. + /// Adjust regions and state when \c NewLoc exits a file. /// /// If moving from our most recently tracked location to \c NewLoc exits any /// files, this adjusts our current region stack and creates the file regions @@ -737,7 +737,7 @@ struct CounterCoverageMappingBuilder MostRecentLocation = NewLoc; } - /// \brief Ensure that \c S is included in the current region. + /// Ensure that \c S is included in the current region. void extendRegion(const Stmt *S) { SourceMappingRegion &Region = getRegion(); SourceLocation StartLoc = getStart(S); @@ -749,7 +749,7 @@ struct CounterCoverageMappingBuilder completeDeferred(Region.getCounter(), StartLoc); } - /// \brief Mark \c S as a terminator, starting a zero region. + /// Mark \c S as a terminator, starting a zero region. void terminateRegion(const Stmt *S) { extendRegion(S); SourceMappingRegion &Region = getRegion(); @@ -794,7 +794,7 @@ struct CounterCoverageMappingBuilder popRegions(Index); } - /// \brief Keep counts of breaks and continues inside loops. + /// Keep counts of breaks and continues inside loops. struct BreakContinue { Counter BreakCount; Counter ContinueCount; @@ -808,7 +808,7 @@ struct CounterCoverageMappingBuilder : CoverageMappingBuilder(CVM, SM, LangOpts), CounterMap(CounterMap), DeferredRegion(None) {} - /// \brief Write the mapping data to the output stream + /// Write the mapping data to the output stream void write(llvm::raw_ostream &OS) { llvm::SmallVector<unsigned, 8> VirtualFileMapping; gatherFileIDs(VirtualFileMapping); diff --git a/lib/CodeGen/CoverageMappingGen.h b/lib/CodeGen/CoverageMappingGen.h index d07ed5ebcf..b08ad896d7 100644 --- a/lib/CodeGen/CoverageMappingGen.h +++ b/lib/CodeGen/CoverageMappingGen.h @@ -31,7 +31,7 @@ class Preprocessor; class Decl; class Stmt; -/// \brief Stores additional source code information like skipped ranges which +/// Stores additional source code information like skipped ranges which /// is required by the coverage mapping generator and is obtained from /// the preprocessor. class CoverageSourceInfo : public PPCallbacks { @@ -46,7 +46,7 @@ namespace CodeGen { class CodeGenModule; -/// \brief Organizes the cross-function state that is used while generating +/// Organizes the cross-function state that is used while generating /// code coverage mapping data. class CoverageMappingModuleGen { CodeGenModule &CGM; @@ -65,7 +65,7 @@ public: return SourceInfo; } - /// \brief Add a function's coverage mapping record to the collection of the + /// Add a function's coverage mapping record to the collection of the /// function mapping records. void addFunctionMappingRecord(llvm::GlobalVariable *FunctionName, StringRef FunctionNameValue, @@ -73,15 +73,15 @@ public: const std::string &CoverageMapping, bool IsUsed = true); - /// \brief Emit the coverage mapping data for a translation unit. + /// Emit the coverage mapping data for a translation unit. void emit(); - /// \brief Return the coverage mapping translation unit file id + /// Return the coverage mapping translation unit file id /// for the given file. unsigned getFileID(const FileEntry *File); }; -/// \brief Organizes the per-function state that is used while generating +/// Organizes the per-function state that is used while generating /// code coverage mapping data. class CoverageMappingGen { CoverageMappingModuleGen &CVM; @@ -99,12 +99,12 @@ public: llvm::DenseMap<const Stmt *, unsigned> *CounterMap) : CVM(CVM), SM(SM), LangOpts(LangOpts), CounterMap(CounterMap) {} - /// \brief Emit the coverage mapping data which maps the regions of + /// Emit the coverage mapping data which maps the regions of /// code to counters that will be used to find the execution /// counts for those regions. void emitCounterMapping(const Decl *D, llvm::raw_ostream &OS); - /// \brief Emit the coverage mapping data for an unused function. + /// Emit the coverage mapping data for an unused function. /// It creates mapping regions with the counter of zero. void emitEmptyMapping(const Decl *D, llvm::raw_ostream &OS); }; diff --git a/lib/CodeGen/ItaniumCXXABI.cpp b/lib/CodeGen/ItaniumCXXABI.cpp index bfabdf0830..168dbcb289 100644 --- a/lib/CodeGen/ItaniumCXXABI.cpp +++ b/lib/CodeGen/ItaniumCXXABI.cpp @@ -1171,7 +1171,7 @@ static llvm::Constant *getBadCastFn(CodeGenFunction &CGF) { return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_bad_cast"); } -/// \brief Compute the src2dst_offset hint as described in the +/// Compute the src2dst_offset hint as described in the /// Itanium C++ ABI [2.9.7] static CharUnits computeOffsetHint(ASTContext &Context, const CXXRecordDecl *Src, @@ -3006,7 +3006,7 @@ void ItaniumRTTIBuilder::BuildVTablePointer(const Type *Ty) { Fields.push_back(VTable); } -/// \brief Return the linkage that the type info and type info name constants +/// Return the linkage that the type info and type info name constants /// should have for the given type. static llvm::GlobalVariable::LinkageTypes getTypeInfoLinkage(CodeGenModule &CGM, QualType Ty) { diff --git a/lib/CodeGen/MicrosoftCXXABI.cpp b/lib/CodeGen/MicrosoftCXXABI.cpp index ab5bad4570..75e461cc0c 100644 --- a/lib/CodeGen/MicrosoftCXXABI.cpp +++ b/lib/CodeGen/MicrosoftCXXABI.cpp @@ -567,7 +567,7 @@ private: GetNullMemberPointerFields(const MemberPointerType *MPT, llvm::SmallVectorImpl<llvm::Constant *> &fields); - /// \brief Shared code for virtual base adjustment. Returns the offset from + /// Shared code for virtual base adjustment. Returns the offset from /// the vbptr to the virtual base. Optionally returns the address of the /// vbptr itself. llvm::Value *GetVBaseOffsetFromVBPtr(CodeGenFunction &CGF, @@ -591,14 +591,14 @@ private: performBaseAdjustment(CodeGenFunction &CGF, Address Value, QualType SrcRecordTy); - /// \brief Performs a full virtual base adjustment. Used to dereference + /// Performs a full virtual base adjustment. Used to dereference /// pointers to members of virtual bases. llvm::Value *AdjustVirtualBase(CodeGenFunction &CGF, const Expr *E, const CXXRecordDecl *RD, Address Base, llvm::Value *VirtualBaseAdjustmentOffset, llvm::Value *VBPtrOffset /* optional */); - /// \brief Emits a full member pointer with the fields common to data and + /// Emits a full member pointer with the fields common to data and /// function member pointers. llvm::Constant *EmitFullMemberPointer(llvm::Constant *FirstField, bool IsMemberFunction, @@ -609,13 +609,13 @@ private: bool MemberPointerConstantIsNull(const MemberPointerType *MPT, llvm::Constant *MP); - /// \brief - Initialize all vbptrs of 'this' with RD as the complete type. + /// - Initialize all vbptrs of 'this' with RD as the complete type. void EmitVBPtrStores(CodeGenFunction &CGF, const CXXRecordDecl *RD); - /// \brief Caching wrapper around VBTableBuilder::enumerateVBTables(). + /// Caching wrapper around VBTableBuilder::enumerateVBTables(). const VBTableGlobals &enumerateVBTables(const CXXRecordDecl *RD); - /// \brief Generate a thunk for calling a virtual member function MD. + /// Generate a thunk for calling a virtual member function MD. llvm::Function *EmitVirtualMemPtrThunk(const CXXMethodDecl *MD, const MethodVFTableLocation &ML); @@ -761,15 +761,15 @@ private: typedef std::pair<const CXXRecordDecl *, CharUnits> VFTableIdTy; typedef llvm::DenseMap<VFTableIdTy, llvm::GlobalVariable *> VTablesMapTy; typedef llvm::DenseMap<VFTableIdTy, llvm::GlobalValue *> VFTablesMapTy; - /// \brief All the vftables that have been referenced. + /// All the vftables that have been referenced. VFTablesMapTy VFTablesMap; VTablesMapTy VTablesMap; - /// \brief This set holds the record decls we've deferred vtable emission for. + /// This set holds the record decls we've deferred vtable emission for. llvm::SmallPtrSet<const CXXRecordDecl *, 4> DeferredVFTables; - /// \brief All the vbtables which have been referenced. + /// All the vbtables which have been referenced. llvm::DenseMap<const CXXRecordDecl *, VBTableGlobals> VBTablesMap; /// Info on the global variable used to guard initialization of static locals. @@ -3387,7 +3387,7 @@ static llvm::GlobalVariable *getTypeInfoVTable(CodeGenModule &CGM) { namespace { -/// \brief A Helper struct that stores information about a class in a class +/// A Helper struct that stores information about a class in a class /// hierarchy. The information stored in these structs struct is used during /// the generation of ClassHierarchyDescriptors and BaseClassDescriptors. // During RTTI creation, MSRTTIClasses are stored in a contiguous array with @@ -3414,7 +3414,7 @@ struct MSRTTIClass { uint32_t Flags, NumBases, OffsetInVBase; }; -/// \brief Recursively initialize the base class array. +/// Recursively initialize the base class array. uint32_t MSRTTIClass::initialize(const MSRTTIClass *Parent, const CXXBaseSpecifier *Specifier) { Flags = HasHierarchyDescriptor; @@ -3461,7 +3461,7 @@ static llvm::GlobalValue::LinkageTypes getLinkageForRTTI(QualType Ty) { llvm_unreachable("Invalid linkage!"); } -/// \brief An ephemeral helper class for building MS RTTI types. It caches some +/// An ephemeral helper class for building MS RTTI types. It caches some /// calls to the module and information about the most derived class in a /// hierarchy. struct MSRTTIBuilder { @@ -3494,7 +3494,7 @@ struct MSRTTIBuilder { } // namespace -/// \brief Recursively serializes a class hierarchy in pre-order depth first +/// Recursively serializes a class hierarchy in pre-order depth first /// order. static void serializeClassHierarchy(SmallVectorImpl<MSRTTIClass> &Classes, const CXXRecordDecl *RD) { @@ -3503,7 +3503,7 @@ static void serializeClassHierarchy(SmallVectorImpl<MSRTTIClass> &Classes, serializeClassHierarchy(Classes, Base.getType()->getAsCXXRecordDecl()); } -/// \brief Find ambiguity among base classes. +/// Find ambiguity among base classes. static void detectAmbiguousBases(SmallVectorImpl<MSRTTIClass> &Classes) { llvm::SmallPtrSet<const CXXRecordDecl *, 8> VirtualBases; @@ -3769,7 +3769,7 @@ MicrosoftCXXABI::getAddrOfCXXCatchHandlerType(QualType Type, Flags}; } -/// \brief Gets a TypeDescriptor. Returns a llvm::Constant * rather than a +/// Gets a TypeDescriptor. Returns a llvm::Constant * rather than a /// llvm::GlobalVariable * because different type descriptors have different /// types, and need to be abstracted. They are abstracting by casting the /// address to an Int8PtrTy. @@ -3811,7 +3811,7 @@ llvm::Constant *MicrosoftCXXABI::getAddrOfRTTIDescriptor(QualType Type) { return llvm::ConstantExpr::getBitCast(Var, CGM.Int8PtrTy); } -/// \brief Gets or a creates a Microsoft CompleteObjectLocator. +/// Gets or a creates a Microsoft CompleteObjectLocator. llvm::GlobalVariable * MicrosoftCXXABI::getMSCompleteObjectLocator(const CXXRecordDecl *RD, const VPtrInfo &Info) { diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index 99e4b0de3e..4e25c72cfb 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -749,7 +749,7 @@ public: : TargetCodeGenInfo(new WebAssemblyABIInfo(CGT)) {} }; -/// \brief Classify argument of given type \p Ty. +/// Classify argument of given type \p Ty. ABIArgInfo WebAssemblyABIInfo::classifyArgumentType(QualType Ty) const { Ty = useFirstFieldIfTransparentUnion(Ty); @@ -844,7 +844,7 @@ Address PNaClABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, return EmitVAArgInstr(CGF, VAListAddr, Ty, ABIArgInfo::getDirect()); } -/// \brief Classify argument of given type \p Ty. +/// Classify argument of given type \p Ty. ABIArgInfo PNaClABIInfo::classifyArgumentType(QualType Ty) const { if (isAggregateTypeForABI(Ty)) { if (CGCXXABI::RecordArgABI RAA = getRecordArgABI(Ty, getCXXABI())) @@ -945,7 +945,7 @@ static ABIArgInfo getDirectX86Hva(llvm::Type* T = nullptr) { // X86-32 ABI Implementation //===----------------------------------------------------------------------===// -/// \brief Similar to llvm::CCState, but for Clang. +/// Similar to llvm::CCState, but for Clang. struct CCState { CCState(unsigned CC) : CC(CC), FreeRegs(0), FreeSSERegs(0) {} @@ -998,14 +998,14 @@ class X86_32ABIInfo : public SwiftABIInfo { ABIArgInfo getIndirectReturnResult(QualType Ty, CCState &State) const; - /// \brief Return the alignment to use for the given type on the stack. + /// Return the alignment to use for the given type on the stack. unsigned getTypeStackAlignInBytes(QualType Ty, unsigned Align) const; Class classify(QualType Ty) const; ABIArgInfo classifyReturnType(QualType RetTy, CCState &State) const; ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const; - /// \brief Updates the number of available free registers, returns + /// Updates the number of available free registers, returns /// true if any registers were allocated. bool updateFreeRegs(QualType Ty, CCState &State) const; @@ -1015,7 +1015,7 @@ class X86_32ABIInfo : public SwiftABIInfo { bool canExpandIndirectArgument(QualType Ty) const; - /// \brief Rewrite the function info so that all memory arguments use + /// Rewrite the function info so that all memory arguments use /// inalloca. void rewriteWithInAlloca(CGFunctionInfo &FI) const; diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index 4680def332..f84decfecb 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -383,7 +383,7 @@ DerivedArgList *Driver::TranslateInputArgs(const InputArgList &Args) const { return DAL; } -/// \brief Compute target triple from args. +/// Compute target triple from args. /// /// This routine provides the logic to compute a target triple from various /// args passed to the driver and the default triple string. @@ -482,7 +482,7 @@ static llvm::Triple computeTargetTriple(const Driver &D, return Target; } -// \brief Parse the LTO options and record the type of LTO compilation +// Parse the LTO options and record the type of LTO compilation // based on which -f(no-)?lto(=.*)? option occurs last. void Driver::setLTOMode(const llvm::opt::ArgList &Args) { LTOMode = LTOK_None; @@ -1733,7 +1733,7 @@ void Driver::PrintActions(const Compilation &C) const { PrintActions1(C, A, Ids); } -/// \brief Check whether the given input tree contains any compilation or +/// Check whether the given input tree contains any compilation or /// assembly actions. static bool ContainsCompileOrAssembleAction(const Action *A) { if (isa<CompileJobAction>(A) || isa<BackendJobAction>(A) || @@ -1834,7 +1834,7 @@ void Driver::BuildUniversalActions(Compilation &C, const ToolChain &TC, } } -/// \brief Check that the file referenced by Value exists. If it doesn't, +/// Check that the file referenced by Value exists. If it doesn't, /// issue a diagnostic and return false. static bool DiagnoseInputExistence(const Driver &D, const DerivedArgList &Args, StringRef Value, types::ID Ty) { @@ -2129,7 +2129,7 @@ class OffloadingActionBuilder final { } }; - /// \brief CUDA action builder. It injects device code in the host backend + /// CUDA action builder. It injects device code in the host backend /// action. class CudaActionBuilder final : public DeviceActionBuilder { /// Flags to signal if the user requested host-only or device-only @@ -3811,7 +3811,7 @@ const char *Driver::getDefaultImageName() const { return Target.isOSWindows() ? "a.exe" : "a.out"; } -/// \brief Create output filename based on ArgValue, which could either be a +/// Create output filename based on ArgValue, which could either be a /// full filename, filename without extension, or a directory. If ArgValue /// does not provide a filename, then use BaseName, and use the extension /// suitable for FileType. diff --git a/lib/Driver/Job.cpp b/lib/Driver/Job.cpp index df08ba3e73..71cda62104 100644 --- a/lib/Driver/Job.cpp +++ b/lib/Driver/Job.cpp @@ -44,7 +44,7 @@ Command::Command(const Action &Source, const Tool &Creator, InputFilenames.push_back(II.getFilename()); } -/// @brief Check if the compiler flag in question should be skipped when +/// Check if the compiler flag in question should be skipped when /// emitting a reproducer. Also track how many arguments it has and if the /// option is some kind of include path. static bool skipArgs(const char *Flag, bool HaveCrashVFS, int &SkipNum, @@ -171,7 +171,7 @@ void Command::buildArgvForResponseFile( } } -/// @brief Rewrite relative include-like flag paths to absolute ones. +/// Rewrite relative include-like flag paths to absolute ones. static void rewriteIncludes(const llvm::ArrayRef<const char *> &Args, size_t Idx, size_t NumArgs, diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp index e3ea1bff2f..b64a5d585d 100644 --- a/lib/Driver/ToolChain.cpp +++ b/lib/Driver/ToolChain.cpp @@ -685,7 +685,7 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{ return GetDefaultCXXStdlibType(); } -/// \brief Utility function to add a system include directory to CC1 arguments. +/// Utility function to add a system include directory to CC1 arguments. /*static*/ void ToolChain::addSystemInclude(const ArgList &DriverArgs, ArgStringList &CC1Args, const Twine &Path) { @@ -693,7 +693,7 @@ ToolChain::CXXStdlibType ToolChain::GetCXXStdlibType(const ArgList &Args) const{ CC1Args.push_back(DriverArgs.MakeArgString(Path)); } -/// \brief Utility function to add a system include directory with extern "C" +/// Utility function to add a system include directory with extern "C" /// semantics to CC1 arguments. /// /// Note that this should be used rarely, and only for directories that @@ -715,7 +715,7 @@ void ToolChain::addExternCSystemIncludeIfExists(const ArgList &DriverArgs, addExternCSystemInclude(DriverArgs, CC1Args, Path); } -/// \brief Utility function to add a list of system include directories to CC1. +/// Utility function to add a list of system include directories to CC1. /*static*/ void ToolChain::addSystemIncludes(const ArgList &DriverArgs, ArgStringList &CC1Args, ArrayRef<StringRef> Paths) { diff --git a/lib/Driver/ToolChains/Clang.cpp b/lib/Driver/ToolChains/Clang.cpp index fe2eae7da4..eab5a1aa38 100644 --- a/lib/Driver/ToolChains/Clang.cpp +++ b/lib/Driver/ToolChains/Clang.cpp @@ -616,7 +616,7 @@ static void addDebugCompDirArg(const ArgList &Args, ArgStringList &CmdArgs) { } } -/// \brief Vectorize at all optimization levels greater than 1 except for -Oz. +/// Vectorize at all optimization levels greater than 1 except for -Oz. /// For -Oz the loop vectorizer is disable, while the slp vectorizer is enabled. static bool shouldEnableVectorizerAtOLevel(const ArgList &Args, bool isSlpVec) { if (Arg *A = Args.getLastArg(options::OPT_O_Group)) { @@ -838,7 +838,7 @@ static void addPGOAndCoverageFlags(Compilation &C, const Driver &D, } } -/// \brief Check whether the given input tree contains any compilation actions. +/// Check whether the given input tree contains any compilation actions. static bool ContainsCompileAction(const Action *A) { if (isa<CompileJobAction>(A) || isa<BackendJobAction>(A)) return true; @@ -850,7 +850,7 @@ static bool ContainsCompileAction(const Action *A) { return false; } -/// \brief Check if -relax-all should be passed to the internal assembler. +/// Check if -relax-all should be passed to the internal assembler. /// This is done by default when compiling non-assembler source with -O0. static bool UseRelaxAll(Compilation &C, const ArgList &Args) { bool RelaxDefault = true; diff --git a/lib/Driver/ToolChains/Clang.h b/lib/Driver/ToolChains/Clang.h index 8893d88a8c..df67fb2cb3 100644 --- a/lib/Driver/ToolChains/Clang.h +++ b/lib/Driver/ToolChains/Clang.h @@ -25,7 +25,7 @@ namespace driver { namespace tools { -/// \brief Clang compiler tool. +/// Clang compiler tool. class LLVM_LIBRARY_VISIBILITY Clang : public Tool { public: static const char *getBaseInputName(const llvm::opt::ArgList &Args, @@ -111,7 +111,7 @@ public: const char *LinkingOutput) const override; }; -/// \brief Clang integrated assembler tool. +/// Clang integrated assembler tool. class LLVM_LIBRARY_VISIBILITY ClangAs : public Tool { public: ClangAs(const ToolChain &TC) diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp index 7013b43d70..854d5e15ff 100644 --- a/lib/Driver/ToolChains/CommonArgs.cpp +++ b/lib/Driver/ToolChains/CommonArgs.cpp @@ -1093,7 +1093,7 @@ void tools::AddAssemblerKPIC(const ToolChain &ToolChain, const ArgList &Args, CmdArgs.push_back("-KPIC"); } -/// \brief Determine whether Objective-C automated reference counting is +/// Determine whether Objective-C automated reference counting is /// enabled. bool tools::isObjCAutoRefCount(const ArgList &Args) { return Args.hasFlag(options::OPT_fobjc_arc, options::OPT_fno_objc_arc, false); diff --git a/lib/Driver/ToolChains/Cuda.h b/lib/Driver/ToolChains/Cuda.h index 9b34fa589e..7716ba6940 100644 --- a/lib/Driver/ToolChains/Cuda.h +++ b/lib/Driver/ToolChains/Cuda.h @@ -49,30 +49,30 @@ public: void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const; - /// \brief Emit an error if Version does not support the given Arch. + /// Emit an error if Version does not support the given Arch. /// /// If either Version or Arch is unknown, does not emit an error. Emits at /// most one error per Arch. void CheckCudaVersionSupportsArch(CudaArch Arch) const; - /// \brief Check whether we detected a valid Cuda install. + /// Check whether we detected a valid Cuda install. bool isValid() const { return IsValid; } - /// \brief Print information about the detected CUDA installation. + /// Print information about the detected CUDA installation. void print(raw_ostream &OS) const; - /// \brief Get the detected Cuda install's version. + /// Get the detected Cuda install's version. CudaVersion version() const { return Version; } - /// \brief Get the detected Cuda installation path. + /// Get the detected Cuda installation path. StringRef getInstallPath() const { return InstallPath; } - /// \brief Get the detected path to Cuda's bin directory. + /// Get the detected path to Cuda's bin directory. StringRef getBinPath() const { return BinPath; } - /// \brief Get the detected Cuda Include path. + /// Get the detected Cuda Include path. StringRef getIncludePath() const { return IncludePath; } - /// \brief Get the detected Cuda library path. + /// Get the detected Cuda library path. StringRef getLibPath() const { return LibPath; } - /// \brief Get the detected Cuda device library path. + /// Get the detected Cuda device library path. StringRef getLibDevicePath() const { return LibDevicePath; } - /// \brief Get libdevice file for given architecture + /// Get libdevice file for given architecture std::string getLibDeviceFile(StringRef Gpu) const { return LibDeviceMap.lookup(Gpu); } diff --git a/lib/Driver/ToolChains/Darwin.cpp b/lib/Driver/ToolChains/Darwin.cpp index 394a43e835..cb72903431 100644 --- a/lib/Driver/ToolChains/Darwin.cpp +++ b/lib/Driver/ToolChains/Darwin.cpp @@ -175,7 +175,7 @@ bool darwin::Linker::NeedsTempPath(const InputInfoList &Inputs) const { return false; } -/// \brief Pass -no_deduplicate to ld64 under certain conditions: +/// Pass -no_deduplicate to ld64 under certain conditions: /// /// - Either -O0 or -O1 is explicitly specified /// - No -O option is specified *and* this is a compile+link (implicit -O0) @@ -409,7 +409,7 @@ void darwin::Linker::AddLinkArgs(Compilation &C, const ArgList &Args, Args.AddLastArg(CmdArgs, options::OPT_Mach); } -/// \brief Determine whether we are linking the ObjC runtime. +/// Determine whether we are linking the ObjC runtime. static bool isObjCRuntimeLinked(const ArgList &Args) { if (isObjCAutoRefCount(Args)) { Args.ClaimAllArgs(options::OPT_fobjc_link_runtime); diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp index 5edd7eff26..56c2a97dc4 100644 --- a/lib/Driver/ToolChains/Gnu.cpp +++ b/lib/Driver/ToolChains/Gnu.cpp @@ -1545,7 +1545,7 @@ static bool findBiarchMultilibs(const Driver &D, /// all subcommands; this relies on gcc translating the majority of /// command line options. -/// \brief Less-than for GCCVersion, implementing a Strict Weak Ordering. +/// Less-than for GCCVersion, implementing a Strict Weak Ordering. bool Generic_GCC::GCCVersion::isOlderThan(int RHSMajor, int RHSMinor, int RHSPatch, StringRef RHSPatchSuffix) const { @@ -1579,7 +1579,7 @@ bool Generic_GCC::GCCVersion::isOlderThan(int RHSMajor, int RHSMinor, return false; } -/// \brief Parse a GCCVersion object out of a string of text. +/// Parse a GCCVersion object out of a string of text. /// /// This is the primary means of forming GCCVersion objects. /*static*/ @@ -1637,7 +1637,7 @@ static llvm::StringRef getGCCToolchainDir(const ArgList &Args) { return GCC_INSTALL_PREFIX; } -/// \brief Initialize a GCCInstallationDetector from the driver. +/// Initialize a GCCInstallationDetector from the driver. /// /// This performs all of the autodetection and sets up the various paths. /// Once constructed, a GCCInstallationDetector is essentially immutable. @@ -2461,7 +2461,7 @@ Generic_GCC::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, // FIXME: If we have a valid GCCInstallation, use it. } -/// \brief Helper to add the variant paths of a libstdc++ installation. +/// Helper to add the variant paths of a libstdc++ installation. bool Generic_GCC::addLibStdCXXIncludePaths( Twine Base, Twine Suffix, StringRef GCCTriple, StringRef GCCMultiarchTriple, StringRef TargetMultiarchTriple, Twine IncludeSuffix, diff --git a/lib/Driver/ToolChains/Gnu.h b/lib/Driver/ToolChains/Gnu.h index a053e6f213..e8e74e4d80 100644 --- a/lib/Driver/ToolChains/Gnu.h +++ b/lib/Driver/ToolChains/Gnu.h @@ -36,7 +36,7 @@ bool findMIPSMultilibs(const Driver &D, const llvm::Triple &TargetTriple, namespace tools { -/// \brief Base class for all GNU tools that provide the same behavior when +/// Base class for all GNU tools that provide the same behavior when /// it comes to response files support class LLVM_LIBRARY_VISIBILITY GnuTool : public Tool { virtual void anchor(); @@ -139,7 +139,7 @@ namespace toolchains { /// command line options. class LLVM_LIBRARY_VISIBILITY Generic_GCC : public ToolChain { public: - /// \brief Struct to store and manipulate GCC versions. + /// Struct to store and manipulate GCC versions. /// /// We rely on assumptions about the form and structure of GCC version /// numbers: they consist of at most three '.'-separated components, and each @@ -155,16 +155,16 @@ public: /// in the way that (for example) Debian's version format does. If that ever /// becomes necessary, it can be added. struct GCCVersion { - /// \brief The unparsed text of the version. + /// The unparsed text of the version. std::string Text; - /// \brief The parsed major, minor, and patch numbers. + /// The parsed major, minor, and patch numbers. int Major, Minor, Patch; - /// \brief The text of the parsed major, and major+minor versions. + /// The text of the parsed major, and major+minor versions. std::string MajorStr, MinorStr; - /// \brief Any textual suffix on the patch number. + /// Any textual suffix on the patch number. std::string PatchSuffix; static GCCVersion Parse(StringRef VersionText); @@ -178,7 +178,7 @@ public: bool operator>=(const GCCVersion &RHS) const { return !(*this < RHS); } }; - /// \brief This is a class to find a viable GCC installation for Clang to + /// This is a class to find a viable GCC installation for Clang to /// use. /// /// This class tries to find a GCC installation on the system, and report @@ -213,32 +213,32 @@ public: void init(const llvm::Triple &TargetTriple, const llvm::opt::ArgList &Args, ArrayRef<std::string> ExtraTripleAliases = None); - /// \brief Check whether we detected a valid GCC install. + /// Check whether we detected a valid GCC install. bool isValid() const { return IsValid; } - /// \brief Get the GCC triple for the detected install. + /// Get the GCC triple for the detected install. const llvm::Triple &getTriple() const { return GCCTriple; } - /// \brief Get the detected GCC installation path. + /// Get the detected GCC installation path. StringRef getInstallPath() const { return GCCInstallPath; } - /// \brief Get the detected GCC parent lib path. + /// Get the detected GCC parent lib path. StringRef getParentLibPath() const { return GCCParentLibPath; } - /// \brief Get the detected Multilib + /// Get the detected Multilib const Multilib &getMultilib() const { return SelectedMultilib; } - /// \brief Get the whole MultilibSet + /// Get the whole MultilibSet const MultilibSet &getMultilibs() const { return Multilibs; } /// Get the biarch sibling multilib (if it exists). /// \return true iff such a sibling exists bool getBiarchSibling(Multilib &M) const; - /// \brief Get the detected GCC version string. + /// Get the detected GCC version string. const GCCVersion &getVersion() const { return Version; } - /// \brief Print information about the detected GCC installation. + /// Print information about the detected GCC installation. void print(raw_ostream &OS) const; private: @@ -304,10 +304,10 @@ protected: /// \name ToolChain Implementation Helper Functions /// @{ - /// \brief Check whether the target triple's architecture is 64-bits. + /// Check whether the target triple's architecture is 64-bits. bool isTarget64Bit() const { return getTriple().isArch64Bit(); } - /// \brief Check whether the target triple's architecture is 32-bits. + /// Check whether the target triple's architecture is 32-bits. bool isTarget32Bit() const { return getTriple().isArch32Bit(); } // FIXME: This should be final, but the CrossWindows toolchain does weird diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp index 8fb595e67e..9ef63b47d4 100644 --- a/lib/Driver/ToolChains/Linux.cpp +++ b/lib/Driver/ToolChains/Linux.cpp @@ -32,7 +32,7 @@ using namespace llvm::opt; using tools::addPathIfExists; -/// \brief Get our best guess at the multiarch triple for a target. +/// Get our best guess at the multiarch triple for a target. /// /// Debian-based systems are starting to use a multiarch setup where they use /// a target-triple directory in the library and header search paths. diff --git a/lib/Driver/ToolChains/MSVC.cpp b/lib/Driver/ToolChains/MSVC.cpp index d903d2fb64..22257092bb 100644 --- a/lib/Driver/ToolChains/MSVC.cpp +++ b/lib/Driver/ToolChains/MSVC.cpp @@ -868,7 +868,7 @@ static bool readFullStringValue(HKEY hkey, const char *valueName, } #endif -/// \brief Read registry string. +/// Read registry string. /// This also supports a means to look for high-versioned keys by use /// of a $VERSION placeholder in the key path. /// $VERSION in the key path is a placeholder for the version number, @@ -991,7 +991,7 @@ static bool getWindows10SDKVersionFromPath(const std::string &SDKPath, return !SDKVersion.empty(); } -/// \brief Get Windows SDK installation directory. +/// Get Windows SDK installation directory. static bool getWindowsSDKDir(std::string &Path, int &Major, std::string &WindowsSDKIncludeVersion, std::string &WindowsSDKLibVersion) { diff --git a/lib/Driver/ToolChains/MSVC.h b/lib/Driver/ToolChains/MSVC.h index 854f88a36f..d498cd5642 100644 --- a/lib/Driver/ToolChains/MSVC.h +++ b/lib/Driver/ToolChains/MSVC.h @@ -110,7 +110,7 @@ public: llvm::opt::ArgStringList &CC1Args) const override; bool getWindowsSDKLibraryPath(std::string &path) const; - /// \brief Check if Universal CRT should be used if available + /// Check if Universal CRT should be used if available bool getUniversalCRTLibraryPath(std::string &path) const; bool useUniversalCRT() const; VersionTuple diff --git a/lib/Edit/EditedSource.cpp b/lib/Edit/EditedSource.cpp index 89a3eb40d0..b38f8fd0d9 100644 --- a/lib/Edit/EditedSource.cpp +++ b/lib/Edit/EditedSource.cpp @@ -311,7 +311,7 @@ bool EditedSource::commit(const Commit &commit) { return true; } -// \brief Returns true if it is ok to make the two given characters adjacent. +// Returns true if it is ok to make the two given characters adjacent. static bool canBeJoined(char left, char right, const LangOptions &LangOpts) { // FIXME: Should use TokenConcatenation to make sure we don't allow stuff like // making two '<' adjacent. @@ -319,7 +319,7 @@ static bool canBeJoined(char left, char right, const LangOptions &LangOpts) { Lexer::isIdentifierBodyChar(right, LangOpts)); } -/// \brief Returns true if it is ok to eliminate the trailing whitespace between +/// Returns true if it is ok to eliminate the trailing whitespace between /// the given characters. static bool canRemoveWhitespace(char left, char beforeWSpace, char right, const LangOptions &LangOpts) { @@ -332,7 +332,7 @@ static bool canRemoveWhitespace(char left, char beforeWSpace, char right, return true; } -/// \brief Check the range that we are going to remove and: +/// Check the range that we are going to remove and: /// -Remove any trailing whitespace if possible. /// -Insert a space if removing the range is going to mess up the source tokens. static void adjustRemoval(const SourceManager &SM, const LangOptions &LangOpts, diff --git a/lib/Edit/RewriteObjCFoundationAPI.cpp b/lib/Edit/RewriteObjCFoundationAPI.cpp index dc501b564e..f89526a71d 100644 --- a/lib/Edit/RewriteObjCFoundationAPI.cpp +++ b/lib/Edit/RewriteObjCFoundationAPI.cpp @@ -95,7 +95,7 @@ bool edit::rewriteObjCRedundantCallWithLiteral(const ObjCMessageExpr *Msg, // rewriteToObjCSubscriptSyntax. //===----------------------------------------------------------------------===// -/// \brief Check for classes that accept 'objectForKey:' (or the other selectors +/// Check for classes that accept 'objectForKey:' (or the other selectors /// that the migrator handles) but return their instances as 'id', resulting /// in the compiler resolving 'objectForKey:' as the method from NSDictionary. /// @@ -355,7 +355,7 @@ bool edit::rewriteToObjCLiteralSyntax(const ObjCMessageExpr *Msg, return false; } -/// \brief Returns true if the immediate message arguments of \c Msg should not +/// Returns true if the immediate message arguments of \c Msg should not /// be rewritten because it will interfere with the rewrite of the parent /// message expression. e.g. /// \code @@ -372,7 +372,7 @@ static bool shouldNotRewriteImmediateMessageArgs(const ObjCMessageExpr *Msg, // rewriteToArrayLiteral. //===----------------------------------------------------------------------===// -/// \brief Adds an explicit cast to 'id' if the type is not objc object. +/// Adds an explicit cast to 'id' if the type is not objc object. static void objectifyExpr(const Expr *E, Commit &commit); static bool rewriteToArrayLiteral(const ObjCMessageExpr *Msg, @@ -434,7 +434,7 @@ static bool rewriteToArrayLiteral(const ObjCMessageExpr *Msg, // rewriteToDictionaryLiteral. //===----------------------------------------------------------------------===// -/// \brief If \c Msg is an NSArray creation message or literal, this gets the +/// If \c Msg is an NSArray creation message or literal, this gets the /// objects that were used to create it. /// \returns true if it is an NSArray and we got objects, or false otherwise. static bool getNSArrayObjects(const Expr *E, const NSAPI &NS, diff --git a/lib/Format/AffectedRangeManager.cpp b/lib/Format/AffectedRangeManager.cpp index 02e9f5e46f..b14316a14c 100644 --- a/lib/Format/AffectedRangeManager.cpp +++ b/lib/Format/AffectedRangeManager.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements AffectRangeManager class. +/// This file implements AffectRangeManager class. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/AffectedRangeManager.h b/lib/Format/AffectedRangeManager.h index b9a0cadd40..b0c9dd259f 100644 --- a/lib/Format/AffectedRangeManager.h +++ b/lib/Format/AffectedRangeManager.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief AffectedRangeManager class manages affected ranges in the code. +/// AffectedRangeManager class manages affected ranges in the code. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/BreakableToken.cpp b/lib/Format/BreakableToken.cpp index b603067ab3..db39a95bb1 100644 --- a/lib/Format/BreakableToken.cpp +++ b/lib/Format/BreakableToken.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Contains implementation of BreakableToken class and classes derived +/// Contains implementation of BreakableToken class and classes derived /// from it. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/BreakableToken.h b/lib/Format/BreakableToken.h index 1af031145c..d9713be398 100644 --- a/lib/Format/BreakableToken.h +++ b/lib/Format/BreakableToken.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Declares BreakableToken, BreakableStringLiteral, BreakableComment, +/// Declares BreakableToken, BreakableStringLiteral, BreakableComment, /// BreakableBlockComment and BreakableLineCommentSection classes, that contain /// token type-specific logic to break long lines in tokens and reflow content /// between tokens. @@ -27,13 +27,13 @@ namespace clang { namespace format { -/// \brief Checks if \p Token switches formatting, like /* clang-format off */. +/// Checks if \p Token switches formatting, like /* clang-format off */. /// \p Token must be a comment. bool switchesFormatting(const FormatToken &Token); struct FormatStyle; -/// \brief Base class for tokens / ranges of tokens that can allow breaking +/// Base class for tokens / ranges of tokens that can allow breaking /// within the tokens - for example, to avoid whitespace beyond the column /// limit, or to reflow text. /// @@ -88,15 +88,15 @@ struct FormatStyle; /// class BreakableToken { public: - /// \brief Contains starting character index and length of split. + /// Contains starting character index and length of split. typedef std::pair<StringRef::size_type, unsigned> Split; virtual ~BreakableToken() {} - /// \brief Returns the number of lines in this token in the original code. + /// Returns the number of lines in this token in the original code. virtual unsigned getLineCount() const = 0; - /// \brief Returns the number of columns required to format the text in the + /// Returns the number of columns required to format the text in the /// byte range [\p Offset, \p Offset \c + \p Length). /// /// \p Offset is the byte offset from the start of the content of the line @@ -108,7 +108,7 @@ public: StringRef::size_type Length, unsigned StartColumn) const = 0; - /// \brief Returns the number of columns required to format the text following + /// Returns the number of columns required to format the text following /// the byte \p Offset in the line \p LineIndex, including potentially /// unbreakable sequences of tokens following after the end of the token. /// @@ -125,7 +125,7 @@ public: return getRangeLength(LineIndex, Offset, StringRef::npos, StartColumn); } - /// \brief Returns the column at which content in line \p LineIndex starts, + /// Returns the column at which content in line \p LineIndex starts, /// assuming no reflow. /// /// If \p Break is true, returns the column at which the line should start @@ -135,7 +135,7 @@ public: virtual unsigned getContentStartColumn(unsigned LineIndex, bool Break) const = 0; - /// \brief Returns a range (offset, length) at which to break the line at + /// Returns a range (offset, length) at which to break the line at /// \p LineIndex, if previously broken at \p TailOffset. If possible, do not /// violate \p ColumnLimit, assuming the text starting at \p TailOffset in /// the token is formatted starting at ContentStartColumn in the reformatted @@ -144,27 +144,27 @@ public: unsigned ColumnLimit, unsigned ContentStartColumn, llvm::Regex &CommentPragmasRegex) const = 0; - /// \brief Emits the previously retrieved \p Split via \p Whitespaces. + /// Emits the previously retrieved \p Split via \p Whitespaces. virtual void insertBreak(unsigned LineIndex, unsigned TailOffset, Split Split, WhitespaceManager &Whitespaces) const = 0; - /// \brief Returns the number of columns needed to format + /// Returns the number of columns needed to format /// \p RemainingTokenColumns, assuming that Split is within the range measured /// by \p RemainingTokenColumns, and that the whitespace in Split is reduced /// to a single space. unsigned getLengthAfterCompression(unsigned RemainingTokenColumns, Split Split) const; - /// \brief Replaces the whitespace range described by \p Split with a single + /// Replaces the whitespace range described by \p Split with a single /// space. virtual void compressWhitespace(unsigned LineIndex, unsigned TailOffset, Split Split, WhitespaceManager &Whitespaces) const = 0; - /// \brief Returns whether the token supports reflowing text. + /// Returns whether the token supports reflowing text. virtual bool supportsReflow() const { return false; } - /// \brief Returns a whitespace range (offset, length) of the content at \p + /// Returns a whitespace range (offset, length) of the content at \p /// LineIndex such that the content of that line is reflown to the end of the /// previous one. /// @@ -180,21 +180,21 @@ public: return Split(StringRef::npos, 0); } - /// \brief Reflows the current line into the end of the previous one. + /// Reflows the current line into the end of the previous one. virtual void reflow(unsigned LineIndex, WhitespaceManager &Whitespaces) const {} - /// \brief Returns whether there will be a line break at the start of the + /// Returns whether there will be a line break at the start of the /// token. virtual bool introducesBreakBeforeToken() const { return false; } - /// \brief Replaces the whitespace between \p LineIndex-1 and \p LineIndex. + /// Replaces the whitespace between \p LineIndex-1 and \p LineIndex. virtual void adaptStartOfLine(unsigned LineIndex, WhitespaceManager &Whitespaces) const {} - /// \brief Returns a whitespace range (offset, length) of the content at + /// Returns a whitespace range (offset, length) of the content at /// the last line that needs to be reformatted after the last line has been /// reformatted. /// @@ -204,7 +204,7 @@ public: return Split(StringRef::npos, 0); } - /// \brief Replaces the whitespace from \p SplitAfterLastLine on the last line + /// Replaces the whitespace from \p SplitAfterLastLine on the last line /// after the last line has been formatted by performing a reformatting. void replaceWhitespaceAfterLastLine(unsigned TailOffset, Split SplitAfterLastLine, @@ -213,7 +213,7 @@ public: Whitespaces); } - /// \brief Updates the next token of \p State to the next token after this + /// Updates the next token of \p State to the next token after this /// one. This can be used when this token manages a set of underlying tokens /// as a unit and is responsible for the formatting of the them. virtual void updateNextToken(LineState &State) const {} @@ -232,7 +232,7 @@ protected: class BreakableStringLiteral : public BreakableToken { public: - /// \brief Creates a breakable token for a single line string literal. + /// Creates a breakable token for a single line string literal. /// /// \p StartColumn specifies the column in which the token will start /// after formatting. @@ -272,7 +272,7 @@ protected: class BreakableComment : public BreakableToken { protected: - /// \brief Creates a breakable token for a comment. + /// Creates a breakable token for a comment. /// /// \p StartColumn specifies the column in which the comment will start after /// formatting. @@ -453,7 +453,7 @@ private: SmallVector<unsigned, 16> OriginalContentColumn; - /// \brief The token to which the last line of this breakable token belongs + /// The token to which the last line of this breakable token belongs /// to; nullptr if that token is the initial token. /// /// The distinction is because if the token of the last line of this breakable diff --git a/lib/Format/ContinuationIndenter.cpp b/lib/Format/ContinuationIndenter.cpp index 75b1327032..9262dc3fdd 100644 --- a/lib/Format/ContinuationIndenter.cpp +++ b/lib/Format/ContinuationIndenter.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements the continuation indenter. +/// This file implements the continuation indenter. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/ContinuationIndenter.h b/lib/Format/ContinuationIndenter.h index 64b3a3eba9..3e09303d28 100644 --- a/lib/Format/ContinuationIndenter.h +++ b/lib/Format/ContinuationIndenter.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements an indenter that manages the indentation of +/// This file implements an indenter that manages the indentation of /// continuations. /// //===----------------------------------------------------------------------===// @@ -50,7 +50,7 @@ struct RawStringFormatStyleManager { class ContinuationIndenter { public: - /// \brief Constructs a \c ContinuationIndenter to format \p Line starting in + /// Constructs a \c ContinuationIndenter to format \p Line starting in /// column \p FirstIndent. ContinuationIndenter(const FormatStyle &Style, const AdditionalKeywords &Keywords, @@ -59,7 +59,7 @@ public: encoding::Encoding Encoding, bool BinPackInconclusiveFunctions); - /// \brief Get the initial state, i.e. the state after placing \p Line's + /// Get the initial state, i.e. the state after placing \p Line's /// first token at \p FirstIndent. When reformatting a fragment of code, as in /// the case of formatting inside raw string literals, \p FirstStartColumn is /// the column at which the state of the parent formatter is. @@ -68,13 +68,13 @@ public: // FIXME: canBreak and mustBreak aren't strictly indentation-related. Find a // better home. - /// \brief Returns \c true, if a line break after \p State is allowed. + /// Returns \c true, if a line break after \p State is allowed. bool canBreak(const LineState &State); - /// \brief Returns \c true, if a line break after \p State is mandatory. + /// Returns \c true, if a line break after \p State is mandatory. bool mustBreak(const LineState &State); - /// \brief Appends the next token to \p State and updates information + /// Appends the next token to \p State and updates information /// necessary for indentation. /// /// Puts the token on the current line if \p Newline is \c false and adds a @@ -85,28 +85,28 @@ public: unsigned addTokenToState(LineState &State, bool Newline, bool DryRun, unsigned ExtraSpaces = 0); - /// \brief Get the column limit for this line. This is the style's column + /// Get the column limit for this line. This is the style's column /// limit, potentially reduced for preprocessor definitions. unsigned getColumnLimit(const LineState &State) const; private: - /// \brief Mark the next token as consumed in \p State and modify its stacks + /// Mark the next token as consumed in \p State and modify its stacks /// accordingly. unsigned moveStateToNextToken(LineState &State, bool DryRun, bool Newline); - /// \brief Update 'State' according to the next token's fake left parentheses. + /// Update 'State' according to the next token's fake left parentheses. void moveStatePastFakeLParens(LineState &State, bool Newline); - /// \brief Update 'State' according to the next token's fake r_parens. + /// Update 'State' according to the next token's fake r_parens. void moveStatePastFakeRParens(LineState &State); - /// \brief Update 'State' according to the next token being one of "(<{[". + /// Update 'State' according to the next token being one of "(<{[". void moveStatePastScopeOpener(LineState &State, bool Newline); - /// \brief Update 'State' according to the next token being one of ")>}]". + /// Update 'State' according to the next token being one of ")>}]". void moveStatePastScopeCloser(LineState &State); - /// \brief Update 'State' with the next token opening a nested block. + /// Update 'State' with the next token opening a nested block. void moveStateToNewBlock(LineState &State); - /// \brief Reformats a raw string literal. + /// Reformats a raw string literal. /// /// \returns An extra penalty induced by reformatting the token. unsigned reformatRawStringLiteral(const FormatToken &Current, @@ -114,17 +114,17 @@ private: const FormatStyle &RawStringStyle, bool DryRun); - /// \brief If the current token is at the end of the current line, handle + /// If the current token is at the end of the current line, handle /// the transition to the next line. unsigned handleEndOfLine(const FormatToken &Current, LineState &State, bool DryRun, bool AllowBreak); - /// \brief If \p Current is a raw string that is configured to be reformatted, + /// If \p Current is a raw string that is configured to be reformatted, /// return the style to be used. llvm::Optional<FormatStyle> getRawStringStyle(const FormatToken &Current, const LineState &State); - /// \brief If the current token sticks out over the end of the line, break + /// If the current token sticks out over the end of the line, break /// it if possible. /// /// \returns A pair (penalty, exceeded), where penalty is the extra penalty @@ -147,13 +147,13 @@ private: bool AllowBreak, bool DryRun, bool Strict); - /// \brief Returns the \c BreakableToken starting at \p Current, or nullptr + /// Returns the \c BreakableToken starting at \p Current, or nullptr /// if the current token cannot be broken. std::unique_ptr<BreakableToken> createBreakableToken(const FormatToken &Current, LineState &State, bool AllowBreak); - /// \brief Appends the next token to \p State and updates information + /// Appends the next token to \p State and updates information /// necessary for indentation. /// /// Puts the token on the current line. @@ -163,7 +163,7 @@ private: void addTokenOnCurrentLine(LineState &State, bool DryRun, unsigned ExtraSpaces); - /// \brief Appends the next token to \p State and updates information + /// Appends the next token to \p State and updates information /// necessary for indentation. /// /// Adds a line break and necessary indentation. @@ -172,17 +172,17 @@ private: /// \c Replacement. unsigned addTokenOnNewLine(LineState &State, bool DryRun); - /// \brief Calculate the new column for a line wrap before the next token. + /// Calculate the new column for a line wrap before the next token. unsigned getNewLineColumn(const LineState &State); - /// \brief Adds a multiline token to the \p State. + /// Adds a multiline token to the \p State. /// /// \returns Extra penalty for the first line of the literal: last line is /// handled in \c addNextStateToQueue, and the penalty for other lines doesn't /// matter, as we don't change them. unsigned addMultilineToken(const FormatToken &Current, LineState &State); - /// \brief Returns \c true if the next token starts a multiline string + /// Returns \c true if the next token starts a multiline string /// literal. /// /// This includes implicitly concatenated strings, strings that will be broken @@ -211,115 +211,115 @@ struct ParenState { HasMultipleNestedBlocks(false), NestedBlockInlined(false), IsInsideObjCArrayLiteral(false) {} - /// \brief The position to which a specific parenthesis level needs to be + /// The position to which a specific parenthesis level needs to be /// indented. unsigned Indent; - /// \brief The position of the last space on each level. + /// The position of the last space on each level. /// /// Used e.g. to break like: /// functionCall(Parameter, otherCall( /// OtherParameter)); unsigned LastSpace; - /// \brief If a block relative to this parenthesis level gets wrapped, indent + /// If a block relative to this parenthesis level gets wrapped, indent /// it this much. unsigned NestedBlockIndent; - /// \brief The position the first "<<" operator encountered on each level. + /// The position the first "<<" operator encountered on each level. /// /// Used to align "<<" operators. 0 if no such operator has been encountered /// on a level. unsigned FirstLessLess = 0; - /// \brief The column of a \c ? in a conditional expression; + /// The column of a \c ? in a conditional expression; unsigned QuestionColumn = 0; - /// \brief The position of the colon in an ObjC method declaration/call. + /// The position of the colon in an ObjC method declaration/call. unsigned ColonPos = 0; - /// \brief The start of the most recent function in a builder-type call. + /// The start of the most recent function in a builder-type call. unsigned StartOfFunctionCall = 0; - /// \brief Contains the start of array subscript expressions, so that they + /// Contains the start of array subscript expressions, so that they /// can be aligned. unsigned StartOfArraySubscripts = 0; - /// \brief If a nested name specifier was broken over multiple lines, this + /// If a nested name specifier was broken over multiple lines, this /// contains the start column of the second line. Otherwise 0. unsigned NestedNameSpecifierContinuation = 0; - /// \brief If a call expression was broken over multiple lines, this + /// If a call expression was broken over multiple lines, this /// contains the start column of the second line. Otherwise 0. unsigned CallContinuation = 0; - /// \brief The column of the first variable name in a variable declaration. + /// The column of the first variable name in a variable declaration. /// /// Used to align further variables if necessary. unsigned VariablePos = 0; - /// \brief Whether a newline needs to be inserted before the block's closing + /// Whether a newline needs to be inserted before the block's closing /// brace. /// /// We only want to insert a newline before the closing brace if there also /// was a newline after the beginning left brace. bool BreakBeforeClosingBrace : 1; - /// \brief Avoid bin packing, i.e. multiple parameters/elements on multiple + /// Avoid bin packing, i.e. multiple parameters/elements on multiple /// lines, in this context. bool AvoidBinPacking : 1; - /// \brief Break after the next comma (or all the commas in this context if + /// Break after the next comma (or all the commas in this context if /// \c AvoidBinPacking is \c true). bool BreakBeforeParameter : 1; - /// \brief Line breaking in this context would break a formatting rule. + /// Line breaking in this context would break a formatting rule. bool NoLineBreak : 1; - /// \brief Same as \c NoLineBreak, but is restricted until the end of the + /// Same as \c NoLineBreak, but is restricted until the end of the /// operand (including the next ","). bool NoLineBreakInOperand : 1; - /// \brief True if the last binary operator on this level was wrapped to the + /// True if the last binary operator on this level was wrapped to the /// next line. bool LastOperatorWrapped : 1; - /// \brief \c true if this \c ParenState already contains a line-break. + /// \c true if this \c ParenState already contains a line-break. /// /// The first line break in a certain \c ParenState causes extra penalty so /// that clang-format prefers similar breaks, i.e. breaks in the same /// parenthesis. bool ContainsLineBreak : 1; - /// \brief \c true if this \c ParenState contains multiple segments of a + /// \c true if this \c ParenState contains multiple segments of a /// builder-type call on one line. bool ContainsUnwrappedBuilder : 1; - /// \brief \c true if the colons of the curren ObjC method expression should + /// \c true if the colons of the curren ObjC method expression should /// be aligned. /// /// Not considered for memoization as it will always have the same value at /// the same token. bool AlignColons : 1; - /// \brief \c true if at least one selector name was found in the current + /// \c true if at least one selector name was found in the current /// ObjC method expression. /// /// Not considered for memoization as it will always have the same value at /// the same token. bool ObjCSelectorNameFound : 1; - /// \brief \c true if there are multiple nested blocks inside these parens. + /// \c true if there are multiple nested blocks inside these parens. /// /// Not considered for memoization as it will always have the same value at /// the same token. bool HasMultipleNestedBlocks : 1; - /// \brief The start of a nested block (e.g. lambda introducer in C++ or + /// The start of a nested block (e.g. lambda introducer in C++ or /// "function" in JavaScript) is not wrapped to a new line. bool NestedBlockInlined : 1; - /// \brief \c true if the current \c ParenState represents an Objective-C + /// \c true if the current \c ParenState represents an Objective-C /// array literal. bool IsInsideObjCArrayLiteral : 1; @@ -364,37 +364,37 @@ struct ParenState { } }; -/// \brief The current state when indenting a unwrapped line. +/// The current state when indenting a unwrapped line. /// /// As the indenting tries different combinations this is copied by value. struct LineState { - /// \brief The number of used columns in the current line. + /// The number of used columns in the current line. unsigned Column; - /// \brief The token that needs to be next formatted. + /// The token that needs to be next formatted. FormatToken *NextToken; - /// \brief \c true if this line contains a continued for-loop section. + /// \c true if this line contains a continued for-loop section. bool LineContainsContinuedForLoopSection; - /// \brief \c true if \p NextToken should not continue this line. + /// \c true if \p NextToken should not continue this line. bool NoContinuation; - /// \brief The \c NestingLevel at the start of this line. + /// The \c NestingLevel at the start of this line. unsigned StartOfLineLevel; - /// \brief The lowest \c NestingLevel on the current line. + /// The lowest \c NestingLevel on the current line. unsigned LowestLevelOnLine; - /// \brief The start column of the string literal, if we're in a string + /// The start column of the string literal, if we're in a string /// literal sequence, 0 otherwise. unsigned StartOfStringLiteral; - /// \brief A stack keeping track of properties applying to parenthesis + /// A stack keeping track of properties applying to parenthesis /// levels. std::vector<ParenState> Stack; - /// \brief Ignore the stack of \c ParenStates for state comparison. + /// Ignore the stack of \c ParenStates for state comparison. /// /// In long and deeply nested unwrapped lines, the current algorithm can /// be insufficient for finding the best formatting with a reasonable amount @@ -409,15 +409,15 @@ struct LineState { /// FIXME: Come up with a better algorithm instead. bool IgnoreStackForComparison; - /// \brief The indent of the first token. + /// The indent of the first token. unsigned FirstIndent; - /// \brief The line that is being formatted. + /// The line that is being formatted. /// /// Does not need to be considered for memoization because it doesn't change. const AnnotatedLine *Line; - /// \brief Comparison operator to be able to used \c LineState in \c map. + /// Comparison operator to be able to used \c LineState in \c map. bool operator<(const LineState &Other) const { if (NextToken != Other.NextToken) return NextToken < Other.NextToken; diff --git a/lib/Format/Encoding.h b/lib/Format/Encoding.h index 3339597b4e..404a443abc 100644 --- a/lib/Format/Encoding.h +++ b/lib/Format/Encoding.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Contains functions for text encoding manipulation. Supports UTF-8, +/// Contains functions for text encoding manipulation. Supports UTF-8, /// 8-bit encodings and escape sequences in C++ string literals. /// //===----------------------------------------------------------------------===// @@ -30,7 +30,7 @@ enum Encoding { Encoding_Unknown // We treat all other encodings as 8-bit encodings. }; -/// \brief Detects encoding of the Text. If the Text can be decoded using UTF-8, +/// Detects encoding of the Text. If the Text can be decoded using UTF-8, /// it is considered UTF8, otherwise we treat it as some 8-bit encoding. inline Encoding detectEncoding(StringRef Text) { const llvm::UTF8 *Ptr = reinterpret_cast<const llvm::UTF8 *>(Text.begin()); @@ -40,7 +40,7 @@ inline Encoding detectEncoding(StringRef Text) { return Encoding_Unknown; } -/// \brief Returns the number of columns required to display the \p Text on a +/// Returns the number of columns required to display the \p Text on a /// generic Unicode-capable terminal. Text is assumed to use the specified /// \p Encoding. inline unsigned columnWidth(StringRef Text, Encoding Encoding) { @@ -56,7 +56,7 @@ inline unsigned columnWidth(StringRef Text, Encoding Encoding) { return Text.size(); } -/// \brief Returns the number of columns required to display the \p Text, +/// Returns the number of columns required to display the \p Text, /// starting from the \p StartColumn on a terminal with the \p TabWidth. The /// text is assumed to use the specified \p Encoding. inline unsigned columnWidthWithTabs(StringRef Text, unsigned StartColumn, @@ -73,7 +73,7 @@ inline unsigned columnWidthWithTabs(StringRef Text, unsigned StartColumn, } } -/// \brief Gets the number of bytes in a sequence representing a single +/// Gets the number of bytes in a sequence representing a single /// codepoint and starting with FirstChar in the specified Encoding. inline unsigned getCodePointNumBytes(char FirstChar, Encoding Encoding) { switch (Encoding) { @@ -91,7 +91,7 @@ inline bool isHexDigit(char c) { ('A' <= c && c <= 'F'); } -/// \brief Gets the length of an escape sequence inside a C++ string literal. +/// Gets the length of an escape sequence inside a C++ string literal. /// Text should span from the beginning of the escape sequence (starting with a /// backslash) to the end of the string literal. inline unsigned getEscapeSequenceLength(StringRef Text) { diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index aaca6d2cef..a2a1c7adde 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements functions declared in Format.h. This will be +/// This file implements functions declared in Format.h. This will be /// split into separate files as we go. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/FormatInternal.h b/lib/Format/FormatInternal.h index 3984158467..5c59e7656e 100644 --- a/lib/Format/FormatInternal.h +++ b/lib/Format/FormatInternal.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file declares Format APIs to be used internally by the +/// This file declares Format APIs to be used internally by the /// formatting library implementation. /// //===----------------------------------------------------------------------===// @@ -24,7 +24,7 @@ namespace clang { namespace format { namespace internal { -/// \brief Reformats the given \p Ranges in the code fragment \p Code. +/// Reformats the given \p Ranges in the code fragment \p Code. /// /// A fragment of code could conceptually be surrounded by other code that might /// constrain how that fragment is laid out. diff --git a/lib/Format/FormatToken.cpp b/lib/Format/FormatToken.cpp index c63f0129c4..62b08c576e 100644 --- a/lib/Format/FormatToken.cpp +++ b/lib/Format/FormatToken.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements specific functions of \c FormatTokens and their +/// This file implements specific functions of \c FormatTokens and their /// roles. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/FormatToken.h b/lib/Format/FormatToken.h index a1e8ecbd72..7d13d09da7 100644 --- a/lib/Format/FormatToken.h +++ b/lib/Format/FormatToken.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file contains the declaration of the FormatToken, a wrapper +/// This file contains the declaration of the FormatToken, a wrapper /// around Token with additional information related to formatting. /// //===----------------------------------------------------------------------===// @@ -104,7 +104,7 @@ enum TokenType { NUM_TOKEN_TYPES }; -/// \brief Determines the name of a token type. +/// Determines the name of a token type. const char *getTokenTypeName(TokenType Type); // Represents what type of block a set of braces open. @@ -118,185 +118,185 @@ enum FormatDecision { FD_Unformatted, FD_Continue, FD_Break }; class TokenRole; class AnnotatedLine; -/// \brief A wrapper around a \c Token storing information about the +/// A wrapper around a \c Token storing information about the /// whitespace characters preceding it. struct FormatToken { FormatToken() {} - /// \brief The \c Token. + /// The \c Token. Token Tok; - /// \brief The number of newlines immediately before the \c Token. + /// The number of newlines immediately before the \c Token. /// /// This can be used to determine what the user wrote in the original code /// and thereby e.g. leave an empty line between two function definitions. unsigned NewlinesBefore = 0; - /// \brief Whether there is at least one unescaped newline before the \c + /// Whether there is at least one unescaped newline before the \c /// Token. bool HasUnescapedNewline = false; - /// \brief The range of the whitespace immediately preceding the \c Token. + /// The range of the whitespace immediately preceding the \c Token. SourceRange WhitespaceRange; - /// \brief The offset just past the last '\n' in this token's leading + /// The offset just past the last '\n' in this token's leading /// whitespace (relative to \c WhiteSpaceStart). 0 if there is no '\n'. unsigned LastNewlineOffset = 0; - /// \brief The width of the non-whitespace parts of the token (or its first + /// The width of the non-whitespace parts of the token (or its first /// line for multi-line tokens) in columns. /// We need this to correctly measure number of columns a token spans. unsigned ColumnWidth = 0; - /// \brief Contains the width in columns of the last line of a multi-line + /// Contains the width in columns of the last line of a multi-line /// token. unsigned LastLineColumnWidth = 0; - /// \brief Whether the token text contains newlines (escaped or not). + /// Whether the token text contains newlines (escaped or not). bool IsMultiline = false; - /// \brief Indicates that this is the first token of the file. + /// Indicates that this is the first token of the file. bool IsFirst = false; - /// \brief Whether there must be a line break before this token. + /// Whether there must be a line break before this token. /// /// This happens for example when a preprocessor directive ended directly /// before the token. bool MustBreakBefore = false; - /// \brief The raw text of the token. + /// The raw text of the token. /// /// Contains the raw token text without leading whitespace and without leading /// escaped newlines. StringRef TokenText; - /// \brief Set to \c true if this token is an unterminated literal. + /// Set to \c true if this token is an unterminated literal. bool IsUnterminatedLiteral = 0; - /// \brief Contains the kind of block if this token is a brace. + /// Contains the kind of block if this token is a brace. BraceBlockKind BlockKind = BK_Unknown; TokenType Type = TT_Unknown; - /// \brief The number of spaces that should be inserted before this token. + /// The number of spaces that should be inserted before this token. unsigned SpacesRequiredBefore = 0; - /// \brief \c true if it is allowed to break before this token. + /// \c true if it is allowed to break before this token. bool CanBreakBefore = false; - /// \brief \c true if this is the ">" of "template<..>". + /// \c true if this is the ">" of "template<..>". bool ClosesTemplateDeclaration = false; - /// \brief Number of parameters, if this is "(", "[" or "<". + /// Number of parameters, if this is "(", "[" or "<". /// /// This is initialized to 1 as we don't need to distinguish functions with /// 0 parameters from functions with 1 parameter. Thus, we can simply count /// the number of commas. unsigned ParameterCount = 0; - /// \brief Number of parameters that are nested blocks, + /// Number of parameters that are nested blocks, /// if this is "(", "[" or "<". unsigned BlockParameterCount = 0; - /// \brief If this is a bracket ("<", "(", "[" or "{"), contains the kind of + /// If this is a bracket ("<", "(", "[" or "{"), contains the kind of /// the surrounding bracket. tok::TokenKind ParentBracket = tok::unknown; - /// \brief A token can have a special role that can carry extra information + /// A token can have a special role that can carry extra information /// about the token's formatting. std::unique_ptr<TokenRole> Role; - /// \brief If this is an opening parenthesis, how are the parameters packed? + /// If this is an opening parenthesis, how are the parameters packed? ParameterPackingKind PackingKind = PPK_Inconclusive; - /// \brief The total length of the unwrapped line up to and including this + /// The total length of the unwrapped line up to and including this /// token. unsigned TotalLength = 0; - /// \brief The original 0-based column of this token, including expanded tabs. + /// The original 0-based column of this token, including expanded tabs. /// The configured TabWidth is used as tab width. unsigned OriginalColumn = 0; - /// \brief The length of following tokens until the next natural split point, + /// The length of following tokens until the next natural split point, /// or the next token that can be broken. unsigned UnbreakableTailLength = 0; // FIXME: Come up with a 'cleaner' concept. - /// \brief The binding strength of a token. This is a combined value of + /// The binding strength of a token. This is a combined value of /// operator precedence, parenthesis nesting, etc. unsigned BindingStrength = 0; - /// \brief The nesting level of this token, i.e. the number of surrounding (), + /// The nesting level of this token, i.e. the number of surrounding (), /// [], {} or <>. unsigned NestingLevel = 0; - /// \brief The indent level of this token. Copied from the surrounding line. + /// The indent level of this token. Copied from the surrounding line. unsigned IndentLevel = 0; - /// \brief Penalty for inserting a line break before this token. + /// Penalty for inserting a line break before this token. unsigned SplitPenalty = 0; - /// \brief If this is the first ObjC selector name in an ObjC method + /// If this is the first ObjC selector name in an ObjC method /// definition or call, this contains the length of the longest name. /// /// This being set to 0 means that the selectors should not be colon-aligned, /// e.g. because several of them are block-type. unsigned LongestObjCSelectorName = 0; - /// \brief How many parts ObjC selector have (i.e. how many parameters method + /// How many parts ObjC selector have (i.e. how many parameters method /// has). unsigned ObjCSelectorNameParts = 0; - /// \brief Stores the number of required fake parentheses and the + /// Stores the number of required fake parentheses and the /// corresponding operator precedence. /// /// If multiple fake parentheses start at a token, this vector stores them in /// reverse order, i.e. inner fake parenthesis first. SmallVector<prec::Level, 4> FakeLParens; - /// \brief Insert this many fake ) after this token for correct indentation. + /// Insert this many fake ) after this token for correct indentation. unsigned FakeRParens = 0; - /// \brief \c true if this token starts a binary expression, i.e. has at least + /// \c true if this token starts a binary expression, i.e. has at least /// one fake l_paren with a precedence greater than prec::Unknown. bool StartsBinaryExpression = false; - /// \brief \c true if this token ends a binary expression. + /// \c true if this token ends a binary expression. bool EndsBinaryExpression = false; - /// \brief Is this is an operator (or "."/"->") in a sequence of operators + /// Is this is an operator (or "."/"->") in a sequence of operators /// with the same precedence, contains the 0-based operator index. unsigned OperatorIndex = 0; - /// \brief If this is an operator (or "."/"->") in a sequence of operators + /// If this is an operator (or "."/"->") in a sequence of operators /// with the same precedence, points to the next operator. FormatToken *NextOperator = nullptr; - /// \brief Is this token part of a \c DeclStmt defining multiple variables? + /// Is this token part of a \c DeclStmt defining multiple variables? /// /// Only set if \c Type == \c TT_StartOfName. bool PartOfMultiVariableDeclStmt = false; - /// \brief Does this line comment continue a line comment section? + /// Does this line comment continue a line comment section? /// /// Only set to true if \c Type == \c TT_LineComment. bool ContinuesLineCommentSection = false; - /// \brief If this is a bracket, this points to the matching one. + /// If this is a bracket, this points to the matching one. FormatToken *MatchingParen = nullptr; - /// \brief The previous token in the unwrapped line. + /// The previous token in the unwrapped line. FormatToken *Previous = nullptr; - /// \brief The next token in the unwrapped line. + /// The next token in the unwrapped line. FormatToken *Next = nullptr; - /// \brief If this token starts a block, this contains all the unwrapped lines + /// If this token starts a block, this contains all the unwrapped lines /// in it. SmallVector<AnnotatedLine *, 1> Children; - /// \brief Stores the formatting decision for the token once it was made. + /// Stores the formatting decision for the token once it was made. FormatDecision Decision = FD_Unformatted; - /// \brief If \c true, this token has been fully formatted (indented and + /// If \c true, this token has been fully formatted (indented and /// potentially re-formatted inside), and we do not allow further formatting /// changes. bool Finalized = false; @@ -344,7 +344,7 @@ struct FormatToken { (!ColonRequired || (Next && Next->is(tok::colon))); } - /// \brief Determine whether the token is a simple-type-specifier. + /// Determine whether the token is a simple-type-specifier. bool isSimpleTypeSpecifier() const; bool isObjCAccessSpecifier() const { @@ -355,7 +355,7 @@ struct FormatToken { Next->isObjCAtKeyword(tok::objc_private)); } - /// \brief Returns whether \p Tok is ([{ or an opening < of a template or in + /// Returns whether \p Tok is ([{ or an opening < of a template or in /// protos. bool opensScope() const { if (is(TT_TemplateString) && TokenText.endswith("${")) @@ -365,7 +365,7 @@ struct FormatToken { return isOneOf(tok::l_paren, tok::l_brace, tok::l_square, TT_TemplateOpener); } - /// \brief Returns whether \p Tok is )]} or a closing > of a template or in + /// Returns whether \p Tok is )]} or a closing > of a template or in /// protos. bool closesScope() const { if (is(TT_TemplateString) && TokenText.startswith("}")) @@ -376,7 +376,7 @@ struct FormatToken { TT_TemplateCloser); } - /// \brief Returns \c true if this is a "." or "->" accessing a member. + /// Returns \c true if this is a "." or "->" accessing a member. bool isMemberAccess() const { return isOneOf(tok::arrow, tok::period, tok::arrowstar) && !isOneOf(TT_DesignatedInitializerPeriod, TT_TrailingReturnArrow, @@ -409,7 +409,7 @@ struct FormatToken { (is(TT_LineComment) || !Next || Next->NewlinesBefore > 0); } - /// \brief Returns \c true if this is a keyword that can be used + /// Returns \c true if this is a keyword that can be used /// like a function call (e.g. sizeof, typeid, ...). bool isFunctionLikeKeyword() const { switch (Tok.getKind()) { @@ -429,7 +429,7 @@ struct FormatToken { } } - /// \brief Returns \c true if this is a string literal that's like a label, + /// Returns \c true if this is a string literal that's like a label, /// e.g. ends with "=" or ":". bool isLabelString() const { if (!is(tok::string_literal)) @@ -444,7 +444,7 @@ struct FormatToken { (Content.back() == ':' || Content.back() == '='); } - /// \brief Returns actual token start location without leading escaped + /// Returns actual token start location without leading escaped /// newlines and whitespace. /// /// This can be different to Tok.getLocation(), which includes leading escaped @@ -458,7 +458,7 @@ struct FormatToken { /*CPlusPlus11=*/true); } - /// \brief Returns the previous token ignoring comments. + /// Returns the previous token ignoring comments. FormatToken *getPreviousNonComment() const { FormatToken *Tok = Previous; while (Tok && Tok->is(tok::comment)) @@ -466,7 +466,7 @@ struct FormatToken { return Tok; } - /// \brief Returns the next token ignoring comments. + /// Returns the next token ignoring comments. const FormatToken *getNextNonComment() const { const FormatToken *Tok = Next; while (Tok && Tok->is(tok::comment)) @@ -474,7 +474,7 @@ struct FormatToken { return Tok; } - /// \brief Returns \c true if this tokens starts a block-type list, i.e. a + /// Returns \c true if this tokens starts a block-type list, i.e. a /// list that should be indented with a block indent. bool opensBlockOrBlockTypeList(const FormatStyle &Style) const { if (is(TT_TemplateString) && opensScope()) @@ -488,7 +488,7 @@ struct FormatToken { Style.Language == FormatStyle::LK_TextProto)); } - /// \brief Returns whether the token is the left square bracket of a C++ + /// Returns whether the token is the left square bracket of a C++ /// structured binding declaration. bool isCppStructuredBinding(const FormatStyle &Style) const { if (!Style.isCpp() || isNot(tok::l_square)) @@ -501,14 +501,14 @@ struct FormatToken { return T && T->is(tok::kw_auto); } - /// \brief Same as opensBlockOrBlockTypeList, but for the closing token. + /// Same as opensBlockOrBlockTypeList, but for the closing token. bool closesBlockOrBlockTypeList(const FormatStyle &Style) const { if (is(TT_TemplateString) && closesScope()) return true; return MatchingParen && MatchingParen->opensBlockOrBlockTypeList(Style); } - /// \brief Return the actual namespace token, if this token starts a namespace + /// Return the actual namespace token, if this token starts a namespace /// block. const FormatToken *getNamespaceToken() const { const FormatToken *NamespaceTok = this; @@ -561,11 +561,11 @@ public: TokenRole(const FormatStyle &Style) : Style(Style) {} virtual ~TokenRole(); - /// \brief After the \c TokenAnnotator has finished annotating all the tokens, + /// After the \c TokenAnnotator has finished annotating all the tokens, /// this function precomputes required information for formatting. virtual void precomputeFormattingInfos(const FormatToken *Token); - /// \brief Apply the special formatting that the given role demands. + /// Apply the special formatting that the given role demands. /// /// Assumes that the token having this role is already formatted. /// @@ -577,7 +577,7 @@ public: return 0; } - /// \brief Same as \c formatFromToken, but assumes that the first token has + /// Same as \c formatFromToken, but assumes that the first token has /// already been set thereby deciding on the first line break. virtual unsigned formatAfterToken(LineState &State, ContinuationIndenter *Indenter, @@ -585,7 +585,7 @@ public: return 0; } - /// \brief Notifies the \c Role that a comma was found. + /// Notifies the \c Role that a comma was found. virtual void CommaFound(const FormatToken *Token) {} protected: @@ -605,46 +605,46 @@ public: unsigned formatFromToken(LineState &State, ContinuationIndenter *Indenter, bool DryRun) override; - /// \brief Adds \p Token as the next comma to the \c CommaSeparated list. + /// Adds \p Token as the next comma to the \c CommaSeparated list. void CommaFound(const FormatToken *Token) override { Commas.push_back(Token); } private: - /// \brief A struct that holds information on how to format a given list with + /// A struct that holds information on how to format a given list with /// a specific number of columns. struct ColumnFormat { - /// \brief The number of columns to use. + /// The number of columns to use. unsigned Columns; - /// \brief The total width in characters. + /// The total width in characters. unsigned TotalWidth; - /// \brief The number of lines required for this format. + /// The number of lines required for this format. unsigned LineCount; - /// \brief The size of each column in characters. + /// The size of each column in characters. SmallVector<unsigned, 8> ColumnSizes; }; - /// \brief Calculate which \c ColumnFormat fits best into + /// Calculate which \c ColumnFormat fits best into /// \p RemainingCharacters. const ColumnFormat *getColumnFormat(unsigned RemainingCharacters) const; - /// \brief The ordered \c FormatTokens making up the commas of this list. + /// The ordered \c FormatTokens making up the commas of this list. SmallVector<const FormatToken *, 8> Commas; - /// \brief The length of each of the list's items in characters including the + /// The length of each of the list's items in characters including the /// trailing comma. SmallVector<unsigned, 8> ItemLengths; - /// \brief Precomputed formats that can be used for this list. + /// Precomputed formats that can be used for this list. SmallVector<ColumnFormat, 4> Formats; bool HasNestedBracedList; }; -/// \brief Encapsulates keywords that are context sensitive or for languages not +/// Encapsulates keywords that are context sensitive or for languages not /// properly supported by Clang's lexer. struct AdditionalKeywords { AdditionalKeywords(IdentifierTable &IdentTable) { @@ -776,7 +776,7 @@ struct AdditionalKeywords { IdentifierInfo *kw_slots; IdentifierInfo *kw_qslots; - /// \brief Returns \c true if \p Tok is a true JavaScript identifier, returns + /// Returns \c true if \p Tok is a true JavaScript identifier, returns /// \c false if it is a keyword or a pseudo keyword. bool IsJavaScriptIdentifier(const FormatToken &Tok) const { return Tok.is(tok::identifier) && @@ -785,7 +785,7 @@ struct AdditionalKeywords { } private: - /// \brief The JavaScript keywords beyond the C++ keyword set. + /// The JavaScript keywords beyond the C++ keyword set. std::unordered_set<IdentifierInfo *> JsExtraKeywords; }; diff --git a/lib/Format/FormatTokenLexer.cpp b/lib/Format/FormatTokenLexer.cpp index e06e26f8bc..fbd26965a6 100644 --- a/lib/Format/FormatTokenLexer.cpp +++ b/lib/Format/FormatTokenLexer.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements FormatTokenLexer, which tokenizes a source file +/// This file implements FormatTokenLexer, which tokenizes a source file /// into a FormatToken stream suitable for ClangFormat. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/FormatTokenLexer.h b/lib/Format/FormatTokenLexer.h index 59dc2a752f..3b79d27480 100644 --- a/lib/Format/FormatTokenLexer.h +++ b/lib/Format/FormatTokenLexer.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file contains FormatTokenLexer, which tokenizes a source file +/// This file contains FormatTokenLexer, which tokenizes a source file /// into a token stream suitable for ClangFormat. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/NamespaceEndCommentsFixer.cpp b/lib/Format/NamespaceEndCommentsFixer.cpp index ea369a769f..995b3219a1 100644 --- a/lib/Format/NamespaceEndCommentsFixer.cpp +++ b/lib/Format/NamespaceEndCommentsFixer.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements NamespaceEndCommentsFixer, a TokenAnalyzer that +/// This file implements NamespaceEndCommentsFixer, a TokenAnalyzer that /// fixes namespace end comments. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/NamespaceEndCommentsFixer.h b/lib/Format/NamespaceEndCommentsFixer.h index adfe38943c..07a1c7bb0c 100644 --- a/lib/Format/NamespaceEndCommentsFixer.h +++ b/lib/Format/NamespaceEndCommentsFixer.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file declares NamespaceEndCommentsFixer, a TokenAnalyzer that +/// This file declares NamespaceEndCommentsFixer, a TokenAnalyzer that /// fixes namespace end comments. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/SortJavaScriptImports.cpp b/lib/Format/SortJavaScriptImports.cpp index b598a26f8c..0ca2c4433c 100644 --- a/lib/Format/SortJavaScriptImports.cpp +++ b/lib/Format/SortJavaScriptImports.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements a sort operation for JavaScript ES6 imports. +/// This file implements a sort operation for JavaScript ES6 imports. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/SortJavaScriptImports.h b/lib/Format/SortJavaScriptImports.h index f22a051008..ecab0ae54c 100644 --- a/lib/Format/SortJavaScriptImports.h +++ b/lib/Format/SortJavaScriptImports.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements a sorter for JavaScript ES6 imports. +/// This file implements a sorter for JavaScript ES6 imports. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/TokenAnalyzer.cpp b/lib/Format/TokenAnalyzer.cpp index d1dfb1fea3..806a596179 100644 --- a/lib/Format/TokenAnalyzer.cpp +++ b/lib/Format/TokenAnalyzer.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements an abstract TokenAnalyzer and associated helper +/// This file implements an abstract TokenAnalyzer and associated helper /// classes. TokenAnalyzer can be extended to generate replacements based on /// an annotated and pre-processed token stream. /// diff --git a/lib/Format/TokenAnalyzer.h b/lib/Format/TokenAnalyzer.h index 96ea00b25b..a8978b56cb 100644 --- a/lib/Format/TokenAnalyzer.h +++ b/lib/Format/TokenAnalyzer.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file declares an abstract TokenAnalyzer, and associated helper +/// This file declares an abstract TokenAnalyzer, and associated helper /// classes. TokenAnalyzer can be extended to generate replacements based on /// an annotated and pre-processed token stream. /// diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 475eadd9f4..ef763319d0 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements a token annotator, i.e. creates +/// This file implements a token annotator, i.e. creates /// \c AnnotatedTokens out of \c FormatTokens with required extra information. /// //===----------------------------------------------------------------------===// @@ -25,7 +25,7 @@ namespace format { namespace { -/// \brief Returns \c true if the token can be used as an identifier in +/// Returns \c true if the token can be used as an identifier in /// an Objective-C \c @selector, \c false otherwise. /// /// Because getFormattingLangOpts() always lexes source code as @@ -40,7 +40,7 @@ static bool canBeObjCSelectorComponent(const FormatToken &Tok) { return Tok.Tok.getIdentifierInfo() != nullptr; } -/// \brief A parser that gathers additional information about tokens. +/// A parser that gathers additional information about tokens. /// /// The \c TokenAnnotator tries to match parenthesis and square brakets and /// store a parenthesis levels. It also tries to resolve matching "<" and ">" @@ -1132,7 +1132,7 @@ private: resetTokenMetadata(CurrentToken); } - /// \brief A struct to hold information valid in a specific context, e.g. + /// A struct to hold information valid in a specific context, e.g. /// a pair of parenthesis. struct Context { Context(tok::TokenKind ContextKind, unsigned BindingStrength, @@ -1158,7 +1158,7 @@ private: bool InCpp11AttributeSpecifier = false; }; - /// \brief Puts a new \c Context onto the stack \c Contexts for the lifetime + /// Puts a new \c Context onto the stack \c Contexts for the lifetime /// of each instance. struct ScopedContextCreator { AnnotatingParser &P; @@ -1399,7 +1399,7 @@ private: } } - /// \brief Take a guess at whether \p Tok starts a name of a function or + /// Take a guess at whether \p Tok starts a name of a function or /// variable declaration. /// /// This is a heuristic based on whether \p Tok is an identifier following @@ -1444,7 +1444,7 @@ private: PreviousNotConst->isSimpleTypeSpecifier(); } - /// \brief Determine whether ')' is ending a cast. + /// Determine whether ')' is ending a cast. bool rParenEndsCast(const FormatToken &Tok) { // C-style casts are only used in C++ and Java. if (!Style.isCpp() && Style.Language != FormatStyle::LK_Java) @@ -1541,7 +1541,7 @@ private: return true; } - /// \brief Return the type of the given token assuming it is * or &. + /// Return the type of the given token assuming it is * or &. TokenType determineStarAmpUsage(const FormatToken &Tok, bool IsExpression, bool InTemplateArgument) { if (Style.Language == FormatStyle::LK_JavaScript) @@ -1636,7 +1636,7 @@ private: return TT_BinaryOperator; } - /// \brief Determine whether ++/-- are pre- or post-increments/-decrements. + /// Determine whether ++/-- are pre- or post-increments/-decrements. TokenType determineIncrementUsage(const FormatToken &Tok) { const FormatToken *PrevToken = Tok.getPreviousNonComment(); if (!PrevToken || PrevToken->is(TT_CastRParen)) @@ -1665,7 +1665,7 @@ private: static const int PrecedenceUnaryOperator = prec::PointerToMember + 1; static const int PrecedenceArrowAndPeriod = prec::PointerToMember + 2; -/// \brief Parses binary expressions by inserting fake parenthesis based on +/// Parses binary expressions by inserting fake parenthesis based on /// operator precedence. class ExpressionParser { public: @@ -1673,7 +1673,7 @@ public: AnnotatedLine &Line) : Style(Style), Keywords(Keywords), Current(Line.First) {} - /// \brief Parse expressions with the given operator precedence. + /// Parse expressions with the given operator precedence. void parse(int Precedence = 0) { // Skip 'return' and ObjC selector colons as they are not part of a binary // expression. @@ -1760,7 +1760,7 @@ public: } private: - /// \brief Gets the precedence (+1) of the given token for binary operators + /// Gets the precedence (+1) of the given token for binary operators /// and other tokens that we treat like binary operators. int getCurrentPrecedence() { if (Current) { @@ -1819,7 +1819,7 @@ private: } } - /// \brief Parse unary operator expressions and surround them with fake + /// Parse unary operator expressions and surround them with fake /// parentheses if appropriate. void parseUnaryOperator() { llvm::SmallVector<FormatToken *, 2> Tokens; diff --git a/lib/Format/TokenAnnotator.h b/lib/Format/TokenAnnotator.h index 15b9ae6462..a3124fcb3d 100644 --- a/lib/Format/TokenAnnotator.h +++ b/lib/Format/TokenAnnotator.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements a token annotator, i.e. creates +/// This file implements a token annotator, i.e. creates /// \c AnnotatedTokens out of \c FormatTokens with required extra information. /// //===----------------------------------------------------------------------===// @@ -138,14 +138,14 @@ private: void operator=(const AnnotatedLine &) = delete; }; -/// \brief Determines extra information about the tokens comprising an +/// Determines extra information about the tokens comprising an /// \c UnwrappedLine. class TokenAnnotator { public: TokenAnnotator(const FormatStyle &Style, const AdditionalKeywords &Keywords) : Style(Style), Keywords(Keywords) {} - /// \brief Adapts the indent levels of comment lines to the indent of the + /// Adapts the indent levels of comment lines to the indent of the /// subsequent line. // FIXME: Can/should this be done in the UnwrappedLineParser? void setCommentLineLevels(SmallVectorImpl<AnnotatedLine *> &Lines); @@ -154,7 +154,7 @@ public: void calculateFormattingInformation(AnnotatedLine &Line); private: - /// \brief Calculate the penalty for splitting before \c Tok. + /// Calculate the penalty for splitting before \c Tok. unsigned splitPenalty(const AnnotatedLine &Line, const FormatToken &Tok, bool InFunctionDecl); diff --git a/lib/Format/UnwrappedLineFormatter.cpp b/lib/Format/UnwrappedLineFormatter.cpp index 45ddc1cc63..337a662275 100644 --- a/lib/Format/UnwrappedLineFormatter.cpp +++ b/lib/Format/UnwrappedLineFormatter.cpp @@ -27,7 +27,7 @@ bool startsExternCBlock(const AnnotatedLine &Line) { NextNext && NextNext->is(tok::l_brace); } -/// \brief Tracks the indent level of \c AnnotatedLines across levels. +/// Tracks the indent level of \c AnnotatedLines across levels. /// /// \c nextLine must be called for each \c AnnotatedLine, after which \c /// getIndent() will return the indent for the last line \c nextLine was called @@ -46,10 +46,10 @@ public: IndentForLevel.push_back(Style.IndentWidth * i + AdditionalIndent); } - /// \brief Returns the indent for the current line. + /// Returns the indent for the current line. unsigned getIndent() const { return Indent; } - /// \brief Update the indent state given that \p Line is going to be formatted + /// Update the indent state given that \p Line is going to be formatted /// next. void nextLine(const AnnotatedLine &Line) { Offset = getIndentOffset(*Line.First); @@ -67,14 +67,14 @@ public: Indent += Offset; } - /// \brief Update the indent state given that \p Line indent should be + /// Update the indent state given that \p Line indent should be /// skipped. void skipLine(const AnnotatedLine &Line) { while (IndentForLevel.size() <= Line.Level) IndentForLevel.push_back(Indent); } - /// \brief Update the level indent to adapt to the given \p Line. + /// Update the level indent to adapt to the given \p Line. /// /// When a line is not formatted, we move the subsequent lines on the same /// level to the same indent. @@ -89,7 +89,7 @@ public: } private: - /// \brief Get the offset of the line relatively to the level. + /// Get the offset of the line relatively to the level. /// /// For example, 'public:' labels in classes are offset by 1 or 2 /// characters to the left from their level. @@ -105,7 +105,7 @@ private: return 0; } - /// \brief Get the indent of \p Level from \p IndentForLevel. + /// Get the indent of \p Level from \p IndentForLevel. /// /// \p IndentForLevel must contain the indent for the level \c l /// at \p IndentForLevel[l], or a value < 0 if the indent for @@ -122,16 +122,16 @@ private: const AdditionalKeywords &Keywords; const unsigned AdditionalIndent; - /// \brief The indent in characters for each level. + /// The indent in characters for each level. std::vector<int> IndentForLevel; - /// \brief Offset of the current line relative to the indent level. + /// Offset of the current line relative to the indent level. /// /// For example, the 'public' keywords is often indented with a negative /// offset. int Offset = 0; - /// \brief The current line's indent. + /// The current line's indent. unsigned Indent = 0; }; @@ -158,7 +158,7 @@ public: : Style(Style), Keywords(Keywords), End(Lines.end()), Next(Lines.begin()), AnnotatedLines(Lines) {} - /// \brief Returns the next line, merging multiple lines into one if possible. + /// Returns the next line, merging multiple lines into one if possible. const AnnotatedLine *getNextMergedLine(bool DryRun, LevelIndentTracker &IndentTracker) { if (Next == End) @@ -180,7 +180,7 @@ public: } private: - /// \brief Calculates how many lines can be merged into 1 starting at \p I. + /// Calculates how many lines can be merged into 1 starting at \p I. unsigned tryFitMultipleLinesInOne(LevelIndentTracker &IndentTracker, SmallVectorImpl<AnnotatedLine *>::const_iterator I, @@ -666,7 +666,7 @@ static void printLineState(const LineState &State) { } #endif -/// \brief Base class for classes that format one \c AnnotatedLine. +/// Base class for classes that format one \c AnnotatedLine. class LineFormatter { public: LineFormatter(ContinuationIndenter *Indenter, WhitespaceManager *Whitespaces, @@ -676,7 +676,7 @@ public: BlockFormatter(BlockFormatter) {} virtual ~LineFormatter() {} - /// \brief Formats an \c AnnotatedLine and returns the penalty. + /// Formats an \c AnnotatedLine and returns the penalty. /// /// If \p DryRun is \c false, directly applies the changes. virtual unsigned formatLine(const AnnotatedLine &Line, @@ -685,7 +685,7 @@ public: bool DryRun) = 0; protected: - /// \brief If the \p State's next token is an r_brace closing a nested block, + /// If the \p State's next token is an r_brace closing a nested block, /// format the nested block before it. /// /// Returns \c true if all children could be placed successfully and adapts @@ -767,7 +767,7 @@ private: UnwrappedLineFormatter *BlockFormatter; }; -/// \brief Formatter that keeps the existing line breaks. +/// Formatter that keeps the existing line breaks. class NoColumnLimitLineFormatter : public LineFormatter { public: NoColumnLimitLineFormatter(ContinuationIndenter *Indenter, @@ -776,7 +776,7 @@ public: UnwrappedLineFormatter *BlockFormatter) : LineFormatter(Indenter, Whitespaces, Style, BlockFormatter) {} - /// \brief Formats the line, simply keeping all of the input's line breaking + /// Formats the line, simply keeping all of the input's line breaking /// decisions. unsigned formatLine(const AnnotatedLine &Line, unsigned FirstIndent, unsigned FirstStartColumn, bool DryRun) override { @@ -795,7 +795,7 @@ public: } }; -/// \brief Formatter that puts all tokens into a single line without breaks. +/// Formatter that puts all tokens into a single line without breaks. class NoLineBreakFormatter : public LineFormatter { public: NoLineBreakFormatter(ContinuationIndenter *Indenter, @@ -803,7 +803,7 @@ public: UnwrappedLineFormatter *BlockFormatter) : LineFormatter(Indenter, Whitespaces, Style, BlockFormatter) {} - /// \brief Puts all tokens into a single line. + /// Puts all tokens into a single line. unsigned formatLine(const AnnotatedLine &Line, unsigned FirstIndent, unsigned FirstStartColumn, bool DryRun) override { unsigned Penalty = 0; @@ -818,7 +818,7 @@ public: } }; -/// \brief Finds the best way to break lines. +/// Finds the best way to break lines. class OptimizingLineFormatter : public LineFormatter { public: OptimizingLineFormatter(ContinuationIndenter *Indenter, @@ -827,7 +827,7 @@ public: UnwrappedLineFormatter *BlockFormatter) : LineFormatter(Indenter, Whitespaces, Style, BlockFormatter) {} - /// \brief Formats the line by finding the best line breaks with line lengths + /// Formats the line by finding the best line breaks with line lengths /// below the column limit. unsigned formatLine(const AnnotatedLine &Line, unsigned FirstIndent, unsigned FirstStartColumn, bool DryRun) override { @@ -850,14 +850,14 @@ private: } }; - /// \brief A pair of <penalty, count> that is used to prioritize the BFS on. + /// A pair of <penalty, count> that is used to prioritize the BFS on. /// /// In case of equal penalties, we want to prefer states that were inserted /// first. During state generation we make sure that we insert states first /// that break the line as late as possible. typedef std::pair<unsigned, unsigned> OrderedPenalty; - /// \brief An edge in the solution space from \c Previous->State to \c State, + /// An edge in the solution space from \c Previous->State to \c State, /// inserting a newline dependent on the \c NewLine. struct StateNode { StateNode(const LineState &State, bool NewLine, StateNode *Previous) @@ -867,16 +867,16 @@ private: StateNode *Previous; }; - /// \brief An item in the prioritized BFS search queue. The \c StateNode's + /// An item in the prioritized BFS search queue. The \c StateNode's /// \c State has the given \c OrderedPenalty. typedef std::pair<OrderedPenalty, StateNode *> QueueItem; - /// \brief The BFS queue type. + /// The BFS queue type. typedef std::priority_queue<QueueItem, std::vector<QueueItem>, std::greater<QueueItem>> QueueType; - /// \brief Analyze the entire solution space starting from \p InitialState. + /// Analyze the entire solution space starting from \p InitialState. /// /// This implements a variant of Dijkstra's algorithm on the graph that spans /// the solution space (\c LineStates are the nodes). The algorithm tries to @@ -943,7 +943,7 @@ private: return Penalty; } - /// \brief Add the following state to the analysis queue \c Queue. + /// Add the following state to the analysis queue \c Queue. /// /// Assume the current state is \p PreviousNode and has been reached with a /// penalty of \p Penalty. Insert a line break if \p NewLine is \c true. @@ -965,7 +965,7 @@ private: ++(*Count); } - /// \brief Applies the best formatting by reconstructing the path in the + /// Applies the best formatting by reconstructing the path in the /// solution space that leads to \c Best. void reconstructPath(LineState &State, StateNode *Best) { std::deque<StateNode *> Path; diff --git a/lib/Format/UnwrappedLineFormatter.h b/lib/Format/UnwrappedLineFormatter.h index 756d99d640..dac210ea62 100644 --- a/lib/Format/UnwrappedLineFormatter.h +++ b/lib/Format/UnwrappedLineFormatter.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Implements a combinartorial exploration of all the different +/// Implements a combinartorial exploration of all the different /// linebreaks unwrapped lines can be formatted in. /// //===----------------------------------------------------------------------===// @@ -37,7 +37,7 @@ public: : Indenter(Indenter), Whitespaces(Whitespaces), Style(Style), Keywords(Keywords), SourceMgr(SourceMgr), Status(Status) {} - /// \brief Format the current block and return the penalty. + /// Format the current block and return the penalty. unsigned format(const SmallVectorImpl<AnnotatedLine *> &Lines, bool DryRun = false, int AdditionalIndent = 0, bool FixBadIndentation = false, @@ -46,14 +46,14 @@ public: unsigned LastStartColumn = 0); private: - /// \brief Add a new line and the required indent before the first Token + /// Add a new line and the required indent before the first Token /// of the \c UnwrappedLine if there was no structural parsing error. void formatFirstToken(const AnnotatedLine &Line, const AnnotatedLine *PreviousLine, const SmallVectorImpl<AnnotatedLine *> &Lines, unsigned Indent, unsigned NewlineIndent); - /// \brief Returns the column limit for a line, taking into account whether we + /// Returns the column limit for a line, taking into account whether we /// need an escaped newline due to a continued preprocessor directive. unsigned getColumnLimit(bool InPPDirective, const AnnotatedLine *NextLine) const; diff --git a/lib/Format/UnwrappedLineParser.cpp b/lib/Format/UnwrappedLineParser.cpp index b5bc80ba09..c4d92d42d8 100644 --- a/lib/Format/UnwrappedLineParser.cpp +++ b/lib/Format/UnwrappedLineParser.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file contains the implementation of the UnwrappedLineParser, +/// This file contains the implementation of the UnwrappedLineParser, /// which turns a stream of tokens into UnwrappedLines. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/UnwrappedLineParser.h b/lib/Format/UnwrappedLineParser.h index da7529c2ad..9a17136280 100644 --- a/lib/Format/UnwrappedLineParser.h +++ b/lib/Format/UnwrappedLineParser.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file contains the declaration of the UnwrappedLineParser, +/// This file contains the declaration of the UnwrappedLineParser, /// which turns a stream of tokens into UnwrappedLines. /// //===----------------------------------------------------------------------===// @@ -28,7 +28,7 @@ namespace format { struct UnwrappedLineNode; -/// \brief An unwrapped line is a sequence of \c Token, that we would like to +/// An unwrapped line is a sequence of \c Token, that we would like to /// put on a single line if there was no column limit. /// /// This is used as a main interface between the \c UnwrappedLineParser and the @@ -38,24 +38,24 @@ struct UnwrappedLine { UnwrappedLine(); // FIXME: Don't use std::list here. - /// \brief The \c Tokens comprising this \c UnwrappedLine. + /// The \c Tokens comprising this \c UnwrappedLine. std::list<UnwrappedLineNode> Tokens; - /// \brief The indent level of the \c UnwrappedLine. + /// The indent level of the \c UnwrappedLine. unsigned Level; - /// \brief Whether this \c UnwrappedLine is part of a preprocessor directive. + /// Whether this \c UnwrappedLine is part of a preprocessor directive. bool InPPDirective; bool MustBeDeclaration; - /// \brief If this \c UnwrappedLine closes a block in a sequence of lines, + /// If this \c UnwrappedLine closes a block in a sequence of lines, /// \c MatchingOpeningBlockLineIndex stores the index of the corresponding /// opening line. Otherwise, \c MatchingOpeningBlockLineIndex must be /// \c kInvalidIndex. size_t MatchingOpeningBlockLineIndex = kInvalidIndex; - /// \brief If this \c UnwrappedLine opens a block, stores the index of the + /// If this \c UnwrappedLine opens a block, stores the index of the /// line with the corresponding closing brace. size_t MatchingClosingBlockLineIndex = kInvalidIndex; diff --git a/lib/Format/UsingDeclarationsSorter.cpp b/lib/Format/UsingDeclarationsSorter.cpp index d7ab4f31d2..a380f28f38 100644 --- a/lib/Format/UsingDeclarationsSorter.cpp +++ b/lib/Format/UsingDeclarationsSorter.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements UsingDeclarationsSorter, a TokenAnalyzer that +/// This file implements UsingDeclarationsSorter, a TokenAnalyzer that /// sorts consecutive using declarations. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/UsingDeclarationsSorter.h b/lib/Format/UsingDeclarationsSorter.h index 6f137712d8..7e5cf7610d 100644 --- a/lib/Format/UsingDeclarationsSorter.h +++ b/lib/Format/UsingDeclarationsSorter.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file declares UsingDeclarationsSorter, a TokenAnalyzer that +/// This file declares UsingDeclarationsSorter, a TokenAnalyzer that /// sorts consecutive using declarations. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/WhitespaceManager.cpp b/lib/Format/WhitespaceManager.cpp index 5c54080dd0..7070ce03c8 100644 --- a/lib/Format/WhitespaceManager.cpp +++ b/lib/Format/WhitespaceManager.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements WhitespaceManager class. +/// This file implements WhitespaceManager class. /// //===----------------------------------------------------------------------===// diff --git a/lib/Format/WhitespaceManager.h b/lib/Format/WhitespaceManager.h index af20dc5616..db90343f72 100644 --- a/lib/Format/WhitespaceManager.h +++ b/lib/Format/WhitespaceManager.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief WhitespaceManager class manages whitespace around tokens and their +/// WhitespaceManager class manages whitespace around tokens and their /// replacements. /// //===----------------------------------------------------------------------===// @@ -24,7 +24,7 @@ namespace clang { namespace format { -/// \brief Manages the whitespaces around tokens and their replacements. +/// Manages the whitespaces around tokens and their replacements. /// /// This includes special handling for certain constructs, e.g. the alignment of /// trailing line comments. @@ -41,7 +41,7 @@ public: bool UseCRLF) : SourceMgr(SourceMgr), Style(Style), UseCRLF(UseCRLF) {} - /// \brief Replaces the whitespace in front of \p Tok. Only call once for + /// Replaces the whitespace in front of \p Tok. Only call once for /// each \c AnnotatedToken. /// /// \p StartOfTokenColumn is the column at which the token will start after @@ -51,7 +51,7 @@ public: unsigned StartOfTokenColumn, bool InPPDirective = false); - /// \brief Adds information about an unchangeable token's whitespace. + /// Adds information about an unchangeable token's whitespace. /// /// Needs to be called for every token for which \c replaceWhitespace /// was not called. @@ -59,7 +59,7 @@ public: llvm::Error addReplacement(const tooling::Replacement &Replacement); - /// \brief Inserts or replaces whitespace in the middle of a token. + /// Inserts or replaces whitespace in the middle of a token. /// /// Inserts \p PreviousPostfix, \p Newlines, \p Spaces and \p CurrentPrefix /// (in this order) at \p Offset inside \p Tok, replacing \p ReplaceChars @@ -79,13 +79,13 @@ public: StringRef CurrentPrefix, bool InPPDirective, unsigned Newlines, int Spaces); - /// \brief Returns all the \c Replacements created during formatting. + /// Returns all the \c Replacements created during formatting. const tooling::Replacements &generateReplacements(); - /// \brief Represents a change before a token, a break inside a token, + /// Represents a change before a token, a break inside a token, /// or the layout of an unchanged token (or whitespace within). struct Change { - /// \brief Functor to sort changes in original source order. + /// Functor to sort changes in original source order. class IsBeforeInFile { public: IsBeforeInFile(const SourceManager &SourceMgr) : SourceMgr(SourceMgr) {} @@ -95,7 +95,7 @@ public: const SourceManager &SourceMgr; }; - /// \brief Creates a \c Change. + /// Creates a \c Change. /// /// The generated \c Change will replace the characters at /// \p OriginalWhitespaceRange with a concatenation of @@ -165,35 +165,35 @@ public: }; private: - /// \brief Calculate \c IsTrailingComment, \c TokenLength for the last tokens + /// Calculate \c IsTrailingComment, \c TokenLength for the last tokens /// or token parts in a line and \c PreviousEndOfTokenColumn and /// \c EscapedNewlineColumn for the first tokens or token parts in a line. void calculateLineBreakInformation(); - /// \brief Align consecutive assignments over all \c Changes. + /// Align consecutive assignments over all \c Changes. void alignConsecutiveAssignments(); - /// \brief Align consecutive declarations over all \c Changes. + /// Align consecutive declarations over all \c Changes. void alignConsecutiveDeclarations(); - /// \brief Align trailing comments over all \c Changes. + /// Align trailing comments over all \c Changes. void alignTrailingComments(); - /// \brief Align trailing comments from change \p Start to change \p End at + /// Align trailing comments from change \p Start to change \p End at /// the specified \p Column. void alignTrailingComments(unsigned Start, unsigned End, unsigned Column); - /// \brief Align escaped newlines over all \c Changes. + /// Align escaped newlines over all \c Changes. void alignEscapedNewlines(); - /// \brief Align escaped newlines from change \p Start to change \p End at + /// Align escaped newlines from change \p Start to change \p End at /// the specified \p Column. void alignEscapedNewlines(unsigned Start, unsigned End, unsigned Column); - /// \brief Fill \c Replaces with the replacements for all effective changes. + /// Fill \c Replaces with the replacements for all effective changes. void generateChanges(); - /// \brief Stores \p Text as the replacement for the whitespace in \p Range. + /// Stores \p Text as the replacement for the whitespace in \p Range. void storeReplacement(SourceRange Range, StringRef Text); void appendNewlineText(std::string &Text, unsigned Newlines); void appendEscapedNewlineText(std::string &Text, unsigned Newlines, diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 1247e8219f..9b672d9755 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -151,7 +151,7 @@ static bool moveOnNoError(llvm::ErrorOr<T> Val, T &Output) { return true; } -/// \brief Get a source buffer for \p MainFilePath, handling all file-to-file +/// Get a source buffer for \p MainFilePath, handling all file-to-file /// and file-to-buffer remappings inside \p Invocation. static std::unique_ptr<llvm::MemoryBuffer> getBufferForFileHandlingRemapping(const CompilerInvocation &Invocation, @@ -226,13 +226,13 @@ void ASTUnit::clearFileLevelDecls() { llvm::DeleteContainerSeconds(FileDecls); } -/// \brief After failing to build a precompiled preamble (due to +/// After failing to build a precompiled preamble (due to /// errors in the source that occurs in the preamble), the number of /// reparses during which we'll skip even trying to precompile the /// preamble. const unsigned DefaultPreambleRebuildInterval = 5; -/// \brief Tracks the number of ASTUnit objects that are currently active. +/// Tracks the number of ASTUnit objects that are currently active. /// /// Used for debugging purposes only. static std::atomic<unsigned> ActiveASTUnitObjects; @@ -274,7 +274,7 @@ void ASTUnit::setPreprocessor(std::shared_ptr<Preprocessor> PP) { this->PP = std::move(PP); } -/// \brief Determine the set of code-completion contexts in which this +/// Determine the set of code-completion contexts in which this /// declaration should be shown. static unsigned getDeclShowContexts(const NamedDecl *ND, const LangOptions &LangOpts, @@ -504,7 +504,7 @@ void ASTUnit::ClearCachedCompletionResults() { namespace { -/// \brief Gathers information from ASTReader that will be used to initialize +/// Gathers information from ASTReader that will be used to initialize /// a Preprocessor. class ASTInfoCollector : public ASTReaderListener { Preprocessor &PP; @@ -601,7 +601,7 @@ private: } }; -/// \brief Diagnostic consumer that saves each diagnostic it is given. +/// Diagnostic consumer that saves each diagnostic it is given. class StoredDiagnosticConsumer : public DiagnosticConsumer { SmallVectorImpl<StoredDiagnostic> *StoredDiags; SmallVectorImpl<ASTUnit::StandaloneDiagnostic> *StandaloneDiags; @@ -628,7 +628,7 @@ public: const Diagnostic &Info) override; }; -/// \brief RAII object that optionally captures diagnostics, if +/// RAII object that optionally captures diagnostics, if /// there is no diagnostic client to capture them already. class CaptureDroppedDiagnostics { DiagnosticsEngine &Diags; @@ -715,7 +715,7 @@ ASTUnit::getBufferForFile(StringRef Filename, std::string *ErrorStr) { return nullptr; } -/// \brief Configure the diagnostics object for use with ASTUnit. +/// Configure the diagnostics object for use with ASTUnit. void ASTUnit::ConfigureDiags(IntrusiveRefCntPtr<DiagnosticsEngine> Diags, ASTUnit &AST, bool CaptureDiagnostics) { assert(Diags.get() && "no DiagnosticsEngine was provided"); @@ -837,14 +837,14 @@ std::unique_ptr<ASTUnit> ASTUnit::LoadFromASTFile( return AST; } -/// \brief Add the given macro to the hash of all top-level entities. +/// Add the given macro to the hash of all top-level entities. static void AddDefinedMacroToHash(const Token &MacroNameTok, unsigned &Hash) { Hash = llvm::djbHash(MacroNameTok.getIdentifierInfo()->getName(), Hash); } namespace { -/// \brief Preprocessor callback class that updates a hash value with the names +/// Preprocessor callback class that updates a hash value with the names /// of all macros that have been defined by the translation unit. class MacroDefinitionTrackerPPCallbacks : public PPCallbacks { unsigned &Hash; @@ -860,7 +860,7 @@ public: } // namespace -/// \brief Add the given declaration to the hash of all top-level entities. +/// Add the given declaration to the hash of all top-level entities. static void AddTopLevelDeclarationToHash(Decl *D, unsigned &Hash) { if (!D) return; @@ -1248,7 +1248,7 @@ makeStandaloneDiagnostic(const LangOptions &LangOpts, return OutDiag; } -/// \brief Attempt to build or re-use a precompiled preamble when (re-)parsing +/// Attempt to build or re-use a precompiled preamble when (re-)parsing /// the source file. /// /// This routine will compute the preamble of the main source file. If a @@ -1852,7 +1852,7 @@ void ASTUnit::ResetForParse() { namespace { - /// \brief Code completion consumer that combines the cached code-completion + /// Code completion consumer that combines the cached code-completion /// results from an ASTUnit with the code-completion results provided to it, /// then passes the result on to class AugmentedCodeCompleteConsumer : public CodeCompleteConsumer { @@ -1909,7 +1909,7 @@ namespace { } // namespace -/// \brief Helper function that computes which global names are hidden by the +/// Helper function that computes which global names are hidden by the /// local code-completion results. static void CalculateHiddenNames(const CodeCompletionContext &Context, CodeCompletionResult *Results, @@ -2459,7 +2459,7 @@ SourceLocation ASTUnit::getLocation(const FileEntry *File, return SM.getMacroArgExpandedLocation(FileLoc.getLocWithOffset(Offset)); } -/// \brief If \arg Loc is a loaded location from the preamble, returns +/// If \arg Loc is a loaded location from the preamble, returns /// the corresponding local location of the main file, otherwise it returns /// \arg Loc. SourceLocation ASTUnit::mapLocationFromPreamble(SourceLocation Loc) const { @@ -2480,7 +2480,7 @@ SourceLocation ASTUnit::mapLocationFromPreamble(SourceLocation Loc) const { return Loc; } -/// \brief If \arg Loc is a local location of the main file but inside the +/// If \arg Loc is a local location of the main file but inside the /// preamble chunk, returns the corresponding loaded location from the /// preamble, otherwise it returns \arg Loc. SourceLocation ASTUnit::mapLocationToPreamble(SourceLocation Loc) const { diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 2ec8e8c165..859560d938 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -1042,7 +1042,7 @@ bool CompilerInstance::ExecuteAction(FrontendAction &Act) { return !getDiagnostics().getClient()->getNumErrors(); } -/// \brief Determine the appropriate source input kind based on language +/// Determine the appropriate source input kind based on language /// options. static InputKind::Language getLanguageFromOptions(const LangOptions &LangOpts) { if (LangOpts.OpenCL) @@ -1054,7 +1054,7 @@ static InputKind::Language getLanguageFromOptions(const LangOptions &LangOpts) { return LangOpts.CPlusPlus ? InputKind::CXX : InputKind::C; } -/// \brief Compile a module file for the given module, using the options +/// Compile a module file for the given module, using the options /// provided by the importing compiler instance. Returns true if the module /// was built without errors. static bool @@ -1201,7 +1201,7 @@ static const FileEntry *getPublicModuleMap(const FileEntry *File, return FileMgr.getFile(PublicFilename); } -/// \brief Compile a module file for the given module, using the options +/// Compile a module file for the given module, using the options /// provided by the importing compiler instance. Returns true if the module /// was built without errors. static bool compileModuleImpl(CompilerInstance &ImportingInstance, @@ -1350,7 +1350,7 @@ static bool compileAndLoadModule(CompilerInstance &ImportingInstance, } } -/// \brief Diagnose differences between the current definition of the given +/// Diagnose differences between the current definition of the given /// configuration macro and the definition provided on the command line. static void checkConfigMacro(Preprocessor &PP, StringRef ConfigMacro, Module *Mod, SourceLocation ImportLoc) { @@ -1408,13 +1408,13 @@ static void checkConfigMacro(Preprocessor &PP, StringRef ConfigMacro, } } -/// \brief Write a new timestamp file with the given path. +/// Write a new timestamp file with the given path. static void writeTimestampFile(StringRef TimestampFile) { std::error_code EC; llvm::raw_fd_ostream Out(TimestampFile.str(), EC, llvm::sys::fs::F_None); } -/// \brief Prune the module cache of modules that haven't been accessed in +/// Prune the module cache of modules that haven't been accessed in /// a long time. static void pruneModuleCache(const HeaderSearchOptions &HSOpts) { struct stat StatBuf; diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index 0156e75628..20874fcf53 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -395,7 +395,7 @@ static llvm::Reloc::Model getRelocModel(ArgList &Args, return llvm::Reloc::PIC_; } -/// \brief Create a new Regex instance out of the string value in \p RpassArg. +/// Create a new Regex instance out of the string value in \p RpassArg. /// It returns a pointer to the newly generated Regex instance. static std::shared_ptr<llvm::Regex> GenerateOptimizationRemarkRegex(DiagnosticsEngine &Diags, ArgList &Args, diff --git a/lib/Frontend/DiagnosticRenderer.cpp b/lib/Frontend/DiagnosticRenderer.cpp index a3bcaf47fa..fb0a92d1f8 100644 --- a/lib/Frontend/DiagnosticRenderer.cpp +++ b/lib/Frontend/DiagnosticRenderer.cpp @@ -152,7 +152,7 @@ void DiagnosticRenderer::emitBasicNote(StringRef Message) { Message, None, DiagOrStoredDiag()); } -/// \brief Prints an include stack when appropriate for a particular +/// Prints an include stack when appropriate for a particular /// diagnostic level and location. /// /// This routine handles all the logic of suppressing particular include @@ -186,7 +186,7 @@ void DiagnosticRenderer::emitIncludeStack(FullSourceLoc Loc, PresumedLoc PLoc, } } -/// \brief Helper to recursively walk up the include stack and print each layer +/// Helper to recursively walk up the include stack and print each layer /// on the way back down. void DiagnosticRenderer::emitIncludeStackRecursively(FullSourceLoc Loc) { if (Loc.isInvalid()) { @@ -216,7 +216,7 @@ void DiagnosticRenderer::emitIncludeStackRecursively(FullSourceLoc Loc) { emitIncludeLocation(Loc, PLoc); } -/// \brief Emit the module import stack associated with the current location. +/// Emit the module import stack associated with the current location. void DiagnosticRenderer::emitImportStack(FullSourceLoc Loc) { if (Loc.isInvalid()) { emitModuleBuildStack(Loc.getManager()); @@ -227,7 +227,7 @@ void DiagnosticRenderer::emitImportStack(FullSourceLoc Loc) { emitImportStackRecursively(NextImportLoc.first, NextImportLoc.second); } -/// \brief Helper to recursively walk up the import stack and print each layer +/// Helper to recursively walk up the import stack and print each layer /// on the way back down. void DiagnosticRenderer::emitImportStackRecursively(FullSourceLoc Loc, StringRef ModuleName) { @@ -245,7 +245,7 @@ void DiagnosticRenderer::emitImportStackRecursively(FullSourceLoc Loc, emitImportLocation(Loc, PLoc, ModuleName); } -/// \brief Emit the module build stack, for cases where a module is (re-)built +/// Emit the module build stack, for cases where a module is (re-)built /// on demand. void DiagnosticRenderer::emitModuleBuildStack(const SourceManager &SM) { ModuleBuildStack Stack = SM.getModuleBuildStack(); @@ -424,7 +424,7 @@ void DiagnosticRenderer::emitCaret(FullSourceLoc Loc, emitCodeContext(Loc, Level, SpellingRanges, Hints); } -/// \brief A helper function for emitMacroExpansion to print the +/// A helper function for emitMacroExpansion to print the /// macro expansion message void DiagnosticRenderer::emitSingleMacroExpansion( FullSourceLoc Loc, DiagnosticsEngine::Level Level, @@ -512,7 +512,7 @@ static bool checkRangesForMacroArgExpansion(FullSourceLoc Loc, return true; } -/// \brief Recursively emit notes for each macro expansion and caret +/// Recursively emit notes for each macro expansion and caret /// diagnostics where appropriate. /// /// Walks up the macro expansion stack printing expansion notes, the code diff --git a/lib/Frontend/FrontendAction.cpp b/lib/Frontend/FrontendAction.cpp index 1b4d789b4d..e4fb022c2a 100644 --- a/lib/Frontend/FrontendAction.cpp +++ b/lib/Frontend/FrontendAction.cpp @@ -79,7 +79,7 @@ public: } }; -/// \brief Dumps deserialized declarations. +/// Dumps deserialized declarations. class DeserializedDeclsDumper : public DelegatingDeserializationListener { public: explicit DeserializedDeclsDumper(ASTDeserializationListener *Previous, @@ -96,7 +96,7 @@ public: } }; -/// \brief Checks deserialized declarations and emits error if a name +/// Checks deserialized declarations and emits error if a name /// matches one given in command-line using -error-on-deserialized-decl. class DeserializedDeclsChecker : public DelegatingDeserializationListener { ASTContext &Ctx; @@ -282,7 +282,7 @@ static void addHeaderInclude(StringRef HeaderName, Includes += "}\n"; } -/// \brief Collect the set of header includes needed to construct the given +/// Collect the set of header includes needed to construct the given /// module and update the TopHeaders file set of the module. /// /// \param Module The module we're collecting includes from. diff --git a/lib/Frontend/FrontendActions.cpp b/lib/Frontend/FrontendActions.cpp index 3fcb72c025..13f0537171 100644 --- a/lib/Frontend/FrontendActions.cpp +++ b/lib/Frontend/FrontendActions.cpp @@ -416,7 +416,7 @@ void TemplightDumpAction::ExecuteAction() { } namespace { - /// \brief AST reader listener that dumps module information for a module + /// AST reader listener that dumps module information for a module /// file. class DumpModuleInfoListener : public ASTReaderListener { llvm::raw_ostream &Out; diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 8a87b9f35e..2e77c39bd8 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/lib/Frontend/InitPreprocessor.cpp @@ -93,7 +93,7 @@ static void AddImplicitIncludePTH(MacroBuilder &Builder, Preprocessor &PP, AddImplicitInclude(Builder, OriginalFile); } -/// \brief Add an implicit \#include using the original file used to generate +/// Add an implicit \#include using the original file used to generate /// a PCH file. static void AddImplicitIncludePCH(MacroBuilder &Builder, Preprocessor &PP, const PCHContainerReader &PCHContainerRdr, @@ -301,7 +301,7 @@ static const char *getLockFreeValue(unsigned TypeWidth, unsigned TypeAlign, return "1"; // "sometimes lock free" } -/// \brief Add definitions required for a smooth interaction between +/// Add definitions required for a smooth interaction between /// Objective-C++ automated reference counting and libstdc++ (4.2). static void AddObjCXXARCLibstdcxxDefines(const LangOptions &LangOpts, MacroBuilder &Builder) { diff --git a/lib/Frontend/LayoutOverrideSource.cpp b/lib/Frontend/LayoutOverrideSource.cpp index 06e9a7dc50..93e07eb81f 100644 --- a/lib/Frontend/LayoutOverrideSource.cpp +++ b/lib/Frontend/LayoutOverrideSource.cpp @@ -15,7 +15,7 @@ using namespace clang; -/// \brief Parse a simple identifier. +/// Parse a simple identifier. static std::string parseName(StringRef S) { if (S.empty() || !isIdentifierHead(S[0])) return ""; diff --git a/lib/Frontend/PCHContainerOperations.cpp b/lib/Frontend/PCHContainerOperations.cpp index eebebf327a..340e8ce63f 100644 --- a/lib/Frontend/PCHContainerOperations.cpp +++ b/lib/Frontend/PCHContainerOperations.cpp @@ -25,7 +25,7 @@ PCHContainerReader::~PCHContainerReader() {} namespace { -/// \brief A PCHContainerGenerator that writes out the PCH to a flat file. +/// A PCHContainerGenerator that writes out the PCH to a flat file. class RawPCHContainerGenerator : public ASTConsumer { std::shared_ptr<PCHBuffer> Buffer; std::unique_ptr<raw_pwrite_stream> OS; diff --git a/lib/Frontend/Rewrite/FixItRewriter.cpp b/lib/Frontend/Rewrite/FixItRewriter.cpp index 17a35c3ac9..64785e3012 100644 --- a/lib/Frontend/Rewrite/FixItRewriter.cpp +++ b/lib/Frontend/Rewrite/FixItRewriter.cpp @@ -194,7 +194,7 @@ void FixItRewriter::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, Diag(Info.getLocation(), diag::note_fixit_applied); } -/// \brief Emit a diagnostic via the adapted diagnostic client. +/// Emit a diagnostic via the adapted diagnostic client. void FixItRewriter::Diag(SourceLocation Loc, unsigned DiagID) { // When producing this diagnostic, we temporarily bypass ourselves, // clear out any current diagnostic, and let the downstream client diff --git a/lib/Frontend/SerializedDiagnosticPrinter.cpp b/lib/Frontend/SerializedDiagnosticPrinter.cpp index 939c75bbaa..ca60c4812f 100644 --- a/lib/Frontend/SerializedDiagnosticPrinter.cpp +++ b/lib/Frontend/SerializedDiagnosticPrinter.cpp @@ -162,131 +162,131 @@ public: void finish() override; private: - /// \brief Build a DiagnosticsEngine to emit diagnostics about the diagnostics + /// Build a DiagnosticsEngine to emit diagnostics about the diagnostics DiagnosticsEngine *getMetaDiags(); - /// \brief Remove old copies of the serialized diagnostics. This is necessary + /// Remove old copies of the serialized diagnostics. This is necessary /// so that we can detect when subprocesses write diagnostics that we should /// merge into our own. void RemoveOldDiagnostics(); - /// \brief Emit the preamble for the serialized diagnostics. + /// Emit the preamble for the serialized diagnostics. void EmitPreamble(); - /// \brief Emit the BLOCKINFO block. + /// Emit the BLOCKINFO block. void EmitBlockInfoBlock(); - /// \brief Emit the META data block. + /// Emit the META data block. void EmitMetaBlock(); - /// \brief Start a DIAG block. + /// Start a DIAG block. void EnterDiagBlock(); - /// \brief End a DIAG block. + /// End a DIAG block. void ExitDiagBlock(); - /// \brief Emit a DIAG record. + /// Emit a DIAG record. void EmitDiagnosticMessage(FullSourceLoc Loc, PresumedLoc PLoc, DiagnosticsEngine::Level Level, StringRef Message, DiagOrStoredDiag D); - /// \brief Emit FIXIT and SOURCE_RANGE records for a diagnostic. + /// Emit FIXIT and SOURCE_RANGE records for a diagnostic. void EmitCodeContext(SmallVectorImpl<CharSourceRange> &Ranges, ArrayRef<FixItHint> Hints, const SourceManager &SM); - /// \brief Emit a record for a CharSourceRange. + /// Emit a record for a CharSourceRange. void EmitCharSourceRange(CharSourceRange R, const SourceManager &SM); - /// \brief Emit the string information for the category. + /// Emit the string information for the category. unsigned getEmitCategory(unsigned category = 0); - /// \brief Emit the string information for diagnostic flags. + /// Emit the string information for diagnostic flags. unsigned getEmitDiagnosticFlag(DiagnosticsEngine::Level DiagLevel, unsigned DiagID = 0); unsigned getEmitDiagnosticFlag(StringRef DiagName); - /// \brief Emit (lazily) the file string and retrieved the file identifier. + /// Emit (lazily) the file string and retrieved the file identifier. unsigned getEmitFile(const char *Filename); - /// \brief Add SourceLocation information the specified record. + /// Add SourceLocation information the specified record. void AddLocToRecord(FullSourceLoc Loc, PresumedLoc PLoc, RecordDataImpl &Record, unsigned TokSize = 0); - /// \brief Add SourceLocation information the specified record. + /// Add SourceLocation information the specified record. void AddLocToRecord(FullSourceLoc Loc, RecordDataImpl &Record, unsigned TokSize = 0) { AddLocToRecord(Loc, Loc.hasManager() ? Loc.getPresumedLoc() : PresumedLoc(), Record, TokSize); } - /// \brief Add CharSourceRange information the specified record. + /// Add CharSourceRange information the specified record. void AddCharSourceRangeToRecord(CharSourceRange R, RecordDataImpl &Record, const SourceManager &SM); - /// \brief Language options, which can differ from one clone of this client + /// Language options, which can differ from one clone of this client /// to another. const LangOptions *LangOpts; - /// \brief Whether this is the original instance (rather than one of its + /// Whether this is the original instance (rather than one of its /// clones), responsible for writing the file at the end. bool OriginalInstance; - /// \brief Whether this instance should aggregate diagnostics that are + /// Whether this instance should aggregate diagnostics that are /// generated from child processes. bool MergeChildRecords; - /// \brief State that is shared among the various clones of this diagnostic + /// State that is shared among the various clones of this diagnostic /// consumer. struct SharedState { SharedState(StringRef File, DiagnosticOptions *Diags) : DiagOpts(Diags), Stream(Buffer), OutputFile(File.str()), EmittedAnyDiagBlocks(false) {} - /// \brief Diagnostic options. + /// Diagnostic options. IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts; - /// \brief The byte buffer for the serialized content. + /// The byte buffer for the serialized content. SmallString<1024> Buffer; - /// \brief The BitStreamWriter for the serialized diagnostics. + /// The BitStreamWriter for the serialized diagnostics. llvm::BitstreamWriter Stream; - /// \brief The name of the diagnostics file. + /// The name of the diagnostics file. std::string OutputFile; - /// \brief The set of constructed record abbreviations. + /// The set of constructed record abbreviations. AbbreviationMap Abbrevs; - /// \brief A utility buffer for constructing record content. + /// A utility buffer for constructing record content. RecordData Record; - /// \brief A text buffer for rendering diagnostic text. + /// A text buffer for rendering diagnostic text. SmallString<256> diagBuf; - /// \brief The collection of diagnostic categories used. + /// The collection of diagnostic categories used. llvm::DenseSet<unsigned> Categories; - /// \brief The collection of files used. + /// The collection of files used. llvm::DenseMap<const char *, unsigned> Files; typedef llvm::DenseMap<const void *, std::pair<unsigned, StringRef> > DiagFlagsTy; - /// \brief Map for uniquing strings. + /// Map for uniquing strings. DiagFlagsTy DiagFlags; - /// \brief Whether we have already started emission of any DIAG blocks. Once + /// Whether we have already started emission of any DIAG blocks. Once /// this becomes \c true, we never close a DIAG block until we know that we're /// starting another one or we're done. bool EmittedAnyDiagBlocks; - /// \brief Engine for emitting diagnostics about the diagnostics. + /// Engine for emitting diagnostics about the diagnostics. std::unique_ptr<DiagnosticsEngine> MetaDiagnostics; }; - /// \brief State shared among the various clones of this diagnostic consumer. + /// State shared among the various clones of this diagnostic consumer. std::shared_ptr<SharedState> State; }; } // end anonymous namespace @@ -305,7 +305,7 @@ create(StringRef OutputFile, DiagnosticOptions *Diags, bool MergeChildRecords) { // Serialization methods. //===----------------------------------------------------------------------===// -/// \brief Emits a block ID in the BLOCKINFO block. +/// Emits a block ID in the BLOCKINFO block. static void EmitBlockID(unsigned ID, const char *Name, llvm::BitstreamWriter &Stream, RecordDataImpl &Record) { @@ -325,7 +325,7 @@ static void EmitBlockID(unsigned ID, const char *Name, Stream.EmitRecord(llvm::bitc::BLOCKINFO_CODE_BLOCKNAME, Record); } -/// \brief Emits a record ID in the BLOCKINFO block. +/// Emits a record ID in the BLOCKINFO block. static void EmitRecordID(unsigned ID, const char *Name, llvm::BitstreamWriter &Stream, RecordDataImpl &Record){ @@ -395,7 +395,7 @@ void SDiagsWriter::EmitCharSourceRange(CharSourceRange R, State->Record); } -/// \brief Emits the preamble of the diagnostics file. +/// Emits the preamble of the diagnostics file. void SDiagsWriter::EmitPreamble() { // Emit the file header. State->Stream.Emit((unsigned)'D', 8); diff --git a/lib/Frontend/TextDiagnostic.cpp b/lib/Frontend/TextDiagnostic.cpp index 9bda79a276..85cd019005 100644 --- a/lib/Frontend/TextDiagnostic.cpp +++ b/lib/Frontend/TextDiagnostic.cpp @@ -42,7 +42,7 @@ static const enum raw_ostream::Colors fatalColor = raw_ostream::RED; static const enum raw_ostream::Colors savedColor = raw_ostream::SAVEDCOLOR; -/// \brief Add highlights to differences in template strings. +/// Add highlights to differences in template strings. static void applyTemplateHighlighting(raw_ostream &OS, StringRef Str, bool &Normal, bool Bold) { while (1) { @@ -63,7 +63,7 @@ static void applyTemplateHighlighting(raw_ostream &OS, StringRef Str, } } -/// \brief Number of spaces to indent when word-wrapping. +/// Number of spaces to indent when word-wrapping. const unsigned WordWrapIndentation = 6; static int bytesSincePreviousTabOrLineBegin(StringRef SourceLine, size_t i) { @@ -76,7 +76,7 @@ static int bytesSincePreviousTabOrLineBegin(StringRef SourceLine, size_t i) { return bytes; } -/// \brief returns a printable representation of first item from input range +/// returns a printable representation of first item from input range /// /// This function returns a printable representation of the next item in a line /// of source. If the next byte begins a valid and printable character, that @@ -269,14 +269,14 @@ struct SourceColumnMap { int columns() const { return m_byteToColumn.back(); } int bytes() const { return m_columnToByte.back(); } - /// \brief Map a byte to the column which it is at the start of, or return -1 + /// Map a byte to the column which it is at the start of, or return -1 /// if it is not at the start of a column (for a UTF-8 trailing byte). int byteToColumn(int n) const { assert(0<=n && n<static_cast<int>(m_byteToColumn.size())); return m_byteToColumn[n]; } - /// \brief Map a byte to the first column which contains it. + /// Map a byte to the first column which contains it. int byteToContainingColumn(int N) const { assert(0 <= N && N < static_cast<int>(m_byteToColumn.size())); while (m_byteToColumn[N] == -1) @@ -284,7 +284,7 @@ struct SourceColumnMap { return m_byteToColumn[N]; } - /// \brief Map a column to the byte which starts the column, or return -1 if + /// Map a column to the byte which starts the column, or return -1 if /// the column the second or subsequent column of an expanded tab or similar /// multi-column entity. int columnToByte(int n) const { @@ -292,14 +292,14 @@ struct SourceColumnMap { return m_columnToByte[n]; } - /// \brief Map from a byte index to the next byte which starts a column. + /// Map from a byte index to the next byte which starts a column. int startOfNextColumn(int N) const { assert(0 <= N && N < static_cast<int>(m_byteToColumn.size() - 1)); while (byteToColumn(++N) == -1) {} return N; } - /// \brief Map from a byte index to the previous byte which starts a column. + /// Map from a byte index to the previous byte which starts a column. int startOfPreviousColumn(int N) const { assert(0 < N && N < static_cast<int>(m_byteToColumn.size())); while (byteToColumn(--N) == -1) {} @@ -317,7 +317,7 @@ private: }; } // end anonymous namespace -/// \brief When the source code line we want to print is too long for +/// When the source code line we want to print is too long for /// the terminal, select the "interesting" region. static void selectInterestingSourceRegion(std::string &SourceLine, std::string &CaretLine, @@ -507,7 +507,7 @@ static void selectInterestingSourceRegion(std::string &SourceLine, } } -/// \brief Skip over whitespace in the string, starting at the given +/// Skip over whitespace in the string, starting at the given /// index. /// /// \returns The index of the first non-whitespace character that is @@ -519,7 +519,7 @@ static unsigned skipWhitespace(unsigned Idx, StringRef Str, unsigned Length) { return Idx; } -/// \brief If the given character is the start of some kind of +/// If the given character is the start of some kind of /// balanced punctuation (e.g., quotes or parentheses), return the /// character that will terminate the punctuation. /// @@ -539,7 +539,7 @@ static inline char findMatchingPunctuation(char c) { return 0; } -/// \brief Find the end of the word starting at the given offset +/// Find the end of the word starting at the given offset /// within a string. /// /// \returns the index pointing one character past the end of the @@ -596,7 +596,7 @@ static unsigned findEndOfWord(unsigned Start, StringRef Str, return findEndOfWord(Start + 1, Str, Length, Column + 1, Columns); } -/// \brief Print the given string to a stream, word-wrapping it to +/// Print the given string to a stream, word-wrapping it to /// some number of columns in the process. /// /// \param OS the stream to which the word-wrapping string will be @@ -777,7 +777,7 @@ void TextDiagnostic::emitFilename(StringRef Filename, const SourceManager &SM) { OS << Filename; } -/// \brief Print out the file/line/column information and include trace. +/// Print out the file/line/column information and include trace. /// /// This method handlen the emission of the diagnostic location information. /// This includes extracting as much location information as is present for @@ -913,7 +913,7 @@ void TextDiagnostic::emitBuildingModuleLocation(FullSourceLoc Loc, OS << "While building module '" << ModuleName << "':\n"; } -/// \brief Find the suitable set of lines to show to include a set of ranges. +/// Find the suitable set of lines to show to include a set of ranges. static llvm::Optional<std::pair<unsigned, unsigned>> findLinesForRange(const CharSourceRange &R, FileID FID, const SourceManager &SM) { @@ -963,7 +963,7 @@ maybeAddRange(std::pair<unsigned, unsigned> A, std::pair<unsigned, unsigned> B, return A; } -/// \brief Highlight a SourceRange (with ~'s) for any characters on LineNo. +/// Highlight a SourceRange (with ~'s) for any characters on LineNo. static void highlightRange(const CharSourceRange &R, unsigned LineNo, FileID FID, const SourceColumnMap &map, @@ -1110,7 +1110,7 @@ static std::string buildFixItInsertionLine(FileID FID, return FixItInsertionLine; } -/// \brief Emit a code snippet and caret line. +/// Emit a code snippet and caret line. /// /// This routine emits a single line's code snippet and caret line.. /// diff --git a/lib/Frontend/TextDiagnosticPrinter.cpp b/lib/Frontend/TextDiagnosticPrinter.cpp index 5dd3252d5b..a37382c116 100644 --- a/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/lib/Frontend/TextDiagnosticPrinter.cpp @@ -44,7 +44,7 @@ void TextDiagnosticPrinter::EndSourceFile() { TextDiag.reset(); } -/// \brief Print any diagnostic option information to a raw_ostream. +/// Print any diagnostic option information to a raw_ostream. /// /// This implements all of the logic for adding diagnostic options to a message /// (via OS). Each relevant option is comma separated and all are enclosed in diff --git a/lib/Frontend/VerifyDiagnosticConsumer.cpp b/lib/Frontend/VerifyDiagnosticConsumer.cpp index 129a2338c4..21933f474f 100644 --- a/lib/Frontend/VerifyDiagnosticConsumer.cpp +++ b/lib/Frontend/VerifyDiagnosticConsumer.cpp @@ -80,7 +80,7 @@ public: VerifyFileTracker(VerifyDiagnosticConsumer &Verify, SourceManager &SM) : Verify(Verify), SM(SM) {} - /// \brief Hook into the preprocessor and update the list of parsed + /// Hook into the preprocessor and update the list of parsed /// files when the preprocessor indicates a new file is entered. void FileChanged(SourceLocation Loc, FileChangeReason Reason, SrcMgr::CharacteristicKind FileType, @@ -656,7 +656,7 @@ bool VerifyDiagnosticConsumer::HandleComment(Preprocessor &PP, } #ifndef NDEBUG -/// \brief Lex the specified source file to determine whether it contains +/// Lex the specified source file to determine whether it contains /// any expected-* directives. As a Lexer is used rather than a full-blown /// Preprocessor, directives inside skipped #if blocks will still be found. /// @@ -694,7 +694,7 @@ static bool findDirectives(SourceManager &SM, FileID FID, } #endif // !NDEBUG -/// \brief Takes a list of diagnostics that have been generated but not matched +/// Takes a list of diagnostics that have been generated but not matched /// by an expected-* directive and produces a diagnostic to the user from this. static unsigned PrintUnexpected(DiagnosticsEngine &Diags, SourceManager *SourceMgr, const_diag_iterator diag_begin, @@ -722,7 +722,7 @@ static unsigned PrintUnexpected(DiagnosticsEngine &Diags, SourceManager *SourceM return std::distance(diag_begin, diag_end); } -/// \brief Takes a list of diagnostics that were expected to have been generated +/// Takes a list of diagnostics that were expected to have been generated /// but were not and produces a diagnostic to the user from this. static unsigned PrintExpected(DiagnosticsEngine &Diags, SourceManager &SourceMgr, @@ -753,7 +753,7 @@ static unsigned PrintExpected(DiagnosticsEngine &Diags, return DL.size(); } -/// \brief Determine whether two source locations come from the same file. +/// Determine whether two source locations come from the same file. static bool IsFromSameFile(SourceManager &SM, SourceLocation DirectiveLoc, SourceLocation DiagnosticLoc) { while (DiagnosticLoc.isMacroID()) diff --git a/lib/Headers/__wmmintrin_aes.h b/lib/Headers/__wmmintrin_aes.h index fc1dfa0027..fc32803654 100644 --- a/lib/Headers/__wmmintrin_aes.h +++ b/lib/Headers/__wmmintrin_aes.h @@ -28,7 +28,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("aes"))) -/// \brief Performs a single round of AES encryption using the Equivalent +/// Performs a single round of AES encryption using the Equivalent /// Inverse Cipher, transforming the state value from the first source /// operand using a 128-bit round key value contained in the second source /// operand, and writes the result to the destination. @@ -48,7 +48,7 @@ _mm_aesenc_si128(__m128i __V, __m128i __R) return (__m128i)__builtin_ia32_aesenc128((__v2di)__V, (__v2di)__R); } -/// \brief Performs the final round of AES encryption using the Equivalent +/// Performs the final round of AES encryption using the Equivalent /// Inverse Cipher, transforming the state value from the first source /// operand using a 128-bit round key value contained in the second source /// operand, and writes the result to the destination. @@ -68,7 +68,7 @@ _mm_aesenclast_si128(__m128i __V, __m128i __R) return (__m128i)__builtin_ia32_aesenclast128((__v2di)__V, (__v2di)__R); } -/// \brief Performs a single round of AES decryption using the Equivalent +/// Performs a single round of AES decryption using the Equivalent /// Inverse Cipher, transforming the state value from the first source /// operand using a 128-bit round key value contained in the second source /// operand, and writes the result to the destination. @@ -88,7 +88,7 @@ _mm_aesdec_si128(__m128i __V, __m128i __R) return (__m128i)__builtin_ia32_aesdec128((__v2di)__V, (__v2di)__R); } -/// \brief Performs the final round of AES decryption using the Equivalent +/// Performs the final round of AES decryption using the Equivalent /// Inverse Cipher, transforming the state value from the first source /// operand using a 128-bit round key value contained in the second source /// operand, and writes the result to the destination. @@ -108,7 +108,7 @@ _mm_aesdeclast_si128(__m128i __V, __m128i __R) return (__m128i)__builtin_ia32_aesdeclast128((__v2di)__V, (__v2di)__R); } -/// \brief Applies the AES InvMixColumns() transformation to an expanded key +/// Applies the AES InvMixColumns() transformation to an expanded key /// contained in the source operand, and writes the result to the /// destination. /// @@ -125,7 +125,7 @@ _mm_aesimc_si128(__m128i __V) return (__m128i)__builtin_ia32_aesimc128((__v2di)__V); } -/// \brief Generates a round key for AES encryption, operating on 128-bit data +/// Generates a round key for AES encryption, operating on 128-bit data /// specified in the first source operand and using an 8-bit round constant /// specified by the second source operand, and writes the result to the /// destination. diff --git a/lib/Headers/__wmmintrin_pclmul.h b/lib/Headers/__wmmintrin_pclmul.h index 246caebbc4..ebf6a1e666 100644 --- a/lib/Headers/__wmmintrin_pclmul.h +++ b/lib/Headers/__wmmintrin_pclmul.h @@ -23,7 +23,7 @@ #ifndef __WMMINTRIN_PCLMUL_H #define __WMMINTRIN_PCLMUL_H -/// \brief Multiplies two 64-bit integer values, which are selected from source +/// Multiplies two 64-bit integer values, which are selected from source /// operands using the immediate-value operand. The multiplication is a /// carry-less multiplication, and the 128-bit integer product is stored in /// the destination. diff --git a/lib/Headers/ammintrin.h b/lib/Headers/ammintrin.h index 2843a7a267..d91e4d194c 100644 --- a/lib/Headers/ammintrin.h +++ b/lib/Headers/ammintrin.h @@ -29,7 +29,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse4a"))) -/// \brief Extracts the specified bits from the lower 64 bits of the 128-bit +/// Extracts the specified bits from the lower 64 bits of the 128-bit /// integer vector operand at the index \a idx and of the length \a len. /// /// \headerfile <x86intrin.h> @@ -57,7 +57,7 @@ ((__m128i)__builtin_ia32_extrqi((__v2di)(__m128i)(x), \ (char)(len), (char)(idx))) -/// \brief Extracts the specified bits from the lower 64 bits of the 128-bit +/// Extracts the specified bits from the lower 64 bits of the 128-bit /// integer vector operand at the index and of the length specified by /// \a __y. /// @@ -82,7 +82,7 @@ _mm_extract_si64(__m128i __x, __m128i __y) return (__m128i)__builtin_ia32_extrq((__v2di)__x, (__v16qi)__y); } -/// \brief Inserts bits of a specified length from the source integer vector +/// Inserts bits of a specified length from the source integer vector /// \a y into the lower 64 bits of the destination integer vector \a x at /// the index \a idx and of the length \a len. /// @@ -120,7 +120,7 @@ _mm_extract_si64(__m128i __x, __m128i __y) (__v2di)(__m128i)(y), \ (char)(len), (char)(idx))) -/// \brief Inserts bits of a specified length from the source integer vector +/// Inserts bits of a specified length from the source integer vector /// \a __y into the lower 64 bits of the destination integer vector \a __x /// at the index and of the length specified by \a __y. /// @@ -152,7 +152,7 @@ _mm_insert_si64(__m128i __x, __m128i __y) return (__m128i)__builtin_ia32_insertq((__v2di)__x, (__v2di)__y); } -/// \brief Stores a 64-bit double-precision value in a 64-bit memory location. +/// Stores a 64-bit double-precision value in a 64-bit memory location. /// To minimize caching, the data is flagged as non-temporal (unlikely to be /// used again soon). /// @@ -170,7 +170,7 @@ _mm_stream_sd(double *__p, __m128d __a) __builtin_ia32_movntsd(__p, (__v2df)__a); } -/// \brief Stores a 32-bit single-precision floating-point value in a 32-bit +/// Stores a 32-bit single-precision floating-point value in a 32-bit /// memory location. To minimize caching, the data is flagged as /// non-temporal (unlikely to be used again soon). /// diff --git a/lib/Headers/avx512fintrin.h b/lib/Headers/avx512fintrin.h index 45f3e496aa..78fae67bf7 100644 --- a/lib/Headers/avx512fintrin.h +++ b/lib/Headers/avx512fintrin.h @@ -520,7 +520,7 @@ _mm512_mask2int(__mmask16 __a) return (int)__a; } -/// \brief Constructs a 512-bit floating-point vector of [8 x double] from a +/// Constructs a 512-bit floating-point vector of [8 x double] from a /// 128-bit floating-point vector of [2 x double]. The lower 128 bits /// contain the value of the source vector. The upper 384 bits are set /// to zero. @@ -539,7 +539,7 @@ _mm512_zextpd128_pd512(__m128d __a) return __builtin_shufflevector((__v2df)__a, (__v2df)_mm_setzero_pd(), 0, 1, 2, 3, 2, 3, 2, 3); } -/// \brief Constructs a 512-bit floating-point vector of [8 x double] from a +/// Constructs a 512-bit floating-point vector of [8 x double] from a /// 256-bit floating-point vector of [4 x double]. The lower 256 bits /// contain the value of the source vector. The upper 256 bits are set /// to zero. @@ -558,7 +558,7 @@ _mm512_zextpd256_pd512(__m256d __a) return __builtin_shufflevector((__v4df)__a, (__v4df)_mm256_setzero_pd(), 0, 1, 2, 3, 4, 5, 6, 7); } -/// \brief Constructs a 512-bit floating-point vector of [16 x float] from a +/// Constructs a 512-bit floating-point vector of [16 x float] from a /// 128-bit floating-point vector of [4 x float]. The lower 128 bits contain /// the value of the source vector. The upper 384 bits are set to zero. /// @@ -576,7 +576,7 @@ _mm512_zextps128_ps512(__m128 __a) return __builtin_shufflevector((__v4sf)__a, (__v4sf)_mm_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7); } -/// \brief Constructs a 512-bit floating-point vector of [16 x float] from a +/// Constructs a 512-bit floating-point vector of [16 x float] from a /// 256-bit floating-point vector of [8 x float]. The lower 256 bits contain /// the value of the source vector. The upper 256 bits are set to zero. /// @@ -594,7 +594,7 @@ _mm512_zextps256_ps512(__m256 __a) return __builtin_shufflevector((__v8sf)__a, (__v8sf)_mm256_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); } -/// \brief Constructs a 512-bit integer vector from a 128-bit integer vector. +/// Constructs a 512-bit integer vector from a 128-bit integer vector. /// The lower 128 bits contain the value of the source vector. The upper /// 384 bits are set to zero. /// @@ -612,7 +612,7 @@ _mm512_zextsi128_si512(__m128i __a) return __builtin_shufflevector((__v2di)__a, (__v2di)_mm_setzero_si128(), 0, 1, 2, 3, 2, 3, 2, 3); } -/// \brief Constructs a 512-bit integer vector from a 256-bit integer vector. +/// Constructs a 512-bit integer vector from a 256-bit integer vector. /// The lower 256 bits contain the value of the source vector. The upper /// 256 bits are set to zero. /// diff --git a/lib/Headers/avxintrin.h b/lib/Headers/avxintrin.h index 27dc64424a..b77f2e9900 100644 --- a/lib/Headers/avxintrin.h +++ b/lib/Headers/avxintrin.h @@ -53,7 +53,7 @@ typedef long long __m256i __attribute__((__vector_size__(32))); #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx"))) /* Arithmetic */ -/// \brief Adds two 256-bit vectors of [4 x double]. +/// Adds two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -71,7 +71,7 @@ _mm256_add_pd(__m256d __a, __m256d __b) return (__m256d)((__v4df)__a+(__v4df)__b); } -/// \brief Adds two 256-bit vectors of [8 x float]. +/// Adds two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -89,7 +89,7 @@ _mm256_add_ps(__m256 __a, __m256 __b) return (__m256)((__v8sf)__a+(__v8sf)__b); } -/// \brief Subtracts two 256-bit vectors of [4 x double]. +/// Subtracts two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -107,7 +107,7 @@ _mm256_sub_pd(__m256d __a, __m256d __b) return (__m256d)((__v4df)__a-(__v4df)__b); } -/// \brief Subtracts two 256-bit vectors of [8 x float]. +/// Subtracts two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -125,7 +125,7 @@ _mm256_sub_ps(__m256 __a, __m256 __b) return (__m256)((__v8sf)__a-(__v8sf)__b); } -/// \brief Adds the even-indexed values and subtracts the odd-indexed values of +/// Adds the even-indexed values and subtracts the odd-indexed values of /// two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -144,7 +144,7 @@ _mm256_addsub_pd(__m256d __a, __m256d __b) return (__m256d)__builtin_ia32_addsubpd256((__v4df)__a, (__v4df)__b); } -/// \brief Adds the even-indexed values and subtracts the odd-indexed values of +/// Adds the even-indexed values and subtracts the odd-indexed values of /// two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -163,7 +163,7 @@ _mm256_addsub_ps(__m256 __a, __m256 __b) return (__m256)__builtin_ia32_addsubps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Divides two 256-bit vectors of [4 x double]. +/// Divides two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -181,7 +181,7 @@ _mm256_div_pd(__m256d __a, __m256d __b) return (__m256d)((__v4df)__a/(__v4df)__b); } -/// \brief Divides two 256-bit vectors of [8 x float]. +/// Divides two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -199,7 +199,7 @@ _mm256_div_ps(__m256 __a, __m256 __b) return (__m256)((__v8sf)__a/(__v8sf)__b); } -/// \brief Compares two 256-bit vectors of [4 x double] and returns the greater +/// Compares two 256-bit vectors of [4 x double] and returns the greater /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -218,7 +218,7 @@ _mm256_max_pd(__m256d __a, __m256d __b) return (__m256d)__builtin_ia32_maxpd256((__v4df)__a, (__v4df)__b); } -/// \brief Compares two 256-bit vectors of [8 x float] and returns the greater +/// Compares two 256-bit vectors of [8 x float] and returns the greater /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -237,7 +237,7 @@ _mm256_max_ps(__m256 __a, __m256 __b) return (__m256)__builtin_ia32_maxps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Compares two 256-bit vectors of [4 x double] and returns the lesser +/// Compares two 256-bit vectors of [4 x double] and returns the lesser /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -256,7 +256,7 @@ _mm256_min_pd(__m256d __a, __m256d __b) return (__m256d)__builtin_ia32_minpd256((__v4df)__a, (__v4df)__b); } -/// \brief Compares two 256-bit vectors of [8 x float] and returns the lesser +/// Compares two 256-bit vectors of [8 x float] and returns the lesser /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -275,7 +275,7 @@ _mm256_min_ps(__m256 __a, __m256 __b) return (__m256)__builtin_ia32_minps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Multiplies two 256-bit vectors of [4 x double]. +/// Multiplies two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -293,7 +293,7 @@ _mm256_mul_pd(__m256d __a, __m256d __b) return (__m256d)((__v4df)__a * (__v4df)__b); } -/// \brief Multiplies two 256-bit vectors of [8 x float]. +/// Multiplies two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -311,7 +311,7 @@ _mm256_mul_ps(__m256 __a, __m256 __b) return (__m256)((__v8sf)__a * (__v8sf)__b); } -/// \brief Calculates the square roots of the values in a 256-bit vector of +/// Calculates the square roots of the values in a 256-bit vector of /// [4 x double]. /// /// \headerfile <x86intrin.h> @@ -328,7 +328,7 @@ _mm256_sqrt_pd(__m256d __a) return (__m256d)__builtin_ia32_sqrtpd256((__v4df)__a); } -/// \brief Calculates the square roots of the values in a 256-bit vector of +/// Calculates the square roots of the values in a 256-bit vector of /// [8 x float]. /// /// \headerfile <x86intrin.h> @@ -345,7 +345,7 @@ _mm256_sqrt_ps(__m256 __a) return (__m256)__builtin_ia32_sqrtps256((__v8sf)__a); } -/// \brief Calculates the reciprocal square roots of the values in a 256-bit +/// Calculates the reciprocal square roots of the values in a 256-bit /// vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -362,7 +362,7 @@ _mm256_rsqrt_ps(__m256 __a) return (__m256)__builtin_ia32_rsqrtps256((__v8sf)__a); } -/// \brief Calculates the reciprocals of the values in a 256-bit vector of +/// Calculates the reciprocals of the values in a 256-bit vector of /// [8 x float]. /// /// \headerfile <x86intrin.h> @@ -379,7 +379,7 @@ _mm256_rcp_ps(__m256 __a) return (__m256)__builtin_ia32_rcpps256((__v8sf)__a); } -/// \brief Rounds the values in a 256-bit vector of [4 x double] as specified +/// Rounds the values in a 256-bit vector of [4 x double] as specified /// by the byte operand. The source values are rounded to integer values and /// returned as 64-bit double-precision floating-point values. /// @@ -411,7 +411,7 @@ _mm256_rcp_ps(__m256 __a) #define _mm256_round_pd(V, M) __extension__ ({ \ (__m256d)__builtin_ia32_roundpd256((__v4df)(__m256d)(V), (M)); }) -/// \brief Rounds the values stored in a 256-bit vector of [8 x float] as +/// Rounds the values stored in a 256-bit vector of [8 x float] as /// specified by the byte operand. The source values are rounded to integer /// values and returned as floating-point values. /// @@ -443,7 +443,7 @@ _mm256_rcp_ps(__m256 __a) #define _mm256_round_ps(V, M) __extension__ ({ \ (__m256)__builtin_ia32_roundps256((__v8sf)(__m256)(V), (M)); }) -/// \brief Rounds up the values stored in a 256-bit vector of [4 x double]. The +/// Rounds up the values stored in a 256-bit vector of [4 x double]. The /// source values are rounded up to integer values and returned as 64-bit /// double-precision floating-point values. /// @@ -460,7 +460,7 @@ _mm256_rcp_ps(__m256 __a) /// \returns A 256-bit vector of [4 x double] containing the rounded up values. #define _mm256_ceil_pd(V) _mm256_round_pd((V), _MM_FROUND_CEIL) -/// \brief Rounds down the values stored in a 256-bit vector of [4 x double]. +/// Rounds down the values stored in a 256-bit vector of [4 x double]. /// The source values are rounded down to integer values and returned as /// 64-bit double-precision floating-point values. /// @@ -478,7 +478,7 @@ _mm256_rcp_ps(__m256 __a) /// values. #define _mm256_floor_pd(V) _mm256_round_pd((V), _MM_FROUND_FLOOR) -/// \brief Rounds up the values stored in a 256-bit vector of [8 x float]. The +/// Rounds up the values stored in a 256-bit vector of [8 x float]. The /// source values are rounded up to integer values and returned as /// floating-point values. /// @@ -495,7 +495,7 @@ _mm256_rcp_ps(__m256 __a) /// \returns A 256-bit vector of [8 x float] containing the rounded up values. #define _mm256_ceil_ps(V) _mm256_round_ps((V), _MM_FROUND_CEIL) -/// \brief Rounds down the values stored in a 256-bit vector of [8 x float]. The +/// Rounds down the values stored in a 256-bit vector of [8 x float]. The /// source values are rounded down to integer values and returned as /// floating-point values. /// @@ -513,7 +513,7 @@ _mm256_rcp_ps(__m256 __a) #define _mm256_floor_ps(V) _mm256_round_ps((V), _MM_FROUND_FLOOR) /* Logical */ -/// \brief Performs a bitwise AND of two 256-bit vectors of [4 x double]. +/// Performs a bitwise AND of two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -531,7 +531,7 @@ _mm256_and_pd(__m256d __a, __m256d __b) return (__m256d)((__v4du)__a & (__v4du)__b); } -/// \brief Performs a bitwise AND of two 256-bit vectors of [8 x float]. +/// Performs a bitwise AND of two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -549,7 +549,7 @@ _mm256_and_ps(__m256 __a, __m256 __b) return (__m256)((__v8su)__a & (__v8su)__b); } -/// \brief Performs a bitwise AND of two 256-bit vectors of [4 x double], using +/// Performs a bitwise AND of two 256-bit vectors of [4 x double], using /// the one's complement of the values contained in the first source operand. /// /// \headerfile <x86intrin.h> @@ -570,7 +570,7 @@ _mm256_andnot_pd(__m256d __a, __m256d __b) return (__m256d)(~(__v4du)__a & (__v4du)__b); } -/// \brief Performs a bitwise AND of two 256-bit vectors of [8 x float], using +/// Performs a bitwise AND of two 256-bit vectors of [8 x float], using /// the one's complement of the values contained in the first source operand. /// /// \headerfile <x86intrin.h> @@ -591,7 +591,7 @@ _mm256_andnot_ps(__m256 __a, __m256 __b) return (__m256)(~(__v8su)__a & (__v8su)__b); } -/// \brief Performs a bitwise OR of two 256-bit vectors of [4 x double]. +/// Performs a bitwise OR of two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -609,7 +609,7 @@ _mm256_or_pd(__m256d __a, __m256d __b) return (__m256d)((__v4du)__a | (__v4du)__b); } -/// \brief Performs a bitwise OR of two 256-bit vectors of [8 x float]. +/// Performs a bitwise OR of two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -627,7 +627,7 @@ _mm256_or_ps(__m256 __a, __m256 __b) return (__m256)((__v8su)__a | (__v8su)__b); } -/// \brief Performs a bitwise XOR of two 256-bit vectors of [4 x double]. +/// Performs a bitwise XOR of two 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -645,7 +645,7 @@ _mm256_xor_pd(__m256d __a, __m256d __b) return (__m256d)((__v4du)__a ^ (__v4du)__b); } -/// \brief Performs a bitwise XOR of two 256-bit vectors of [8 x float]. +/// Performs a bitwise XOR of two 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -664,7 +664,7 @@ _mm256_xor_ps(__m256 __a, __m256 __b) } /* Horizontal arithmetic */ -/// \brief Horizontally adds the adjacent pairs of values contained in two +/// Horizontally adds the adjacent pairs of values contained in two /// 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -687,7 +687,7 @@ _mm256_hadd_pd(__m256d __a, __m256d __b) return (__m256d)__builtin_ia32_haddpd256((__v4df)__a, (__v4df)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in two +/// Horizontally adds the adjacent pairs of values contained in two /// 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -710,7 +710,7 @@ _mm256_hadd_ps(__m256 __a, __m256 __b) return (__m256)__builtin_ia32_haddps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in two +/// Horizontally subtracts the adjacent pairs of values contained in two /// 256-bit vectors of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -733,7 +733,7 @@ _mm256_hsub_pd(__m256d __a, __m256d __b) return (__m256d)__builtin_ia32_hsubpd256((__v4df)__a, (__v4df)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in two +/// Horizontally subtracts the adjacent pairs of values contained in two /// 256-bit vectors of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -757,7 +757,7 @@ _mm256_hsub_ps(__m256 __a, __m256 __b) } /* Vector permutations */ -/// \brief Copies the values in a 128-bit vector of [2 x double] as specified +/// Copies the values in a 128-bit vector of [2 x double] as specified /// by the 128-bit integer vector operand. /// /// \headerfile <x86intrin.h> @@ -786,7 +786,7 @@ _mm_permutevar_pd(__m128d __a, __m128i __c) return (__m128d)__builtin_ia32_vpermilvarpd((__v2df)__a, (__v2di)__c); } -/// \brief Copies the values in a 256-bit vector of [4 x double] as specified +/// Copies the values in a 256-bit vector of [4 x double] as specified /// by the 256-bit integer vector operand. /// /// \headerfile <x86intrin.h> @@ -825,7 +825,7 @@ _mm256_permutevar_pd(__m256d __a, __m256i __c) return (__m256d)__builtin_ia32_vpermilvarpd256((__v4df)__a, (__v4di)__c); } -/// \brief Copies the values stored in a 128-bit vector of [4 x float] as +/// Copies the values stored in a 128-bit vector of [4 x float] as /// specified by the 128-bit integer vector operand. /// \headerfile <x86intrin.h> /// @@ -879,7 +879,7 @@ _mm_permutevar_ps(__m128 __a, __m128i __c) return (__m128)__builtin_ia32_vpermilvarps((__v4sf)__a, (__v4si)__c); } -/// \brief Copies the values stored in a 256-bit vector of [8 x float] as +/// Copies the values stored in a 256-bit vector of [8 x float] as /// specified by the 256-bit integer vector operand. /// /// \headerfile <x86intrin.h> @@ -970,7 +970,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) return (__m256)__builtin_ia32_vpermilvarps256((__v8sf)__a, (__v8si)__c); } -/// \brief Copies the values in a 128-bit vector of [2 x double] as specified +/// Copies the values in a 128-bit vector of [2 x double] as specified /// by the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1002,7 +1002,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (__v2df)_mm_undefined_pd(), \ ((C) >> 0) & 0x1, ((C) >> 1) & 0x1); }) -/// \brief Copies the values in a 256-bit vector of [4 x double] as specified by +/// Copies the values in a 256-bit vector of [4 x double] as specified by /// the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1047,7 +1047,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) 2 + (((C) >> 2) & 0x1), \ 2 + (((C) >> 3) & 0x1)); }) -/// \brief Copies the values in a 128-bit vector of [4 x float] as specified by +/// Copies the values in a 128-bit vector of [4 x float] as specified by /// the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1106,7 +1106,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) ((C) >> 0) & 0x3, ((C) >> 2) & 0x3, \ ((C) >> 4) & 0x3, ((C) >> 6) & 0x3); }) -/// \brief Copies the values in a 256-bit vector of [8 x float] as specified by +/// Copies the values in a 256-bit vector of [8 x float] as specified by /// the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1207,7 +1207,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) 4 + (((C) >> 4) & 0x3), \ 4 + (((C) >> 6) & 0x3)); }) -/// \brief Permutes 128-bit data values stored in two 256-bit vectors of +/// Permutes 128-bit data values stored in two 256-bit vectors of /// [4 x double], as specified by the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1248,7 +1248,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (__m256d)__builtin_ia32_vperm2f128_pd256((__v4df)(__m256d)(V1), \ (__v4df)(__m256d)(V2), (M)); }) -/// \brief Permutes 128-bit data values stored in two 256-bit vectors of +/// Permutes 128-bit data values stored in two 256-bit vectors of /// [8 x float], as specified by the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1289,7 +1289,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (__m256)__builtin_ia32_vperm2f128_ps256((__v8sf)(__m256)(V1), \ (__v8sf)(__m256)(V2), (M)); }) -/// \brief Permutes 128-bit data values stored in two 256-bit integer vectors, +/// Permutes 128-bit data values stored in two 256-bit integer vectors, /// as specified by the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -1330,7 +1330,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (__v8si)(__m256i)(V2), (M)); }) /* Vector Blend */ -/// \brief Merges 64-bit double-precision data values stored in either of the +/// Merges 64-bit double-precision data values stored in either of the /// two 256-bit vectors of [4 x double], as specified by the immediate /// integer operand. /// @@ -1362,7 +1362,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (((M) & 0x04) ? 6 : 2), \ (((M) & 0x08) ? 7 : 3)); }) -/// \brief Merges 32-bit single-precision data values stored in either of the +/// Merges 32-bit single-precision data values stored in either of the /// two 256-bit vectors of [8 x float], as specified by the immediate /// integer operand. /// @@ -1398,7 +1398,7 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c) (((M) & 0x40) ? 14 : 6), \ (((M) & 0x80) ? 15 : 7)); }) -/// \brief Merges 64-bit double-precision data values stored in either of the +/// Merges 64-bit double-precision data values stored in either of the /// two 256-bit vectors of [4 x double], as specified by the 256-bit vector /// operand. /// @@ -1426,7 +1426,7 @@ _mm256_blendv_pd(__m256d __a, __m256d __b, __m256d __c) (__v4df)__a, (__v4df)__b, (__v4df)__c); } -/// \brief Merges 32-bit single-precision data values stored in either of the +/// Merges 32-bit single-precision data values stored in either of the /// two 256-bit vectors of [8 x float], as specified by the 256-bit vector /// operand. /// @@ -1455,7 +1455,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) } /* Vector Dot Product */ -/// \brief Computes two dot products in parallel, using the lower and upper +/// Computes two dot products in parallel, using the lower and upper /// halves of two [8 x float] vectors as input to the two computations, and /// returning the two dot products in the lower and upper halves of the /// [8 x float] result. @@ -1497,7 +1497,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__v8sf)(__m256)(V2), (M)); }) /* Vector shuffle */ -/// \brief Selects 8 float values from the 256-bit operands of [8 x float], as +/// Selects 8 float values from the 256-bit operands of [8 x float], as /// specified by the immediate value operand. /// /// The four selected elements in each operand are copied to the destination @@ -1558,7 +1558,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) 12 + (((mask) >> 4) & 0x3), \ 12 + (((mask) >> 6) & 0x3)); }) -/// \brief Selects four double-precision values from the 256-bit operands of +/// Selects four double-precision values from the 256-bit operands of /// [4 x double], as specified by the immediate value operand. /// /// The selected elements from the first 256-bit operand are copied to bits @@ -1642,7 +1642,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) #define _CMP_GT_OQ 0x1e /* Greater-than (ordered, non-signaling) */ #define _CMP_TRUE_US 0x1f /* True (unordered, signaling) */ -/// \brief Compares each of the corresponding double-precision values of two +/// Compares each of the corresponding double-precision values of two /// 128-bit vectors of [2 x double], using the operation specified by the /// immediate integer operand. /// @@ -1702,7 +1702,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \ (__v2df)(__m128d)(b), (c)); }) -/// \brief Compares each of the corresponding values of two 128-bit vectors of +/// Compares each of the corresponding values of two 128-bit vectors of /// [4 x float], using the operation specified by the immediate integer /// operand. /// @@ -1762,7 +1762,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \ (__v4sf)(__m128)(b), (c)); }) -/// \brief Compares each of the corresponding double-precision values of two +/// Compares each of the corresponding double-precision values of two /// 256-bit vectors of [4 x double], using the operation specified by the /// immediate integer operand. /// @@ -1822,7 +1822,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m256d)__builtin_ia32_cmppd256((__v4df)(__m256d)(a), \ (__v4df)(__m256d)(b), (c)); }) -/// \brief Compares each of the corresponding values of two 256-bit vectors of +/// Compares each of the corresponding values of two 256-bit vectors of /// [8 x float], using the operation specified by the immediate integer /// operand. /// @@ -1882,7 +1882,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \ (__v8sf)(__m256)(b), (c)); }) -/// \brief Compares each of the corresponding scalar double-precision values of +/// Compares each of the corresponding scalar double-precision values of /// two 128-bit vectors of [2 x double], using the operation specified by the /// immediate integer operand. /// @@ -1941,7 +1941,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \ (__v2df)(__m128d)(b), (c)); }) -/// \brief Compares each of the corresponding scalar values of two 128-bit +/// Compares each of the corresponding scalar values of two 128-bit /// vectors of [4 x float], using the operation specified by the immediate /// integer operand. /// @@ -2000,7 +2000,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) (__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \ (__v4sf)(__m128)(b), (c)); }) -/// \brief Takes a [8 x i32] vector and returns the vector element value +/// Takes a [8 x i32] vector and returns the vector element value /// indexed by the immediate constant operand. /// /// \headerfile <x86intrin.h> @@ -2022,7 +2022,7 @@ _mm256_extract_epi32(__m256i __a, const int __imm) return __b[__imm & 7]; } -/// \brief Takes a [16 x i16] vector and returns the vector element value +/// Takes a [16 x i16] vector and returns the vector element value /// indexed by the immediate constant operand. /// /// \headerfile <x86intrin.h> @@ -2044,7 +2044,7 @@ _mm256_extract_epi16(__m256i __a, const int __imm) return (unsigned short)__b[__imm & 15]; } -/// \brief Takes a [32 x i8] vector and returns the vector element value +/// Takes a [32 x i8] vector and returns the vector element value /// indexed by the immediate constant operand. /// /// \headerfile <x86intrin.h> @@ -2067,7 +2067,7 @@ _mm256_extract_epi8(__m256i __a, const int __imm) } #ifdef __x86_64__ -/// \brief Takes a [4 x i64] vector and returns the vector element value +/// Takes a [4 x i64] vector and returns the vector element value /// indexed by the immediate constant operand. /// /// \headerfile <x86intrin.h> @@ -2090,7 +2090,7 @@ _mm256_extract_epi64(__m256i __a, const int __imm) } #endif -/// \brief Takes a [8 x i32] vector and replaces the vector element value +/// Takes a [8 x i32] vector and replaces the vector element value /// indexed by the immediate constant operand by a new value. Returns the /// modified vector. /// @@ -2117,7 +2117,7 @@ _mm256_insert_epi32(__m256i __a, int __b, int const __imm) } -/// \brief Takes a [16 x i16] vector and replaces the vector element value +/// Takes a [16 x i16] vector and replaces the vector element value /// indexed by the immediate constant operand with a new value. Returns the /// modified vector. /// @@ -2143,7 +2143,7 @@ _mm256_insert_epi16(__m256i __a, int __b, int const __imm) return (__m256i)__c; } -/// \brief Takes a [32 x i8] vector and replaces the vector element value +/// Takes a [32 x i8] vector and replaces the vector element value /// indexed by the immediate constant operand with a new value. Returns the /// modified vector. /// @@ -2170,7 +2170,7 @@ _mm256_insert_epi8(__m256i __a, int __b, int const __imm) } #ifdef __x86_64__ -/// \brief Takes a [4 x i64] vector and replaces the vector element value +/// Takes a [4 x i64] vector and replaces the vector element value /// indexed by the immediate constant operand with a new value. Returns the /// modified vector. /// @@ -2198,7 +2198,7 @@ _mm256_insert_epi64(__m256i __a, long long __b, int const __imm) #endif /* Conversion */ -/// \brief Converts a vector of [4 x i32] into a vector of [4 x double]. +/// Converts a vector of [4 x i32] into a vector of [4 x double]. /// /// \headerfile <x86intrin.h> /// @@ -2213,7 +2213,7 @@ _mm256_cvtepi32_pd(__m128i __a) return (__m256d)__builtin_convertvector((__v4si)__a, __v4df); } -/// \brief Converts a vector of [8 x i32] into a vector of [8 x float]. +/// Converts a vector of [8 x i32] into a vector of [8 x float]. /// /// \headerfile <x86intrin.h> /// @@ -2228,7 +2228,7 @@ _mm256_cvtepi32_ps(__m256i __a) return (__m256)__builtin_ia32_cvtdq2ps256((__v8si) __a); } -/// \brief Converts a 256-bit vector of [4 x double] into a 128-bit vector of +/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of /// [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2244,7 +2244,7 @@ _mm256_cvtpd_ps(__m256d __a) return (__m128)__builtin_ia32_cvtpd2ps256((__v4df) __a); } -/// \brief Converts a vector of [8 x float] into a vector of [8 x i32]. +/// Converts a vector of [8 x float] into a vector of [8 x i32]. /// /// \headerfile <x86intrin.h> /// @@ -2259,7 +2259,7 @@ _mm256_cvtps_epi32(__m256 __a) return (__m256i)__builtin_ia32_cvtps2dq256((__v8sf) __a); } -/// \brief Converts a 128-bit vector of [4 x float] into a 256-bit vector of [4 +/// Converts a 128-bit vector of [4 x float] into a 256-bit vector of [4 /// x double]. /// /// \headerfile <x86intrin.h> @@ -2275,7 +2275,7 @@ _mm256_cvtps_pd(__m128 __a) return (__m256d)__builtin_convertvector((__v4sf)__a, __v4df); } -/// \brief Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4 +/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4 /// x i32], truncating the result by rounding towards zero when it is /// inexact. /// @@ -2292,7 +2292,7 @@ _mm256_cvttpd_epi32(__m256d __a) return (__m128i)__builtin_ia32_cvttpd2dq256((__v4df) __a); } -/// \brief Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4 +/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4 /// x i32]. When a conversion is inexact, the value returned is rounded /// according to the rounding control bits in the MXCSR register. /// @@ -2309,7 +2309,7 @@ _mm256_cvtpd_epi32(__m256d __a) return (__m128i)__builtin_ia32_cvtpd2dq256((__v4df) __a); } -/// \brief Converts a vector of [8 x float] into a vector of [8 x i32], +/// Converts a vector of [8 x float] into a vector of [8 x i32], /// truncating the result by rounding towards zero when it is inexact. /// /// \headerfile <x86intrin.h> @@ -2325,7 +2325,7 @@ _mm256_cvttps_epi32(__m256 __a) return (__m256i)__builtin_ia32_cvttps2dq256((__v8sf) __a); } -/// \brief Returns the first element of the input vector of [4 x double]. +/// Returns the first element of the input vector of [4 x double]. /// /// \headerfile <avxintrin.h> /// @@ -2341,7 +2341,7 @@ _mm256_cvtsd_f64(__m256d __a) return __a[0]; } -/// \brief Returns the first element of the input vector of [8 x i32]. +/// Returns the first element of the input vector of [8 x i32]. /// /// \headerfile <avxintrin.h> /// @@ -2358,7 +2358,7 @@ _mm256_cvtsi256_si32(__m256i __a) return __b[0]; } -/// \brief Returns the first element of the input vector of [8 x float]. +/// Returns the first element of the input vector of [8 x float]. /// /// \headerfile <avxintrin.h> /// @@ -2375,7 +2375,7 @@ _mm256_cvtss_f32(__m256 __a) } /* Vector replicate */ -/// \brief Moves and duplicates odd-indexed values from a 256-bit vector of +/// Moves and duplicates odd-indexed values from a 256-bit vector of /// [8 x float] to float values in a 256-bit vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -2400,7 +2400,7 @@ _mm256_movehdup_ps(__m256 __a) return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 1, 1, 3, 3, 5, 5, 7, 7); } -/// \brief Moves and duplicates even-indexed values from a 256-bit vector of +/// Moves and duplicates even-indexed values from a 256-bit vector of /// [8 x float] to float values in a 256-bit vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -2425,7 +2425,7 @@ _mm256_moveldup_ps(__m256 __a) return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 0, 0, 2, 2, 4, 4, 6, 6); } -/// \brief Moves and duplicates double-precision floating point values from a +/// Moves and duplicates double-precision floating point values from a /// 256-bit vector of [4 x double] to double-precision values in a 256-bit /// vector of [4 x double]. /// @@ -2448,7 +2448,7 @@ _mm256_movedup_pd(__m256d __a) } /* Unpack and Interleave */ -/// \brief Unpacks the odd-indexed vector elements from two 256-bit vectors of +/// Unpacks the odd-indexed vector elements from two 256-bit vectors of /// [4 x double] and interleaves them into a 256-bit vector of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -2470,7 +2470,7 @@ _mm256_unpackhi_pd(__m256d __a, __m256d __b) return __builtin_shufflevector((__v4df)__a, (__v4df)__b, 1, 5, 1+2, 5+2); } -/// \brief Unpacks the even-indexed vector elements from two 256-bit vectors of +/// Unpacks the even-indexed vector elements from two 256-bit vectors of /// [4 x double] and interleaves them into a 256-bit vector of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -2492,7 +2492,7 @@ _mm256_unpacklo_pd(__m256d __a, __m256d __b) return __builtin_shufflevector((__v4df)__a, (__v4df)__b, 0, 4, 0+2, 4+2); } -/// \brief Unpacks the 32-bit vector elements 2, 3, 6 and 7 from each of the +/// Unpacks the 32-bit vector elements 2, 3, 6 and 7 from each of the /// two 256-bit vectors of [8 x float] and interleaves them into a 256-bit /// vector of [8 x float]. /// @@ -2519,7 +2519,7 @@ _mm256_unpackhi_ps(__m256 __a, __m256 __b) return __builtin_shufflevector((__v8sf)__a, (__v8sf)__b, 2, 10, 2+1, 10+1, 6, 14, 6+1, 14+1); } -/// \brief Unpacks the 32-bit vector elements 0, 1, 4 and 5 from each of the +/// Unpacks the 32-bit vector elements 0, 1, 4 and 5 from each of the /// two 256-bit vectors of [8 x float] and interleaves them into a 256-bit /// vector of [8 x float]. /// @@ -2547,7 +2547,7 @@ _mm256_unpacklo_ps(__m256 __a, __m256 __b) } /* Bit Test */ -/// \brief Given two 128-bit floating-point vectors of [2 x double], perform an +/// Given two 128-bit floating-point vectors of [2 x double], perform an /// element-by-element comparison of the double-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2576,7 +2576,7 @@ _mm_testz_pd(__m128d __a, __m128d __b) return __builtin_ia32_vtestzpd((__v2df)__a, (__v2df)__b); } -/// \brief Given two 128-bit floating-point vectors of [2 x double], perform an +/// Given two 128-bit floating-point vectors of [2 x double], perform an /// element-by-element comparison of the double-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2605,7 +2605,7 @@ _mm_testc_pd(__m128d __a, __m128d __b) return __builtin_ia32_vtestcpd((__v2df)__a, (__v2df)__b); } -/// \brief Given two 128-bit floating-point vectors of [2 x double], perform an +/// Given two 128-bit floating-point vectors of [2 x double], perform an /// element-by-element comparison of the double-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2635,7 +2635,7 @@ _mm_testnzc_pd(__m128d __a, __m128d __b) return __builtin_ia32_vtestnzcpd((__v2df)__a, (__v2df)__b); } -/// \brief Given two 128-bit floating-point vectors of [4 x float], perform an +/// Given two 128-bit floating-point vectors of [4 x float], perform an /// element-by-element comparison of the single-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2664,7 +2664,7 @@ _mm_testz_ps(__m128 __a, __m128 __b) return __builtin_ia32_vtestzps((__v4sf)__a, (__v4sf)__b); } -/// \brief Given two 128-bit floating-point vectors of [4 x float], perform an +/// Given two 128-bit floating-point vectors of [4 x float], perform an /// element-by-element comparison of the single-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2693,7 +2693,7 @@ _mm_testc_ps(__m128 __a, __m128 __b) return __builtin_ia32_vtestcps((__v4sf)__a, (__v4sf)__b); } -/// \brief Given two 128-bit floating-point vectors of [4 x float], perform an +/// Given two 128-bit floating-point vectors of [4 x float], perform an /// element-by-element comparison of the single-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2723,7 +2723,7 @@ _mm_testnzc_ps(__m128 __a, __m128 __b) return __builtin_ia32_vtestnzcps((__v4sf)__a, (__v4sf)__b); } -/// \brief Given two 256-bit floating-point vectors of [4 x double], perform an +/// Given two 256-bit floating-point vectors of [4 x double], perform an /// element-by-element comparison of the double-precision elements in the /// first source vector and the corresponding elements in the second source /// vector. @@ -2752,7 +2752,7 @@ _mm256_testz_pd(__m256d __a, __m256d __b) return __builtin_ia32_vtestzpd256((__v4df)__a, (__v4df)__b); } -/// \brief Given two 256-bit floating-point vectors of [4 x double], perform an +/// Given two 256-bit floating-point vectors of [4 x double], perform an /// element-by-element comparison of the double-precision elements in the /// first source vector and the corresponding elements in the second source /// vector. @@ -2781,7 +2781,7 @@ _mm256_testc_pd(__m256d __a, __m256d __b) return __builtin_ia32_vtestcpd256((__v4df)__a, (__v4df)__b); } -/// \brief Given two 256-bit floating-point vectors of [4 x double], perform an +/// Given two 256-bit floating-point vectors of [4 x double], perform an /// element-by-element comparison of the double-precision elements in the /// first source vector and the corresponding elements in the second source /// vector. @@ -2811,7 +2811,7 @@ _mm256_testnzc_pd(__m256d __a, __m256d __b) return __builtin_ia32_vtestnzcpd256((__v4df)__a, (__v4df)__b); } -/// \brief Given two 256-bit floating-point vectors of [8 x float], perform an +/// Given two 256-bit floating-point vectors of [8 x float], perform an /// element-by-element comparison of the single-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2840,7 +2840,7 @@ _mm256_testz_ps(__m256 __a, __m256 __b) return __builtin_ia32_vtestzps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Given two 256-bit floating-point vectors of [8 x float], perform an +/// Given two 256-bit floating-point vectors of [8 x float], perform an /// element-by-element comparison of the single-precision element in the /// first source vector and the corresponding element in the second source /// vector. @@ -2869,7 +2869,7 @@ _mm256_testc_ps(__m256 __a, __m256 __b) return __builtin_ia32_vtestcps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Given two 256-bit floating-point vectors of [8 x float], perform an +/// Given two 256-bit floating-point vectors of [8 x float], perform an /// element-by-element comparison of the single-precision elements in the /// first source vector and the corresponding elements in the second source /// vector. @@ -2899,7 +2899,7 @@ _mm256_testnzc_ps(__m256 __a, __m256 __b) return __builtin_ia32_vtestnzcps256((__v8sf)__a, (__v8sf)__b); } -/// \brief Given two 256-bit integer vectors, perform a bit-by-bit comparison +/// Given two 256-bit integer vectors, perform a bit-by-bit comparison /// of the two source vectors. /// /// The EFLAGS register is updated as follows: \n @@ -2925,7 +2925,7 @@ _mm256_testz_si256(__m256i __a, __m256i __b) return __builtin_ia32_ptestz256((__v4di)__a, (__v4di)__b); } -/// \brief Given two 256-bit integer vectors, perform a bit-by-bit comparison +/// Given two 256-bit integer vectors, perform a bit-by-bit comparison /// of the two source vectors. /// /// The EFLAGS register is updated as follows: \n @@ -2951,7 +2951,7 @@ _mm256_testc_si256(__m256i __a, __m256i __b) return __builtin_ia32_ptestc256((__v4di)__a, (__v4di)__b); } -/// \brief Given two 256-bit integer vectors, perform a bit-by-bit comparison +/// Given two 256-bit integer vectors, perform a bit-by-bit comparison /// of the two source vectors. /// /// The EFLAGS register is updated as follows: \n @@ -2979,7 +2979,7 @@ _mm256_testnzc_si256(__m256i __a, __m256i __b) } /* Vector extract sign mask */ -/// \brief Extracts the sign bits of double-precision floating point elements +/// Extracts the sign bits of double-precision floating point elements /// in a 256-bit vector of [4 x double] and writes them to the lower order /// bits of the return value. /// @@ -2997,7 +2997,7 @@ _mm256_movemask_pd(__m256d __a) return __builtin_ia32_movmskpd256((__v4df)__a); } -/// \brief Extracts the sign bits of single-precision floating point elements +/// Extracts the sign bits of single-precision floating point elements /// in a 256-bit vector of [8 x float] and writes them to the lower order /// bits of the return value. /// @@ -3016,7 +3016,7 @@ _mm256_movemask_ps(__m256 __a) } /* Vector __zero */ -/// \brief Zeroes the contents of all XMM or YMM registers. +/// Zeroes the contents of all XMM or YMM registers. /// /// \headerfile <x86intrin.h> /// @@ -3027,7 +3027,7 @@ _mm256_zeroall(void) __builtin_ia32_vzeroall(); } -/// \brief Zeroes the upper 128 bits (bits 255:128) of all YMM registers. +/// Zeroes the upper 128 bits (bits 255:128) of all YMM registers. /// /// \headerfile <x86intrin.h> /// @@ -3039,7 +3039,7 @@ _mm256_zeroupper(void) } /* Vector load with broadcast */ -/// \brief Loads a scalar single-precision floating point value from the +/// Loads a scalar single-precision floating point value from the /// specified address pointed to by \a __a and broadcasts it to the elements /// of a [4 x float] vector. /// @@ -3058,7 +3058,7 @@ _mm_broadcast_ss(float const *__a) return (__m128)(__v4sf){ __f, __f, __f, __f }; } -/// \brief Loads a scalar double-precision floating point value from the +/// Loads a scalar double-precision floating point value from the /// specified address pointed to by \a __a and broadcasts it to the elements /// of a [4 x double] vector. /// @@ -3077,7 +3077,7 @@ _mm256_broadcast_sd(double const *__a) return (__m256d)(__v4df){ __d, __d, __d, __d }; } -/// \brief Loads a scalar single-precision floating point value from the +/// Loads a scalar single-precision floating point value from the /// specified address pointed to by \a __a and broadcasts it to the elements /// of a [8 x float] vector. /// @@ -3096,7 +3096,7 @@ _mm256_broadcast_ss(float const *__a) return (__m256)(__v8sf){ __f, __f, __f, __f, __f, __f, __f, __f }; } -/// \brief Loads the data from a 128-bit vector of [2 x double] from the +/// Loads the data from a 128-bit vector of [2 x double] from the /// specified address pointed to by \a __a and broadcasts it to 128-bit /// elements in a 256-bit vector of [4 x double]. /// @@ -3114,7 +3114,7 @@ _mm256_broadcast_pd(__m128d const *__a) return (__m256d)__builtin_ia32_vbroadcastf128_pd256((__v2df const *)__a); } -/// \brief Loads the data from a 128-bit vector of [4 x float] from the +/// Loads the data from a 128-bit vector of [4 x float] from the /// specified address pointed to by \a __a and broadcasts it to 128-bit /// elements in a 256-bit vector of [8 x float]. /// @@ -3133,7 +3133,7 @@ _mm256_broadcast_ps(__m128 const *__a) } /* SIMD load ops */ -/// \brief Loads 4 double-precision floating point values from a 32-byte aligned +/// Loads 4 double-precision floating point values from a 32-byte aligned /// memory location pointed to by \a __p into a vector of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -3150,7 +3150,7 @@ _mm256_load_pd(double const *__p) return *(__m256d *)__p; } -/// \brief Loads 8 single-precision floating point values from a 32-byte aligned +/// Loads 8 single-precision floating point values from a 32-byte aligned /// memory location pointed to by \a __p into a vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -3166,7 +3166,7 @@ _mm256_load_ps(float const *__p) return *(__m256 *)__p; } -/// \brief Loads 4 double-precision floating point values from an unaligned +/// Loads 4 double-precision floating point values from an unaligned /// memory location pointed to by \a __p into a vector of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -3186,7 +3186,7 @@ _mm256_loadu_pd(double const *__p) return ((struct __loadu_pd*)__p)->__v; } -/// \brief Loads 8 single-precision floating point values from an unaligned +/// Loads 8 single-precision floating point values from an unaligned /// memory location pointed to by \a __p into a vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -3206,7 +3206,7 @@ _mm256_loadu_ps(float const *__p) return ((struct __loadu_ps*)__p)->__v; } -/// \brief Loads 256 bits of integer data from a 32-byte aligned memory +/// Loads 256 bits of integer data from a 32-byte aligned memory /// location pointed to by \a __p into elements of a 256-bit integer vector. /// /// \headerfile <x86intrin.h> @@ -3223,7 +3223,7 @@ _mm256_load_si256(__m256i const *__p) return *__p; } -/// \brief Loads 256 bits of integer data from an unaligned memory location +/// Loads 256 bits of integer data from an unaligned memory location /// pointed to by \a __p into a 256-bit integer vector. /// /// \headerfile <x86intrin.h> @@ -3242,7 +3242,7 @@ _mm256_loadu_si256(__m256i const *__p) return ((struct __loadu_si256*)__p)->__v; } -/// \brief Loads 256 bits of integer data from an unaligned memory location +/// Loads 256 bits of integer data from an unaligned memory location /// pointed to by \a __p into a 256-bit integer vector. This intrinsic may /// perform better than \c _mm256_loadu_si256 when the data crosses a cache /// line boundary. @@ -3261,7 +3261,7 @@ _mm256_lddqu_si256(__m256i const *__p) } /* SIMD store ops */ -/// \brief Stores double-precision floating point values from a 256-bit vector +/// Stores double-precision floating point values from a 256-bit vector /// of [4 x double] to a 32-byte aligned memory location pointed to by /// \a __p. /// @@ -3280,7 +3280,7 @@ _mm256_store_pd(double *__p, __m256d __a) *(__m256d *)__p = __a; } -/// \brief Stores single-precision floating point values from a 256-bit vector +/// Stores single-precision floating point values from a 256-bit vector /// of [8 x float] to a 32-byte aligned memory location pointed to by \a __p. /// /// \headerfile <x86intrin.h> @@ -3298,7 +3298,7 @@ _mm256_store_ps(float *__p, __m256 __a) *(__m256 *)__p = __a; } -/// \brief Stores double-precision floating point values from a 256-bit vector +/// Stores double-precision floating point values from a 256-bit vector /// of [4 x double] to an unaligned memory location pointed to by \a __p. /// /// \headerfile <x86intrin.h> @@ -3319,7 +3319,7 @@ _mm256_storeu_pd(double *__p, __m256d __a) ((struct __storeu_pd*)__p)->__v = __a; } -/// \brief Stores single-precision floating point values from a 256-bit vector +/// Stores single-precision floating point values from a 256-bit vector /// of [8 x float] to an unaligned memory location pointed to by \a __p. /// /// \headerfile <x86intrin.h> @@ -3339,7 +3339,7 @@ _mm256_storeu_ps(float *__p, __m256 __a) ((struct __storeu_ps*)__p)->__v = __a; } -/// \brief Stores integer values from a 256-bit integer vector to a 32-byte +/// Stores integer values from a 256-bit integer vector to a 32-byte /// aligned memory location pointed to by \a __p. /// /// \headerfile <x86intrin.h> @@ -3357,7 +3357,7 @@ _mm256_store_si256(__m256i *__p, __m256i __a) *__p = __a; } -/// \brief Stores integer values from a 256-bit integer vector to an unaligned +/// Stores integer values from a 256-bit integer vector to an unaligned /// memory location pointed to by \a __p. /// /// \headerfile <x86intrin.h> @@ -3378,7 +3378,7 @@ _mm256_storeu_si256(__m256i *__p, __m256i __a) } /* Conditional load ops */ -/// \brief Conditionally loads double-precision floating point elements from a +/// Conditionally loads double-precision floating point elements from a /// memory location pointed to by \a __p into a 128-bit vector of /// [2 x double], depending on the mask bits associated with each data /// element. @@ -3402,7 +3402,7 @@ _mm_maskload_pd(double const *__p, __m128i __m) return (__m128d)__builtin_ia32_maskloadpd((const __v2df *)__p, (__v2di)__m); } -/// \brief Conditionally loads double-precision floating point elements from a +/// Conditionally loads double-precision floating point elements from a /// memory location pointed to by \a __p into a 256-bit vector of /// [4 x double], depending on the mask bits associated with each data /// element. @@ -3427,7 +3427,7 @@ _mm256_maskload_pd(double const *__p, __m256i __m) (__v4di)__m); } -/// \brief Conditionally loads single-precision floating point elements from a +/// Conditionally loads single-precision floating point elements from a /// memory location pointed to by \a __p into a 128-bit vector of /// [4 x float], depending on the mask bits associated with each data /// element. @@ -3451,7 +3451,7 @@ _mm_maskload_ps(float const *__p, __m128i __m) return (__m128)__builtin_ia32_maskloadps((const __v4sf *)__p, (__v4si)__m); } -/// \brief Conditionally loads single-precision floating point elements from a +/// Conditionally loads single-precision floating point elements from a /// memory location pointed to by \a __p into a 256-bit vector of /// [8 x float], depending on the mask bits associated with each data /// element. @@ -3476,7 +3476,7 @@ _mm256_maskload_ps(float const *__p, __m256i __m) } /* Conditional store ops */ -/// \brief Moves single-precision floating point values from a 256-bit vector +/// Moves single-precision floating point values from a 256-bit vector /// of [8 x float] to a memory location pointed to by \a __p, according to /// the specified mask. /// @@ -3500,7 +3500,7 @@ _mm256_maskstore_ps(float *__p, __m256i __m, __m256 __a) __builtin_ia32_maskstoreps256((__v8sf *)__p, (__v8si)__m, (__v8sf)__a); } -/// \brief Moves double-precision values from a 128-bit vector of [2 x double] +/// Moves double-precision values from a 128-bit vector of [2 x double] /// to a memory location pointed to by \a __p, according to the specified /// mask. /// @@ -3524,7 +3524,7 @@ _mm_maskstore_pd(double *__p, __m128i __m, __m128d __a) __builtin_ia32_maskstorepd((__v2df *)__p, (__v2di)__m, (__v2df)__a); } -/// \brief Moves double-precision values from a 256-bit vector of [4 x double] +/// Moves double-precision values from a 256-bit vector of [4 x double] /// to a memory location pointed to by \a __p, according to the specified /// mask. /// @@ -3548,7 +3548,7 @@ _mm256_maskstore_pd(double *__p, __m256i __m, __m256d __a) __builtin_ia32_maskstorepd256((__v4df *)__p, (__v4di)__m, (__v4df)__a); } -/// \brief Moves single-precision floating point values from a 128-bit vector +/// Moves single-precision floating point values from a 128-bit vector /// of [4 x float] to a memory location pointed to by \a __p, according to /// the specified mask. /// @@ -3573,7 +3573,7 @@ _mm_maskstore_ps(float *__p, __m128i __m, __m128 __a) } /* Cacheability support ops */ -/// \brief Moves integer data from a 256-bit integer vector to a 32-byte +/// Moves integer data from a 256-bit integer vector to a 32-byte /// aligned memory location. To minimize caching, the data is flagged as /// non-temporal (unlikely to be used again soon). /// @@ -3593,7 +3593,7 @@ _mm256_stream_si256(__m256i *__a, __m256i __b) __builtin_nontemporal_store((__v4di_aligned)__b, (__v4di_aligned*)__a); } -/// \brief Moves double-precision values from a 256-bit vector of [4 x double] +/// Moves double-precision values from a 256-bit vector of [4 x double] /// to a 32-byte aligned memory location. To minimize caching, the data is /// flagged as non-temporal (unlikely to be used again soon). /// @@ -3613,7 +3613,7 @@ _mm256_stream_pd(double *__a, __m256d __b) __builtin_nontemporal_store((__v4df_aligned)__b, (__v4df_aligned*)__a); } -/// \brief Moves single-precision floating point values from a 256-bit vector +/// Moves single-precision floating point values from a 256-bit vector /// of [8 x float] to a 32-byte aligned memory location. To minimize /// caching, the data is flagged as non-temporal (unlikely to be used again /// soon). @@ -3635,7 +3635,7 @@ _mm256_stream_ps(float *__p, __m256 __a) } /* Create vectors */ -/// \brief Create a 256-bit vector of [4 x double] with undefined values. +/// Create a 256-bit vector of [4 x double] with undefined values. /// /// \headerfile <x86intrin.h> /// @@ -3648,7 +3648,7 @@ _mm256_undefined_pd(void) return (__m256d)__builtin_ia32_undef256(); } -/// \brief Create a 256-bit vector of [8 x float] with undefined values. +/// Create a 256-bit vector of [8 x float] with undefined values. /// /// \headerfile <x86intrin.h> /// @@ -3661,7 +3661,7 @@ _mm256_undefined_ps(void) return (__m256)__builtin_ia32_undef256(); } -/// \brief Create a 256-bit integer vector with undefined values. +/// Create a 256-bit integer vector with undefined values. /// /// \headerfile <x86intrin.h> /// @@ -3674,7 +3674,7 @@ _mm256_undefined_si256(void) return (__m256i)__builtin_ia32_undef256(); } -/// \brief Constructs a 256-bit floating-point vector of [4 x double] +/// Constructs a 256-bit floating-point vector of [4 x double] /// initialized with the specified double-precision floating-point values. /// /// \headerfile <x86intrin.h> @@ -3701,7 +3701,7 @@ _mm256_set_pd(double __a, double __b, double __c, double __d) return (__m256d){ __d, __c, __b, __a }; } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] initialized +/// Constructs a 256-bit floating-point vector of [8 x float] initialized /// with the specified single-precision floating-point values. /// /// \headerfile <x86intrin.h> @@ -3741,7 +3741,7 @@ _mm256_set_ps(float __a, float __b, float __c, float __d, return (__m256){ __h, __g, __f, __e, __d, __c, __b, __a }; } -/// \brief Constructs a 256-bit integer vector initialized with the specified +/// Constructs a 256-bit integer vector initialized with the specified /// 32-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3773,7 +3773,7 @@ _mm256_set_epi32(int __i0, int __i1, int __i2, int __i3, return (__m256i)(__v8si){ __i7, __i6, __i5, __i4, __i3, __i2, __i1, __i0 }; } -/// \brief Constructs a 256-bit integer vector initialized with the specified +/// Constructs a 256-bit integer vector initialized with the specified /// 16-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3824,7 +3824,7 @@ _mm256_set_epi16(short __w15, short __w14, short __w13, short __w12, __w07, __w08, __w09, __w10, __w11, __w12, __w13, __w14, __w15 }; } -/// \brief Constructs a 256-bit integer vector initialized with the specified +/// Constructs a 256-bit integer vector initialized with the specified /// 8-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3915,7 +3915,7 @@ _mm256_set_epi8(char __b31, char __b30, char __b29, char __b28, }; } -/// \brief Constructs a 256-bit integer vector initialized with the specified +/// Constructs a 256-bit integer vector initialized with the specified /// 64-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3939,7 +3939,7 @@ _mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d) } /* Create vectors with elements in reverse order */ -/// \brief Constructs a 256-bit floating-point vector of [4 x double], +/// Constructs a 256-bit floating-point vector of [4 x double], /// initialized in reverse order with the specified double-precision /// floating-point values. /// @@ -3967,7 +3967,7 @@ _mm256_setr_pd(double __a, double __b, double __c, double __d) return (__m256d){ __a, __b, __c, __d }; } -/// \brief Constructs a 256-bit floating-point vector of [8 x float], +/// Constructs a 256-bit floating-point vector of [8 x float], /// initialized in reverse order with the specified single-precision /// float-point values. /// @@ -4008,7 +4008,7 @@ _mm256_setr_ps(float __a, float __b, float __c, float __d, return (__m256){ __a, __b, __c, __d, __e, __f, __g, __h }; } -/// \brief Constructs a 256-bit integer vector, initialized in reverse order +/// Constructs a 256-bit integer vector, initialized in reverse order /// with the specified 32-bit integral values. /// /// \headerfile <x86intrin.h> @@ -4040,7 +4040,7 @@ _mm256_setr_epi32(int __i0, int __i1, int __i2, int __i3, return (__m256i)(__v8si){ __i0, __i1, __i2, __i3, __i4, __i5, __i6, __i7 }; } -/// \brief Constructs a 256-bit integer vector, initialized in reverse order +/// Constructs a 256-bit integer vector, initialized in reverse order /// with the specified 16-bit integral values. /// /// \headerfile <x86intrin.h> @@ -4091,7 +4091,7 @@ _mm256_setr_epi16(short __w15, short __w14, short __w13, short __w12, __w08, __w07, __w06, __w05, __w04, __w03, __w02, __w01, __w00 }; } -/// \brief Constructs a 256-bit integer vector, initialized in reverse order +/// Constructs a 256-bit integer vector, initialized in reverse order /// with the specified 8-bit integral values. /// /// \headerfile <x86intrin.h> @@ -4181,7 +4181,7 @@ _mm256_setr_epi8(char __b31, char __b30, char __b29, char __b28, __b07, __b06, __b05, __b04, __b03, __b02, __b01, __b00 }; } -/// \brief Constructs a 256-bit integer vector, initialized in reverse order +/// Constructs a 256-bit integer vector, initialized in reverse order /// with the specified 64-bit integral values. /// /// \headerfile <x86intrin.h> @@ -4205,7 +4205,7 @@ _mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d) } /* Create vectors with repeated elements */ -/// \brief Constructs a 256-bit floating-point vector of [4 x double], with each +/// Constructs a 256-bit floating-point vector of [4 x double], with each /// of the four double-precision floating-point vector elements set to the /// specified double-precision floating-point value. /// @@ -4223,7 +4223,7 @@ _mm256_set1_pd(double __w) return (__m256d){ __w, __w, __w, __w }; } -/// \brief Constructs a 256-bit floating-point vector of [8 x float], with each +/// Constructs a 256-bit floating-point vector of [8 x float], with each /// of the eight single-precision floating-point vector elements set to the /// specified single-precision floating-point value. /// @@ -4242,7 +4242,7 @@ _mm256_set1_ps(float __w) return (__m256){ __w, __w, __w, __w, __w, __w, __w, __w }; } -/// \brief Constructs a 256-bit integer vector of [8 x i32], with each of the +/// Constructs a 256-bit integer vector of [8 x i32], with each of the /// 32-bit integral vector elements set to the specified 32-bit integral /// value. /// @@ -4261,7 +4261,7 @@ _mm256_set1_epi32(int __i) return (__m256i)(__v8si){ __i, __i, __i, __i, __i, __i, __i, __i }; } -/// \brief Constructs a 256-bit integer vector of [16 x i16], with each of the +/// Constructs a 256-bit integer vector of [16 x i16], with each of the /// 16-bit integral vector elements set to the specified 16-bit integral /// value. /// @@ -4280,7 +4280,7 @@ _mm256_set1_epi16(short __w) __w, __w, __w, __w, __w, __w }; } -/// \brief Constructs a 256-bit integer vector of [32 x i8], with each of the +/// Constructs a 256-bit integer vector of [32 x i8], with each of the /// 8-bit integral vector elements set to the specified 8-bit integral value. /// /// \headerfile <x86intrin.h> @@ -4299,7 +4299,7 @@ _mm256_set1_epi8(char __b) __b, __b, __b, __b, __b, __b, __b }; } -/// \brief Constructs a 256-bit integer vector of [4 x i64], with each of the +/// Constructs a 256-bit integer vector of [4 x i64], with each of the /// 64-bit integral vector elements set to the specified 64-bit integral /// value. /// @@ -4318,7 +4318,7 @@ _mm256_set1_epi64x(long long __q) } /* Create __zeroed vectors */ -/// \brief Constructs a 256-bit floating-point vector of [4 x double] with all +/// Constructs a 256-bit floating-point vector of [4 x double] with all /// vector elements initialized to zero. /// /// \headerfile <x86intrin.h> @@ -4332,7 +4332,7 @@ _mm256_setzero_pd(void) return (__m256d){ 0, 0, 0, 0 }; } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] with all +/// Constructs a 256-bit floating-point vector of [8 x float] with all /// vector elements initialized to zero. /// /// \headerfile <x86intrin.h> @@ -4346,7 +4346,7 @@ _mm256_setzero_ps(void) return (__m256){ 0, 0, 0, 0, 0, 0, 0, 0 }; } -/// \brief Constructs a 256-bit integer vector initialized to zero. +/// Constructs a 256-bit integer vector initialized to zero. /// /// \headerfile <x86intrin.h> /// @@ -4360,7 +4360,7 @@ _mm256_setzero_si256(void) } /* Cast between vector types */ -/// \brief Casts a 256-bit floating-point vector of [4 x double] into a 256-bit +/// Casts a 256-bit floating-point vector of [4 x double] into a 256-bit /// floating-point vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -4377,7 +4377,7 @@ _mm256_castpd_ps(__m256d __a) return (__m256)__a; } -/// \brief Casts a 256-bit floating-point vector of [4 x double] into a 256-bit +/// Casts a 256-bit floating-point vector of [4 x double] into a 256-bit /// integer vector. /// /// \headerfile <x86intrin.h> @@ -4394,7 +4394,7 @@ _mm256_castpd_si256(__m256d __a) return (__m256i)__a; } -/// \brief Casts a 256-bit floating-point vector of [8 x float] into a 256-bit +/// Casts a 256-bit floating-point vector of [8 x float] into a 256-bit /// floating-point vector of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -4411,7 +4411,7 @@ _mm256_castps_pd(__m256 __a) return (__m256d)__a; } -/// \brief Casts a 256-bit floating-point vector of [8 x float] into a 256-bit +/// Casts a 256-bit floating-point vector of [8 x float] into a 256-bit /// integer vector. /// /// \headerfile <x86intrin.h> @@ -4428,7 +4428,7 @@ _mm256_castps_si256(__m256 __a) return (__m256i)__a; } -/// \brief Casts a 256-bit integer vector into a 256-bit floating-point vector +/// Casts a 256-bit integer vector into a 256-bit floating-point vector /// of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -4445,7 +4445,7 @@ _mm256_castsi256_ps(__m256i __a) return (__m256)__a; } -/// \brief Casts a 256-bit integer vector into a 256-bit floating-point vector +/// Casts a 256-bit integer vector into a 256-bit floating-point vector /// of [4 x double]. /// /// \headerfile <x86intrin.h> @@ -4462,7 +4462,7 @@ _mm256_castsi256_pd(__m256i __a) return (__m256d)__a; } -/// \brief Returns the lower 128 bits of a 256-bit floating-point vector of +/// Returns the lower 128 bits of a 256-bit floating-point vector of /// [4 x double] as a 128-bit floating-point vector of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -4479,7 +4479,7 @@ _mm256_castpd256_pd128(__m256d __a) return __builtin_shufflevector((__v4df)__a, (__v4df)__a, 0, 1); } -/// \brief Returns the lower 128 bits of a 256-bit floating-point vector of +/// Returns the lower 128 bits of a 256-bit floating-point vector of /// [8 x float] as a 128-bit floating-point vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -4496,7 +4496,7 @@ _mm256_castps256_ps128(__m256 __a) return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 0, 1, 2, 3); } -/// \brief Truncates a 256-bit integer vector into a 128-bit integer vector. +/// Truncates a 256-bit integer vector into a 128-bit integer vector. /// /// \headerfile <x86intrin.h> /// @@ -4512,7 +4512,7 @@ _mm256_castsi256_si128(__m256i __a) return __builtin_shufflevector((__v4di)__a, (__v4di)__a, 0, 1); } -/// \brief Constructs a 256-bit floating-point vector of [4 x double] from a +/// Constructs a 256-bit floating-point vector of [4 x double] from a /// 128-bit floating-point vector of [2 x double]. /// /// The lower 128 bits contain the value of the source vector. The contents @@ -4533,7 +4533,7 @@ _mm256_castpd128_pd256(__m128d __a) return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 1, -1, -1); } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] from a +/// Constructs a 256-bit floating-point vector of [8 x float] from a /// 128-bit floating-point vector of [4 x float]. /// /// The lower 128 bits contain the value of the source vector. The contents @@ -4554,7 +4554,7 @@ _mm256_castps128_ps256(__m128 __a) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 1, 2, 3, -1, -1, -1, -1); } -/// \brief Constructs a 256-bit integer vector from a 128-bit integer vector. +/// Constructs a 256-bit integer vector from a 128-bit integer vector. /// /// The lower 128 bits contain the value of the source vector. The contents /// of the upper 128 bits are undefined. @@ -4573,7 +4573,7 @@ _mm256_castsi128_si256(__m128i __a) return __builtin_shufflevector((__v2di)__a, (__v2di)__a, 0, 1, -1, -1); } -/// \brief Constructs a 256-bit floating-point vector of [4 x double] from a +/// Constructs a 256-bit floating-point vector of [4 x double] from a /// 128-bit floating-point vector of [2 x double]. The lower 128 bits /// contain the value of the source vector. The upper 128 bits are set /// to zero. @@ -4592,7 +4592,7 @@ _mm256_zextpd128_pd256(__m128d __a) return __builtin_shufflevector((__v2df)__a, (__v2df)_mm_setzero_pd(), 0, 1, 2, 3); } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] from a +/// Constructs a 256-bit floating-point vector of [8 x float] from a /// 128-bit floating-point vector of [4 x float]. The lower 128 bits contain /// the value of the source vector. The upper 128 bits are set to zero. /// @@ -4610,7 +4610,7 @@ _mm256_zextps128_ps256(__m128 __a) return __builtin_shufflevector((__v4sf)__a, (__v4sf)_mm_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7); } -/// \brief Constructs a 256-bit integer vector from a 128-bit integer vector. +/// Constructs a 256-bit integer vector from a 128-bit integer vector. /// The lower 128 bits contain the value of the source vector. The upper /// 128 bits are set to zero. /// @@ -4633,7 +4633,7 @@ _mm256_zextsi128_si256(__m128i __a) We use macros rather than inlines because we only want to accept invocations where the immediate M is a constant expression. */ -/// \brief Constructs a new 256-bit vector of [8 x float] by first duplicating +/// Constructs a new 256-bit vector of [8 x float] by first duplicating /// a 256-bit vector of [8 x float] given in the first parameter, and then /// replacing either the upper or the lower 128 bits with the contents of a /// 128-bit vector of [4 x float] in the second parameter. @@ -4680,7 +4680,7 @@ _mm256_zextsi128_si256(__m128i __a) (((M) & 1) ? 10 : 6), \ (((M) & 1) ? 11 : 7) );}) -/// \brief Constructs a new 256-bit vector of [4 x double] by first duplicating +/// Constructs a new 256-bit vector of [4 x double] by first duplicating /// a 256-bit vector of [4 x double] given in the first parameter, and then /// replacing either the upper or the lower 128 bits with the contents of a /// 128-bit vector of [2 x double] in the second parameter. @@ -4723,7 +4723,7 @@ _mm256_zextsi128_si256(__m128i __a) (((M) & 1) ? 4 : 2), \ (((M) & 1) ? 5 : 3) );}) -/// \brief Constructs a new 256-bit integer vector by first duplicating a +/// Constructs a new 256-bit integer vector by first duplicating a /// 256-bit integer vector given in the first parameter, and then replacing /// either the upper or the lower 128 bits with the contents of a 128-bit /// integer vector in the second parameter. @@ -4771,7 +4771,7 @@ _mm256_zextsi128_si256(__m128i __a) We use macros rather than inlines because we only want to accept invocations where the immediate M is a constant expression. */ -/// \brief Extracts either the upper or the lower 128 bits from a 256-bit vector +/// Extracts either the upper or the lower 128 bits from a 256-bit vector /// of [8 x float], as determined by the immediate integer parameter, and /// returns the extracted bits as a 128-bit vector of [4 x float]. /// @@ -4801,7 +4801,7 @@ _mm256_zextsi128_si256(__m128i __a) (((M) & 1) ? 6 : 2), \ (((M) & 1) ? 7 : 3) );}) -/// \brief Extracts either the upper or the lower 128 bits from a 256-bit vector +/// Extracts either the upper or the lower 128 bits from a 256-bit vector /// of [4 x double], as determined by the immediate integer parameter, and /// returns the extracted bits as a 128-bit vector of [2 x double]. /// @@ -4829,7 +4829,7 @@ _mm256_zextsi128_si256(__m128i __a) (((M) & 1) ? 2 : 0), \ (((M) & 1) ? 3 : 1) );}) -/// \brief Extracts either the upper or the lower 128 bits from a 256-bit +/// Extracts either the upper or the lower 128 bits from a 256-bit /// integer vector, as determined by the immediate integer parameter, and /// returns the extracted bits as a 128-bit integer vector. /// @@ -4858,7 +4858,7 @@ _mm256_zextsi128_si256(__m128i __a) (((M) & 1) ? 3 : 1) );}) /* SIMD load ops (unaligned) */ -/// \brief Loads two 128-bit floating-point vectors of [4 x float] from +/// Loads two 128-bit floating-point vectors of [4 x float] from /// unaligned memory locations and constructs a 256-bit floating-point vector /// of [8 x float] by concatenating the two 128-bit vectors. /// @@ -4886,7 +4886,7 @@ _mm256_loadu2_m128(float const *__addr_hi, float const *__addr_lo) return _mm256_insertf128_ps(__v256, _mm_loadu_ps(__addr_hi), 1); } -/// \brief Loads two 128-bit floating-point vectors of [2 x double] from +/// Loads two 128-bit floating-point vectors of [2 x double] from /// unaligned memory locations and constructs a 256-bit floating-point vector /// of [4 x double] by concatenating the two 128-bit vectors. /// @@ -4914,7 +4914,7 @@ _mm256_loadu2_m128d(double const *__addr_hi, double const *__addr_lo) return _mm256_insertf128_pd(__v256, _mm_loadu_pd(__addr_hi), 1); } -/// \brief Loads two 128-bit integer vectors from unaligned memory locations and +/// Loads two 128-bit integer vectors from unaligned memory locations and /// constructs a 256-bit integer vector by concatenating the two 128-bit /// vectors. /// @@ -4940,7 +4940,7 @@ _mm256_loadu2_m128i(__m128i const *__addr_hi, __m128i const *__addr_lo) } /* SIMD store ops (unaligned) */ -/// \brief Stores the upper and lower 128 bits of a 256-bit floating-point +/// Stores the upper and lower 128 bits of a 256-bit floating-point /// vector of [8 x float] into two different unaligned memory locations. /// /// \headerfile <x86intrin.h> @@ -4969,7 +4969,7 @@ _mm256_storeu2_m128(float *__addr_hi, float *__addr_lo, __m256 __a) _mm_storeu_ps(__addr_hi, __v128); } -/// \brief Stores the upper and lower 128 bits of a 256-bit floating-point +/// Stores the upper and lower 128 bits of a 256-bit floating-point /// vector of [4 x double] into two different unaligned memory locations. /// /// \headerfile <x86intrin.h> @@ -4998,7 +4998,7 @@ _mm256_storeu2_m128d(double *__addr_hi, double *__addr_lo, __m256d __a) _mm_storeu_pd(__addr_hi, __v128); } -/// \brief Stores the upper and lower 128 bits of a 256-bit integer vector into +/// Stores the upper and lower 128 bits of a 256-bit integer vector into /// two different unaligned memory locations. /// /// \headerfile <x86intrin.h> @@ -5027,7 +5027,7 @@ _mm256_storeu2_m128i(__m128i *__addr_hi, __m128i *__addr_lo, __m256i __a) _mm_storeu_si128(__addr_hi, __v128); } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] by +/// Constructs a 256-bit floating-point vector of [8 x float] by /// concatenating two 128-bit floating-point vectors of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -5048,7 +5048,7 @@ _mm256_set_m128 (__m128 __hi, __m128 __lo) return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7); } -/// \brief Constructs a 256-bit floating-point vector of [4 x double] by +/// Constructs a 256-bit floating-point vector of [4 x double] by /// concatenating two 128-bit floating-point vectors of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -5069,7 +5069,7 @@ _mm256_set_m128d (__m128d __hi, __m128d __lo) return (__m256d)_mm256_set_m128((__m128)__hi, (__m128)__lo); } -/// \brief Constructs a 256-bit integer vector by concatenating two 128-bit +/// Constructs a 256-bit integer vector by concatenating two 128-bit /// integer vectors. /// /// \headerfile <x86intrin.h> @@ -5089,7 +5089,7 @@ _mm256_set_m128i (__m128i __hi, __m128i __lo) return (__m256i)_mm256_set_m128((__m128)__hi, (__m128)__lo); } -/// \brief Constructs a 256-bit floating-point vector of [8 x float] by +/// Constructs a 256-bit floating-point vector of [8 x float] by /// concatenating two 128-bit floating-point vectors of [4 x float]. This is /// similar to _mm256_set_m128, but the order of the input parameters is /// swapped. @@ -5112,7 +5112,7 @@ _mm256_setr_m128 (__m128 __lo, __m128 __hi) return _mm256_set_m128(__hi, __lo); } -/// \brief Constructs a 256-bit floating-point vector of [4 x double] by +/// Constructs a 256-bit floating-point vector of [4 x double] by /// concatenating two 128-bit floating-point vectors of [2 x double]. This is /// similar to _mm256_set_m128d, but the order of the input parameters is /// swapped. @@ -5135,7 +5135,7 @@ _mm256_setr_m128d (__m128d __lo, __m128d __hi) return (__m256d)_mm256_set_m128((__m128)__hi, (__m128)__lo); } -/// \brief Constructs a 256-bit integer vector by concatenating two 128-bit +/// Constructs a 256-bit integer vector by concatenating two 128-bit /// integer vectors. This is similar to _mm256_set_m128i, but the order of /// the input parameters is swapped. /// diff --git a/lib/Headers/bmiintrin.h b/lib/Headers/bmiintrin.h index e812a1632b..e995c80ab5 100644 --- a/lib/Headers/bmiintrin.h +++ b/lib/Headers/bmiintrin.h @@ -49,7 +49,7 @@ to use it as a potentially faster version of BSF. */ #define __RELAXED_FN_ATTRS __attribute__((__always_inline__, __nodebug__)) -/// \brief Counts the number of trailing zero bits in the operand. +/// Counts the number of trailing zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -65,7 +65,7 @@ __tzcnt_u16(unsigned short __X) return __X ? __builtin_ctzs(__X) : 16; } -/// \brief Performs a bitwise AND of the second operand with the one's +/// Performs a bitwise AND of the second operand with the one's /// complement of the first operand. /// /// \headerfile <x86intrin.h> @@ -85,7 +85,7 @@ __andn_u32(unsigned int __X, unsigned int __Y) } /* AMD-specified, double-leading-underscore version of BEXTR */ -/// \brief Extracts the specified bits from the first operand and returns them +/// Extracts the specified bits from the first operand and returns them /// in the least significant bits of the result. /// /// \headerfile <x86intrin.h> @@ -107,7 +107,7 @@ __bextr_u32(unsigned int __X, unsigned int __Y) } /* Intel-specified, single-leading-underscore version of BEXTR */ -/// \brief Extracts the specified bits from the first operand and returns them +/// Extracts the specified bits from the first operand and returns them /// in the least significant bits of the result. /// /// \headerfile <x86intrin.h> @@ -130,7 +130,7 @@ _bextr_u32(unsigned int __X, unsigned int __Y, unsigned int __Z) return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8))); } -/// \brief Clears all bits in the source except for the least significant bit +/// Clears all bits in the source except for the least significant bit /// containing a value of 1 and returns the result. /// /// \headerfile <x86intrin.h> @@ -147,7 +147,7 @@ __blsi_u32(unsigned int __X) return __X & -__X; } -/// \brief Creates a mask whose bits are set to 1, using bit 0 up to and +/// Creates a mask whose bits are set to 1, using bit 0 up to and /// including the least significant bit that is set to 1 in the source /// operand and returns the result. /// @@ -164,7 +164,7 @@ __blsmsk_u32(unsigned int __X) return __X ^ (__X - 1); } -/// \brief Clears the least significant bit that is set to 1 in the source +/// Clears the least significant bit that is set to 1 in the source /// operand and returns the result. /// /// \headerfile <x86intrin.h> @@ -181,7 +181,7 @@ __blsr_u32(unsigned int __X) return __X & (__X - 1); } -/// \brief Counts the number of trailing zero bits in the operand. +/// Counts the number of trailing zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -197,7 +197,7 @@ __tzcnt_u32(unsigned int __X) return __X ? __builtin_ctz(__X) : 32; } -/// \brief Counts the number of trailing zero bits in the operand. +/// Counts the number of trailing zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -226,7 +226,7 @@ _mm_tzcnt_32(unsigned int __X) #define _tzcnt_u64(a) (__tzcnt_u64((a))) -/// \brief Performs a bitwise AND of the second operand with the one's +/// Performs a bitwise AND of the second operand with the one's /// complement of the first operand. /// /// \headerfile <x86intrin.h> @@ -246,7 +246,7 @@ __andn_u64 (unsigned long long __X, unsigned long long __Y) } /* AMD-specified, double-leading-underscore version of BEXTR */ -/// \brief Extracts the specified bits from the first operand and returns them +/// Extracts the specified bits from the first operand and returns them /// in the least significant bits of the result. /// /// \headerfile <x86intrin.h> @@ -268,7 +268,7 @@ __bextr_u64(unsigned long long __X, unsigned long long __Y) } /* Intel-specified, single-leading-underscore version of BEXTR */ -/// \brief Extracts the specified bits from the first operand and returns them +/// Extracts the specified bits from the first operand and returns them /// in the least significant bits of the result. /// /// \headerfile <x86intrin.h> @@ -291,7 +291,7 @@ _bextr_u64(unsigned long long __X, unsigned int __Y, unsigned int __Z) return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8))); } -/// \brief Clears all bits in the source except for the least significant bit +/// Clears all bits in the source except for the least significant bit /// containing a value of 1 and returns the result. /// /// \headerfile <x86intrin.h> @@ -308,7 +308,7 @@ __blsi_u64(unsigned long long __X) return __X & -__X; } -/// \brief Creates a mask whose bits are set to 1, using bit 0 up to and +/// Creates a mask whose bits are set to 1, using bit 0 up to and /// including the least significant bit that is set to 1 in the source /// operand and returns the result. /// @@ -325,7 +325,7 @@ __blsmsk_u64(unsigned long long __X) return __X ^ (__X - 1); } -/// \brief Clears the least significant bit that is set to 1 in the source +/// Clears the least significant bit that is set to 1 in the source /// operand and returns the result. /// /// \headerfile <x86intrin.h> @@ -342,7 +342,7 @@ __blsr_u64(unsigned long long __X) return __X & (__X - 1); } -/// \brief Counts the number of trailing zero bits in the operand. +/// Counts the number of trailing zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -358,7 +358,7 @@ __tzcnt_u64(unsigned long long __X) return __X ? __builtin_ctzll(__X) : 64; } -/// \brief Counts the number of trailing zero bits in the operand. +/// Counts the number of trailing zero bits in the operand. /// /// \headerfile <x86intrin.h> /// diff --git a/lib/Headers/clwbintrin.h b/lib/Headers/clwbintrin.h index 2594a6c387..c09286ba67 100644 --- a/lib/Headers/clwbintrin.h +++ b/lib/Headers/clwbintrin.h @@ -31,7 +31,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("clwb"))) -/// \brief Writes back to memory the cache line (if modified) that contains the +/// Writes back to memory the cache line (if modified) that contains the /// linear address specified in \a __p from any level of the cache hierarchy in /// the cache coherence domain /// diff --git a/lib/Headers/clzerointrin.h b/lib/Headers/clzerointrin.h index 74a7bf5ed0..9fb1610090 100644 --- a/lib/Headers/clzerointrin.h +++ b/lib/Headers/clzerointrin.h @@ -31,7 +31,7 @@ #define __DEFAULT_FN_ATTRS \ __attribute__((__always_inline__, __nodebug__, __target__("clzero"))) -/// \brief Loads the cache line address and zero's out the cacheline +/// Loads the cache line address and zero's out the cacheline /// /// \headerfile <clzerointrin.h> /// diff --git a/lib/Headers/emmintrin.h b/lib/Headers/emmintrin.h index 9302321612..8972e8c778 100644 --- a/lib/Headers/emmintrin.h +++ b/lib/Headers/emmintrin.h @@ -49,7 +49,7 @@ typedef signed char __v16qs __attribute__((__vector_size__(16))); /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse2"))) -/// \brief Adds lower double-precision values in both operands and returns the +/// Adds lower double-precision values in both operands and returns the /// sum in the lower 64 bits of the result. The upper 64 bits of the result /// are copied from the upper double-precision value of the first operand. /// @@ -71,7 +71,7 @@ _mm_add_sd(__m128d __a, __m128d __b) return __a; } -/// \brief Adds two 128-bit vectors of [2 x double]. +/// Adds two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -89,7 +89,7 @@ _mm_add_pd(__m128d __a, __m128d __b) return (__m128d)((__v2df)__a + (__v2df)__b); } -/// \brief Subtracts the lower double-precision value of the second operand +/// Subtracts the lower double-precision value of the second operand /// from the lower double-precision value of the first operand and returns /// the difference in the lower 64 bits of the result. The upper 64 bits of /// the result are copied from the upper double-precision value of the first @@ -113,7 +113,7 @@ _mm_sub_sd(__m128d __a, __m128d __b) return __a; } -/// \brief Subtracts two 128-bit vectors of [2 x double]. +/// Subtracts two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -131,7 +131,7 @@ _mm_sub_pd(__m128d __a, __m128d __b) return (__m128d)((__v2df)__a - (__v2df)__b); } -/// \brief Multiplies lower double-precision values in both operands and returns +/// Multiplies lower double-precision values in both operands and returns /// the product in the lower 64 bits of the result. The upper 64 bits of the /// result are copied from the upper double-precision value of the first /// operand. @@ -154,7 +154,7 @@ _mm_mul_sd(__m128d __a, __m128d __b) return __a; } -/// \brief Multiplies two 128-bit vectors of [2 x double]. +/// Multiplies two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -172,7 +172,7 @@ _mm_mul_pd(__m128d __a, __m128d __b) return (__m128d)((__v2df)__a * (__v2df)__b); } -/// \brief Divides the lower double-precision value of the first operand by the +/// Divides the lower double-precision value of the first operand by the /// lower double-precision value of the second operand and returns the /// quotient in the lower 64 bits of the result. The upper 64 bits of the /// result are copied from the upper double-precision value of the first @@ -196,7 +196,7 @@ _mm_div_sd(__m128d __a, __m128d __b) return __a; } -/// \brief Performs an element-by-element division of two 128-bit vectors of +/// Performs an element-by-element division of two 128-bit vectors of /// [2 x double]. /// /// \headerfile <x86intrin.h> @@ -215,7 +215,7 @@ _mm_div_pd(__m128d __a, __m128d __b) return (__m128d)((__v2df)__a / (__v2df)__b); } -/// \brief Calculates the square root of the lower double-precision value of +/// Calculates the square root of the lower double-precision value of /// the second operand and returns it in the lower 64 bits of the result. /// The upper 64 bits of the result are copied from the upper /// double-precision value of the first operand. @@ -241,7 +241,7 @@ _mm_sqrt_sd(__m128d __a, __m128d __b) return (__m128d) { __c[0], __a[1] }; } -/// \brief Calculates the square root of the each of two values stored in a +/// Calculates the square root of the each of two values stored in a /// 128-bit vector of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -258,7 +258,7 @@ _mm_sqrt_pd(__m128d __a) return __builtin_ia32_sqrtpd((__v2df)__a); } -/// \brief Compares lower 64-bit double-precision values of both operands, and +/// Compares lower 64-bit double-precision values of both operands, and /// returns the lesser of the pair of values in the lower 64-bits of the /// result. The upper 64 bits of the result are copied from the upper /// double-precision value of the first operand. @@ -282,7 +282,7 @@ _mm_min_sd(__m128d __a, __m128d __b) return __builtin_ia32_minsd((__v2df)__a, (__v2df)__b); } -/// \brief Performs element-by-element comparison of the two 128-bit vectors of +/// Performs element-by-element comparison of the two 128-bit vectors of /// [2 x double] and returns the vector containing the lesser of each pair of /// values. /// @@ -302,7 +302,7 @@ _mm_min_pd(__m128d __a, __m128d __b) return __builtin_ia32_minpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares lower 64-bit double-precision values of both operands, and +/// Compares lower 64-bit double-precision values of both operands, and /// returns the greater of the pair of values in the lower 64-bits of the /// result. The upper 64 bits of the result are copied from the upper /// double-precision value of the first operand. @@ -326,7 +326,7 @@ _mm_max_sd(__m128d __a, __m128d __b) return __builtin_ia32_maxsd((__v2df)__a, (__v2df)__b); } -/// \brief Performs element-by-element comparison of the two 128-bit vectors of +/// Performs element-by-element comparison of the two 128-bit vectors of /// [2 x double] and returns the vector containing the greater of each pair /// of values. /// @@ -346,7 +346,7 @@ _mm_max_pd(__m128d __a, __m128d __b) return __builtin_ia32_maxpd((__v2df)__a, (__v2df)__b); } -/// \brief Performs a bitwise AND of two 128-bit vectors of [2 x double]. +/// Performs a bitwise AND of two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -364,7 +364,7 @@ _mm_and_pd(__m128d __a, __m128d __b) return (__m128d)((__v2du)__a & (__v2du)__b); } -/// \brief Performs a bitwise AND of two 128-bit vectors of [2 x double], using +/// Performs a bitwise AND of two 128-bit vectors of [2 x double], using /// the one's complement of the values contained in the first source operand. /// /// \headerfile <x86intrin.h> @@ -385,7 +385,7 @@ _mm_andnot_pd(__m128d __a, __m128d __b) return (__m128d)(~(__v2du)__a & (__v2du)__b); } -/// \brief Performs a bitwise OR of two 128-bit vectors of [2 x double]. +/// Performs a bitwise OR of two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -403,7 +403,7 @@ _mm_or_pd(__m128d __a, __m128d __b) return (__m128d)((__v2du)__a | (__v2du)__b); } -/// \brief Performs a bitwise XOR of two 128-bit vectors of [2 x double]. +/// Performs a bitwise XOR of two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> /// @@ -421,7 +421,7 @@ _mm_xor_pd(__m128d __a, __m128d __b) return (__m128d)((__v2du)__a ^ (__v2du)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] for equality. Each comparison yields 0x0 /// for false, 0xFFFFFFFFFFFFFFFF for true. /// @@ -440,7 +440,7 @@ _mm_cmpeq_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpeqpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are less than those in the second operand. Each comparison /// yields 0x0 for false, 0xFFFFFFFFFFFFFFFF for true. @@ -460,7 +460,7 @@ _mm_cmplt_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpltpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are less than or equal to those in the second operand. /// @@ -481,7 +481,7 @@ _mm_cmple_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmplepd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are greater than those in the second operand. /// @@ -502,7 +502,7 @@ _mm_cmpgt_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpltpd((__v2df)__b, (__v2df)__a); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are greater than or equal to those in the second operand. /// @@ -523,7 +523,7 @@ _mm_cmpge_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmplepd((__v2df)__b, (__v2df)__a); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are ordered with respect to those in the second operand. /// @@ -546,7 +546,7 @@ _mm_cmpord_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpordpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are unordered with respect to those in the second operand. /// @@ -570,7 +570,7 @@ _mm_cmpunord_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpunordpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are unequal to those in the second operand. /// @@ -591,7 +591,7 @@ _mm_cmpneq_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpneqpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are not less than those in the second operand. /// @@ -612,7 +612,7 @@ _mm_cmpnlt_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnltpd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are not less than or equal to those in the second operand. /// @@ -633,7 +633,7 @@ _mm_cmpnle_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnlepd((__v2df)__a, (__v2df)__b); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are not greater than those in the second operand. /// @@ -654,7 +654,7 @@ _mm_cmpngt_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnltpd((__v2df)__b, (__v2df)__a); } -/// \brief Compares each of the corresponding double-precision values of the +/// Compares each of the corresponding double-precision values of the /// 128-bit vectors of [2 x double] to determine if the values in the first /// operand are not greater than or equal to those in the second operand. /// @@ -675,7 +675,7 @@ _mm_cmpnge_pd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnlepd((__v2df)__b, (__v2df)__a); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] for equality. /// /// The comparison yields 0x0 for false, 0xFFFFFFFFFFFFFFFF for true. @@ -698,7 +698,7 @@ _mm_cmpeq_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpeqsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than the corresponding value in /// the second parameter. @@ -723,7 +723,7 @@ _mm_cmplt_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpltsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than or equal to the /// corresponding value in the second parameter. @@ -748,7 +748,7 @@ _mm_cmple_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmplesd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than the corresponding value /// in the second parameter. @@ -774,7 +774,7 @@ _mm_cmpgt_sd(__m128d __a, __m128d __b) return (__m128d) { __c[0], __a[1] }; } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than or equal to the /// corresponding value in the second parameter. @@ -800,7 +800,7 @@ _mm_cmpge_sd(__m128d __a, __m128d __b) return (__m128d) { __c[0], __a[1] }; } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is "ordered" with respect to the /// corresponding value in the second parameter. @@ -827,7 +827,7 @@ _mm_cmpord_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpordsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is "unordered" with respect to the /// corresponding value in the second parameter. @@ -855,7 +855,7 @@ _mm_cmpunord_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpunordsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is unequal to the corresponding value in /// the second parameter. @@ -880,7 +880,7 @@ _mm_cmpneq_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpneqsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is not less than the corresponding /// value in the second parameter. @@ -905,7 +905,7 @@ _mm_cmpnlt_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnltsd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is not less than or equal to the /// corresponding value in the second parameter. @@ -930,7 +930,7 @@ _mm_cmpnle_sd(__m128d __a, __m128d __b) return (__m128d)__builtin_ia32_cmpnlesd((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is not greater than the corresponding /// value in the second parameter. @@ -956,7 +956,7 @@ _mm_cmpngt_sd(__m128d __a, __m128d __b) return (__m128d) { __c[0], __a[1] }; } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is not greater than or equal to the /// corresponding value in the second parameter. @@ -982,7 +982,7 @@ _mm_cmpnge_sd(__m128d __a, __m128d __b) return (__m128d) { __c[0], __a[1] }; } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] for equality. /// /// The comparison yields 0 for false, 1 for true. If either of the two @@ -1006,7 +1006,7 @@ _mm_comieq_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdeq((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than the corresponding value in /// the second parameter. @@ -1032,7 +1032,7 @@ _mm_comilt_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdlt((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than or equal to the /// corresponding value in the second parameter. @@ -1058,7 +1058,7 @@ _mm_comile_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdle((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than the corresponding value /// in the second parameter. @@ -1084,7 +1084,7 @@ _mm_comigt_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdgt((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than or equal to the /// corresponding value in the second parameter. @@ -1110,7 +1110,7 @@ _mm_comige_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdge((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is unequal to the corresponding value in /// the second parameter. @@ -1136,7 +1136,7 @@ _mm_comineq_sd(__m128d __a, __m128d __b) return __builtin_ia32_comisdneq((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] for equality. The /// comparison yields 0 for false, 1 for true. /// @@ -1160,7 +1160,7 @@ _mm_ucomieq_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdeq((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than the corresponding value in /// the second parameter. @@ -1186,7 +1186,7 @@ _mm_ucomilt_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdlt((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is less than or equal to the /// corresponding value in the second parameter. @@ -1212,7 +1212,7 @@ _mm_ucomile_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdle((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than the corresponding value /// in the second parameter. @@ -1238,7 +1238,7 @@ _mm_ucomigt_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdgt((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is greater than or equal to the /// corresponding value in the second parameter. @@ -1264,7 +1264,7 @@ _mm_ucomige_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdge((__v2df)__a, (__v2df)__b); } -/// \brief Compares the lower double-precision floating-point values in each of +/// Compares the lower double-precision floating-point values in each of /// the two 128-bit floating-point vectors of [2 x double] to determine if /// the value in the first parameter is unequal to the corresponding value in /// the second parameter. @@ -1290,7 +1290,7 @@ _mm_ucomineq_sd(__m128d __a, __m128d __b) return __builtin_ia32_ucomisdneq((__v2df)__a, (__v2df)__b); } -/// \brief Converts the two double-precision floating-point elements of a +/// Converts the two double-precision floating-point elements of a /// 128-bit vector of [2 x double] into two single-precision floating-point /// values, returned in the lower 64 bits of a 128-bit vector of [4 x float]. /// The upper 64 bits of the result vector are set to zero. @@ -1309,7 +1309,7 @@ _mm_cvtpd_ps(__m128d __a) return __builtin_ia32_cvtpd2ps((__v2df)__a); } -/// \brief Converts the lower two single-precision floating-point elements of a +/// Converts the lower two single-precision floating-point elements of a /// 128-bit vector of [4 x float] into two double-precision floating-point /// values, returned in a 128-bit vector of [2 x double]. The upper two /// elements of the input vector are unused. @@ -1330,7 +1330,7 @@ _mm_cvtps_pd(__m128 __a) __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 1), __v2df); } -/// \brief Converts the lower two integer elements of a 128-bit vector of +/// Converts the lower two integer elements of a 128-bit vector of /// [4 x i32] into two double-precision floating-point values, returned in a /// 128-bit vector of [2 x double]. /// @@ -1353,7 +1353,7 @@ _mm_cvtepi32_pd(__m128i __a) __builtin_shufflevector((__v4si)__a, (__v4si)__a, 0, 1), __v2df); } -/// \brief Converts the two double-precision floating-point elements of a +/// Converts the two double-precision floating-point elements of a /// 128-bit vector of [2 x double] into two signed 32-bit integer values, /// returned in the lower 64 bits of a 128-bit vector of [4 x i32]. The upper /// 64 bits of the result vector are set to zero. @@ -1372,7 +1372,7 @@ _mm_cvtpd_epi32(__m128d __a) return __builtin_ia32_cvtpd2dq((__v2df)__a); } -/// \brief Converts the low-order element of a 128-bit vector of [2 x double] +/// Converts the low-order element of a 128-bit vector of [2 x double] /// into a 32-bit signed integer value. /// /// \headerfile <x86intrin.h> @@ -1389,7 +1389,7 @@ _mm_cvtsd_si32(__m128d __a) return __builtin_ia32_cvtsd2si((__v2df)__a); } -/// \brief Converts the lower double-precision floating-point element of a +/// Converts the lower double-precision floating-point element of a /// 128-bit vector of [2 x double], in the second parameter, into a /// single-precision floating-point value, returned in the lower 32 bits of a /// 128-bit vector of [4 x float]. The upper 96 bits of the result vector are @@ -1414,7 +1414,7 @@ _mm_cvtsd_ss(__m128 __a, __m128d __b) return (__m128)__builtin_ia32_cvtsd2ss((__v4sf)__a, (__v2df)__b); } -/// \brief Converts a 32-bit signed integer value, in the second parameter, into +/// Converts a 32-bit signed integer value, in the second parameter, into /// a double-precision floating-point value, returned in the lower 64 bits of /// a 128-bit vector of [2 x double]. The upper 64 bits of the result vector /// are copied from the upper 64 bits of the first parameter. @@ -1438,7 +1438,7 @@ _mm_cvtsi32_sd(__m128d __a, int __b) return __a; } -/// \brief Converts the lower single-precision floating-point element of a +/// Converts the lower single-precision floating-point element of a /// 128-bit vector of [4 x float], in the second parameter, into a /// double-precision floating-point value, returned in the lower 64 bits of /// a 128-bit vector of [2 x double]. The upper 64 bits of the result vector @@ -1464,7 +1464,7 @@ _mm_cvtss_sd(__m128d __a, __m128 __b) return __a; } -/// \brief Converts the two double-precision floating-point elements of a +/// Converts the two double-precision floating-point elements of a /// 128-bit vector of [2 x double] into two signed 32-bit integer values, /// returned in the lower 64 bits of a 128-bit vector of [4 x i32]. /// @@ -1487,7 +1487,7 @@ _mm_cvttpd_epi32(__m128d __a) return (__m128i)__builtin_ia32_cvttpd2dq((__v2df)__a); } -/// \brief Converts the low-order element of a [2 x double] vector into a 32-bit +/// Converts the low-order element of a [2 x double] vector into a 32-bit /// signed integer value, truncating the result when it is inexact. /// /// \headerfile <x86intrin.h> @@ -1505,7 +1505,7 @@ _mm_cvttsd_si32(__m128d __a) return __builtin_ia32_cvttsd2si((__v2df)__a); } -/// \brief Converts the two double-precision floating-point elements of a +/// Converts the two double-precision floating-point elements of a /// 128-bit vector of [2 x double] into two signed 32-bit integer values, /// returned in a 64-bit vector of [2 x i32]. /// @@ -1522,7 +1522,7 @@ _mm_cvtpd_pi32(__m128d __a) return (__m64)__builtin_ia32_cvtpd2pi((__v2df)__a); } -/// \brief Converts the two double-precision floating-point elements of a +/// Converts the two double-precision floating-point elements of a /// 128-bit vector of [2 x double] into two signed 32-bit integer values, /// returned in a 64-bit vector of [2 x i32]. /// @@ -1542,7 +1542,7 @@ _mm_cvttpd_pi32(__m128d __a) return (__m64)__builtin_ia32_cvttpd2pi((__v2df)__a); } -/// \brief Converts the two signed 32-bit integer elements of a 64-bit vector of +/// Converts the two signed 32-bit integer elements of a 64-bit vector of /// [2 x i32] into two double-precision floating-point values, returned in a /// 128-bit vector of [2 x double]. /// @@ -1559,7 +1559,7 @@ _mm_cvtpi32_pd(__m64 __a) return __builtin_ia32_cvtpi2pd((__v2si)__a); } -/// \brief Returns the low-order element of a 128-bit vector of [2 x double] as +/// Returns the low-order element of a 128-bit vector of [2 x double] as /// a double-precision floating-point value. /// /// \headerfile <x86intrin.h> @@ -1576,7 +1576,7 @@ _mm_cvtsd_f64(__m128d __a) return __a[0]; } -/// \brief Loads a 128-bit floating-point vector of [2 x double] from an aligned +/// Loads a 128-bit floating-point vector of [2 x double] from an aligned /// memory location. /// /// \headerfile <x86intrin.h> @@ -1593,7 +1593,7 @@ _mm_load_pd(double const *__dp) return *(__m128d*)__dp; } -/// \brief Loads a double-precision floating-point value from a specified memory +/// Loads a double-precision floating-point value from a specified memory /// location and duplicates it to both vector elements of a 128-bit vector of /// [2 x double]. /// @@ -1617,7 +1617,7 @@ _mm_load1_pd(double const *__dp) #define _mm_load_pd1(dp) _mm_load1_pd(dp) -/// \brief Loads two double-precision values, in reverse order, from an aligned +/// Loads two double-precision values, in reverse order, from an aligned /// memory location into a 128-bit vector of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -1638,7 +1638,7 @@ _mm_loadr_pd(double const *__dp) return __builtin_shufflevector((__v2df)__u, (__v2df)__u, 1, 0); } -/// \brief Loads a 128-bit floating-point vector of [2 x double] from an +/// Loads a 128-bit floating-point vector of [2 x double] from an /// unaligned memory location. /// /// \headerfile <x86intrin.h> @@ -1658,7 +1658,7 @@ _mm_loadu_pd(double const *__dp) return ((struct __loadu_pd*)__dp)->__v; } -/// \brief Loads a 64-bit integer value to the low element of a 128-bit integer +/// Loads a 64-bit integer value to the low element of a 128-bit integer /// vector and clears the upper element. /// /// \headerfile <x86intrin.h> @@ -1679,7 +1679,7 @@ _mm_loadu_si64(void const *__a) return (__m128i){__u, 0L}; } -/// \brief Loads a 64-bit double-precision value to the low element of a +/// Loads a 64-bit double-precision value to the low element of a /// 128-bit integer vector and clears the upper element. /// /// \headerfile <x86intrin.h> @@ -1700,7 +1700,7 @@ _mm_load_sd(double const *__dp) return (__m128d){ __u, 0 }; } -/// \brief Loads a double-precision value into the high-order bits of a 128-bit +/// Loads a double-precision value into the high-order bits of a 128-bit /// vector of [2 x double]. The low-order bits are copied from the low-order /// bits of the first operand. /// @@ -1727,7 +1727,7 @@ _mm_loadh_pd(__m128d __a, double const *__dp) return (__m128d){ __a[0], __u }; } -/// \brief Loads a double-precision value into the low-order bits of a 128-bit +/// Loads a double-precision value into the low-order bits of a 128-bit /// vector of [2 x double]. The high-order bits are copied from the /// high-order bits of the first operand. /// @@ -1754,7 +1754,7 @@ _mm_loadl_pd(__m128d __a, double const *__dp) return (__m128d){ __u, __a[1] }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double] with +/// Constructs a 128-bit floating-point vector of [2 x double] with /// unspecified content. This could be used as an argument to another /// intrinsic function where the argument is required but the value is not /// actually used. @@ -1771,7 +1771,7 @@ _mm_undefined_pd(void) return (__m128d)__builtin_ia32_undef128(); } -/// \brief Constructs a 128-bit floating-point vector of [2 x double]. The lower +/// Constructs a 128-bit floating-point vector of [2 x double]. The lower /// 64 bits of the vector are initialized with the specified double-precision /// floating-point value. The upper 64 bits are set to zero. /// @@ -1791,7 +1791,7 @@ _mm_set_sd(double __w) return (__m128d){ __w, 0 }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double], with each +/// Constructs a 128-bit floating-point vector of [2 x double], with each /// of the two double-precision floating-point vector elements set to the /// specified double-precision floating-point value. /// @@ -1809,7 +1809,7 @@ _mm_set1_pd(double __w) return (__m128d){ __w, __w }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double], with each +/// Constructs a 128-bit floating-point vector of [2 x double], with each /// of the two double-precision floating-point vector elements set to the /// specified double-precision floating-point value. /// @@ -1827,7 +1827,7 @@ _mm_set_pd1(double __w) return _mm_set1_pd(__w); } -/// \brief Constructs a 128-bit floating-point vector of [2 x double] +/// Constructs a 128-bit floating-point vector of [2 x double] /// initialized with the specified double-precision floating-point values. /// /// \headerfile <x86intrin.h> @@ -1847,7 +1847,7 @@ _mm_set_pd(double __w, double __x) return (__m128d){ __x, __w }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double], +/// Constructs a 128-bit floating-point vector of [2 x double], /// initialized in reverse order with the specified double-precision /// floating-point values. /// @@ -1868,7 +1868,7 @@ _mm_setr_pd(double __w, double __x) return (__m128d){ __w, __x }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double] +/// Constructs a 128-bit floating-point vector of [2 x double] /// initialized to zero. /// /// \headerfile <x86intrin.h> @@ -1883,7 +1883,7 @@ _mm_setzero_pd(void) return (__m128d){ 0, 0 }; } -/// \brief Constructs a 128-bit floating-point vector of [2 x double]. The lower +/// Constructs a 128-bit floating-point vector of [2 x double]. The lower /// 64 bits are set to the lower 64 bits of the second parameter. The upper /// 64 bits are set to the upper 64 bits of the first parameter. /// @@ -1904,7 +1904,7 @@ _mm_move_sd(__m128d __a, __m128d __b) return (__m128d){ __b[0], __a[1] }; } -/// \brief Stores the lower 64 bits of a 128-bit vector of [2 x double] to a +/// Stores the lower 64 bits of a 128-bit vector of [2 x double] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -1924,7 +1924,7 @@ _mm_store_sd(double *__dp, __m128d __a) ((struct __mm_store_sd_struct*)__dp)->__u = __a[0]; } -/// \brief Moves packed double-precision values from a 128-bit vector of +/// Moves packed double-precision values from a 128-bit vector of /// [2 x double] to a memory location. /// /// \headerfile <x86intrin.h> @@ -1943,7 +1943,7 @@ _mm_store_pd(double *__dp, __m128d __a) *(__m128d*)__dp = __a; } -/// \brief Moves the lower 64 bits of a 128-bit vector of [2 x double] twice to +/// Moves the lower 64 bits of a 128-bit vector of [2 x double] twice to /// the upper and lower 64 bits of a memory location. /// /// \headerfile <x86intrin.h> @@ -1964,7 +1964,7 @@ _mm_store1_pd(double *__dp, __m128d __a) _mm_store_pd(__dp, __a); } -/// \brief Moves the lower 64 bits of a 128-bit vector of [2 x double] twice to +/// Moves the lower 64 bits of a 128-bit vector of [2 x double] twice to /// the upper and lower 64 bits of a memory location. /// /// \headerfile <x86intrin.h> @@ -1984,7 +1984,7 @@ _mm_store_pd1(double *__dp, __m128d __a) return _mm_store1_pd(__dp, __a); } -/// \brief Stores a 128-bit vector of [2 x double] into an unaligned memory +/// Stores a 128-bit vector of [2 x double] into an unaligned memory /// location. /// /// \headerfile <x86intrin.h> @@ -2005,7 +2005,7 @@ _mm_storeu_pd(double *__dp, __m128d __a) ((struct __storeu_pd*)__dp)->__v = __a; } -/// \brief Stores two double-precision values, in reverse order, from a 128-bit +/// Stores two double-precision values, in reverse order, from a 128-bit /// vector of [2 x double] to a 16-byte aligned memory location. /// /// \headerfile <x86intrin.h> @@ -2026,7 +2026,7 @@ _mm_storer_pd(double *__dp, __m128d __a) *(__m128d *)__dp = __a; } -/// \brief Stores the upper 64 bits of a 128-bit vector of [2 x double] to a +/// Stores the upper 64 bits of a 128-bit vector of [2 x double] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -2046,7 +2046,7 @@ _mm_storeh_pd(double *__dp, __m128d __a) ((struct __mm_storeh_pd_struct*)__dp)->__u = __a[1]; } -/// \brief Stores the lower 64 bits of a 128-bit vector of [2 x double] to a +/// Stores the lower 64 bits of a 128-bit vector of [2 x double] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -2066,7 +2066,7 @@ _mm_storel_pd(double *__dp, __m128d __a) ((struct __mm_storeh_pd_struct*)__dp)->__u = __a[0]; } -/// \brief Adds the corresponding elements of two 128-bit vectors of [16 x i8], +/// Adds the corresponding elements of two 128-bit vectors of [16 x i8], /// saving the lower 8 bits of each sum in the corresponding element of a /// 128-bit result vector of [16 x i8]. /// @@ -2088,7 +2088,7 @@ _mm_add_epi8(__m128i __a, __m128i __b) return (__m128i)((__v16qu)__a + (__v16qu)__b); } -/// \brief Adds the corresponding elements of two 128-bit vectors of [8 x i16], +/// Adds the corresponding elements of two 128-bit vectors of [8 x i16], /// saving the lower 16 bits of each sum in the corresponding element of a /// 128-bit result vector of [8 x i16]. /// @@ -2110,7 +2110,7 @@ _mm_add_epi16(__m128i __a, __m128i __b) return (__m128i)((__v8hu)__a + (__v8hu)__b); } -/// \brief Adds the corresponding elements of two 128-bit vectors of [4 x i32], +/// Adds the corresponding elements of two 128-bit vectors of [4 x i32], /// saving the lower 32 bits of each sum in the corresponding element of a /// 128-bit result vector of [4 x i32]. /// @@ -2132,7 +2132,7 @@ _mm_add_epi32(__m128i __a, __m128i __b) return (__m128i)((__v4su)__a + (__v4su)__b); } -/// \brief Adds two signed or unsigned 64-bit integer values, returning the +/// Adds two signed or unsigned 64-bit integer values, returning the /// lower 64 bits of the sum. /// /// \headerfile <x86intrin.h> @@ -2150,7 +2150,7 @@ _mm_add_si64(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_paddq((__v1di)__a, (__v1di)__b); } -/// \brief Adds the corresponding elements of two 128-bit vectors of [2 x i64], +/// Adds the corresponding elements of two 128-bit vectors of [2 x i64], /// saving the lower 64 bits of each sum in the corresponding element of a /// 128-bit result vector of [2 x i64]. /// @@ -2172,7 +2172,7 @@ _mm_add_epi64(__m128i __a, __m128i __b) return (__m128i)((__v2du)__a + (__v2du)__b); } -/// \brief Adds, with saturation, the corresponding elements of two 128-bit +/// Adds, with saturation, the corresponding elements of two 128-bit /// signed [16 x i8] vectors, saving each sum in the corresponding element of /// a 128-bit result vector of [16 x i8]. Positive sums greater than 0x7F are /// saturated to 0x7F. Negative sums less than 0x80 are saturated to 0x80. @@ -2193,7 +2193,7 @@ _mm_adds_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_paddsb128((__v16qi)__a, (__v16qi)__b); } -/// \brief Adds, with saturation, the corresponding elements of two 128-bit +/// Adds, with saturation, the corresponding elements of two 128-bit /// signed [8 x i16] vectors, saving each sum in the corresponding element of /// a 128-bit result vector of [8 x i16]. Positive sums greater than 0x7FFF /// are saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to @@ -2215,7 +2215,7 @@ _mm_adds_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_paddsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Adds, with saturation, the corresponding elements of two 128-bit +/// Adds, with saturation, the corresponding elements of two 128-bit /// unsigned [16 x i8] vectors, saving each sum in the corresponding element /// of a 128-bit result vector of [16 x i8]. Positive sums greater than 0xFF /// are saturated to 0xFF. Negative sums are saturated to 0x00. @@ -2236,7 +2236,7 @@ _mm_adds_epu8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_paddusb128((__v16qi)__a, (__v16qi)__b); } -/// \brief Adds, with saturation, the corresponding elements of two 128-bit +/// Adds, with saturation, the corresponding elements of two 128-bit /// unsigned [8 x i16] vectors, saving each sum in the corresponding element /// of a 128-bit result vector of [8 x i16]. Positive sums greater than /// 0xFFFF are saturated to 0xFFFF. Negative sums are saturated to 0x0000. @@ -2257,7 +2257,7 @@ _mm_adds_epu16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_paddusw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Computes the rounded avarages of corresponding elements of two +/// Computes the rounded avarages of corresponding elements of two /// 128-bit unsigned [16 x i8] vectors, saving each result in the /// corresponding element of a 128-bit result vector of [16 x i8]. /// @@ -2281,7 +2281,7 @@ _mm_avg_epu8(__m128i __a, __m128i __b) >> 1, __v16qu); } -/// \brief Computes the rounded avarages of corresponding elements of two +/// Computes the rounded avarages of corresponding elements of two /// 128-bit unsigned [8 x i16] vectors, saving each result in the /// corresponding element of a 128-bit result vector of [8 x i16]. /// @@ -2305,7 +2305,7 @@ _mm_avg_epu16(__m128i __a, __m128i __b) >> 1, __v8hu); } -/// \brief Multiplies the corresponding elements of two 128-bit signed [8 x i16] +/// Multiplies the corresponding elements of two 128-bit signed [8 x i16] /// vectors, producing eight intermediate 32-bit signed integer products, and /// adds the consecutive pairs of 32-bit products to form a 128-bit signed /// [4 x i32] vector. @@ -2331,7 +2331,7 @@ _mm_madd_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmaddwd128((__v8hi)__a, (__v8hi)__b); } -/// \brief Compares corresponding elements of two 128-bit signed [8 x i16] +/// Compares corresponding elements of two 128-bit signed [8 x i16] /// vectors, saving the greater value from each comparison in the /// corresponding element of a 128-bit result vector of [8 x i16]. /// @@ -2351,7 +2351,7 @@ _mm_max_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmaxsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Compares corresponding elements of two 128-bit unsigned [16 x i8] +/// Compares corresponding elements of two 128-bit unsigned [16 x i8] /// vectors, saving the greater value from each comparison in the /// corresponding element of a 128-bit result vector of [16 x i8]. /// @@ -2371,7 +2371,7 @@ _mm_max_epu8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmaxub128((__v16qi)__a, (__v16qi)__b); } -/// \brief Compares corresponding elements of two 128-bit signed [8 x i16] +/// Compares corresponding elements of two 128-bit signed [8 x i16] /// vectors, saving the smaller value from each comparison in the /// corresponding element of a 128-bit result vector of [8 x i16]. /// @@ -2391,7 +2391,7 @@ _mm_min_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pminsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Compares corresponding elements of two 128-bit unsigned [16 x i8] +/// Compares corresponding elements of two 128-bit unsigned [16 x i8] /// vectors, saving the smaller value from each comparison in the /// corresponding element of a 128-bit result vector of [16 x i8]. /// @@ -2411,7 +2411,7 @@ _mm_min_epu8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pminub128((__v16qi)__a, (__v16qi)__b); } -/// \brief Multiplies the corresponding elements of two signed [8 x i16] +/// Multiplies the corresponding elements of two signed [8 x i16] /// vectors, saving the upper 16 bits of each 32-bit product in the /// corresponding element of a 128-bit signed [8 x i16] result vector. /// @@ -2431,7 +2431,7 @@ _mm_mulhi_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmulhw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Multiplies the corresponding elements of two unsigned [8 x i16] +/// Multiplies the corresponding elements of two unsigned [8 x i16] /// vectors, saving the upper 16 bits of each 32-bit product in the /// corresponding element of a 128-bit unsigned [8 x i16] result vector. /// @@ -2451,7 +2451,7 @@ _mm_mulhi_epu16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmulhuw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Multiplies the corresponding elements of two signed [8 x i16] +/// Multiplies the corresponding elements of two signed [8 x i16] /// vectors, saving the lower 16 bits of each 32-bit product in the /// corresponding element of a 128-bit signed [8 x i16] result vector. /// @@ -2471,7 +2471,7 @@ _mm_mullo_epi16(__m128i __a, __m128i __b) return (__m128i)((__v8hu)__a * (__v8hu)__b); } -/// \brief Multiplies 32-bit unsigned integer values contained in the lower bits +/// Multiplies 32-bit unsigned integer values contained in the lower bits /// of the two 64-bit integer vectors and returns the 64-bit unsigned /// product. /// @@ -2490,7 +2490,7 @@ _mm_mul_su32(__m64 __a, __m64 __b) return __builtin_ia32_pmuludq((__v2si)__a, (__v2si)__b); } -/// \brief Multiplies 32-bit unsigned integer values contained in the lower +/// Multiplies 32-bit unsigned integer values contained in the lower /// bits of the corresponding elements of two [2 x i64] vectors, and returns /// the 64-bit products in the corresponding elements of a [2 x i64] vector. /// @@ -2509,7 +2509,7 @@ _mm_mul_epu32(__m128i __a, __m128i __b) return __builtin_ia32_pmuludq128((__v4si)__a, (__v4si)__b); } -/// \brief Computes the absolute differences of corresponding 8-bit integer +/// Computes the absolute differences of corresponding 8-bit integer /// values in two 128-bit vectors. Sums the first 8 absolute differences, and /// separately sums the second 8 absolute differences. Packs these two /// unsigned 16-bit integer sums into the upper and lower elements of a @@ -2531,7 +2531,7 @@ _mm_sad_epu8(__m128i __a, __m128i __b) return __builtin_ia32_psadbw128((__v16qi)__a, (__v16qi)__b); } -/// \brief Subtracts the corresponding 8-bit integer values in the operands. +/// Subtracts the corresponding 8-bit integer values in the operands. /// /// \headerfile <x86intrin.h> /// @@ -2549,7 +2549,7 @@ _mm_sub_epi8(__m128i __a, __m128i __b) return (__m128i)((__v16qu)__a - (__v16qu)__b); } -/// \brief Subtracts the corresponding 16-bit integer values in the operands. +/// Subtracts the corresponding 16-bit integer values in the operands. /// /// \headerfile <x86intrin.h> /// @@ -2567,7 +2567,7 @@ _mm_sub_epi16(__m128i __a, __m128i __b) return (__m128i)((__v8hu)__a - (__v8hu)__b); } -/// \brief Subtracts the corresponding 32-bit integer values in the operands. +/// Subtracts the corresponding 32-bit integer values in the operands. /// /// \headerfile <x86intrin.h> /// @@ -2585,7 +2585,7 @@ _mm_sub_epi32(__m128i __a, __m128i __b) return (__m128i)((__v4su)__a - (__v4su)__b); } -/// \brief Subtracts signed or unsigned 64-bit integer values and writes the +/// Subtracts signed or unsigned 64-bit integer values and writes the /// difference to the corresponding bits in the destination. /// /// \headerfile <x86intrin.h> @@ -2604,7 +2604,7 @@ _mm_sub_si64(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_psubq((__v1di)__a, (__v1di)__b); } -/// \brief Subtracts the corresponding elements of two [2 x i64] vectors. +/// Subtracts the corresponding elements of two [2 x i64] vectors. /// /// \headerfile <x86intrin.h> /// @@ -2622,7 +2622,7 @@ _mm_sub_epi64(__m128i __a, __m128i __b) return (__m128i)((__v2du)__a - (__v2du)__b); } -/// \brief Subtracts corresponding 8-bit signed integer values in the input and +/// Subtracts corresponding 8-bit signed integer values in the input and /// returns the differences in the corresponding bytes in the destination. /// Differences greater than 0x7F are saturated to 0x7F, and differences less /// than 0x80 are saturated to 0x80. @@ -2643,7 +2643,7 @@ _mm_subs_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psubsb128((__v16qi)__a, (__v16qi)__b); } -/// \brief Subtracts corresponding 16-bit signed integer values in the input and +/// Subtracts corresponding 16-bit signed integer values in the input and /// returns the differences in the corresponding bytes in the destination. /// Differences greater than 0x7FFF are saturated to 0x7FFF, and values less /// than 0x8000 are saturated to 0x8000. @@ -2664,7 +2664,7 @@ _mm_subs_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psubsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Subtracts corresponding 8-bit unsigned integer values in the input +/// Subtracts corresponding 8-bit unsigned integer values in the input /// and returns the differences in the corresponding bytes in the /// destination. Differences less than 0x00 are saturated to 0x00. /// @@ -2684,7 +2684,7 @@ _mm_subs_epu8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psubusb128((__v16qi)__a, (__v16qi)__b); } -/// \brief Subtracts corresponding 16-bit unsigned integer values in the input +/// Subtracts corresponding 16-bit unsigned integer values in the input /// and returns the differences in the corresponding bytes in the /// destination. Differences less than 0x0000 are saturated to 0x0000. /// @@ -2704,7 +2704,7 @@ _mm_subs_epu16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psubusw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Performs a bitwise AND of two 128-bit integer vectors. +/// Performs a bitwise AND of two 128-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -2722,7 +2722,7 @@ _mm_and_si128(__m128i __a, __m128i __b) return (__m128i)((__v2du)__a & (__v2du)__b); } -/// \brief Performs a bitwise AND of two 128-bit integer vectors, using the +/// Performs a bitwise AND of two 128-bit integer vectors, using the /// one's complement of the values contained in the first source operand. /// /// \headerfile <x86intrin.h> @@ -2741,7 +2741,7 @@ _mm_andnot_si128(__m128i __a, __m128i __b) { return (__m128i)(~(__v2du)__a & (__v2du)__b); } -/// \brief Performs a bitwise OR of two 128-bit integer vectors. +/// Performs a bitwise OR of two 128-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -2759,7 +2759,7 @@ _mm_or_si128(__m128i __a, __m128i __b) return (__m128i)((__v2du)__a | (__v2du)__b); } -/// \brief Performs a bitwise exclusive OR of two 128-bit integer vectors. +/// Performs a bitwise exclusive OR of two 128-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -2777,7 +2777,7 @@ _mm_xor_si128(__m128i __a, __m128i __b) return (__m128i)((__v2du)__a ^ (__v2du)__b); } -/// \brief Left-shifts the 128-bit integer vector operand by the specified +/// Left-shifts the 128-bit integer vector operand by the specified /// number of bytes. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2818,7 +2818,7 @@ _mm_xor_si128(__m128i __a, __m128i __b) #define _mm_bslli_si128(a, imm) \ _mm_slli_si128((a), (imm)) -/// \brief Left-shifts each 16-bit value in the 128-bit integer vector operand +/// Left-shifts each 16-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2837,7 +2837,7 @@ _mm_slli_epi16(__m128i __a, int __count) return (__m128i)__builtin_ia32_psllwi128((__v8hi)__a, __count); } -/// \brief Left-shifts each 16-bit value in the 128-bit integer vector operand +/// Left-shifts each 16-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2856,7 +2856,7 @@ _mm_sll_epi16(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_psllw128((__v8hi)__a, (__v8hi)__count); } -/// \brief Left-shifts each 32-bit value in the 128-bit integer vector operand +/// Left-shifts each 32-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2875,7 +2875,7 @@ _mm_slli_epi32(__m128i __a, int __count) return (__m128i)__builtin_ia32_pslldi128((__v4si)__a, __count); } -/// \brief Left-shifts each 32-bit value in the 128-bit integer vector operand +/// Left-shifts each 32-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2894,7 +2894,7 @@ _mm_sll_epi32(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_pslld128((__v4si)__a, (__v4si)__count); } -/// \brief Left-shifts each 64-bit value in the 128-bit integer vector operand +/// Left-shifts each 64-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2913,7 +2913,7 @@ _mm_slli_epi64(__m128i __a, int __count) return __builtin_ia32_psllqi128((__v2di)__a, __count); } -/// \brief Left-shifts each 64-bit value in the 128-bit integer vector operand +/// Left-shifts each 64-bit value in the 128-bit integer vector operand /// by the specified number of bits. Low-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -2932,7 +2932,7 @@ _mm_sll_epi64(__m128i __a, __m128i __count) return __builtin_ia32_psllq128((__v2di)__a, (__v2di)__count); } -/// \brief Right-shifts each 16-bit value in the 128-bit integer vector operand +/// Right-shifts each 16-bit value in the 128-bit integer vector operand /// by the specified number of bits. High-order bits are filled with the sign /// bit of the initial value. /// @@ -2952,7 +2952,7 @@ _mm_srai_epi16(__m128i __a, int __count) return (__m128i)__builtin_ia32_psrawi128((__v8hi)__a, __count); } -/// \brief Right-shifts each 16-bit value in the 128-bit integer vector operand +/// Right-shifts each 16-bit value in the 128-bit integer vector operand /// by the specified number of bits. High-order bits are filled with the sign /// bit of the initial value. /// @@ -2972,7 +2972,7 @@ _mm_sra_epi16(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_psraw128((__v8hi)__a, (__v8hi)__count); } -/// \brief Right-shifts each 32-bit value in the 128-bit integer vector operand +/// Right-shifts each 32-bit value in the 128-bit integer vector operand /// by the specified number of bits. High-order bits are filled with the sign /// bit of the initial value. /// @@ -2992,7 +2992,7 @@ _mm_srai_epi32(__m128i __a, int __count) return (__m128i)__builtin_ia32_psradi128((__v4si)__a, __count); } -/// \brief Right-shifts each 32-bit value in the 128-bit integer vector operand +/// Right-shifts each 32-bit value in the 128-bit integer vector operand /// by the specified number of bits. High-order bits are filled with the sign /// bit of the initial value. /// @@ -3012,7 +3012,7 @@ _mm_sra_epi32(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_psrad128((__v4si)__a, (__v4si)__count); } -/// \brief Right-shifts the 128-bit integer vector operand by the specified +/// Right-shifts the 128-bit integer vector operand by the specified /// number of bytes. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3053,7 +3053,7 @@ _mm_sra_epi32(__m128i __a, __m128i __count) #define _mm_bsrli_si128(a, imm) \ _mm_srli_si128((a), (imm)) -/// \brief Right-shifts each of 16-bit values in the 128-bit integer vector +/// Right-shifts each of 16-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3072,7 +3072,7 @@ _mm_srli_epi16(__m128i __a, int __count) return (__m128i)__builtin_ia32_psrlwi128((__v8hi)__a, __count); } -/// \brief Right-shifts each of 16-bit values in the 128-bit integer vector +/// Right-shifts each of 16-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3091,7 +3091,7 @@ _mm_srl_epi16(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_psrlw128((__v8hi)__a, (__v8hi)__count); } -/// \brief Right-shifts each of 32-bit values in the 128-bit integer vector +/// Right-shifts each of 32-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3110,7 +3110,7 @@ _mm_srli_epi32(__m128i __a, int __count) return (__m128i)__builtin_ia32_psrldi128((__v4si)__a, __count); } -/// \brief Right-shifts each of 32-bit values in the 128-bit integer vector +/// Right-shifts each of 32-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3129,7 +3129,7 @@ _mm_srl_epi32(__m128i __a, __m128i __count) return (__m128i)__builtin_ia32_psrld128((__v4si)__a, (__v4si)__count); } -/// \brief Right-shifts each of 64-bit values in the 128-bit integer vector +/// Right-shifts each of 64-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3148,7 +3148,7 @@ _mm_srli_epi64(__m128i __a, int __count) return __builtin_ia32_psrlqi128((__v2di)__a, __count); } -/// \brief Right-shifts each of 64-bit values in the 128-bit integer vector +/// Right-shifts each of 64-bit values in the 128-bit integer vector /// operand by the specified number of bits. High-order bits are cleared. /// /// \headerfile <x86intrin.h> @@ -3167,7 +3167,7 @@ _mm_srl_epi64(__m128i __a, __m128i __count) return __builtin_ia32_psrlq128((__v2di)__a, (__v2di)__count); } -/// \brief Compares each of the corresponding 8-bit values of the 128-bit +/// Compares each of the corresponding 8-bit values of the 128-bit /// integer vectors for equality. Each comparison yields 0x0 for false, 0xFF /// for true. /// @@ -3186,7 +3186,7 @@ _mm_cmpeq_epi8(__m128i __a, __m128i __b) return (__m128i)((__v16qi)__a == (__v16qi)__b); } -/// \brief Compares each of the corresponding 16-bit values of the 128-bit +/// Compares each of the corresponding 16-bit values of the 128-bit /// integer vectors for equality. Each comparison yields 0x0 for false, /// 0xFFFF for true. /// @@ -3205,7 +3205,7 @@ _mm_cmpeq_epi16(__m128i __a, __m128i __b) return (__m128i)((__v8hi)__a == (__v8hi)__b); } -/// \brief Compares each of the corresponding 32-bit values of the 128-bit +/// Compares each of the corresponding 32-bit values of the 128-bit /// integer vectors for equality. Each comparison yields 0x0 for false, /// 0xFFFFFFFF for true. /// @@ -3224,7 +3224,7 @@ _mm_cmpeq_epi32(__m128i __a, __m128i __b) return (__m128i)((__v4si)__a == (__v4si)__b); } -/// \brief Compares each of the corresponding signed 8-bit values of the 128-bit +/// Compares each of the corresponding signed 8-bit values of the 128-bit /// integer vectors to determine if the values in the first operand are /// greater than those in the second operand. Each comparison yields 0x0 for /// false, 0xFF for true. @@ -3246,7 +3246,7 @@ _mm_cmpgt_epi8(__m128i __a, __m128i __b) return (__m128i)((__v16qs)__a > (__v16qs)__b); } -/// \brief Compares each of the corresponding signed 16-bit values of the +/// Compares each of the corresponding signed 16-bit values of the /// 128-bit integer vectors to determine if the values in the first operand /// are greater than those in the second operand. /// @@ -3267,7 +3267,7 @@ _mm_cmpgt_epi16(__m128i __a, __m128i __b) return (__m128i)((__v8hi)__a > (__v8hi)__b); } -/// \brief Compares each of the corresponding signed 32-bit values of the +/// Compares each of the corresponding signed 32-bit values of the /// 128-bit integer vectors to determine if the values in the first operand /// are greater than those in the second operand. /// @@ -3288,7 +3288,7 @@ _mm_cmpgt_epi32(__m128i __a, __m128i __b) return (__m128i)((__v4si)__a > (__v4si)__b); } -/// \brief Compares each of the corresponding signed 8-bit values of the 128-bit +/// Compares each of the corresponding signed 8-bit values of the 128-bit /// integer vectors to determine if the values in the first operand are less /// than those in the second operand. /// @@ -3309,7 +3309,7 @@ _mm_cmplt_epi8(__m128i __a, __m128i __b) return _mm_cmpgt_epi8(__b, __a); } -/// \brief Compares each of the corresponding signed 16-bit values of the +/// Compares each of the corresponding signed 16-bit values of the /// 128-bit integer vectors to determine if the values in the first operand /// are less than those in the second operand. /// @@ -3330,7 +3330,7 @@ _mm_cmplt_epi16(__m128i __a, __m128i __b) return _mm_cmpgt_epi16(__b, __a); } -/// \brief Compares each of the corresponding signed 32-bit values of the +/// Compares each of the corresponding signed 32-bit values of the /// 128-bit integer vectors to determine if the values in the first operand /// are less than those in the second operand. /// @@ -3352,7 +3352,7 @@ _mm_cmplt_epi32(__m128i __a, __m128i __b) } #ifdef __x86_64__ -/// \brief Converts a 64-bit signed integer value from the second operand into a +/// Converts a 64-bit signed integer value from the second operand into a /// double-precision value and returns it in the lower element of a [2 x /// double] vector; the upper element of the returned vector is copied from /// the upper element of the first operand. @@ -3376,7 +3376,7 @@ _mm_cvtsi64_sd(__m128d __a, long long __b) return __a; } -/// \brief Converts the first (lower) element of a vector of [2 x double] into a +/// Converts the first (lower) element of a vector of [2 x double] into a /// 64-bit signed integer value, according to the current rounding mode. /// /// \headerfile <x86intrin.h> @@ -3393,7 +3393,7 @@ _mm_cvtsd_si64(__m128d __a) return __builtin_ia32_cvtsd2si64((__v2df)__a); } -/// \brief Converts the first (lower) element of a vector of [2 x double] into a +/// Converts the first (lower) element of a vector of [2 x double] into a /// 64-bit signed integer value, truncating the result when it is inexact. /// /// \headerfile <x86intrin.h> @@ -3412,7 +3412,7 @@ _mm_cvttsd_si64(__m128d __a) } #endif -/// \brief Converts a vector of [4 x i32] into a vector of [4 x float]. +/// Converts a vector of [4 x i32] into a vector of [4 x float]. /// /// \headerfile <x86intrin.h> /// @@ -3427,7 +3427,7 @@ _mm_cvtepi32_ps(__m128i __a) return __builtin_ia32_cvtdq2ps((__v4si)__a); } -/// \brief Converts a vector of [4 x float] into a vector of [4 x i32]. +/// Converts a vector of [4 x float] into a vector of [4 x i32]. /// /// \headerfile <x86intrin.h> /// @@ -3443,7 +3443,7 @@ _mm_cvtps_epi32(__m128 __a) return (__m128i)__builtin_ia32_cvtps2dq((__v4sf)__a); } -/// \brief Converts a vector of [4 x float] into a vector of [4 x i32], +/// Converts a vector of [4 x float] into a vector of [4 x i32], /// truncating the result when it is inexact. /// /// \headerfile <x86intrin.h> @@ -3460,7 +3460,7 @@ _mm_cvttps_epi32(__m128 __a) return (__m128i)__builtin_ia32_cvttps2dq((__v4sf)__a); } -/// \brief Returns a vector of [4 x i32] where the lowest element is the input +/// Returns a vector of [4 x i32] where the lowest element is the input /// operand and the remaining elements are zero. /// /// \headerfile <x86intrin.h> @@ -3477,7 +3477,7 @@ _mm_cvtsi32_si128(int __a) } #ifdef __x86_64__ -/// \brief Returns a vector of [2 x i64] where the lower element is the input +/// Returns a vector of [2 x i64] where the lower element is the input /// operand and the upper element is zero. /// /// \headerfile <x86intrin.h> @@ -3494,7 +3494,7 @@ _mm_cvtsi64_si128(long long __a) } #endif -/// \brief Moves the least significant 32 bits of a vector of [4 x i32] to a +/// Moves the least significant 32 bits of a vector of [4 x i32] to a /// 32-bit signed integer value. /// /// \headerfile <x86intrin.h> @@ -3513,7 +3513,7 @@ _mm_cvtsi128_si32(__m128i __a) } #ifdef __x86_64__ -/// \brief Moves the least significant 64 bits of a vector of [2 x i64] to a +/// Moves the least significant 64 bits of a vector of [2 x i64] to a /// 64-bit signed integer value. /// /// \headerfile <x86intrin.h> @@ -3531,7 +3531,7 @@ _mm_cvtsi128_si64(__m128i __a) } #endif -/// \brief Moves packed integer values from an aligned 128-bit memory location +/// Moves packed integer values from an aligned 128-bit memory location /// to elements in a 128-bit integer vector. /// /// \headerfile <x86intrin.h> @@ -3547,7 +3547,7 @@ _mm_load_si128(__m128i const *__p) return *__p; } -/// \brief Moves packed integer values from an unaligned 128-bit memory location +/// Moves packed integer values from an unaligned 128-bit memory location /// to elements in a 128-bit integer vector. /// /// \headerfile <x86intrin.h> @@ -3566,7 +3566,7 @@ _mm_loadu_si128(__m128i const *__p) return ((struct __loadu_si128*)__p)->__v; } -/// \brief Returns a vector of [2 x i64] where the lower element is taken from +/// Returns a vector of [2 x i64] where the lower element is taken from /// the lower element of the operand, and the upper element is zero. /// /// \headerfile <x86intrin.h> @@ -3587,7 +3587,7 @@ _mm_loadl_epi64(__m128i const *__p) return (__m128i) { ((struct __mm_loadl_epi64_struct*)__p)->__u, 0}; } -/// \brief Generates a 128-bit vector of [4 x i32] with unspecified content. +/// Generates a 128-bit vector of [4 x i32] with unspecified content. /// This could be used as an argument to another intrinsic function where the /// argument is required but the value is not actually used. /// @@ -3602,7 +3602,7 @@ _mm_undefined_si128(void) return (__m128i)__builtin_ia32_undef128(); } -/// \brief Initializes both 64-bit values in a 128-bit vector of [2 x i64] with +/// Initializes both 64-bit values in a 128-bit vector of [2 x i64] with /// the specified 64-bit integer values. /// /// \headerfile <x86intrin.h> @@ -3624,7 +3624,7 @@ _mm_set_epi64x(long long __q1, long long __q0) return (__m128i){ __q0, __q1 }; } -/// \brief Initializes both 64-bit values in a 128-bit vector of [2 x i64] with +/// Initializes both 64-bit values in a 128-bit vector of [2 x i64] with /// the specified 64-bit integer values. /// /// \headerfile <x86intrin.h> @@ -3646,7 +3646,7 @@ _mm_set_epi64(__m64 __q1, __m64 __q0) return (__m128i){ (long long)__q0, (long long)__q1 }; } -/// \brief Initializes the 32-bit values in a 128-bit vector of [4 x i32] with +/// Initializes the 32-bit values in a 128-bit vector of [4 x i32] with /// the specified 32-bit integer values. /// /// \headerfile <x86intrin.h> @@ -3674,7 +3674,7 @@ _mm_set_epi32(int __i3, int __i2, int __i1, int __i0) return (__m128i)(__v4si){ __i0, __i1, __i2, __i3}; } -/// \brief Initializes the 16-bit values in a 128-bit vector of [8 x i16] with +/// Initializes the 16-bit values in a 128-bit vector of [8 x i16] with /// the specified 16-bit integer values. /// /// \headerfile <x86intrin.h> @@ -3714,7 +3714,7 @@ _mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3, short return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 }; } -/// \brief Initializes the 8-bit values in a 128-bit vector of [16 x i8] with +/// Initializes the 8-bit values in a 128-bit vector of [16 x i8] with /// the specified 8-bit integer values. /// /// \headerfile <x86intrin.h> @@ -3762,7 +3762,7 @@ _mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11, char __ return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 }; } -/// \brief Initializes both values in a 128-bit integer vector with the +/// Initializes both values in a 128-bit integer vector with the /// specified 64-bit integer value. /// /// \headerfile <x86intrin.h> @@ -3781,7 +3781,7 @@ _mm_set1_epi64x(long long __q) return (__m128i){ __q, __q }; } -/// \brief Initializes both values in a 128-bit vector of [2 x i64] with the +/// Initializes both values in a 128-bit vector of [2 x i64] with the /// specified 64-bit value. /// /// \headerfile <x86intrin.h> @@ -3800,7 +3800,7 @@ _mm_set1_epi64(__m64 __q) return (__m128i){ (long long)__q, (long long)__q }; } -/// \brief Initializes all values in a 128-bit vector of [4 x i32] with the +/// Initializes all values in a 128-bit vector of [4 x i32] with the /// specified 32-bit value. /// /// \headerfile <x86intrin.h> @@ -3819,7 +3819,7 @@ _mm_set1_epi32(int __i) return (__m128i)(__v4si){ __i, __i, __i, __i }; } -/// \brief Initializes all values in a 128-bit vector of [8 x i16] with the +/// Initializes all values in a 128-bit vector of [8 x i16] with the /// specified 16-bit value. /// /// \headerfile <x86intrin.h> @@ -3838,7 +3838,7 @@ _mm_set1_epi16(short __w) return (__m128i)(__v8hi){ __w, __w, __w, __w, __w, __w, __w, __w }; } -/// \brief Initializes all values in a 128-bit vector of [16 x i8] with the +/// Initializes all values in a 128-bit vector of [16 x i8] with the /// specified 8-bit value. /// /// \headerfile <x86intrin.h> @@ -3857,7 +3857,7 @@ _mm_set1_epi8(char __b) return (__m128i)(__v16qi){ __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b }; } -/// \brief Constructs a 128-bit integer vector, initialized in reverse order +/// Constructs a 128-bit integer vector, initialized in reverse order /// with the specified 64-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3877,7 +3877,7 @@ _mm_setr_epi64(__m64 __q0, __m64 __q1) return (__m128i){ (long long)__q0, (long long)__q1 }; } -/// \brief Constructs a 128-bit integer vector, initialized in reverse order +/// Constructs a 128-bit integer vector, initialized in reverse order /// with the specified 32-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3900,7 +3900,7 @@ _mm_setr_epi32(int __i0, int __i1, int __i2, int __i3) return (__m128i)(__v4si){ __i0, __i1, __i2, __i3}; } -/// \brief Constructs a 128-bit integer vector, initialized in reverse order +/// Constructs a 128-bit integer vector, initialized in reverse order /// with the specified 16-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3931,7 +3931,7 @@ _mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4, short return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 }; } -/// \brief Constructs a 128-bit integer vector, initialized in reverse order +/// Constructs a 128-bit integer vector, initialized in reverse order /// with the specified 8-bit integral values. /// /// \headerfile <x86intrin.h> @@ -3978,7 +3978,7 @@ _mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5, return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 }; } -/// \brief Creates a 128-bit integer vector initialized to zero. +/// Creates a 128-bit integer vector initialized to zero. /// /// \headerfile <x86intrin.h> /// @@ -3992,7 +3992,7 @@ _mm_setzero_si128(void) return (__m128i){ 0LL, 0LL }; } -/// \brief Stores a 128-bit integer vector to a memory location aligned on a +/// Stores a 128-bit integer vector to a memory location aligned on a /// 128-bit boundary. /// /// \headerfile <x86intrin.h> @@ -4010,7 +4010,7 @@ _mm_store_si128(__m128i *__p, __m128i __b) *__p = __b; } -/// \brief Stores a 128-bit integer vector to an unaligned memory location. +/// Stores a 128-bit integer vector to an unaligned memory location. /// /// \headerfile <x86intrin.h> /// @@ -4029,7 +4029,7 @@ _mm_storeu_si128(__m128i *__p, __m128i __b) ((struct __storeu_si128*)__p)->__v = __b; } -/// \brief Moves bytes selected by the mask from the first operand to the +/// Moves bytes selected by the mask from the first operand to the /// specified unaligned memory location. When a mask bit is 1, the /// corresponding byte is written, otherwise it is not written. /// @@ -4056,7 +4056,7 @@ _mm_maskmoveu_si128(__m128i __d, __m128i __n, char *__p) __builtin_ia32_maskmovdqu((__v16qi)__d, (__v16qi)__n, __p); } -/// \brief Stores the lower 64 bits of a 128-bit integer vector of [2 x i64] to +/// Stores the lower 64 bits of a 128-bit integer vector of [2 x i64] to /// a memory location. /// /// \headerfile <x86intrin.h> @@ -4078,7 +4078,7 @@ _mm_storel_epi64(__m128i *__p, __m128i __a) ((struct __mm_storel_epi64_struct*)__p)->__u = __a[0]; } -/// \brief Stores a 128-bit floating point vector of [2 x double] to a 128-bit +/// Stores a 128-bit floating point vector of [2 x double] to a 128-bit /// aligned memory location. /// /// To minimize caching, the data is flagged as non-temporal (unlikely to be @@ -4098,7 +4098,7 @@ _mm_stream_pd(double *__p, __m128d __a) __builtin_nontemporal_store((__v2df)__a, (__v2df*)__p); } -/// \brief Stores a 128-bit integer vector to a 128-bit aligned memory location. +/// Stores a 128-bit integer vector to a 128-bit aligned memory location. /// /// To minimize caching, the data is flagged as non-temporal (unlikely to be /// used again soon). @@ -4117,7 +4117,7 @@ _mm_stream_si128(__m128i *__p, __m128i __a) __builtin_nontemporal_store((__v2di)__a, (__v2di*)__p); } -/// \brief Stores a 32-bit integer value in the specified memory location. +/// Stores a 32-bit integer value in the specified memory location. /// /// To minimize caching, the data is flagged as non-temporal (unlikely to be /// used again soon). @@ -4137,7 +4137,7 @@ _mm_stream_si32(int *__p, int __a) } #ifdef __x86_64__ -/// \brief Stores a 64-bit integer value in the specified memory location. +/// Stores a 64-bit integer value in the specified memory location. /// /// To minimize caching, the data is flagged as non-temporal (unlikely to be /// used again soon). @@ -4161,7 +4161,7 @@ _mm_stream_si64(long long *__p, long long __a) extern "C" { #endif -/// \brief The cache line containing \a __p is flushed and invalidated from all +/// The cache line containing \a __p is flushed and invalidated from all /// caches in the coherency domain. /// /// \headerfile <x86intrin.h> @@ -4173,7 +4173,7 @@ extern "C" { /// flushed. void _mm_clflush(void const * __p); -/// \brief Forces strong memory ordering (serialization) between load +/// Forces strong memory ordering (serialization) between load /// instructions preceding this instruction and load instructions following /// this instruction, ensuring the system completes all previous loads before /// executing subsequent loads. @@ -4184,7 +4184,7 @@ void _mm_clflush(void const * __p); /// void _mm_lfence(void); -/// \brief Forces strong memory ordering (serialization) between load and store +/// Forces strong memory ordering (serialization) between load and store /// instructions preceding this instruction and load and store instructions /// following this instruction, ensuring that the system completes all /// previous memory accesses before executing subsequent memory accesses. @@ -4199,7 +4199,7 @@ void _mm_mfence(void); } // extern "C" #endif -/// \brief Converts 16-bit signed integers from both 128-bit integer vector +/// Converts 16-bit signed integers from both 128-bit integer vector /// operands into 8-bit signed integers, and packs the results into the /// destination. Positive values greater than 0x7F are saturated to 0x7F. /// Negative values less than 0x80 are saturated to 0x80. @@ -4227,7 +4227,7 @@ _mm_packs_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_packsswb128((__v8hi)__a, (__v8hi)__b); } -/// \brief Converts 32-bit signed integers from both 128-bit integer vector +/// Converts 32-bit signed integers from both 128-bit integer vector /// operands into 16-bit signed integers, and packs the results into the /// destination. Positive values greater than 0x7FFF are saturated to 0x7FFF. /// Negative values less than 0x8000 are saturated to 0x8000. @@ -4255,7 +4255,7 @@ _mm_packs_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_packssdw128((__v4si)__a, (__v4si)__b); } -/// \brief Converts 16-bit signed integers from both 128-bit integer vector +/// Converts 16-bit signed integers from both 128-bit integer vector /// operands into 8-bit unsigned integers, and packs the results into the /// destination. Values greater than 0xFF are saturated to 0xFF. Values less /// than 0x00 are saturated to 0x00. @@ -4283,7 +4283,7 @@ _mm_packus_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_packuswb128((__v8hi)__a, (__v8hi)__b); } -/// \brief Extracts 16 bits from a 128-bit integer vector of [8 x i16], using +/// Extracts 16 bits from a 128-bit integer vector of [8 x i16], using /// the immediate-value parameter as a selector. /// /// \headerfile <x86intrin.h> @@ -4312,7 +4312,7 @@ _mm_extract_epi16(__m128i __a, int __imm) return (unsigned short)__b[__imm & 7]; } -/// \brief Constructs a 128-bit integer vector by first making a copy of the +/// Constructs a 128-bit integer vector by first making a copy of the /// 128-bit integer vector parameter, and then inserting the lower 16 bits /// of an integer parameter into an offset specified by the immediate-value /// parameter. @@ -4340,7 +4340,7 @@ _mm_insert_epi16(__m128i __a, int __b, int __imm) return (__m128i)__c; } -/// \brief Copies the values of the most significant bits from each 8-bit +/// Copies the values of the most significant bits from each 8-bit /// element in a 128-bit integer vector of [16 x i8] to create a 16-bit mask /// value, zero-extends the value, and writes it to the destination. /// @@ -4358,7 +4358,7 @@ _mm_movemask_epi8(__m128i __a) return __builtin_ia32_pmovmskb128((__v16qi)__a); } -/// \brief Constructs a 128-bit integer vector by shuffling four 32-bit +/// Constructs a 128-bit integer vector by shuffling four 32-bit /// elements of a 128-bit integer vector parameter, using the immediate-value /// parameter as a specifier. /// @@ -4392,7 +4392,7 @@ _mm_movemask_epi8(__m128i __a) ((imm) >> 0) & 0x3, ((imm) >> 2) & 0x3, \ ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3); }) -/// \brief Constructs a 128-bit integer vector by shuffling four lower 16-bit +/// Constructs a 128-bit integer vector by shuffling four lower 16-bit /// elements of a 128-bit integer vector of [8 x i16], using the immediate /// value parameter as a specifier. /// @@ -4426,7 +4426,7 @@ _mm_movemask_epi8(__m128i __a) ((imm) >> 4) & 0x3, ((imm) >> 6) & 0x3, \ 4, 5, 6, 7); }) -/// \brief Constructs a 128-bit integer vector by shuffling four upper 16-bit +/// Constructs a 128-bit integer vector by shuffling four upper 16-bit /// elements of a 128-bit integer vector of [8 x i16], using the immediate /// value parameter as a specifier. /// @@ -4462,7 +4462,7 @@ _mm_movemask_epi8(__m128i __a) 4 + (((imm) >> 4) & 0x3), \ 4 + (((imm) >> 6) & 0x3)); }) -/// \brief Unpacks the high-order (index 8-15) values from two 128-bit vectors +/// Unpacks the high-order (index 8-15) values from two 128-bit vectors /// of [16 x i8] and interleaves them into a 128-bit vector of [16 x i8]. /// /// \headerfile <x86intrin.h> @@ -4497,7 +4497,7 @@ _mm_unpackhi_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v16qi)__a, (__v16qi)__b, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15); } -/// \brief Unpacks the high-order (index 4-7) values from two 128-bit vectors of +/// Unpacks the high-order (index 4-7) values from two 128-bit vectors of /// [8 x i16] and interleaves them into a 128-bit vector of [8 x i16]. /// /// \headerfile <x86intrin.h> @@ -4524,7 +4524,7 @@ _mm_unpackhi_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 4, 8+4, 5, 8+5, 6, 8+6, 7, 8+7); } -/// \brief Unpacks the high-order (index 2,3) values from two 128-bit vectors of +/// Unpacks the high-order (index 2,3) values from two 128-bit vectors of /// [4 x i32] and interleaves them into a 128-bit vector of [4 x i32]. /// /// \headerfile <x86intrin.h> @@ -4547,7 +4547,7 @@ _mm_unpackhi_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 2, 4+2, 3, 4+3); } -/// \brief Unpacks the high-order 64-bit elements from two 128-bit vectors of +/// Unpacks the high-order 64-bit elements from two 128-bit vectors of /// [2 x i64] and interleaves them into a 128-bit vector of [2 x i64]. /// /// \headerfile <x86intrin.h> @@ -4568,7 +4568,7 @@ _mm_unpackhi_epi64(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 1, 2+1); } -/// \brief Unpacks the low-order (index 0-7) values from two 128-bit vectors of +/// Unpacks the low-order (index 0-7) values from two 128-bit vectors of /// [16 x i8] and interleaves them into a 128-bit vector of [16 x i8]. /// /// \headerfile <x86intrin.h> @@ -4603,7 +4603,7 @@ _mm_unpacklo_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v16qi)__a, (__v16qi)__b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7); } -/// \brief Unpacks the low-order (index 0-3) values from each of the two 128-bit +/// Unpacks the low-order (index 0-3) values from each of the two 128-bit /// vectors of [8 x i16] and interleaves them into a 128-bit vector of /// [8 x i16]. /// @@ -4631,7 +4631,7 @@ _mm_unpacklo_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 0, 8+0, 1, 8+1, 2, 8+2, 3, 8+3); } -/// \brief Unpacks the low-order (index 0,1) values from two 128-bit vectors of +/// Unpacks the low-order (index 0,1) values from two 128-bit vectors of /// [4 x i32] and interleaves them into a 128-bit vector of [4 x i32]. /// /// \headerfile <x86intrin.h> @@ -4654,7 +4654,7 @@ _mm_unpacklo_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 0, 4+0, 1, 4+1); } -/// \brief Unpacks the low-order 64-bit elements from two 128-bit vectors of +/// Unpacks the low-order 64-bit elements from two 128-bit vectors of /// [2 x i64] and interleaves them into a 128-bit vector of [2 x i64]. /// /// \headerfile <x86intrin.h> @@ -4675,7 +4675,7 @@ _mm_unpacklo_epi64(__m128i __a, __m128i __b) return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 0, 2+0); } -/// \brief Returns the lower 64 bits of a 128-bit integer vector as a 64-bit +/// Returns the lower 64 bits of a 128-bit integer vector as a 64-bit /// integer. /// /// \headerfile <x86intrin.h> @@ -4692,7 +4692,7 @@ _mm_movepi64_pi64(__m128i __a) return (__m64)__a[0]; } -/// \brief Moves the 64-bit operand to a 128-bit integer vector, zeroing the +/// Moves the 64-bit operand to a 128-bit integer vector, zeroing the /// upper bits. /// /// \headerfile <x86intrin.h> @@ -4709,7 +4709,7 @@ _mm_movpi64_epi64(__m64 __a) return (__m128i){ (long long)__a, 0 }; } -/// \brief Moves the lower 64 bits of a 128-bit integer vector to a 128-bit +/// Moves the lower 64 bits of a 128-bit integer vector to a 128-bit /// integer vector, zeroing the upper bits. /// /// \headerfile <x86intrin.h> @@ -4727,7 +4727,7 @@ _mm_move_epi64(__m128i __a) return __builtin_shufflevector((__v2di)__a, (__m128i){ 0 }, 0, 2); } -/// \brief Unpacks the high-order 64-bit elements from two 128-bit vectors of +/// Unpacks the high-order 64-bit elements from two 128-bit vectors of /// [2 x double] and interleaves them into a 128-bit vector of [2 x /// double]. /// @@ -4748,7 +4748,7 @@ _mm_unpackhi_pd(__m128d __a, __m128d __b) return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 1, 2+1); } -/// \brief Unpacks the low-order 64-bit elements from two 128-bit vectors +/// Unpacks the low-order 64-bit elements from two 128-bit vectors /// of [2 x double] and interleaves them into a 128-bit vector of [2 x /// double]. /// @@ -4769,7 +4769,7 @@ _mm_unpacklo_pd(__m128d __a, __m128d __b) return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 0, 2+0); } -/// \brief Extracts the sign bits of the double-precision values in the 128-bit +/// Extracts the sign bits of the double-precision values in the 128-bit /// vector of [2 x double], zero-extends the value, and writes it to the /// low-order bits of the destination. /// @@ -4789,7 +4789,7 @@ _mm_movemask_pd(__m128d __a) } -/// \brief Constructs a 128-bit floating-point vector of [2 x double] from two +/// Constructs a 128-bit floating-point vector of [2 x double] from two /// 128-bit vector parameters of [2 x double], using the immediate-value /// parameter as a specifier. /// @@ -4818,7 +4818,7 @@ _mm_movemask_pd(__m128d __a) 0 + (((i) >> 0) & 0x1), \ 2 + (((i) >> 1) & 0x1)); }) -/// \brief Casts a 128-bit floating-point vector of [2 x double] into a 128-bit +/// Casts a 128-bit floating-point vector of [2 x double] into a 128-bit /// floating-point vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -4835,7 +4835,7 @@ _mm_castpd_ps(__m128d __a) return (__m128)__a; } -/// \brief Casts a 128-bit floating-point vector of [2 x double] into a 128-bit +/// Casts a 128-bit floating-point vector of [2 x double] into a 128-bit /// integer vector. /// /// \headerfile <x86intrin.h> @@ -4852,7 +4852,7 @@ _mm_castpd_si128(__m128d __a) return (__m128i)__a; } -/// \brief Casts a 128-bit floating-point vector of [4 x float] into a 128-bit +/// Casts a 128-bit floating-point vector of [4 x float] into a 128-bit /// floating-point vector of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -4869,7 +4869,7 @@ _mm_castps_pd(__m128 __a) return (__m128d)__a; } -/// \brief Casts a 128-bit floating-point vector of [4 x float] into a 128-bit +/// Casts a 128-bit floating-point vector of [4 x float] into a 128-bit /// integer vector. /// /// \headerfile <x86intrin.h> @@ -4886,7 +4886,7 @@ _mm_castps_si128(__m128 __a) return (__m128i)__a; } -/// \brief Casts a 128-bit integer vector into a 128-bit floating-point vector +/// Casts a 128-bit integer vector into a 128-bit floating-point vector /// of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -4903,7 +4903,7 @@ _mm_castsi128_ps(__m128i __a) return (__m128)__a; } -/// \brief Casts a 128-bit integer vector into a 128-bit floating-point vector +/// Casts a 128-bit integer vector into a 128-bit floating-point vector /// of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -4924,7 +4924,7 @@ _mm_castsi128_pd(__m128i __a) extern "C" { #endif -/// \brief Indicates that a spin loop is being executed for the purposes of +/// Indicates that a spin loop is being executed for the purposes of /// optimizing power consumption during the loop. /// /// \headerfile <x86intrin.h> diff --git a/lib/Headers/f16cintrin.h b/lib/Headers/f16cintrin.h index b796cc8431..dd72ec3156 100644 --- a/lib/Headers/f16cintrin.h +++ b/lib/Headers/f16cintrin.h @@ -32,7 +32,7 @@ #define __DEFAULT_FN_ATTRS \ __attribute__((__always_inline__, __nodebug__, __target__("f16c"))) -/// \brief Converts a 16-bit half-precision float value into a 32-bit float +/// Converts a 16-bit half-precision float value into a 32-bit float /// value. /// /// \headerfile <x86intrin.h> @@ -50,7 +50,7 @@ _cvtsh_ss(unsigned short __a) return r[0]; } -/// \brief Converts a 32-bit single-precision float value to a 16-bit +/// Converts a 32-bit single-precision float value to a 16-bit /// half-precision float value. /// /// \headerfile <x86intrin.h> @@ -76,7 +76,7 @@ _cvtsh_ss(unsigned short __a) (unsigned short)(((__v8hi)__builtin_ia32_vcvtps2ph((__v4sf){a, 0, 0, 0}, \ (imm)))[0]); }) -/// \brief Converts a 128-bit vector containing 32-bit float values into a +/// Converts a 128-bit vector containing 32-bit float values into a /// 128-bit vector containing 16-bit half-precision float values. /// /// \headerfile <x86intrin.h> @@ -102,7 +102,7 @@ _cvtsh_ss(unsigned short __a) #define _mm_cvtps_ph(a, imm) __extension__ ({ \ (__m128i)__builtin_ia32_vcvtps2ph((__v4sf)(__m128)(a), (imm)); }) -/// \brief Converts a 128-bit vector containing 16-bit half-precision float +/// Converts a 128-bit vector containing 16-bit half-precision float /// values into a 128-bit vector containing 32-bit float values. /// /// \headerfile <x86intrin.h> diff --git a/lib/Headers/fxsrintrin.h b/lib/Headers/fxsrintrin.h index 786081ca8e..ae368b7cdb 100644 --- a/lib/Headers/fxsrintrin.h +++ b/lib/Headers/fxsrintrin.h @@ -30,7 +30,7 @@ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("fxsr"))) -/// \brief Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte +/// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte /// memory region pointed to by the input parameter \a __p. /// /// \headerfile <x86intrin.h> @@ -46,7 +46,7 @@ _fxsave(void *__p) return __builtin_ia32_fxsave(__p); } -/// \brief Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte +/// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte /// memory region pointed to by the input parameter \a __p. The contents of /// this memory region should have been written to by a previous \c _fxsave /// or \c _fxsave64 intrinsic. @@ -65,7 +65,7 @@ _fxrstor(void *__p) } #ifdef __x86_64__ -/// \brief Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte +/// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte /// memory region pointed to by the input parameter \a __p. /// /// \headerfile <x86intrin.h> @@ -81,7 +81,7 @@ _fxsave64(void *__p) return __builtin_ia32_fxsave64(__p); } -/// \brief Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte +/// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte /// memory region pointed to by the input parameter \a __p. The contents of /// this memory region should have been written to by a previous \c _fxsave /// or \c _fxsave64 intrinsic. diff --git a/lib/Headers/immintrin.h b/lib/Headers/immintrin.h index a332879500..69604f98ff 100644 --- a/lib/Headers/immintrin.h +++ b/lib/Headers/immintrin.h @@ -73,7 +73,7 @@ Intel documents these as being in immintrin.h, and they depend on typedefs from avxintrin.h. */ -/// \brief Converts a 256-bit vector of [8 x float] into a 128-bit vector +/// Converts a 256-bit vector of [8 x float] into a 128-bit vector /// containing 16-bit half-precision float values. /// /// \headerfile <x86intrin.h> @@ -99,7 +99,7 @@ #define _mm256_cvtps_ph(a, imm) __extension__ ({ \ (__m128i)__builtin_ia32_vcvtps2ph256((__v8sf)(__m256)(a), (imm)); }) -/// \brief Converts a 128-bit vector containing 16-bit half-precision float +/// Converts a 128-bit vector containing 16-bit half-precision float /// values into a 256-bit vector of [8 x float]. /// /// \headerfile <x86intrin.h> @@ -248,7 +248,7 @@ _mm256_cvtph_ps(__m128i __a) #endif #if !defined(_MSC_VER) || __has_feature(modules) || defined(__RDPID__) -/// \brief Returns the value of the IA32_TSC_AUX MSR (0xc0000103). +/// Returns the value of the IA32_TSC_AUX MSR (0xc0000103). /// /// \headerfile <immintrin.h> /// diff --git a/lib/Headers/lwpintrin.h b/lib/Headers/lwpintrin.h index c95fdd9a20..5877ae8b3b 100644 --- a/lib/Headers/lwpintrin.h +++ b/lib/Headers/lwpintrin.h @@ -31,7 +31,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lwp"))) -/// \brief Parses the LWPCB at the specified address and enables +/// Parses the LWPCB at the specified address and enables /// profiling if valid. /// /// \headerfile <x86intrin.h> @@ -48,7 +48,7 @@ __llwpcb (void *__addr) __builtin_ia32_llwpcb(__addr); } -/// \brief Flushes the LWP state to memory and returns the address of the LWPCB. +/// Flushes the LWP state to memory and returns the address of the LWPCB. /// /// \headerfile <x86intrin.h> /// @@ -63,7 +63,7 @@ __slwpcb () return __builtin_ia32_slwpcb(); } -/// \brief Inserts programmed event record into the LWP event ring buffer +/// Inserts programmed event record into the LWP event ring buffer /// and advances the ring buffer pointer. /// /// \headerfile <x86intrin.h> @@ -84,7 +84,7 @@ __slwpcb () (__builtin_ia32_lwpins32((unsigned int) (DATA2), (unsigned int) (DATA1), \ (unsigned int) (FLAGS))) -/// \brief Decrements the LWP programmed value sample event counter. If the result is +/// Decrements the LWP programmed value sample event counter. If the result is /// negative, inserts an event record into the LWP event ring buffer in memory /// and advances the ring buffer pointer. /// @@ -104,7 +104,7 @@ __slwpcb () #ifdef __x86_64__ -/// \brief Inserts programmed event record into the LWP event ring buffer +/// Inserts programmed event record into the LWP event ring buffer /// and advances the ring buffer pointer. /// /// \headerfile <x86intrin.h> @@ -125,7 +125,7 @@ __slwpcb () (__builtin_ia32_lwpins64((unsigned long long) (DATA2), (unsigned int) (DATA1), \ (unsigned int) (FLAGS))) -/// \brief Decrements the LWP programmed value sample event counter. If the result is +/// Decrements the LWP programmed value sample event counter. If the result is /// negative, inserts an event record into the LWP event ring buffer in memory /// and advances the ring buffer pointer. /// diff --git a/lib/Headers/lzcntintrin.h b/lib/Headers/lzcntintrin.h index 3d2769da3b..152e07dfbe 100644 --- a/lib/Headers/lzcntintrin.h +++ b/lib/Headers/lzcntintrin.h @@ -31,7 +31,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("lzcnt"))) -/// \brief Counts the number of leading zero bits in the operand. +/// Counts the number of leading zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -47,7 +47,7 @@ __lzcnt16(unsigned short __X) return __X ? __builtin_clzs(__X) : 16; } -/// \brief Counts the number of leading zero bits in the operand. +/// Counts the number of leading zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -63,7 +63,7 @@ __lzcnt32(unsigned int __X) return __X ? __builtin_clz(__X) : 32; } -/// \brief Counts the number of leading zero bits in the operand. +/// Counts the number of leading zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -80,7 +80,7 @@ _lzcnt_u32(unsigned int __X) } #ifdef __x86_64__ -/// \brief Counts the number of leading zero bits in the operand. +/// Counts the number of leading zero bits in the operand. /// /// \headerfile <x86intrin.h> /// @@ -96,7 +96,7 @@ __lzcnt64(unsigned long long __X) return __X ? __builtin_clzll(__X) : 64; } -/// \brief Counts the number of leading zero bits in the operand. +/// Counts the number of leading zero bits in the operand. /// /// \headerfile <x86intrin.h> /// diff --git a/lib/Headers/mmintrin.h b/lib/Headers/mmintrin.h index 102c08fa00..ef2a97effd 100644 --- a/lib/Headers/mmintrin.h +++ b/lib/Headers/mmintrin.h @@ -34,7 +34,7 @@ typedef char __v8qi __attribute__((__vector_size__(8))); /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mmx"))) -/// \brief Clears the MMX state by setting the state of the x87 stack registers +/// Clears the MMX state by setting the state of the x87 stack registers /// to empty. /// /// \headerfile <x86intrin.h> @@ -47,7 +47,7 @@ _mm_empty(void) __builtin_ia32_emms(); } -/// \brief Constructs a 64-bit integer vector, setting the lower 32 bits to the +/// Constructs a 64-bit integer vector, setting the lower 32 bits to the /// value of the 32-bit integer parameter and setting the upper 32 bits to 0. /// /// \headerfile <x86intrin.h> @@ -64,7 +64,7 @@ _mm_cvtsi32_si64(int __i) return (__m64)__builtin_ia32_vec_init_v2si(__i, 0); } -/// \brief Returns the lower 32 bits of a 64-bit integer vector as a 32-bit +/// Returns the lower 32 bits of a 64-bit integer vector as a 32-bit /// signed integer. /// /// \headerfile <x86intrin.h> @@ -81,7 +81,7 @@ _mm_cvtsi64_si32(__m64 __m) return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0); } -/// \brief Casts a 64-bit signed integer value into a 64-bit integer vector. +/// Casts a 64-bit signed integer value into a 64-bit integer vector. /// /// \headerfile <x86intrin.h> /// @@ -97,7 +97,7 @@ _mm_cvtsi64_m64(long long __i) return (__m64)__i; } -/// \brief Casts a 64-bit integer vector into a 64-bit signed integer value. +/// Casts a 64-bit integer vector into a 64-bit signed integer value. /// /// \headerfile <x86intrin.h> /// @@ -113,7 +113,7 @@ _mm_cvtm64_si64(__m64 __m) return (long long)__m; } -/// \brief Converts 16-bit signed integers from both 64-bit integer vector +/// Converts 16-bit signed integers from both 64-bit integer vector /// parameters of [4 x i16] into 8-bit signed integer values, and constructs /// a 64-bit integer vector of [8 x i8] as the result. Positive values /// greater than 0x7F are saturated to 0x7F. Negative values less than 0x80 @@ -143,7 +143,7 @@ _mm_packs_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Converts 32-bit signed integers from both 64-bit integer vector +/// Converts 32-bit signed integers from both 64-bit integer vector /// parameters of [2 x i32] into 16-bit signed integer values, and constructs /// a 64-bit integer vector of [4 x i16] as the result. Positive values /// greater than 0x7FFF are saturated to 0x7FFF. Negative values less than @@ -173,7 +173,7 @@ _mm_packs_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2); } -/// \brief Converts 16-bit signed integers from both 64-bit integer vector +/// Converts 16-bit signed integers from both 64-bit integer vector /// parameters of [4 x i16] into 8-bit unsigned integer values, and /// constructs a 64-bit integer vector of [8 x i8] as the result. Values /// greater than 0xFF are saturated to 0xFF. Values less than 0 are saturated @@ -203,7 +203,7 @@ _mm_packs_pu16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8] +/// Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8] /// and interleaves them into a 64-bit integer vector of [8 x i8]. /// /// \headerfile <x86intrin.h> @@ -230,7 +230,7 @@ _mm_unpackhi_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Unpacks the upper 32 bits from two 64-bit integer vectors of +/// Unpacks the upper 32 bits from two 64-bit integer vectors of /// [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16]. /// /// \headerfile <x86intrin.h> @@ -253,7 +253,7 @@ _mm_unpackhi_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Unpacks the upper 32 bits from two 64-bit integer vectors of +/// Unpacks the upper 32 bits from two 64-bit integer vectors of /// [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -274,7 +274,7 @@ _mm_unpackhi_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2); } -/// \brief Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8] +/// Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8] /// and interleaves them into a 64-bit integer vector of [8 x i8]. /// /// \headerfile <x86intrin.h> @@ -301,7 +301,7 @@ _mm_unpacklo_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Unpacks the lower 32 bits from two 64-bit integer vectors of +/// Unpacks the lower 32 bits from two 64-bit integer vectors of /// [4 x i16] and interleaves them into a 64-bit integer vector of [4 x i16]. /// /// \headerfile <x86intrin.h> @@ -324,7 +324,7 @@ _mm_unpacklo_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Unpacks the lower 32 bits from two 64-bit integer vectors of +/// Unpacks the lower 32 bits from two 64-bit integer vectors of /// [2 x i32] and interleaves them into a 64-bit integer vector of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -345,7 +345,7 @@ _mm_unpacklo_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2); } -/// \brief Adds each 8-bit integer element of the first 64-bit integer vector +/// Adds each 8-bit integer element of the first 64-bit integer vector /// of [8 x i8] to the corresponding 8-bit integer element of the second /// 64-bit integer vector of [8 x i8]. The lower 8 bits of the results are /// packed into a 64-bit integer vector of [8 x i8]. @@ -366,7 +366,7 @@ _mm_add_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Adds each 16-bit integer element of the first 64-bit integer vector +/// Adds each 16-bit integer element of the first 64-bit integer vector /// of [4 x i16] to the corresponding 16-bit integer element of the second /// 64-bit integer vector of [4 x i16]. The lower 16 bits of the results are /// packed into a 64-bit integer vector of [4 x i16]. @@ -387,7 +387,7 @@ _mm_add_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Adds each 32-bit integer element of the first 64-bit integer vector +/// Adds each 32-bit integer element of the first 64-bit integer vector /// of [2 x i32] to the corresponding 32-bit integer element of the second /// 64-bit integer vector of [2 x i32]. The lower 32 bits of the results are /// packed into a 64-bit integer vector of [2 x i32]. @@ -408,7 +408,7 @@ _mm_add_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2); } -/// \brief Adds each 8-bit signed integer element of the first 64-bit integer +/// Adds each 8-bit signed integer element of the first 64-bit integer /// vector of [8 x i8] to the corresponding 8-bit signed integer element of /// the second 64-bit integer vector of [8 x i8]. Positive sums greater than /// 0x7F are saturated to 0x7F. Negative sums less than 0x80 are saturated to @@ -430,7 +430,7 @@ _mm_adds_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Adds each 16-bit signed integer element of the first 64-bit integer +/// Adds each 16-bit signed integer element of the first 64-bit integer /// vector of [4 x i16] to the corresponding 16-bit signed integer element of /// the second 64-bit integer vector of [4 x i16]. Positive sums greater than /// 0x7FFF are saturated to 0x7FFF. Negative sums less than 0x8000 are @@ -453,7 +453,7 @@ _mm_adds_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Adds each 8-bit unsigned integer element of the first 64-bit integer +/// Adds each 8-bit unsigned integer element of the first 64-bit integer /// vector of [8 x i8] to the corresponding 8-bit unsigned integer element of /// the second 64-bit integer vector of [8 x i8]. Sums greater than 0xFF are /// saturated to 0xFF. The results are packed into a 64-bit integer vector of @@ -475,7 +475,7 @@ _mm_adds_pu8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Adds each 16-bit unsigned integer element of the first 64-bit integer +/// Adds each 16-bit unsigned integer element of the first 64-bit integer /// vector of [4 x i16] to the corresponding 16-bit unsigned integer element /// of the second 64-bit integer vector of [4 x i16]. Sums greater than /// 0xFFFF are saturated to 0xFFFF. The results are packed into a 64-bit @@ -497,7 +497,7 @@ _mm_adds_pu16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Subtracts each 8-bit integer element of the second 64-bit integer +/// Subtracts each 8-bit integer element of the second 64-bit integer /// vector of [8 x i8] from the corresponding 8-bit integer element of the /// first 64-bit integer vector of [8 x i8]. The lower 8 bits of the results /// are packed into a 64-bit integer vector of [8 x i8]. @@ -518,7 +518,7 @@ _mm_sub_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Subtracts each 16-bit integer element of the second 64-bit integer +/// Subtracts each 16-bit integer element of the second 64-bit integer /// vector of [4 x i16] from the corresponding 16-bit integer element of the /// first 64-bit integer vector of [4 x i16]. The lower 16 bits of the /// results are packed into a 64-bit integer vector of [4 x i16]. @@ -539,7 +539,7 @@ _mm_sub_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Subtracts each 32-bit integer element of the second 64-bit integer +/// Subtracts each 32-bit integer element of the second 64-bit integer /// vector of [2 x i32] from the corresponding 32-bit integer element of the /// first 64-bit integer vector of [2 x i32]. The lower 32 bits of the /// results are packed into a 64-bit integer vector of [2 x i32]. @@ -560,7 +560,7 @@ _mm_sub_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubd((__v2si)__m1, (__v2si)__m2); } -/// \brief Subtracts each 8-bit signed integer element of the second 64-bit +/// Subtracts each 8-bit signed integer element of the second 64-bit /// integer vector of [8 x i8] from the corresponding 8-bit signed integer /// element of the first 64-bit integer vector of [8 x i8]. Positive results /// greater than 0x7F are saturated to 0x7F. Negative results less than 0x80 @@ -583,7 +583,7 @@ _mm_subs_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubsb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Subtracts each 16-bit signed integer element of the second 64-bit +/// Subtracts each 16-bit signed integer element of the second 64-bit /// integer vector of [4 x i16] from the corresponding 16-bit signed integer /// element of the first 64-bit integer vector of [4 x i16]. Positive results /// greater than 0x7FFF are saturated to 0x7FFF. Negative results less than @@ -606,7 +606,7 @@ _mm_subs_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubsw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Subtracts each 8-bit unsigned integer element of the second 64-bit +/// Subtracts each 8-bit unsigned integer element of the second 64-bit /// integer vector of [8 x i8] from the corresponding 8-bit unsigned integer /// element of the first 64-bit integer vector of [8 x i8]. /// @@ -630,7 +630,7 @@ _mm_subs_pu8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubusb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Subtracts each 16-bit unsigned integer element of the second 64-bit +/// Subtracts each 16-bit unsigned integer element of the second 64-bit /// integer vector of [4 x i16] from the corresponding 16-bit unsigned /// integer element of the first 64-bit integer vector of [4 x i16]. /// @@ -654,7 +654,7 @@ _mm_subs_pu16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_psubusw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Multiplies each 16-bit signed integer element of the first 64-bit +/// Multiplies each 16-bit signed integer element of the first 64-bit /// integer vector of [4 x i16] by the corresponding 16-bit signed integer /// element of the second 64-bit integer vector of [4 x i16] and get four /// 32-bit products. Adds adjacent pairs of products to get two 32-bit sums. @@ -681,7 +681,7 @@ _mm_madd_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pmaddwd((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Multiplies each 16-bit signed integer element of the first 64-bit +/// Multiplies each 16-bit signed integer element of the first 64-bit /// integer vector of [4 x i16] by the corresponding 16-bit signed integer /// element of the second 64-bit integer vector of [4 x i16]. Packs the upper /// 16 bits of the 32-bit products into a 64-bit integer vector of [4 x i16]. @@ -702,7 +702,7 @@ _mm_mulhi_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pmulhw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Multiplies each 16-bit signed integer element of the first 64-bit +/// Multiplies each 16-bit signed integer element of the first 64-bit /// integer vector of [4 x i16] by the corresponding 16-bit signed integer /// element of the second 64-bit integer vector of [4 x i16]. Packs the lower /// 16 bits of the 32-bit products into a 64-bit integer vector of [4 x i16]. @@ -723,7 +723,7 @@ _mm_mullo_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pmullw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Left-shifts each 16-bit signed integer element of the first +/// Left-shifts each 16-bit signed integer element of the first /// parameter, which is a 64-bit integer vector of [4 x i16], by the number /// of bits specified by the second parameter, which is a 64-bit integer. The /// lower 16 bits of the results are packed into a 64-bit integer vector of @@ -746,7 +746,7 @@ _mm_sll_pi16(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psllw((__v4hi)__m, __count); } -/// \brief Left-shifts each 16-bit signed integer element of a 64-bit integer +/// Left-shifts each 16-bit signed integer element of a 64-bit integer /// vector of [4 x i16] by the number of bits specified by a 32-bit integer. /// The lower 16 bits of the results are packed into a 64-bit integer vector /// of [4 x i16]. @@ -768,7 +768,7 @@ _mm_slli_pi16(__m64 __m, int __count) return (__m64)__builtin_ia32_psllwi((__v4hi)__m, __count); } -/// \brief Left-shifts each 32-bit signed integer element of the first +/// Left-shifts each 32-bit signed integer element of the first /// parameter, which is a 64-bit integer vector of [2 x i32], by the number /// of bits specified by the second parameter, which is a 64-bit integer. The /// lower 32 bits of the results are packed into a 64-bit integer vector of @@ -791,7 +791,7 @@ _mm_sll_pi32(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_pslld((__v2si)__m, __count); } -/// \brief Left-shifts each 32-bit signed integer element of a 64-bit integer +/// Left-shifts each 32-bit signed integer element of a 64-bit integer /// vector of [2 x i32] by the number of bits specified by a 32-bit integer. /// The lower 32 bits of the results are packed into a 64-bit integer vector /// of [2 x i32]. @@ -813,7 +813,7 @@ _mm_slli_pi32(__m64 __m, int __count) return (__m64)__builtin_ia32_pslldi((__v2si)__m, __count); } -/// \brief Left-shifts the first 64-bit integer parameter by the number of bits +/// Left-shifts the first 64-bit integer parameter by the number of bits /// specified by the second 64-bit integer parameter. The lower 64 bits of /// result are returned. /// @@ -833,7 +833,7 @@ _mm_sll_si64(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psllq((__v1di)__m, __count); } -/// \brief Left-shifts the first parameter, which is a 64-bit integer, by the +/// Left-shifts the first parameter, which is a 64-bit integer, by the /// number of bits specified by the second parameter, which is a 32-bit /// integer. The lower 64 bits of result are returned. /// @@ -853,7 +853,7 @@ _mm_slli_si64(__m64 __m, int __count) return (__m64)__builtin_ia32_psllqi((__v1di)__m, __count); } -/// \brief Right-shifts each 16-bit integer element of the first parameter, +/// Right-shifts each 16-bit integer element of the first parameter, /// which is a 64-bit integer vector of [4 x i16], by the number of bits /// specified by the second parameter, which is a 64-bit integer. /// @@ -877,7 +877,7 @@ _mm_sra_pi16(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psraw((__v4hi)__m, __count); } -/// \brief Right-shifts each 16-bit integer element of a 64-bit integer vector +/// Right-shifts each 16-bit integer element of a 64-bit integer vector /// of [4 x i16] by the number of bits specified by a 32-bit integer. /// /// High-order bits are filled with the sign bit of the initial value of each @@ -900,7 +900,7 @@ _mm_srai_pi16(__m64 __m, int __count) return (__m64)__builtin_ia32_psrawi((__v4hi)__m, __count); } -/// \brief Right-shifts each 32-bit integer element of the first parameter, +/// Right-shifts each 32-bit integer element of the first parameter, /// which is a 64-bit integer vector of [2 x i32], by the number of bits /// specified by the second parameter, which is a 64-bit integer. /// @@ -924,7 +924,7 @@ _mm_sra_pi32(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psrad((__v2si)__m, __count); } -/// \brief Right-shifts each 32-bit integer element of a 64-bit integer vector +/// Right-shifts each 32-bit integer element of a 64-bit integer vector /// of [2 x i32] by the number of bits specified by a 32-bit integer. /// /// High-order bits are filled with the sign bit of the initial value of each @@ -947,7 +947,7 @@ _mm_srai_pi32(__m64 __m, int __count) return (__m64)__builtin_ia32_psradi((__v2si)__m, __count); } -/// \brief Right-shifts each 16-bit integer element of the first parameter, +/// Right-shifts each 16-bit integer element of the first parameter, /// which is a 64-bit integer vector of [4 x i16], by the number of bits /// specified by the second parameter, which is a 64-bit integer. /// @@ -970,7 +970,7 @@ _mm_srl_pi16(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psrlw((__v4hi)__m, __count); } -/// \brief Right-shifts each 16-bit integer element of a 64-bit integer vector +/// Right-shifts each 16-bit integer element of a 64-bit integer vector /// of [4 x i16] by the number of bits specified by a 32-bit integer. /// /// High-order bits are cleared. The 16-bit results are packed into a 64-bit @@ -992,7 +992,7 @@ _mm_srli_pi16(__m64 __m, int __count) return (__m64)__builtin_ia32_psrlwi((__v4hi)__m, __count); } -/// \brief Right-shifts each 32-bit integer element of the first parameter, +/// Right-shifts each 32-bit integer element of the first parameter, /// which is a 64-bit integer vector of [2 x i32], by the number of bits /// specified by the second parameter, which is a 64-bit integer. /// @@ -1015,7 +1015,7 @@ _mm_srl_pi32(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psrld((__v2si)__m, __count); } -/// \brief Right-shifts each 32-bit integer element of a 64-bit integer vector +/// Right-shifts each 32-bit integer element of a 64-bit integer vector /// of [2 x i32] by the number of bits specified by a 32-bit integer. /// /// High-order bits are cleared. The 32-bit results are packed into a 64-bit @@ -1037,7 +1037,7 @@ _mm_srli_pi32(__m64 __m, int __count) return (__m64)__builtin_ia32_psrldi((__v2si)__m, __count); } -/// \brief Right-shifts the first 64-bit integer parameter by the number of bits +/// Right-shifts the first 64-bit integer parameter by the number of bits /// specified by the second 64-bit integer parameter. /// /// High-order bits are cleared. @@ -1057,7 +1057,7 @@ _mm_srl_si64(__m64 __m, __m64 __count) return (__m64)__builtin_ia32_psrlq((__v1di)__m, __count); } -/// \brief Right-shifts the first parameter, which is a 64-bit integer, by the +/// Right-shifts the first parameter, which is a 64-bit integer, by the /// number of bits specified by the second parameter, which is a 32-bit /// integer. /// @@ -1078,7 +1078,7 @@ _mm_srli_si64(__m64 __m, int __count) return (__m64)__builtin_ia32_psrlqi((__v1di)__m, __count); } -/// \brief Performs a bitwise AND of two 64-bit integer vectors. +/// Performs a bitwise AND of two 64-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -1096,7 +1096,7 @@ _mm_and_si64(__m64 __m1, __m64 __m2) return __builtin_ia32_pand((__v1di)__m1, (__v1di)__m2); } -/// \brief Performs a bitwise NOT of the first 64-bit integer vector, and then +/// Performs a bitwise NOT of the first 64-bit integer vector, and then /// performs a bitwise AND of the intermediate result and the second 64-bit /// integer vector. /// @@ -1117,7 +1117,7 @@ _mm_andnot_si64(__m64 __m1, __m64 __m2) return __builtin_ia32_pandn((__v1di)__m1, (__v1di)__m2); } -/// \brief Performs a bitwise OR of two 64-bit integer vectors. +/// Performs a bitwise OR of two 64-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -1135,7 +1135,7 @@ _mm_or_si64(__m64 __m1, __m64 __m2) return __builtin_ia32_por((__v1di)__m1, (__v1di)__m2); } -/// \brief Performs a bitwise exclusive OR of two 64-bit integer vectors. +/// Performs a bitwise exclusive OR of two 64-bit integer vectors. /// /// \headerfile <x86intrin.h> /// @@ -1153,7 +1153,7 @@ _mm_xor_si64(__m64 __m1, __m64 __m2) return __builtin_ia32_pxor((__v1di)__m1, (__v1di)__m2); } -/// \brief Compares the 8-bit integer elements of two 64-bit integer vectors of +/// Compares the 8-bit integer elements of two 64-bit integer vectors of /// [8 x i8] to determine if the element of the first vector is equal to the /// corresponding element of the second vector. /// @@ -1175,7 +1175,7 @@ _mm_cmpeq_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpeqb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Compares the 16-bit integer elements of two 64-bit integer vectors of +/// Compares the 16-bit integer elements of two 64-bit integer vectors of /// [4 x i16] to determine if the element of the first vector is equal to the /// corresponding element of the second vector. /// @@ -1197,7 +1197,7 @@ _mm_cmpeq_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpeqw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Compares the 32-bit integer elements of two 64-bit integer vectors of +/// Compares the 32-bit integer elements of two 64-bit integer vectors of /// [2 x i32] to determine if the element of the first vector is equal to the /// corresponding element of the second vector. /// @@ -1219,7 +1219,7 @@ _mm_cmpeq_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpeqd((__v2si)__m1, (__v2si)__m2); } -/// \brief Compares the 8-bit integer elements of two 64-bit integer vectors of +/// Compares the 8-bit integer elements of two 64-bit integer vectors of /// [8 x i8] to determine if the element of the first vector is greater than /// the corresponding element of the second vector. /// @@ -1241,7 +1241,7 @@ _mm_cmpgt_pi8(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpgtb((__v8qi)__m1, (__v8qi)__m2); } -/// \brief Compares the 16-bit integer elements of two 64-bit integer vectors of +/// Compares the 16-bit integer elements of two 64-bit integer vectors of /// [4 x i16] to determine if the element of the first vector is greater than /// the corresponding element of the second vector. /// @@ -1263,7 +1263,7 @@ _mm_cmpgt_pi16(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpgtw((__v4hi)__m1, (__v4hi)__m2); } -/// \brief Compares the 32-bit integer elements of two 64-bit integer vectors of +/// Compares the 32-bit integer elements of two 64-bit integer vectors of /// [2 x i32] to determine if the element of the first vector is greater than /// the corresponding element of the second vector. /// @@ -1285,7 +1285,7 @@ _mm_cmpgt_pi32(__m64 __m1, __m64 __m2) return (__m64)__builtin_ia32_pcmpgtd((__v2si)__m1, (__v2si)__m2); } -/// \brief Constructs a 64-bit integer vector initialized to zero. +/// Constructs a 64-bit integer vector initialized to zero. /// /// \headerfile <x86intrin.h> /// @@ -1298,7 +1298,7 @@ _mm_setzero_si64(void) return (__m64){ 0LL }; } -/// \brief Constructs a 64-bit integer vector initialized with the specified +/// Constructs a 64-bit integer vector initialized with the specified /// 32-bit integer values. /// /// \headerfile <x86intrin.h> @@ -1319,7 +1319,7 @@ _mm_set_pi32(int __i1, int __i0) return (__m64)__builtin_ia32_vec_init_v2si(__i0, __i1); } -/// \brief Constructs a 64-bit integer vector initialized with the specified +/// Constructs a 64-bit integer vector initialized with the specified /// 16-bit integer values. /// /// \headerfile <x86intrin.h> @@ -1342,7 +1342,7 @@ _mm_set_pi16(short __s3, short __s2, short __s1, short __s0) return (__m64)__builtin_ia32_vec_init_v4hi(__s0, __s1, __s2, __s3); } -/// \brief Constructs a 64-bit integer vector initialized with the specified +/// Constructs a 64-bit integer vector initialized with the specified /// 8-bit integer values. /// /// \headerfile <x86intrin.h> @@ -1375,7 +1375,7 @@ _mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2, __b4, __b5, __b6, __b7); } -/// \brief Constructs a 64-bit integer vector of [2 x i32], with each of the +/// Constructs a 64-bit integer vector of [2 x i32], with each of the /// 32-bit integer vector elements set to the specified 32-bit integer /// value. /// @@ -1394,7 +1394,7 @@ _mm_set1_pi32(int __i) return _mm_set_pi32(__i, __i); } -/// \brief Constructs a 64-bit integer vector of [4 x i16], with each of the +/// Constructs a 64-bit integer vector of [4 x i16], with each of the /// 16-bit integer vector elements set to the specified 16-bit integer /// value. /// @@ -1413,7 +1413,7 @@ _mm_set1_pi16(short __w) return _mm_set_pi16(__w, __w, __w, __w); } -/// \brief Constructs a 64-bit integer vector of [8 x i8], with each of the +/// Constructs a 64-bit integer vector of [8 x i8], with each of the /// 8-bit integer vector elements set to the specified 8-bit integer value. /// /// \headerfile <x86intrin.h> @@ -1431,7 +1431,7 @@ _mm_set1_pi8(char __b) return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b); } -/// \brief Constructs a 64-bit integer vector, initialized in reverse order with +/// Constructs a 64-bit integer vector, initialized in reverse order with /// the specified 32-bit integer values. /// /// \headerfile <x86intrin.h> @@ -1452,7 +1452,7 @@ _mm_setr_pi32(int __i0, int __i1) return _mm_set_pi32(__i1, __i0); } -/// \brief Constructs a 64-bit integer vector, initialized in reverse order with +/// Constructs a 64-bit integer vector, initialized in reverse order with /// the specified 16-bit integer values. /// /// \headerfile <x86intrin.h> @@ -1475,7 +1475,7 @@ _mm_setr_pi16(short __w0, short __w1, short __w2, short __w3) return _mm_set_pi16(__w3, __w2, __w1, __w0); } -/// \brief Constructs a 64-bit integer vector, initialized in reverse order with +/// Constructs a 64-bit integer vector, initialized in reverse order with /// the specified 8-bit integer values. /// /// \headerfile <x86intrin.h> diff --git a/lib/Headers/pmmintrin.h b/lib/Headers/pmmintrin.h index 7ec08a1bcb..77101b0dc2 100644 --- a/lib/Headers/pmmintrin.h +++ b/lib/Headers/pmmintrin.h @@ -30,7 +30,7 @@ #define __DEFAULT_FN_ATTRS \ __attribute__((__always_inline__, __nodebug__, __target__("sse3"))) -/// \brief Loads data from an unaligned memory location to elements in a 128-bit +/// Loads data from an unaligned memory location to elements in a 128-bit /// vector. /// /// If the address of the data is not 16-byte aligned, the instruction may @@ -50,7 +50,7 @@ _mm_lddqu_si128(__m128i const *__p) return (__m128i)__builtin_ia32_lddqu((char const *)__p); } -/// \brief Adds the even-indexed values and subtracts the odd-indexed values of +/// Adds the even-indexed values and subtracts the odd-indexed values of /// two 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -69,7 +69,7 @@ _mm_addsub_ps(__m128 __a, __m128 __b) return __builtin_ia32_addsubps((__v4sf)__a, (__v4sf)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in two +/// Horizontally adds the adjacent pairs of values contained in two /// 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -92,7 +92,7 @@ _mm_hadd_ps(__m128 __a, __m128 __b) return __builtin_ia32_haddps((__v4sf)__a, (__v4sf)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in two +/// Horizontally subtracts the adjacent pairs of values contained in two /// 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -115,7 +115,7 @@ _mm_hsub_ps(__m128 __a, __m128 __b) return __builtin_ia32_hsubps((__v4sf)__a, (__v4sf)__b); } -/// \brief Moves and duplicates odd-indexed values from a 128-bit vector +/// Moves and duplicates odd-indexed values from a 128-bit vector /// of [4 x float] to float values stored in a 128-bit vector of /// [4 x float]. /// @@ -137,7 +137,7 @@ _mm_movehdup_ps(__m128 __a) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 1, 1, 3, 3); } -/// \brief Duplicates even-indexed values from a 128-bit vector of +/// Duplicates even-indexed values from a 128-bit vector of /// [4 x float] to float values stored in a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -158,7 +158,7 @@ _mm_moveldup_ps(__m128 __a) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 0, 2, 2); } -/// \brief Adds the even-indexed values and subtracts the odd-indexed values of +/// Adds the even-indexed values and subtracts the odd-indexed values of /// two 128-bit vectors of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -177,7 +177,7 @@ _mm_addsub_pd(__m128d __a, __m128d __b) return __builtin_ia32_addsubpd((__v2df)__a, (__v2df)__b); } -/// \brief Horizontally adds the pairs of values contained in two 128-bit +/// Horizontally adds the pairs of values contained in two 128-bit /// vectors of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -200,7 +200,7 @@ _mm_hadd_pd(__m128d __a, __m128d __b) return __builtin_ia32_haddpd((__v2df)__a, (__v2df)__b); } -/// \brief Horizontally subtracts the pairs of values contained in two 128-bit +/// Horizontally subtracts the pairs of values contained in two 128-bit /// vectors of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -223,7 +223,7 @@ _mm_hsub_pd(__m128d __a, __m128d __b) return __builtin_ia32_hsubpd((__v2df)__a, (__v2df)__b); } -/// \brief Moves and duplicates one double-precision value to double-precision +/// Moves and duplicates one double-precision value to double-precision /// values stored in a 128-bit vector of [2 x double]. /// /// \headerfile <x86intrin.h> @@ -240,7 +240,7 @@ _mm_hsub_pd(__m128d __a, __m128d __b) /// duplicated values. #define _mm_loaddup_pd(dp) _mm_load1_pd(dp) -/// \brief Moves and duplicates the double-precision value in the lower bits of +/// Moves and duplicates the double-precision value in the lower bits of /// a 128-bit vector of [2 x double] to double-precision values stored in a /// 128-bit vector of [2 x double]. /// @@ -259,7 +259,7 @@ _mm_movedup_pd(__m128d __a) return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0); } -/// \brief Establishes a linear address memory range to be monitored and puts +/// Establishes a linear address memory range to be monitored and puts /// the processor in the monitor event pending state. Data stored in the /// monitored address range causes the processor to exit the pending state. /// @@ -280,7 +280,7 @@ _mm_monitor(void const *__p, unsigned __extensions, unsigned __hints) __builtin_ia32_monitor((void *)__p, __extensions, __hints); } -/// \brief Used with the MONITOR instruction to wait while the processor is in +/// Used with the MONITOR instruction to wait while the processor is in /// the monitor event pending state. Data stored in the monitored address /// range causes the processor to exit the pending state. /// diff --git a/lib/Headers/popcntintrin.h b/lib/Headers/popcntintrin.h index 72ed38dc1f..75ceab9e15 100644 --- a/lib/Headers/popcntintrin.h +++ b/lib/Headers/popcntintrin.h @@ -27,7 +27,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("popcnt"))) -/// \brief Counts the number of bits in the source operand having a value of 1. +/// Counts the number of bits in the source operand having a value of 1. /// /// \headerfile <x86intrin.h> /// @@ -43,7 +43,7 @@ _mm_popcnt_u32(unsigned int __A) return __builtin_popcount(__A); } -/// \brief Counts the number of bits in the source operand having a value of 1. +/// Counts the number of bits in the source operand having a value of 1. /// /// \headerfile <x86intrin.h> /// @@ -60,7 +60,7 @@ _popcnt32(int __A) } #ifdef __x86_64__ -/// \brief Counts the number of bits in the source operand having a value of 1. +/// Counts the number of bits in the source operand having a value of 1. /// /// \headerfile <x86intrin.h> /// @@ -76,7 +76,7 @@ _mm_popcnt_u64(unsigned long long __A) return __builtin_popcountll(__A); } -/// \brief Counts the number of bits in the source operand having a value of 1. +/// Counts the number of bits in the source operand having a value of 1. /// /// \headerfile <x86intrin.h> /// diff --git a/lib/Headers/prfchwintrin.h b/lib/Headers/prfchwintrin.h index b52f31da27..95662994b8 100644 --- a/lib/Headers/prfchwintrin.h +++ b/lib/Headers/prfchwintrin.h @@ -29,7 +29,7 @@ #define __PRFCHWINTRIN_H #if defined(__PRFCHW__) || defined(__3dNOW__) -/// \brief Loads a memory sequence containing the specified memory address into +/// Loads a memory sequence containing the specified memory address into /// all data cache levels. The cache-coherency state is set to exclusive. /// Data can be read from and written to the cache line without additional /// delay. @@ -46,7 +46,7 @@ _m_prefetch(void *__P) __builtin_prefetch (__P, 0, 3 /* _MM_HINT_T0 */); } -/// \brief Loads a memory sequence containing the specified memory address into +/// Loads a memory sequence containing the specified memory address into /// the L1 data cache and sets the cache-coherency to modified. This /// provides a hint to the processor that the cache line will be modified. /// It is intended for use when the cache line will be written to shortly diff --git a/lib/Headers/smmintrin.h b/lib/Headers/smmintrin.h index 4b84bae2f1..b2053bc736 100644 --- a/lib/Headers/smmintrin.h +++ b/lib/Headers/smmintrin.h @@ -46,7 +46,7 @@ #define _MM_FROUND_RINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_CUR_DIRECTION) #define _MM_FROUND_NEARBYINT (_MM_FROUND_NO_EXC | _MM_FROUND_CUR_DIRECTION) -/// \brief Rounds up each element of the 128-bit vector of [4 x float] to an +/// Rounds up each element of the 128-bit vector of [4 x float] to an /// integer and returns the rounded values in a 128-bit vector of /// [4 x float]. /// @@ -63,7 +63,7 @@ /// \returns A 128-bit vector of [4 x float] containing the rounded values. #define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL) -/// \brief Rounds up each element of the 128-bit vector of [2 x double] to an +/// Rounds up each element of the 128-bit vector of [2 x double] to an /// integer and returns the rounded values in a 128-bit vector of /// [2 x double]. /// @@ -80,7 +80,7 @@ /// \returns A 128-bit vector of [2 x double] containing the rounded values. #define _mm_ceil_pd(X) _mm_round_pd((X), _MM_FROUND_CEIL) -/// \brief Copies three upper elements of the first 128-bit vector operand to +/// Copies three upper elements of the first 128-bit vector operand to /// the corresponding three upper elements of the 128-bit result vector of /// [4 x float]. Rounds up the lowest element of the second 128-bit vector /// operand to an integer and copies it to the lowest element of the 128-bit @@ -105,7 +105,7 @@ /// values. #define _mm_ceil_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_CEIL) -/// \brief Copies the upper element of the first 128-bit vector operand to the +/// Copies the upper element of the first 128-bit vector operand to the /// corresponding upper element of the 128-bit result vector of [2 x double]. /// Rounds up the lower element of the second 128-bit vector operand to an /// integer and copies it to the lower element of the 128-bit result vector @@ -130,7 +130,7 @@ /// values. #define _mm_ceil_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_CEIL) -/// \brief Rounds down each element of the 128-bit vector of [4 x float] to an +/// Rounds down each element of the 128-bit vector of [4 x float] to an /// an integer and returns the rounded values in a 128-bit vector of /// [4 x float]. /// @@ -147,7 +147,7 @@ /// \returns A 128-bit vector of [4 x float] containing the rounded values. #define _mm_floor_ps(X) _mm_round_ps((X), _MM_FROUND_FLOOR) -/// \brief Rounds down each element of the 128-bit vector of [2 x double] to an +/// Rounds down each element of the 128-bit vector of [2 x double] to an /// integer and returns the rounded values in a 128-bit vector of /// [2 x double]. /// @@ -164,7 +164,7 @@ /// \returns A 128-bit vector of [2 x double] containing the rounded values. #define _mm_floor_pd(X) _mm_round_pd((X), _MM_FROUND_FLOOR) -/// \brief Copies three upper elements of the first 128-bit vector operand to +/// Copies three upper elements of the first 128-bit vector operand to /// the corresponding three upper elements of the 128-bit result vector of /// [4 x float]. Rounds down the lowest element of the second 128-bit vector /// operand to an integer and copies it to the lowest element of the 128-bit @@ -189,7 +189,7 @@ /// values. #define _mm_floor_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_FLOOR) -/// \brief Copies the upper element of the first 128-bit vector operand to the +/// Copies the upper element of the first 128-bit vector operand to the /// corresponding upper element of the 128-bit result vector of [2 x double]. /// Rounds down the lower element of the second 128-bit vector operand to an /// integer and copies it to the lower element of the 128-bit result vector @@ -214,7 +214,7 @@ /// values. #define _mm_floor_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_FLOOR) -/// \brief Rounds each element of the 128-bit vector of [4 x float] to an +/// Rounds each element of the 128-bit vector of [4 x float] to an /// integer value according to the rounding control specified by the second /// argument and returns the rounded values in a 128-bit vector of /// [4 x float]. @@ -247,7 +247,7 @@ #define _mm_round_ps(X, M) __extension__ ({ \ (__m128)__builtin_ia32_roundps((__v4sf)(__m128)(X), (M)); }) -/// \brief Copies three upper elements of the first 128-bit vector operand to +/// Copies three upper elements of the first 128-bit vector operand to /// the corresponding three upper elements of the 128-bit result vector of /// [4 x float]. Rounds the lowest element of the second 128-bit vector /// operand to an integer value according to the rounding control specified @@ -289,7 +289,7 @@ (__m128)__builtin_ia32_roundss((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), (M)); }) -/// \brief Rounds each element of the 128-bit vector of [2 x double] to an +/// Rounds each element of the 128-bit vector of [2 x double] to an /// integer value according to the rounding control specified by the second /// argument and returns the rounded values in a 128-bit vector of /// [2 x double]. @@ -322,7 +322,7 @@ #define _mm_round_pd(X, M) __extension__ ({ \ (__m128d)__builtin_ia32_roundpd((__v2df)(__m128d)(X), (M)); }) -/// \brief Copies the upper element of the first 128-bit vector operand to the +/// Copies the upper element of the first 128-bit vector operand to the /// corresponding upper element of the 128-bit result vector of [2 x double]. /// Rounds the lower element of the second 128-bit vector operand to an /// integer value according to the rounding control specified by the third @@ -365,7 +365,7 @@ (__v2df)(__m128d)(Y), (M)); }) /* SSE4 Packed Blending Intrinsics. */ -/// \brief Returns a 128-bit vector of [2 x double] where the values are +/// Returns a 128-bit vector of [2 x double] where the values are /// selected from either the first or second operand as specified by the /// third operand, the control mask. /// @@ -395,7 +395,7 @@ (((M) & 0x01) ? 2 : 0), \ (((M) & 0x02) ? 3 : 1)); }) -/// \brief Returns a 128-bit vector of [4 x float] where the values are selected +/// Returns a 128-bit vector of [4 x float] where the values are selected /// from either the first or second operand as specified by the third /// operand, the control mask. /// @@ -426,7 +426,7 @@ (((M) & 0x04) ? 6 : 2), \ (((M) & 0x08) ? 7 : 3)); }) -/// \brief Returns a 128-bit vector of [2 x double] where the values are +/// Returns a 128-bit vector of [2 x double] where the values are /// selected from either the first or second operand as specified by the /// third operand, the control mask. /// @@ -453,7 +453,7 @@ _mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M) (__v2df)__M); } -/// \brief Returns a 128-bit vector of [4 x float] where the values are +/// Returns a 128-bit vector of [4 x float] where the values are /// selected from either the first or second operand as specified by the /// third operand, the control mask. /// @@ -480,7 +480,7 @@ _mm_blendv_ps (__m128 __V1, __m128 __V2, __m128 __M) (__v4sf)__M); } -/// \brief Returns a 128-bit vector of [16 x i8] where the values are selected +/// Returns a 128-bit vector of [16 x i8] where the values are selected /// from either of the first or second operand as specified by the third /// operand, the control mask. /// @@ -507,7 +507,7 @@ _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M) (__v16qi)__M); } -/// \brief Returns a 128-bit vector of [8 x i16] where the values are selected +/// Returns a 128-bit vector of [8 x i16] where the values are selected /// from either of the first or second operand as specified by the third /// operand, the control mask. /// @@ -544,7 +544,7 @@ _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M) (((M) & 0x80) ? 15 : 7)); }) /* SSE4 Dword Multiply Instructions. */ -/// \brief Multiples corresponding elements of two 128-bit vectors of [4 x i32] +/// Multiples corresponding elements of two 128-bit vectors of [4 x i32] /// and returns the lower 32 bits of the each product in a 128-bit vector of /// [4 x i32]. /// @@ -563,7 +563,7 @@ _mm_mullo_epi32 (__m128i __V1, __m128i __V2) return (__m128i) ((__v4su)__V1 * (__v4su)__V2); } -/// \brief Multiplies corresponding even-indexed elements of two 128-bit +/// Multiplies corresponding even-indexed elements of two 128-bit /// vectors of [4 x i32] and returns a 128-bit vector of [2 x i64] /// containing the products. /// @@ -584,7 +584,7 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2) } /* SSE4 Floating Point Dot Product Instructions. */ -/// \brief Computes the dot product of the two 128-bit vectors of [4 x float] +/// Computes the dot product of the two 128-bit vectors of [4 x float] /// and returns it in the elements of the 128-bit result vector of /// [4 x float]. /// @@ -620,7 +620,7 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2) (__m128) __builtin_ia32_dpps((__v4sf)(__m128)(X), \ (__v4sf)(__m128)(Y), (M)); }) -/// \brief Computes the dot product of the two 128-bit vectors of [2 x double] +/// Computes the dot product of the two 128-bit vectors of [2 x double] /// and returns it in the elements of the 128-bit result vector of /// [2 x double]. /// @@ -656,7 +656,7 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2) (__v2df)(__m128d)(Y), (M)); }) /* SSE4 Streaming Load Hint Instruction. */ -/// \brief Loads integer values from a 128-bit aligned memory location to a +/// Loads integer values from a 128-bit aligned memory location to a /// 128-bit integer vector. /// /// \headerfile <x86intrin.h> @@ -675,7 +675,7 @@ _mm_stream_load_si128 (__m128i const *__V) } /* SSE4 Packed Integer Min/Max Instructions. */ -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [16 x i8] and returns a 128-bit vector of [16 x i8] containing the lesser /// of the two values. /// @@ -694,7 +694,7 @@ _mm_min_epi8 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pminsb128 ((__v16qi) __V1, (__v16qi) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [16 x i8] and returns a 128-bit vector of [16 x i8] containing the /// greater value of the two. /// @@ -713,7 +713,7 @@ _mm_max_epi8 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi) __V1, (__v16qi) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [8 x u16] and returns a 128-bit vector of [8 x u16] containing the lesser /// value of the two. /// @@ -732,7 +732,7 @@ _mm_min_epu16 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pminuw128 ((__v8hi) __V1, (__v8hi) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [8 x u16] and returns a 128-bit vector of [8 x u16] containing the /// greater value of the two. /// @@ -751,7 +751,7 @@ _mm_max_epu16 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi) __V1, (__v8hi) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [4 x i32] and returns a 128-bit vector of [4 x i32] containing the lesser /// value of the two. /// @@ -770,7 +770,7 @@ _mm_min_epi32 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pminsd128 ((__v4si) __V1, (__v4si) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [4 x i32] and returns a 128-bit vector of [4 x i32] containing the /// greater value of the two. /// @@ -789,7 +789,7 @@ _mm_max_epi32 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si) __V1, (__v4si) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [4 x u32] and returns a 128-bit vector of [4 x u32] containing the lesser /// value of the two. /// @@ -808,7 +808,7 @@ _mm_min_epu32 (__m128i __V1, __m128i __V2) return (__m128i) __builtin_ia32_pminud128((__v4si) __V1, (__v4si) __V2); } -/// \brief Compares the corresponding elements of two 128-bit vectors of +/// Compares the corresponding elements of two 128-bit vectors of /// [4 x u32] and returns a 128-bit vector of [4 x u32] containing the /// greater value of the two. /// @@ -828,7 +828,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) } /* SSE4 Insertion and Extraction from XMM Register Instructions. */ -/// \brief Takes the first argument \a X and inserts an element from the second +/// Takes the first argument \a X and inserts an element from the second /// argument \a Y as selected by the third argument \a N. That result then /// has elements zeroed out also as selected by the third argument \a N. The /// resulting 128-bit vector of [4 x float] is then returned. @@ -870,7 +870,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) /// single-precision floating point elements from the operands. #define _mm_insert_ps(X, Y, N) __builtin_ia32_insertps128((X), (Y), (N)) -/// \brief Extracts a 32-bit integer from a 128-bit vector of [4 x float] and +/// Extracts a 32-bit integer from a 128-bit vector of [4 x float] and /// returns it, using the immediate value parameter \a N as a selector. /// /// \headerfile <x86intrin.h> @@ -912,7 +912,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) _MM_MK_INSERTPS_NDX((N), 0, 0x0e)) /* Insert int into packed integer array at index. */ -/// \brief Constructs a 128-bit vector of [16 x i8] by first making a copy of +/// Constructs a 128-bit vector of [16 x i8] by first making a copy of /// the 128-bit integer vector parameter, and then inserting the lower 8 bits /// of an integer parameter \a I into an offset specified by the immediate /// value parameter \a N. @@ -957,7 +957,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) __a[(N) & 15] = (I); \ (__m128i)__a;})) -/// \brief Constructs a 128-bit vector of [4 x i32] by first making a copy of +/// Constructs a 128-bit vector of [4 x i32] by first making a copy of /// the 128-bit integer vector parameter, and then inserting the 32-bit /// integer parameter \a I at the offset specified by the immediate value /// parameter \a N. @@ -991,7 +991,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) (__m128i)__a;})) #ifdef __x86_64__ -/// \brief Constructs a 128-bit vector of [2 x i64] by first making a copy of +/// Constructs a 128-bit vector of [2 x i64] by first making a copy of /// the 128-bit integer vector parameter, and then inserting the 64-bit /// integer parameter \a I, using the immediate value parameter \a N as an /// insertion location selector. @@ -1026,7 +1026,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) /* Extract int from packed integer array at index. This returns the element * as a zero extended value, so it is unsigned. */ -/// \brief Extracts an 8-bit element from the 128-bit integer vector of +/// Extracts an 8-bit element from the 128-bit integer vector of /// [16 x i8], using the immediate value parameter \a N as a selector. /// /// \headerfile <x86intrin.h> @@ -1065,7 +1065,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) ({ __v16qi __a = (__v16qi)(__m128i)(X); \ (int)(unsigned char) __a[(N) & 15];})) -/// \brief Extracts a 32-bit element from the 128-bit integer vector of +/// Extracts a 32-bit element from the 128-bit integer vector of /// [4 x i32], using the immediate value parameter \a N as a selector. /// /// \headerfile <x86intrin.h> @@ -1092,7 +1092,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) (int)__a[(N) & 3];})) #ifdef __x86_64__ -/// \brief Extracts a 64-bit element from the 128-bit integer vector of +/// Extracts a 64-bit element from the 128-bit integer vector of /// [2 x i64], using the immediate value parameter \a N as a selector. /// /// \headerfile <x86intrin.h> @@ -1117,7 +1117,7 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2) #endif /* __x86_64 */ /* SSE4 128-bit Packed Integer Comparisons. */ -/// \brief Tests whether the specified bits in a 128-bit integer vector are all +/// Tests whether the specified bits in a 128-bit integer vector are all /// zeros. /// /// \headerfile <x86intrin.h> @@ -1135,7 +1135,7 @@ _mm_testz_si128(__m128i __M, __m128i __V) return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V); } -/// \brief Tests whether the specified bits in a 128-bit integer vector are all +/// Tests whether the specified bits in a 128-bit integer vector are all /// ones. /// /// \headerfile <x86intrin.h> @@ -1153,7 +1153,7 @@ _mm_testc_si128(__m128i __M, __m128i __V) return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V); } -/// \brief Tests whether the specified bits in a 128-bit integer vector are +/// Tests whether the specified bits in a 128-bit integer vector are /// neither all zeros nor all ones. /// /// \headerfile <x86intrin.h> @@ -1172,7 +1172,7 @@ _mm_testnzc_si128(__m128i __M, __m128i __V) return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V); } -/// \brief Tests whether the specified bits in a 128-bit integer vector are all +/// Tests whether the specified bits in a 128-bit integer vector are all /// ones. /// /// \headerfile <x86intrin.h> @@ -1189,7 +1189,7 @@ _mm_testnzc_si128(__m128i __M, __m128i __V) /// otherwise. #define _mm_test_all_ones(V) _mm_testc_si128((V), _mm_cmpeq_epi32((V), (V))) -/// \brief Tests whether the specified bits in a 128-bit integer vector are +/// Tests whether the specified bits in a 128-bit integer vector are /// neither all zeros nor all ones. /// /// \headerfile <x86intrin.h> @@ -1208,7 +1208,7 @@ _mm_testnzc_si128(__m128i __M, __m128i __V) /// FALSE otherwise. #define _mm_test_mix_ones_zeros(M, V) _mm_testnzc_si128((M), (V)) -/// \brief Tests whether the specified bits in a 128-bit integer vector are all +/// Tests whether the specified bits in a 128-bit integer vector are all /// zeros. /// /// \headerfile <x86intrin.h> @@ -1227,7 +1227,7 @@ _mm_testnzc_si128(__m128i __M, __m128i __V) #define _mm_test_all_zeros(M, V) _mm_testz_si128 ((M), (V)) /* SSE4 64-bit Packed Integer Comparisons. */ -/// \brief Compares each of the corresponding 64-bit values of the 128-bit +/// Compares each of the corresponding 64-bit values of the 128-bit /// integer vectors for equality. /// /// \headerfile <x86intrin.h> @@ -1246,7 +1246,7 @@ _mm_cmpeq_epi64(__m128i __V1, __m128i __V2) } /* SSE4 Packed Integer Sign-Extension. */ -/// \brief Sign-extends each of the lower eight 8-bit integer elements of a +/// Sign-extends each of the lower eight 8-bit integer elements of a /// 128-bit vector of [16 x i8] to 16-bit values and returns them in a /// 128-bit vector of [8 x i16]. The upper eight elements of the input vector /// are unused. @@ -1267,7 +1267,7 @@ _mm_cvtepi8_epi16(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8hi); } -/// \brief Sign-extends each of the lower four 8-bit integer elements of a +/// Sign-extends each of the lower four 8-bit integer elements of a /// 128-bit vector of [16 x i8] to 32-bit values and returns them in a /// 128-bit vector of [4 x i32]. The upper twelve elements of the input /// vector are unused. @@ -1288,7 +1288,7 @@ _mm_cvtepi8_epi32(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4si); } -/// \brief Sign-extends each of the lower two 8-bit integer elements of a +/// Sign-extends each of the lower two 8-bit integer elements of a /// 128-bit integer vector of [16 x i8] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper fourteen elements of the input /// vector are unused. @@ -1309,7 +1309,7 @@ _mm_cvtepi8_epi64(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1), __v2di); } -/// \brief Sign-extends each of the lower four 16-bit integer elements of a +/// Sign-extends each of the lower four 16-bit integer elements of a /// 128-bit integer vector of [8 x i16] to 32-bit values and returns them in /// a 128-bit vector of [4 x i32]. The upper four elements of the input /// vector are unused. @@ -1328,7 +1328,7 @@ _mm_cvtepi16_epi32(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4si); } -/// \brief Sign-extends each of the lower two 16-bit integer elements of a +/// Sign-extends each of the lower two 16-bit integer elements of a /// 128-bit integer vector of [8 x i16] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper six elements of the input /// vector are unused. @@ -1347,7 +1347,7 @@ _mm_cvtepi16_epi64(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1), __v2di); } -/// \brief Sign-extends each of the lower two 32-bit integer elements of a +/// Sign-extends each of the lower two 32-bit integer elements of a /// 128-bit integer vector of [4 x i32] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper two elements of the input vector /// are unused. @@ -1367,7 +1367,7 @@ _mm_cvtepi32_epi64(__m128i __V) } /* SSE4 Packed Integer Zero-Extension. */ -/// \brief Zero-extends each of the lower eight 8-bit integer elements of a +/// Zero-extends each of the lower eight 8-bit integer elements of a /// 128-bit vector of [16 x i8] to 16-bit values and returns them in a /// 128-bit vector of [8 x i16]. The upper eight elements of the input vector /// are unused. @@ -1386,7 +1386,7 @@ _mm_cvtepu8_epi16(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8hi); } -/// \brief Zero-extends each of the lower four 8-bit integer elements of a +/// Zero-extends each of the lower four 8-bit integer elements of a /// 128-bit vector of [16 x i8] to 32-bit values and returns them in a /// 128-bit vector of [4 x i32]. The upper twelve elements of the input /// vector are unused. @@ -1405,7 +1405,7 @@ _mm_cvtepu8_epi32(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4si); } -/// \brief Zero-extends each of the lower two 8-bit integer elements of a +/// Zero-extends each of the lower two 8-bit integer elements of a /// 128-bit integer vector of [16 x i8] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper fourteen elements of the input /// vector are unused. @@ -1424,7 +1424,7 @@ _mm_cvtepu8_epi64(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1), __v2di); } -/// \brief Zero-extends each of the lower four 16-bit integer elements of a +/// Zero-extends each of the lower four 16-bit integer elements of a /// 128-bit integer vector of [8 x i16] to 32-bit values and returns them in /// a 128-bit vector of [4 x i32]. The upper four elements of the input /// vector are unused. @@ -1443,7 +1443,7 @@ _mm_cvtepu16_epi32(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4si); } -/// \brief Zero-extends each of the lower two 16-bit integer elements of a +/// Zero-extends each of the lower two 16-bit integer elements of a /// 128-bit integer vector of [8 x i16] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper six elements of the input vector /// are unused. @@ -1462,7 +1462,7 @@ _mm_cvtepu16_epi64(__m128i __V) return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1), __v2di); } -/// \brief Zero-extends each of the lower two 32-bit integer elements of a +/// Zero-extends each of the lower two 32-bit integer elements of a /// 128-bit integer vector of [4 x i32] to 64-bit values and returns them in /// a 128-bit vector of [2 x i64]. The upper two elements of the input vector /// are unused. @@ -1482,7 +1482,7 @@ _mm_cvtepu32_epi64(__m128i __V) } /* SSE4 Pack with Unsigned Saturation. */ -/// \brief Converts 32-bit signed integers from both 128-bit integer vector +/// Converts 32-bit signed integers from both 128-bit integer vector /// operands into 16-bit unsigned integers, and returns the packed result. /// Values greater than 0xFFFF are saturated to 0xFFFF. Values less than /// 0x0000 are saturated to 0x0000. @@ -1511,7 +1511,7 @@ _mm_packus_epi32(__m128i __V1, __m128i __V2) } /* SSE4 Multiple Packed Sums of Absolute Difference. */ -/// \brief Subtracts 8-bit unsigned integer values and computes the absolute +/// Subtracts 8-bit unsigned integer values and computes the absolute /// values of the differences to the corresponding bits in the destination. /// Then sums of the absolute differences are returned according to the bit /// fields in the immediate operand. @@ -1550,7 +1550,7 @@ _mm_packus_epi32(__m128i __V1, __m128i __V2) (__m128i) __builtin_ia32_mpsadbw128((__v16qi)(__m128i)(X), \ (__v16qi)(__m128i)(Y), (M)); }) -/// \brief Finds the minimum unsigned 16-bit element in the input 128-bit +/// Finds the minimum unsigned 16-bit element in the input 128-bit /// vector of [8 x u16] and returns it and along with its index. /// /// \headerfile <x86intrin.h> @@ -1604,7 +1604,7 @@ _mm_minpos_epu16(__m128i __V) #define _SIDD_UNIT_MASK 0x40 /* SSE4.2 Packed Comparison Intrinsics. */ -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns a 128-bit integer vector representing the result /// mask of the comparison. @@ -1660,7 +1660,7 @@ _mm_minpos_epu16(__m128i __V) (__m128i)__builtin_ia32_pcmpistrm128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns an integer representing the result index of the /// comparison. @@ -1714,7 +1714,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistri128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns a 128-bit integer vector representing the result /// mask of the comparison. @@ -1775,7 +1775,7 @@ _mm_minpos_epu16(__m128i __V) (__v16qi)(__m128i)(B), (int)(LB), \ (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns an integer representing the result index of the /// comparison. @@ -1835,7 +1835,7 @@ _mm_minpos_epu16(__m128i __V) (int)(M)) /* SSE4.2 Packed Comparison Intrinsics and EFlag Reading. */ -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the bit mask is zero and the length of the /// string in \a B is the maximum, otherwise, returns 0. @@ -1885,7 +1885,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistria128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the bit mask is non-zero, otherwise, returns /// 0. @@ -1934,7 +1934,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistric128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns bit 0 of the resulting bit mask. /// @@ -1982,7 +1982,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistrio128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the length of the string in \a A is less than /// the maximum, otherwise, returns 0. @@ -2032,7 +2032,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistris128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with implicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the length of the string in \a B is less than /// the maximum, otherwise, returns 0. @@ -2082,7 +2082,7 @@ _mm_minpos_epu16(__m128i __V) (int)__builtin_ia32_pcmpistriz128((__v16qi)(__m128i)(A), \ (__v16qi)(__m128i)(B), (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the bit mask is zero and the length of the /// string in \a B is the maximum, otherwise, returns 0. @@ -2137,7 +2137,7 @@ _mm_minpos_epu16(__m128i __V) (__v16qi)(__m128i)(B), (int)(LB), \ (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the resulting mask is non-zero, otherwise, /// returns 0. @@ -2191,7 +2191,7 @@ _mm_minpos_epu16(__m128i __V) (__v16qi)(__m128i)(B), (int)(LB), \ (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns bit 0 of the resulting bit mask. /// @@ -2244,7 +2244,7 @@ _mm_minpos_epu16(__m128i __V) (__v16qi)(__m128i)(B), (int)(LB), \ (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the length of the string in \a A is less than /// the maximum, otherwise, returns 0. @@ -2299,7 +2299,7 @@ _mm_minpos_epu16(__m128i __V) (__v16qi)(__m128i)(B), (int)(LB), \ (int)(M)) -/// \brief Uses the immediate operand \a M to perform a comparison of string +/// Uses the immediate operand \a M to perform a comparison of string /// data with explicitly defined lengths that is contained in source operands /// \a A and \a B. Returns 1 if the length of the string in \a B is less than /// the maximum, otherwise, returns 0. @@ -2354,7 +2354,7 @@ _mm_minpos_epu16(__m128i __V) (int)(M)) /* SSE4.2 Compare Packed Data -- Greater Than. */ -/// \brief Compares each of the corresponding 64-bit values of the 128-bit +/// Compares each of the corresponding 64-bit values of the 128-bit /// integer vectors to determine if the values in the first operand are /// greater than those in the second operand. /// @@ -2374,7 +2374,7 @@ _mm_cmpgt_epi64(__m128i __V1, __m128i __V2) } /* SSE4.2 Accumulate CRC32. */ -/// \brief Adds the unsigned integer operand to the CRC-32C checksum of the +/// Adds the unsigned integer operand to the CRC-32C checksum of the /// unsigned char operand. /// /// \headerfile <x86intrin.h> @@ -2394,7 +2394,7 @@ _mm_crc32_u8(unsigned int __C, unsigned char __D) return __builtin_ia32_crc32qi(__C, __D); } -/// \brief Adds the unsigned integer operand to the CRC-32C checksum of the +/// Adds the unsigned integer operand to the CRC-32C checksum of the /// unsigned short operand. /// /// \headerfile <x86intrin.h> @@ -2414,7 +2414,7 @@ _mm_crc32_u16(unsigned int __C, unsigned short __D) return __builtin_ia32_crc32hi(__C, __D); } -/// \brief Adds the first unsigned integer operand to the CRC-32C checksum of +/// Adds the first unsigned integer operand to the CRC-32C checksum of /// the second unsigned integer operand. /// /// \headerfile <x86intrin.h> @@ -2435,7 +2435,7 @@ _mm_crc32_u32(unsigned int __C, unsigned int __D) } #ifdef __x86_64__ -/// \brief Adds the unsigned integer operand to the CRC-32C checksum of the +/// Adds the unsigned integer operand to the CRC-32C checksum of the /// unsigned 64-bit integer operand. /// /// \headerfile <x86intrin.h> diff --git a/lib/Headers/tmmintrin.h b/lib/Headers/tmmintrin.h index 97d61488e0..90e4773fde 100644 --- a/lib/Headers/tmmintrin.h +++ b/lib/Headers/tmmintrin.h @@ -29,7 +29,7 @@ /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("ssse3"))) -/// \brief Computes the absolute value of each of the packed 8-bit signed +/// Computes the absolute value of each of the packed 8-bit signed /// integers in the source operand and stores the 8-bit unsigned integer /// results in the destination. /// @@ -47,7 +47,7 @@ _mm_abs_pi8(__m64 __a) return (__m64)__builtin_ia32_pabsb((__v8qi)__a); } -/// \brief Computes the absolute value of each of the packed 8-bit signed +/// Computes the absolute value of each of the packed 8-bit signed /// integers in the source operand and stores the 8-bit unsigned integer /// results in the destination. /// @@ -65,7 +65,7 @@ _mm_abs_epi8(__m128i __a) return (__m128i)__builtin_ia32_pabsb128((__v16qi)__a); } -/// \brief Computes the absolute value of each of the packed 16-bit signed +/// Computes the absolute value of each of the packed 16-bit signed /// integers in the source operand and stores the 16-bit unsigned integer /// results in the destination. /// @@ -83,7 +83,7 @@ _mm_abs_pi16(__m64 __a) return (__m64)__builtin_ia32_pabsw((__v4hi)__a); } -/// \brief Computes the absolute value of each of the packed 16-bit signed +/// Computes the absolute value of each of the packed 16-bit signed /// integers in the source operand and stores the 16-bit unsigned integer /// results in the destination. /// @@ -101,7 +101,7 @@ _mm_abs_epi16(__m128i __a) return (__m128i)__builtin_ia32_pabsw128((__v8hi)__a); } -/// \brief Computes the absolute value of each of the packed 32-bit signed +/// Computes the absolute value of each of the packed 32-bit signed /// integers in the source operand and stores the 32-bit unsigned integer /// results in the destination. /// @@ -119,7 +119,7 @@ _mm_abs_pi32(__m64 __a) return (__m64)__builtin_ia32_pabsd((__v2si)__a); } -/// \brief Computes the absolute value of each of the packed 32-bit signed +/// Computes the absolute value of each of the packed 32-bit signed /// integers in the source operand and stores the 32-bit unsigned integer /// results in the destination. /// @@ -137,7 +137,7 @@ _mm_abs_epi32(__m128i __a) return (__m128i)__builtin_ia32_pabsd128((__v4si)__a); } -/// \brief Concatenates the two 128-bit integer vector operands, and +/// Concatenates the two 128-bit integer vector operands, and /// right-shifts the result by the number of bytes specified in the immediate /// operand. /// @@ -161,7 +161,7 @@ _mm_abs_epi32(__m128i __a) (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \ (__v16qi)(__m128i)(b), (n)); }) -/// \brief Concatenates the two 64-bit integer vector operands, and right-shifts +/// Concatenates the two 64-bit integer vector operands, and right-shifts /// the result by the number of bytes specified in the immediate operand. /// /// \headerfile <x86intrin.h> @@ -183,7 +183,7 @@ _mm_abs_epi32(__m128i __a) #define _mm_alignr_pi8(a, b, n) __extension__ ({ \ (__m64)__builtin_ia32_palignr((__v8qi)(__m64)(a), (__v8qi)(__m64)(b), (n)); }) -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 128-bit vectors of [8 x i16]. /// /// \headerfile <x86intrin.h> @@ -206,7 +206,7 @@ _mm_hadd_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phaddw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 128-bit vectors of [4 x i32]. /// /// \headerfile <x86intrin.h> @@ -229,7 +229,7 @@ _mm_hadd_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phaddd128((__v4si)__a, (__v4si)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 64-bit vectors of [4 x i16]. /// /// \headerfile <x86intrin.h> @@ -252,7 +252,7 @@ _mm_hadd_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phaddw((__v4hi)__a, (__v4hi)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 64-bit vectors of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -275,7 +275,7 @@ _mm_hadd_pi32(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phaddd((__v2si)__a, (__v2si)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 128-bit vectors of [8 x i16]. Positive sums greater than 0x7FFF are /// saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to /// 0x8000. @@ -300,7 +300,7 @@ _mm_hadds_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phaddsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Horizontally adds the adjacent pairs of values contained in 2 packed +/// Horizontally adds the adjacent pairs of values contained in 2 packed /// 64-bit vectors of [4 x i16]. Positive sums greater than 0x7FFF are /// saturated to 0x7FFF. Negative sums less than 0x8000 are saturated to /// 0x8000. @@ -325,7 +325,7 @@ _mm_hadds_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phaddsw((__v4hi)__a, (__v4hi)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 128-bit vectors of [8 x i16]. /// /// \headerfile <x86intrin.h> @@ -348,7 +348,7 @@ _mm_hsub_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phsubw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 128-bit vectors of [4 x i32]. /// /// \headerfile <x86intrin.h> @@ -371,7 +371,7 @@ _mm_hsub_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phsubd128((__v4si)__a, (__v4si)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 64-bit vectors of [4 x i16]. /// /// \headerfile <x86intrin.h> @@ -394,7 +394,7 @@ _mm_hsub_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phsubw((__v4hi)__a, (__v4hi)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 64-bit vectors of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -417,7 +417,7 @@ _mm_hsub_pi32(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phsubd((__v2si)__a, (__v2si)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 128-bit vectors of [8 x i16]. Positive differences greater than /// 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are /// saturated to 0x8000. @@ -442,7 +442,7 @@ _mm_hsubs_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_phsubsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Horizontally subtracts the adjacent pairs of values contained in 2 +/// Horizontally subtracts the adjacent pairs of values contained in 2 /// packed 64-bit vectors of [4 x i16]. Positive differences greater than /// 0x7FFF are saturated to 0x7FFF. Negative differences less than 0x8000 are /// saturated to 0x8000. @@ -467,7 +467,7 @@ _mm_hsubs_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_phsubsw((__v4hi)__a, (__v4hi)__b); } -/// \brief Multiplies corresponding pairs of packed 8-bit unsigned integer +/// Multiplies corresponding pairs of packed 8-bit unsigned integer /// values contained in the first source operand and packed 8-bit signed /// integer values contained in the second source operand, adds pairs of /// contiguous products with signed saturation, and writes the 16-bit sums to @@ -501,7 +501,7 @@ _mm_maddubs_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmaddubsw128((__v16qi)__a, (__v16qi)__b); } -/// \brief Multiplies corresponding pairs of packed 8-bit unsigned integer +/// Multiplies corresponding pairs of packed 8-bit unsigned integer /// values contained in the first source operand and packed 8-bit signed /// integer values contained in the second source operand, adds pairs of /// contiguous products with signed saturation, and writes the 16-bit sums to @@ -531,7 +531,7 @@ _mm_maddubs_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pmaddubsw((__v8qi)__a, (__v8qi)__b); } -/// \brief Multiplies packed 16-bit signed integer values, truncates the 32-bit +/// Multiplies packed 16-bit signed integer values, truncates the 32-bit /// products to the 18 most significant bits by right-shifting, rounds the /// truncated value by adding 1, and writes bits [16:1] to the destination. /// @@ -551,7 +551,7 @@ _mm_mulhrs_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pmulhrsw128((__v8hi)__a, (__v8hi)__b); } -/// \brief Multiplies packed 16-bit signed integer values, truncates the 32-bit +/// Multiplies packed 16-bit signed integer values, truncates the 32-bit /// products to the 18 most significant bits by right-shifting, rounds the /// truncated value by adding 1, and writes bits [16:1] to the destination. /// @@ -571,7 +571,7 @@ _mm_mulhrs_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pmulhrsw((__v4hi)__a, (__v4hi)__b); } -/// \brief Copies the 8-bit integers from a 128-bit integer vector to the +/// Copies the 8-bit integers from a 128-bit integer vector to the /// destination or clears 8-bit values in the destination, as specified by /// the second source operand. /// @@ -597,7 +597,7 @@ _mm_shuffle_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_pshufb128((__v16qi)__a, (__v16qi)__b); } -/// \brief Copies the 8-bit integers from a 64-bit integer vector to the +/// Copies the 8-bit integers from a 64-bit integer vector to the /// destination or clears 8-bit values in the destination, as specified by /// the second source operand. /// @@ -622,7 +622,7 @@ _mm_shuffle_pi8(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pshufb((__v8qi)__a, (__v8qi)__b); } -/// \brief For each 8-bit integer in the first source operand, perform one of +/// For each 8-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the byte in the second source is negative, calculate the two's @@ -648,7 +648,7 @@ _mm_sign_epi8(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psignb128((__v16qi)__a, (__v16qi)__b); } -/// \brief For each 16-bit integer in the first source operand, perform one of +/// For each 16-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the word in the second source is negative, calculate the two's @@ -674,7 +674,7 @@ _mm_sign_epi16(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psignw128((__v8hi)__a, (__v8hi)__b); } -/// \brief For each 32-bit integer in the first source operand, perform one of +/// For each 32-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the doubleword in the second source is negative, calculate the two's @@ -700,7 +700,7 @@ _mm_sign_epi32(__m128i __a, __m128i __b) return (__m128i)__builtin_ia32_psignd128((__v4si)__a, (__v4si)__b); } -/// \brief For each 8-bit integer in the first source operand, perform one of +/// For each 8-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the byte in the second source is negative, calculate the two's @@ -726,7 +726,7 @@ _mm_sign_pi8(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_psignb((__v8qi)__a, (__v8qi)__b); } -/// \brief For each 16-bit integer in the first source operand, perform one of +/// For each 16-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the word in the second source is negative, calculate the two's @@ -752,7 +752,7 @@ _mm_sign_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_psignw((__v4hi)__a, (__v4hi)__b); } -/// \brief For each 32-bit integer in the first source operand, perform one of +/// For each 32-bit integer in the first source operand, perform one of /// the following actions as specified by the second source operand. /// /// If the doubleword in the second source is negative, calculate the two's diff --git a/lib/Headers/xmmintrin.h b/lib/Headers/xmmintrin.h index 5e8901cd8e..9590e47510 100644 --- a/lib/Headers/xmmintrin.h +++ b/lib/Headers/xmmintrin.h @@ -42,7 +42,7 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16))); /* Define the default attributes for the functions in this file. */ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse"))) -/// \brief Adds the 32-bit float values in the low-order bits of the operands. +/// Adds the 32-bit float values in the low-order bits of the operands. /// /// \headerfile <x86intrin.h> /// @@ -64,7 +64,7 @@ _mm_add_ss(__m128 __a, __m128 __b) return __a; } -/// \brief Adds two 128-bit vectors of [4 x float], and returns the results of +/// Adds two 128-bit vectors of [4 x float], and returns the results of /// the addition. /// /// \headerfile <x86intrin.h> @@ -83,7 +83,7 @@ _mm_add_ps(__m128 __a, __m128 __b) return (__m128)((__v4sf)__a + (__v4sf)__b); } -/// \brief Subtracts the 32-bit float value in the low-order bits of the second +/// Subtracts the 32-bit float value in the low-order bits of the second /// operand from the corresponding value in the first operand. /// /// \headerfile <x86intrin.h> @@ -106,7 +106,7 @@ _mm_sub_ss(__m128 __a, __m128 __b) return __a; } -/// \brief Subtracts each of the values of the second operand from the first +/// Subtracts each of the values of the second operand from the first /// operand, both of which are 128-bit vectors of [4 x float] and returns /// the results of the subtraction. /// @@ -126,7 +126,7 @@ _mm_sub_ps(__m128 __a, __m128 __b) return (__m128)((__v4sf)__a - (__v4sf)__b); } -/// \brief Multiplies two 32-bit float values in the low-order bits of the +/// Multiplies two 32-bit float values in the low-order bits of the /// operands. /// /// \headerfile <x86intrin.h> @@ -149,7 +149,7 @@ _mm_mul_ss(__m128 __a, __m128 __b) return __a; } -/// \brief Multiplies two 128-bit vectors of [4 x float] and returns the +/// Multiplies two 128-bit vectors of [4 x float] and returns the /// results of the multiplication. /// /// \headerfile <x86intrin.h> @@ -168,7 +168,7 @@ _mm_mul_ps(__m128 __a, __m128 __b) return (__m128)((__v4sf)__a * (__v4sf)__b); } -/// \brief Divides the value in the low-order 32 bits of the first operand by +/// Divides the value in the low-order 32 bits of the first operand by /// the corresponding value in the second operand. /// /// \headerfile <x86intrin.h> @@ -191,7 +191,7 @@ _mm_div_ss(__m128 __a, __m128 __b) return __a; } -/// \brief Divides two 128-bit vectors of [4 x float]. +/// Divides two 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> /// @@ -209,7 +209,7 @@ _mm_div_ps(__m128 __a, __m128 __b) return (__m128)((__v4sf)__a / (__v4sf)__b); } -/// \brief Calculates the square root of the value stored in the low-order bits +/// Calculates the square root of the value stored in the low-order bits /// of a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -228,7 +228,7 @@ _mm_sqrt_ss(__m128 __a) return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } -/// \brief Calculates the square roots of the values stored in a 128-bit vector +/// Calculates the square roots of the values stored in a 128-bit vector /// of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -245,7 +245,7 @@ _mm_sqrt_ps(__m128 __a) return __builtin_ia32_sqrtps((__v4sf)__a); } -/// \brief Calculates the approximate reciprocal of the value stored in the +/// Calculates the approximate reciprocal of the value stored in the /// low-order bits of a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -264,7 +264,7 @@ _mm_rcp_ss(__m128 __a) return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } -/// \brief Calculates the approximate reciprocals of the values stored in a +/// Calculates the approximate reciprocals of the values stored in a /// 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -281,7 +281,7 @@ _mm_rcp_ps(__m128 __a) return __builtin_ia32_rcpps((__v4sf)__a); } -/// \brief Calculates the approximate reciprocal of the square root of the value +/// Calculates the approximate reciprocal of the square root of the value /// stored in the low-order bits of a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -301,7 +301,7 @@ _mm_rsqrt_ss(__m128 __a) return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } -/// \brief Calculates the approximate reciprocals of the square roots of the +/// Calculates the approximate reciprocals of the square roots of the /// values stored in a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -318,7 +318,7 @@ _mm_rsqrt_ps(__m128 __a) return __builtin_ia32_rsqrtps((__v4sf)__a); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands and returns the lesser value in the low-order bits of the /// vector of [4 x float]. /// @@ -341,7 +341,7 @@ _mm_min_ss(__m128 __a, __m128 __b) return __builtin_ia32_minss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 128-bit vectors of [4 x float] and returns the lesser +/// Compares two 128-bit vectors of [4 x float] and returns the lesser /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -360,7 +360,7 @@ _mm_min_ps(__m128 __a, __m128 __b) return __builtin_ia32_minps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands and returns the greater value in the low-order bits of a 128-bit /// vector of [4 x float]. /// @@ -383,7 +383,7 @@ _mm_max_ss(__m128 __a, __m128 __b) return __builtin_ia32_maxss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 128-bit vectors of [4 x float] and returns the greater +/// Compares two 128-bit vectors of [4 x float] and returns the greater /// of each pair of values. /// /// \headerfile <x86intrin.h> @@ -402,7 +402,7 @@ _mm_max_ps(__m128 __a, __m128 __b) return __builtin_ia32_maxps((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs a bitwise AND of two 128-bit vectors of [4 x float]. +/// Performs a bitwise AND of two 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> /// @@ -420,7 +420,7 @@ _mm_and_ps(__m128 __a, __m128 __b) return (__m128)((__v4su)__a & (__v4su)__b); } -/// \brief Performs a bitwise AND of two 128-bit vectors of [4 x float], using +/// Performs a bitwise AND of two 128-bit vectors of [4 x float], using /// the one's complement of the values contained in the first source /// operand. /// @@ -442,7 +442,7 @@ _mm_andnot_ps(__m128 __a, __m128 __b) return (__m128)(~(__v4su)__a & (__v4su)__b); } -/// \brief Performs a bitwise OR of two 128-bit vectors of [4 x float]. +/// Performs a bitwise OR of two 128-bit vectors of [4 x float]. /// /// \headerfile <x86intrin.h> /// @@ -460,7 +460,7 @@ _mm_or_ps(__m128 __a, __m128 __b) return (__m128)((__v4su)__a | (__v4su)__b); } -/// \brief Performs a bitwise exclusive OR of two 128-bit vectors of +/// Performs a bitwise exclusive OR of two 128-bit vectors of /// [4 x float]. /// /// \headerfile <x86intrin.h> @@ -479,7 +479,7 @@ _mm_xor_ps(__m128 __a, __m128 __b) return (__m128)((__v4su)__a ^ (__v4su)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands for equality and returns the result of the comparison in the /// low-order bits of a vector [4 x float]. /// @@ -501,7 +501,7 @@ _mm_cmpeq_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpeqss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] for equality. /// /// \headerfile <x86intrin.h> @@ -519,7 +519,7 @@ _mm_cmpeq_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpeqps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is less than the /// corresponding value in the second operand and returns the result of the /// comparison in the low-order bits of a vector of [4 x float]. @@ -542,7 +542,7 @@ _mm_cmplt_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpltss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are less than those in the second operand. /// @@ -561,7 +561,7 @@ _mm_cmplt_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpltps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is less than or /// equal to the corresponding value in the second operand and returns the /// result of the comparison in the low-order bits of a vector of @@ -585,7 +585,7 @@ _mm_cmple_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpless((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are less than or equal to those in the second operand. /// @@ -604,7 +604,7 @@ _mm_cmple_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpleps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is greater than /// the corresponding value in the second operand and returns the result of /// the comparison in the low-order bits of a vector of [4 x float]. @@ -629,7 +629,7 @@ _mm_cmpgt_ss(__m128 __a, __m128 __b) 4, 1, 2, 3); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are greater than those in the second operand. /// @@ -648,7 +648,7 @@ _mm_cmpgt_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpltps((__v4sf)__b, (__v4sf)__a); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is greater than /// or equal to the corresponding value in the second operand and returns /// the result of the comparison in the low-order bits of a vector of @@ -674,7 +674,7 @@ _mm_cmpge_ss(__m128 __a, __m128 __b) 4, 1, 2, 3); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are greater than or equal to those in the second operand. /// @@ -693,7 +693,7 @@ _mm_cmpge_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpleps((__v4sf)__b, (__v4sf)__a); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands for inequality and returns the result of the comparison in the /// low-order bits of a vector of [4 x float]. /// @@ -716,7 +716,7 @@ _mm_cmpneq_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpneqss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] for inequality. /// /// \headerfile <x86intrin.h> @@ -735,7 +735,7 @@ _mm_cmpneq_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpneqps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is not less than /// the corresponding value in the second operand and returns the result of /// the comparison in the low-order bits of a vector of [4 x float]. @@ -759,7 +759,7 @@ _mm_cmpnlt_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnltss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are not less than those in the second operand. /// @@ -779,7 +779,7 @@ _mm_cmpnlt_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnltps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is not less than /// or equal to the corresponding value in the second operand and returns /// the result of the comparison in the low-order bits of a vector of @@ -804,7 +804,7 @@ _mm_cmpnle_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnless((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are not less than or equal to those in the second operand. /// @@ -824,7 +824,7 @@ _mm_cmpnle_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnleps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is not greater /// than the corresponding value in the second operand and returns the /// result of the comparison in the low-order bits of a vector of @@ -851,7 +851,7 @@ _mm_cmpngt_ss(__m128 __a, __m128 __b) 4, 1, 2, 3); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are not greater than those in the second operand. /// @@ -871,7 +871,7 @@ _mm_cmpngt_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnltps((__v4sf)__b, (__v4sf)__a); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is not greater /// than or equal to the corresponding value in the second operand and /// returns the result of the comparison in the low-order bits of a vector @@ -898,7 +898,7 @@ _mm_cmpnge_ss(__m128 __a, __m128 __b) 4, 1, 2, 3); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are not greater than or equal to those in the second operand. /// @@ -918,7 +918,7 @@ _mm_cmpnge_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpnleps((__v4sf)__b, (__v4sf)__a); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is ordered with /// respect to the corresponding value in the second operand and returns the /// result of the comparison in the low-order bits of a vector of @@ -943,7 +943,7 @@ _mm_cmpord_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpordss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are ordered with respect to those in the second operand. /// @@ -963,7 +963,7 @@ _mm_cmpord_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpordps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the value in the first operand is unordered /// with respect to the corresponding value in the second operand and /// returns the result of the comparison in the low-order bits of a vector @@ -988,7 +988,7 @@ _mm_cmpunord_ss(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpunordss((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares each of the corresponding 32-bit float values of the +/// Compares each of the corresponding 32-bit float values of the /// 128-bit vectors of [4 x float] to determine if the values in the first /// operand are unordered with respect to those in the second operand. /// @@ -1008,7 +1008,7 @@ _mm_cmpunord_ps(__m128 __a, __m128 __b) return (__m128)__builtin_ia32_cmpunordps((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands for equality and returns the result of the comparison. /// /// If either of the two lower 32-bit values is NaN, 0 is returned. @@ -1032,7 +1032,7 @@ _mm_comieq_ss(__m128 __a, __m128 __b) return __builtin_ia32_comieq((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the first operand is less than the second /// operand and returns the result of the comparison. /// @@ -1057,7 +1057,7 @@ _mm_comilt_ss(__m128 __a, __m128 __b) return __builtin_ia32_comilt((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the first operand is less than or equal to the /// second operand and returns the result of the comparison. /// @@ -1081,7 +1081,7 @@ _mm_comile_ss(__m128 __a, __m128 __b) return __builtin_ia32_comile((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the first operand is greater than the second /// operand and returns the result of the comparison. /// @@ -1105,7 +1105,7 @@ _mm_comigt_ss(__m128 __a, __m128 __b) return __builtin_ia32_comigt((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the first operand is greater than or equal to /// the second operand and returns the result of the comparison. /// @@ -1129,7 +1129,7 @@ _mm_comige_ss(__m128 __a, __m128 __b) return __builtin_ia32_comige((__v4sf)__a, (__v4sf)__b); } -/// \brief Compares two 32-bit float values in the low-order bits of both +/// Compares two 32-bit float values in the low-order bits of both /// operands to determine if the first operand is not equal to the second /// operand and returns the result of the comparison. /// @@ -1153,7 +1153,7 @@ _mm_comineq_ss(__m128 __a, __m128 __b) return __builtin_ia32_comineq((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine equality and returns /// the result of the comparison. /// @@ -1177,7 +1177,7 @@ _mm_ucomieq_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomieq((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine if the first operand is /// less than the second operand and returns the result of the comparison. /// @@ -1201,7 +1201,7 @@ _mm_ucomilt_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomilt((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine if the first operand is /// less than or equal to the second operand and returns the result of the /// comparison. @@ -1226,7 +1226,7 @@ _mm_ucomile_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomile((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine if the first operand is /// greater than the second operand and returns the result of the /// comparison. @@ -1251,7 +1251,7 @@ _mm_ucomigt_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomigt((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine if the first operand is /// greater than or equal to the second operand and returns the result of /// the comparison. @@ -1276,7 +1276,7 @@ _mm_ucomige_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomige((__v4sf)__a, (__v4sf)__b); } -/// \brief Performs an unordered comparison of two 32-bit float values using +/// Performs an unordered comparison of two 32-bit float values using /// the low-order bits of both operands to determine inequality and returns /// the result of the comparison. /// @@ -1300,7 +1300,7 @@ _mm_ucomineq_ss(__m128 __a, __m128 __b) return __builtin_ia32_ucomineq((__v4sf)__a, (__v4sf)__b); } -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 32-bit integer. /// /// \headerfile <x86intrin.h> @@ -1318,7 +1318,7 @@ _mm_cvtss_si32(__m128 __a) return __builtin_ia32_cvtss2si((__v4sf)__a); } -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 32-bit integer. /// /// \headerfile <x86intrin.h> @@ -1338,7 +1338,7 @@ _mm_cvt_ss2si(__m128 __a) #ifdef __x86_64__ -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 64-bit integer. /// /// \headerfile <x86intrin.h> @@ -1358,7 +1358,7 @@ _mm_cvtss_si64(__m128 __a) #endif -/// \brief Converts two low-order float values in a 128-bit vector of +/// Converts two low-order float values in a 128-bit vector of /// [4 x float] into a 64-bit vector of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -1374,7 +1374,7 @@ _mm_cvtps_pi32(__m128 __a) return (__m64)__builtin_ia32_cvtps2pi((__v4sf)__a); } -/// \brief Converts two low-order float values in a 128-bit vector of +/// Converts two low-order float values in a 128-bit vector of /// [4 x float] into a 64-bit vector of [2 x i32]. /// /// \headerfile <x86intrin.h> @@ -1390,7 +1390,7 @@ _mm_cvt_ps2pi(__m128 __a) return _mm_cvtps_pi32(__a); } -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 32-bit integer, truncating the result when it is /// inexact. /// @@ -1409,7 +1409,7 @@ _mm_cvttss_si32(__m128 __a) return __builtin_ia32_cvttss2si((__v4sf)__a); } -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 32-bit integer, truncating the result when it is /// inexact. /// @@ -1429,7 +1429,7 @@ _mm_cvtt_ss2si(__m128 __a) } #ifdef __x86_64__ -/// \brief Converts a float value contained in the lower 32 bits of a vector of +/// Converts a float value contained in the lower 32 bits of a vector of /// [4 x float] into a 64-bit integer, truncating the result when it is /// inexact. /// @@ -1449,7 +1449,7 @@ _mm_cvttss_si64(__m128 __a) } #endif -/// \brief Converts two low-order float values in a 128-bit vector of +/// Converts two low-order float values in a 128-bit vector of /// [4 x float] into a 64-bit vector of [2 x i32], truncating the result /// when it is inexact. /// @@ -1467,7 +1467,7 @@ _mm_cvttps_pi32(__m128 __a) return (__m64)__builtin_ia32_cvttps2pi((__v4sf)__a); } -/// \brief Converts two low-order float values in a 128-bit vector of [4 x +/// Converts two low-order float values in a 128-bit vector of [4 x /// float] into a 64-bit vector of [2 x i32], truncating the result when it /// is inexact. /// @@ -1484,7 +1484,7 @@ _mm_cvtt_ps2pi(__m128 __a) return _mm_cvttps_pi32(__a); } -/// \brief Converts a 32-bit signed integer value into a floating point value +/// Converts a 32-bit signed integer value into a floating point value /// and writes it to the lower 32 bits of the destination. The remaining /// higher order elements of the destination vector are copied from the /// corresponding elements in the first operand. @@ -1507,7 +1507,7 @@ _mm_cvtsi32_ss(__m128 __a, int __b) return __a; } -/// \brief Converts a 32-bit signed integer value into a floating point value +/// Converts a 32-bit signed integer value into a floating point value /// and writes it to the lower 32 bits of the destination. The remaining /// higher order elements of the destination are copied from the /// corresponding elements in the first operand. @@ -1531,7 +1531,7 @@ _mm_cvt_si2ss(__m128 __a, int __b) #ifdef __x86_64__ -/// \brief Converts a 64-bit signed integer value into a floating point value +/// Converts a 64-bit signed integer value into a floating point value /// and writes it to the lower 32 bits of the destination. The remaining /// higher order elements of the destination are copied from the /// corresponding elements in the first operand. @@ -1556,7 +1556,7 @@ _mm_cvtsi64_ss(__m128 __a, long long __b) #endif -/// \brief Converts two elements of a 64-bit vector of [2 x i32] into two +/// Converts two elements of a 64-bit vector of [2 x i32] into two /// floating point values and writes them to the lower 64-bits of the /// destination. The remaining higher order elements of the destination are /// copied from the corresponding elements in the first operand. @@ -1579,7 +1579,7 @@ _mm_cvtpi32_ps(__m128 __a, __m64 __b) return __builtin_ia32_cvtpi2ps((__v4sf)__a, (__v2si)__b); } -/// \brief Converts two elements of a 64-bit vector of [2 x i32] into two +/// Converts two elements of a 64-bit vector of [2 x i32] into two /// floating point values and writes them to the lower 64-bits of the /// destination. The remaining higher order elements of the destination are /// copied from the corresponding elements in the first operand. @@ -1602,7 +1602,7 @@ _mm_cvt_pi2ps(__m128 __a, __m64 __b) return _mm_cvtpi32_ps(__a, __b); } -/// \brief Extracts a float value contained in the lower 32 bits of a vector of +/// Extracts a float value contained in the lower 32 bits of a vector of /// [4 x float]. /// /// \headerfile <x86intrin.h> @@ -1619,7 +1619,7 @@ _mm_cvtss_f32(__m128 __a) return __a[0]; } -/// \brief Loads two packed float values from the address \a __p into the +/// Loads two packed float values from the address \a __p into the /// high-order bits of a 128-bit vector of [4 x float]. The low-order bits /// are copied from the low-order bits of the first operand. /// @@ -1646,7 +1646,7 @@ _mm_loadh_pi(__m128 __a, const __m64 *__p) return __builtin_shufflevector(__a, __bb, 0, 1, 4, 5); } -/// \brief Loads two packed float values from the address \a __p into the +/// Loads two packed float values from the address \a __p into the /// low-order bits of a 128-bit vector of [4 x float]. The high-order bits /// are copied from the high-order bits of the first operand. /// @@ -1673,7 +1673,7 @@ _mm_loadl_pi(__m128 __a, const __m64 *__p) return __builtin_shufflevector(__a, __bb, 4, 5, 2, 3); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float]. The lower +/// Constructs a 128-bit floating-point vector of [4 x float]. The lower /// 32 bits of the vector are initialized with the single-precision /// floating-point value loaded from a specified memory location. The upper /// 96 bits are set to zero. @@ -1698,7 +1698,7 @@ _mm_load_ss(const float *__p) return (__m128){ __u, 0, 0, 0 }; } -/// \brief Loads a 32-bit float value and duplicates it to all four vector +/// Loads a 32-bit float value and duplicates it to all four vector /// elements of a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -1722,7 +1722,7 @@ _mm_load1_ps(const float *__p) #define _mm_load_ps1(p) _mm_load1_ps(p) -/// \brief Loads a 128-bit floating-point vector of [4 x float] from an aligned +/// Loads a 128-bit floating-point vector of [4 x float] from an aligned /// memory location. /// /// \headerfile <x86intrin.h> @@ -1739,7 +1739,7 @@ _mm_load_ps(const float *__p) return *(__m128*)__p; } -/// \brief Loads a 128-bit floating-point vector of [4 x float] from an +/// Loads a 128-bit floating-point vector of [4 x float] from an /// unaligned memory location. /// /// \headerfile <x86intrin.h> @@ -1759,7 +1759,7 @@ _mm_loadu_ps(const float *__p) return ((struct __loadu_ps*)__p)->__v; } -/// \brief Loads four packed float values, in reverse order, from an aligned +/// Loads four packed float values, in reverse order, from an aligned /// memory location to 32-bit elements in a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -1779,7 +1779,7 @@ _mm_loadr_ps(const float *__p) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 3, 2, 1, 0); } -/// \brief Create a 128-bit vector of [4 x float] with undefined values. +/// Create a 128-bit vector of [4 x float] with undefined values. /// /// \headerfile <x86intrin.h> /// @@ -1792,7 +1792,7 @@ _mm_undefined_ps(void) return (__m128)__builtin_ia32_undef128(); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float]. The lower +/// Constructs a 128-bit floating-point vector of [4 x float]. The lower /// 32 bits of the vector are initialized with the specified single-precision /// floating-point value. The upper 96 bits are set to zero. /// @@ -1812,7 +1812,7 @@ _mm_set_ss(float __w) return (__m128){ __w, 0, 0, 0 }; } -/// \brief Constructs a 128-bit floating-point vector of [4 x float], with each +/// Constructs a 128-bit floating-point vector of [4 x float], with each /// of the four single-precision floating-point vector elements set to the /// specified single-precision floating-point value. /// @@ -1831,7 +1831,7 @@ _mm_set1_ps(float __w) } /* Microsoft specific. */ -/// \brief Constructs a 128-bit floating-point vector of [4 x float], with each +/// Constructs a 128-bit floating-point vector of [4 x float], with each /// of the four single-precision floating-point vector elements set to the /// specified single-precision floating-point value. /// @@ -1849,7 +1849,7 @@ _mm_set_ps1(float __w) return _mm_set1_ps(__w); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float] +/// Constructs a 128-bit floating-point vector of [4 x float] /// initialized with the specified single-precision floating-point values. /// /// \headerfile <x86intrin.h> @@ -1876,7 +1876,7 @@ _mm_set_ps(float __z, float __y, float __x, float __w) return (__m128){ __w, __x, __y, __z }; } -/// \brief Constructs a 128-bit floating-point vector of [4 x float], +/// Constructs a 128-bit floating-point vector of [4 x float], /// initialized in reverse order with the specified 32-bit single-precision /// float-point values. /// @@ -1904,7 +1904,7 @@ _mm_setr_ps(float __z, float __y, float __x, float __w) return (__m128){ __z, __y, __x, __w }; } -/// \brief Constructs a 128-bit floating-point vector of [4 x float] initialized +/// Constructs a 128-bit floating-point vector of [4 x float] initialized /// to zero. /// /// \headerfile <x86intrin.h> @@ -1919,7 +1919,7 @@ _mm_setzero_ps(void) return (__m128){ 0, 0, 0, 0 }; } -/// \brief Stores the upper 64 bits of a 128-bit vector of [4 x float] to a +/// Stores the upper 64 bits of a 128-bit vector of [4 x float] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -1936,7 +1936,7 @@ _mm_storeh_pi(__m64 *__p, __m128 __a) __builtin_ia32_storehps((__v2si *)__p, (__v4sf)__a); } -/// \brief Stores the lower 64 bits of a 128-bit vector of [4 x float] to a +/// Stores the lower 64 bits of a 128-bit vector of [4 x float] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -1953,7 +1953,7 @@ _mm_storel_pi(__m64 *__p, __m128 __a) __builtin_ia32_storelps((__v2si *)__p, (__v4sf)__a); } -/// \brief Stores the lower 32 bits of a 128-bit vector of [4 x float] to a +/// Stores the lower 32 bits of a 128-bit vector of [4 x float] to a /// memory location. /// /// \headerfile <x86intrin.h> @@ -1973,7 +1973,7 @@ _mm_store_ss(float *__p, __m128 __a) ((struct __mm_store_ss_struct*)__p)->__u = __a[0]; } -/// \brief Stores a 128-bit vector of [4 x float] to an unaligned memory +/// Stores a 128-bit vector of [4 x float] to an unaligned memory /// location. /// /// \headerfile <x86intrin.h> @@ -1994,7 +1994,7 @@ _mm_storeu_ps(float *__p, __m128 __a) ((struct __storeu_ps*)__p)->__v = __a; } -/// \brief Stores a 128-bit vector of [4 x float] into an aligned memory +/// Stores a 128-bit vector of [4 x float] into an aligned memory /// location. /// /// \headerfile <x86intrin.h> @@ -2012,7 +2012,7 @@ _mm_store_ps(float *__p, __m128 __a) *(__m128*)__p = __a; } -/// \brief Stores the lower 32 bits of a 128-bit vector of [4 x float] into +/// Stores the lower 32 bits of a 128-bit vector of [4 x float] into /// four contiguous elements in an aligned memory location. /// /// \headerfile <x86intrin.h> @@ -2032,7 +2032,7 @@ _mm_store1_ps(float *__p, __m128 __a) _mm_store_ps(__p, __a); } -/// \brief Stores the lower 32 bits of a 128-bit vector of [4 x float] into +/// Stores the lower 32 bits of a 128-bit vector of [4 x float] into /// four contiguous elements in an aligned memory location. /// /// \headerfile <x86intrin.h> @@ -2051,7 +2051,7 @@ _mm_store_ps1(float *__p, __m128 __a) return _mm_store1_ps(__p, __a); } -/// \brief Stores float values from a 128-bit vector of [4 x float] to an +/// Stores float values from a 128-bit vector of [4 x float] to an /// aligned memory location in reverse order. /// /// \headerfile <x86intrin.h> @@ -2082,7 +2082,7 @@ _mm_storer_ps(float *__p, __m128 __a) /* FIXME: We have to #define this because "sel" must be a constant integer, and Sema doesn't do any form of constant propagation yet. */ -/// \brief Loads one cache line of data from the specified address to a location +/// Loads one cache line of data from the specified address to a location /// closer to the processor. /// /// \headerfile <x86intrin.h> @@ -2110,7 +2110,7 @@ _mm_storer_ps(float *__p, __m128 __a) ((sel) >> 2) & 1, (sel) & 0x3)) #endif -/// \brief Stores a 64-bit integer in the specified aligned memory location. To +/// Stores a 64-bit integer in the specified aligned memory location. To /// minimize caching, the data is flagged as non-temporal (unlikely to be /// used again soon). /// @@ -2128,7 +2128,7 @@ _mm_stream_pi(__m64 *__p, __m64 __a) __builtin_ia32_movntq(__p, __a); } -/// \brief Moves packed float values from a 128-bit vector of [4 x float] to a +/// Moves packed float values from a 128-bit vector of [4 x float] to a /// 128-bit aligned memory location. To minimize caching, the data is flagged /// as non-temporal (unlikely to be used again soon). /// @@ -2151,7 +2151,7 @@ _mm_stream_ps(float *__p, __m128 __a) extern "C" { #endif -/// \brief Forces strong memory ordering (serialization) between store +/// Forces strong memory ordering (serialization) between store /// instructions preceding this instruction and store instructions following /// this instruction, ensuring the system completes all previous stores /// before executing subsequent stores. @@ -2166,7 +2166,7 @@ void _mm_sfence(void); } // extern "C" #endif -/// \brief Extracts 16-bit element from a 64-bit vector of [4 x i16] and +/// Extracts 16-bit element from a 64-bit vector of [4 x i16] and /// returns it, as specified by the immediate integer operand. /// /// \headerfile <x86intrin.h> @@ -2189,7 +2189,7 @@ void _mm_sfence(void); #define _mm_extract_pi16(a, n) __extension__ ({ \ (int)__builtin_ia32_vec_ext_v4hi((__m64)a, (int)n); }) -/// \brief Copies data from the 64-bit vector of [4 x i16] to the destination, +/// Copies data from the 64-bit vector of [4 x i16] to the destination, /// and inserts the lower 16-bits of an integer operand at the 16-bit offset /// specified by the immediate operand \a n. /// @@ -2220,7 +2220,7 @@ void _mm_sfence(void); #define _mm_insert_pi16(a, d, n) __extension__ ({ \ (__m64)__builtin_ia32_vec_set_v4hi((__m64)a, (int)d, (int)n); }) -/// \brief Compares each of the corresponding packed 16-bit integer values of +/// Compares each of the corresponding packed 16-bit integer values of /// the 64-bit integer vectors, and writes the greater value to the /// corresponding bits in the destination. /// @@ -2239,7 +2239,7 @@ _mm_max_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pmaxsw((__v4hi)__a, (__v4hi)__b); } -/// \brief Compares each of the corresponding packed 8-bit unsigned integer +/// Compares each of the corresponding packed 8-bit unsigned integer /// values of the 64-bit integer vectors, and writes the greater value to the /// corresponding bits in the destination. /// @@ -2258,7 +2258,7 @@ _mm_max_pu8(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pmaxub((__v8qi)__a, (__v8qi)__b); } -/// \brief Compares each of the corresponding packed 16-bit integer values of +/// Compares each of the corresponding packed 16-bit integer values of /// the 64-bit integer vectors, and writes the lesser value to the /// corresponding bits in the destination. /// @@ -2277,7 +2277,7 @@ _mm_min_pi16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pminsw((__v4hi)__a, (__v4hi)__b); } -/// \brief Compares each of the corresponding packed 8-bit unsigned integer +/// Compares each of the corresponding packed 8-bit unsigned integer /// values of the 64-bit integer vectors, and writes the lesser value to the /// corresponding bits in the destination. /// @@ -2296,7 +2296,7 @@ _mm_min_pu8(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pminub((__v8qi)__a, (__v8qi)__b); } -/// \brief Takes the most significant bit from each 8-bit element in a 64-bit +/// Takes the most significant bit from each 8-bit element in a 64-bit /// integer vector to create an 8-bit mask value. Zero-extends the value to /// 32-bit integer and writes it to the destination. /// @@ -2314,7 +2314,7 @@ _mm_movemask_pi8(__m64 __a) return __builtin_ia32_pmovmskb((__v8qi)__a); } -/// \brief Multiplies packed 16-bit unsigned integer values and writes the +/// Multiplies packed 16-bit unsigned integer values and writes the /// high-order 16 bits of each 32-bit product to the corresponding bits in /// the destination. /// @@ -2333,7 +2333,7 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pmulhuw((__v4hi)__a, (__v4hi)__b); } -/// \brief Shuffles the 4 16-bit integers from a 64-bit integer vector to the +/// Shuffles the 4 16-bit integers from a 64-bit integer vector to the /// destination, as specified by the immediate value operand. /// /// \headerfile <x86intrin.h> @@ -2367,7 +2367,7 @@ _mm_mulhi_pu16(__m64 __a, __m64 __b) #define _mm_shuffle_pi16(a, n) __extension__ ({ \ (__m64)__builtin_ia32_pshufw((__v4hi)(__m64)(a), (n)); }) -/// \brief Conditionally copies the values from each 8-bit element in the first +/// Conditionally copies the values from each 8-bit element in the first /// 64-bit integer vector operand to the specified memory location, as /// specified by the most significant bit in the corresponding element in the /// second 64-bit integer vector operand. @@ -2396,7 +2396,7 @@ _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p) __builtin_ia32_maskmovq((__v8qi)__d, (__v8qi)__n, __p); } -/// \brief Computes the rounded averages of the packed unsigned 8-bit integer +/// Computes the rounded averages of the packed unsigned 8-bit integer /// values and writes the averages to the corresponding bits in the /// destination. /// @@ -2415,7 +2415,7 @@ _mm_avg_pu8(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pavgb((__v8qi)__a, (__v8qi)__b); } -/// \brief Computes the rounded averages of the packed unsigned 16-bit integer +/// Computes the rounded averages of the packed unsigned 16-bit integer /// values and writes the averages to the corresponding bits in the /// destination. /// @@ -2434,7 +2434,7 @@ _mm_avg_pu16(__m64 __a, __m64 __b) return (__m64)__builtin_ia32_pavgw((__v4hi)__a, (__v4hi)__b); } -/// \brief Subtracts the corresponding 8-bit unsigned integer values of the two +/// Subtracts the corresponding 8-bit unsigned integer values of the two /// 64-bit vector operands and computes the absolute value for each of the /// difference. Then sum of the 8 absolute differences is written to the /// bits [15:0] of the destination; the remaining bits [63:16] are cleared. @@ -2460,7 +2460,7 @@ _mm_sad_pu8(__m64 __a, __m64 __b) extern "C" { #endif -/// \brief Returns the contents of the MXCSR register as a 32-bit unsigned +/// Returns the contents of the MXCSR register as a 32-bit unsigned /// integer value. /// /// There are several groups of macros associated with this @@ -2508,7 +2508,7 @@ extern "C" { /// register. unsigned int _mm_getcsr(void); -/// \brief Sets the MXCSR register with the 32-bit unsigned integer value. +/// Sets the MXCSR register with the 32-bit unsigned integer value. /// /// There are several groups of macros associated with this intrinsic, /// including: @@ -2566,7 +2566,7 @@ void _mm_setcsr(unsigned int __i); } // extern "C" #endif -/// \brief Selects 4 float values from the 128-bit operands of [4 x float], as +/// Selects 4 float values from the 128-bit operands of [4 x float], as /// specified by the immediate value operand. /// /// \headerfile <x86intrin.h> @@ -2609,7 +2609,7 @@ void _mm_setcsr(unsigned int __i); 4 + (((mask) >> 4) & 0x3), \ 4 + (((mask) >> 6) & 0x3)); }) -/// \brief Unpacks the high-order (index 2,3) values from two 128-bit vectors of +/// Unpacks the high-order (index 2,3) values from two 128-bit vectors of /// [4 x float] and interleaves them into a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2631,7 +2631,7 @@ _mm_unpackhi_ps(__m128 __a, __m128 __b) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 2, 6, 3, 7); } -/// \brief Unpacks the low-order (index 0,1) values from two 128-bit vectors of +/// Unpacks the low-order (index 0,1) values from two 128-bit vectors of /// [4 x float] and interleaves them into a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2653,7 +2653,7 @@ _mm_unpacklo_ps(__m128 __a, __m128 __b) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 4, 1, 5); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float]. The lower +/// Constructs a 128-bit floating-point vector of [4 x float]. The lower /// 32 bits are set to the lower 32 bits of the second parameter. The upper /// 96 bits are set to the upper 96 bits of the first parameter. /// @@ -2675,7 +2675,7 @@ _mm_move_ss(__m128 __a, __m128 __b) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 4, 1, 2, 3); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float]. The lower +/// Constructs a 128-bit floating-point vector of [4 x float]. The lower /// 64 bits are set to the upper 64 bits of the second parameter. The upper /// 64 bits are set to the upper 64 bits of the first parameter. /// @@ -2696,7 +2696,7 @@ _mm_movehl_ps(__m128 __a, __m128 __b) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 6, 7, 2, 3); } -/// \brief Constructs a 128-bit floating-point vector of [4 x float]. The lower +/// Constructs a 128-bit floating-point vector of [4 x float]. The lower /// 64 bits are set to the lower 64 bits of the first parameter. The upper /// 64 bits are set to the lower 64 bits of the second parameter. /// @@ -2717,7 +2717,7 @@ _mm_movelh_ps(__m128 __a, __m128 __b) return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 1, 4, 5); } -/// \brief Converts a 64-bit vector of [4 x i16] into a 128-bit vector of [4 x +/// Converts a 64-bit vector of [4 x i16] into a 128-bit vector of [4 x /// float]. /// /// \headerfile <x86intrin.h> @@ -2747,7 +2747,7 @@ _mm_cvtpi16_ps(__m64 __a) return __r; } -/// \brief Converts a 64-bit vector of 16-bit unsigned integer values into a +/// Converts a 64-bit vector of 16-bit unsigned integer values into a /// 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2776,7 +2776,7 @@ _mm_cvtpu16_ps(__m64 __a) return __r; } -/// \brief Converts the lower four 8-bit values from a 64-bit vector of [8 x i8] +/// Converts the lower four 8-bit values from a 64-bit vector of [8 x i8] /// into a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2800,7 +2800,7 @@ _mm_cvtpi8_ps(__m64 __a) return _mm_cvtpi16_ps(__b); } -/// \brief Converts the lower four unsigned 8-bit integer values from a 64-bit +/// Converts the lower four unsigned 8-bit integer values from a 64-bit /// vector of [8 x u8] into a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2824,7 +2824,7 @@ _mm_cvtpu8_ps(__m64 __a) return _mm_cvtpi16_ps(__b); } -/// \brief Converts the two 32-bit signed integer values from each 64-bit vector +/// Converts the two 32-bit signed integer values from each 64-bit vector /// operand of [2 x i32] into a 128-bit vector of [4 x float]. /// /// \headerfile <x86intrin.h> @@ -2852,7 +2852,7 @@ _mm_cvtpi32x2_ps(__m64 __a, __m64 __b) return _mm_cvtpi32_ps(__c, __a); } -/// \brief Converts each single-precision floating-point element of a 128-bit +/// Converts each single-precision floating-point element of a 128-bit /// floating-point vector of [4 x float] into a 16-bit signed integer, and /// packs the results into a 64-bit integer vector of [4 x i16]. /// @@ -2881,7 +2881,7 @@ _mm_cvtps_pi16(__m128 __a) return _mm_packs_pi32(__b, __c); } -/// \brief Converts each single-precision floating-point element of a 128-bit +/// Converts each single-precision floating-point element of a 128-bit /// floating-point vector of [4 x float] into an 8-bit signed integer, and /// packs the results into the lower 32 bits of a 64-bit integer vector of /// [8 x i8]. The upper 32 bits of the vector are set to 0. @@ -2910,7 +2910,7 @@ _mm_cvtps_pi8(__m128 __a) return _mm_packs_pi16(__b, __c); } -/// \brief Extracts the sign bits from each single-precision floating-point +/// Extracts the sign bits from each single-precision floating-point /// element of a 128-bit floating-point vector of [4 x float] and returns the /// sign bits in bits [0:3] of the result. Bits [31:4] of the result are set /// to zero. diff --git a/lib/Index/IndexDecl.cpp b/lib/Index/IndexDecl.cpp index f1ef6c0ea2..01608d2b77 100644 --- a/lib/Index/IndexDecl.cpp +++ b/lib/Index/IndexDecl.cpp @@ -43,7 +43,7 @@ public: return true; } - /// \brief Returns true if the given method has been defined explicitly by the + /// Returns true if the given method has been defined explicitly by the /// user. static bool hasUserDefined(const ObjCMethodDecl *D, const ObjCImplDecl *Container) { diff --git a/lib/Index/SimpleFormatContext.h b/lib/Index/SimpleFormatContext.h index 2c26e4d82e..9c6d29bec3 100644 --- a/lib/Index/SimpleFormatContext.h +++ b/lib/Index/SimpleFormatContext.h @@ -9,7 +9,7 @@ // /// \file /// -/// \brief Defines a utility class for use of clang-format in libclang +/// Defines a utility class for use of clang-format in libclang // //===----------------------------------------------------------------------===// @@ -29,7 +29,7 @@ namespace clang { namespace index { -/// \brief A small class to be used by libclang clients to format +/// A small class to be used by libclang clients to format /// a declaration string in memory. This object is instantiated once /// and used each time a formatting is needed. class SimpleFormatContext { diff --git a/lib/Lex/HeaderSearch.cpp b/lib/Lex/HeaderSearch.cpp index 93a5ad4c92..1f2c339ea3 100644 --- a/lib/Lex/HeaderSearch.cpp +++ b/lib/Lex/HeaderSearch.cpp @@ -124,7 +124,7 @@ const HeaderMap *HeaderSearch::CreateHeaderMap(const FileEntry *FE) { return nullptr; } -/// \brief Get filenames for all registered header maps. +/// Get filenames for all registered header maps. void HeaderSearch::getHeaderMapFileNames( SmallVectorImpl<std::string> &Names) const { for (auto &HM : HeaderMaps) @@ -404,7 +404,7 @@ const FileEntry *DirectoryLookup::LookupFile( return Result; } -/// \brief Given a framework directory, find the top-most framework directory. +/// Given a framework directory, find the top-most framework directory. /// /// \param FileMgr The file manager to use for directory lookups. /// \param DirName The name of the framework directory. @@ -600,7 +600,7 @@ void HeaderSearch::setTarget(const TargetInfo &Target) { // Header File Location. //===----------------------------------------------------------------------===// -/// \brief Return true with a diagnostic if the file that MSVC would have found +/// Return true with a diagnostic if the file that MSVC would have found /// fails to match the one that Clang would have found with MSVC header search /// disabled. static bool checkMSVCHeaderSearch(DiagnosticsEngine &Diags, @@ -996,7 +996,7 @@ LookupSubframeworkHeader(StringRef Filename, // File Info Management. //===----------------------------------------------------------------------===// -/// \brief Merge the header file info provided by \p OtherHFI into the current +/// Merge the header file info provided by \p OtherHFI into the current /// header file info (\p HFI) static void mergeHeaderFileInfo(HeaderFileInfo &HFI, const HeaderFileInfo &OtherHFI) { diff --git a/lib/Lex/Lexer.cpp b/lib/Lex/Lexer.cpp index e9478d603a..e8588a771a 100644 --- a/lib/Lex/Lexer.cpp +++ b/lib/Lex/Lexer.cpp @@ -257,7 +257,7 @@ void Lexer::Stringify(SmallVectorImpl<char> &Str) { StringifyImpl(Str, '"'); } // Token Spelling //===----------------------------------------------------------------------===// -/// \brief Slow case of getSpelling. Extract the characters comprising the +/// Slow case of getSpelling. Extract the characters comprising the /// spelling of this token from the provided input buffer. static size_t getSpellingSlow(const Token &Tok, const char *BufPtr, const LangOptions &LangOpts, char *Spelling) { @@ -442,7 +442,7 @@ unsigned Lexer::MeasureTokenLength(SourceLocation Loc, return TheTok.getLength(); } -/// \brief Relex the token at the specified location. +/// Relex the token at the specified location. /// \returns true if there was a failure, false on success. bool Lexer::getRawToken(SourceLocation Loc, Token &Result, const SourceManager &SM, @@ -753,7 +753,7 @@ unsigned Lexer::getTokenPrefixLength(SourceLocation TokStart, unsigned CharNo, return PhysOffset; } -/// \brief Computes the source location just past the end of the +/// Computes the source location just past the end of the /// token at this source location. /// /// This routine can be used to produce a source location that @@ -788,7 +788,7 @@ SourceLocation Lexer::getLocForEndOfToken(SourceLocation Loc, unsigned Offset, return Loc.getLocWithOffset(Len); } -/// \brief Returns true if the given MacroID location points at the first +/// Returns true if the given MacroID location points at the first /// token of the macro expansion. bool Lexer::isAtStartOfMacroExpansion(SourceLocation loc, const SourceManager &SM, @@ -810,7 +810,7 @@ bool Lexer::isAtStartOfMacroExpansion(SourceLocation loc, return isAtStartOfMacroExpansion(expansionLoc, SM, LangOpts, MacroBegin); } -/// \brief Returns true if the given MacroID location points at the last +/// Returns true if the given MacroID location points at the last /// token of the macro expansion. bool Lexer::isAtEndOfMacroExpansion(SourceLocation loc, const SourceManager &SM, @@ -1256,7 +1256,7 @@ Optional<Token> Lexer::findNextToken(SourceLocation Loc, return Tok; } -/// \brief Checks that the given token is the first token that occurs after the +/// Checks that the given token is the first token that occurs after the /// given location (this excludes comments and whitespace). Returns the location /// immediately after the specified token. If the token is not found or the /// location is inside a macro, the returned source location will be invalid. @@ -1409,7 +1409,7 @@ Slash: // Helper methods for lexing. //===----------------------------------------------------------------------===// -/// \brief Routine that indiscriminately sets the offset into the source file. +/// Routine that indiscriminately sets the offset into the source file. void Lexer::SetByteOffset(unsigned Offset, bool StartOfLine) { BufferPtr = BufferStart + Offset; if (BufferPtr > BufferEnd) @@ -2755,7 +2755,7 @@ unsigned Lexer::isNextPPTokenLParen() { return Tok.is(tok::l_paren); } -/// \brief Find the end of a version control conflict marker. +/// Find the end of a version control conflict marker. static const char *FindConflictEnd(const char *CurPtr, const char *BufferEnd, ConflictMarkerKind CMK) { const char *Terminator = CMK == CMK_Perforce ? "<<<<\n" : ">>>>>>>"; diff --git a/lib/Lex/LiteralSupport.cpp b/lib/Lex/LiteralSupport.cpp index ec342ee3ae..af64ffef6c 100644 --- a/lib/Lex/LiteralSupport.cpp +++ b/lib/Lex/LiteralSupport.cpp @@ -70,7 +70,7 @@ static CharSourceRange MakeCharSourceRange(const LangOptions &Features, return CharSourceRange::getCharRange(Begin, End); } -/// \brief Produce a diagnostic highlighting some portion of a literal. +/// Produce a diagnostic highlighting some portion of a literal. /// /// Emits the diagnostic \p DiagID, highlighting the range of characters from /// \p TokRangeBegin (inclusive) to \p TokRangeEnd (exclusive), which must be @@ -1591,7 +1591,7 @@ static const char *resyncUTF8(const char *Err, const char *End) { return Err; } -/// \brief This function copies from Fragment, which is a sequence of bytes +/// This function copies from Fragment, which is a sequence of bytes /// within Tok's contents (which begin at TokBegin) into ResultPtr. /// Performs widening for multi-byte characters. bool StringLiteralParser::CopyStringFragment(const Token &Tok, diff --git a/lib/Lex/MacroInfo.cpp b/lib/Lex/MacroInfo.cpp index b13767aa1d..4ed69ecc46 100644 --- a/lib/Lex/MacroInfo.cpp +++ b/lib/Lex/MacroInfo.cpp @@ -65,7 +65,7 @@ unsigned MacroInfo::getDefinitionLengthSlow(const SourceManager &SM) const { return DefinitionLength; } -/// \brief Return true if the specified macro definition is equal to +/// Return true if the specified macro definition is equal to /// this macro in spelling, arguments, and whitespace. /// /// \param Syntactically if true, the macro definitions can be identical even diff --git a/lib/Lex/ModuleMap.cpp b/lib/Lex/ModuleMap.cpp index e29cc692ea..8343c8bb6b 100644 --- a/lib/Lex/ModuleMap.cpp +++ b/lib/Lex/ModuleMap.cpp @@ -151,7 +151,7 @@ Module *ModuleMap::resolveModuleId(const ModuleId &Id, Module *Mod, return Context; } -/// \brief Append to \p Paths the set of paths needed to get to the +/// Append to \p Paths the set of paths needed to get to the /// subframework in which the given module lives. static void appendSubframeworkPaths(Module *Mod, SmallVectorImpl<char> &Path) { @@ -309,7 +309,7 @@ void ModuleMap::setTarget(const TargetInfo &Target) { this->Target = &Target; } -/// \brief "Sanitize" a filename so that it can be used as an identifier. +/// "Sanitize" a filename so that it can be used as an identifier. static StringRef sanitizeFilenameAsIdentifier(StringRef Name, SmallVectorImpl<char> &Buffer) { if (Name.empty()) @@ -346,7 +346,7 @@ static StringRef sanitizeFilenameAsIdentifier(StringRef Name, return Name; } -/// \brief Determine whether the given file name is the name of a builtin +/// Determine whether the given file name is the name of a builtin /// header, supplied by Clang to replace, override, or augment existing system /// headers. bool ModuleMap::isBuiltinHeader(StringRef FileName) { @@ -820,7 +820,7 @@ Module *ModuleMap::createModuleForInterfaceUnit(SourceLocation Loc, return Result; } -/// \brief For a framework module, infer the framework against which we +/// For a framework module, infer the framework against which we /// should link. static void inferFrameworkLink(Module *Mod, const DirectoryEntry *FrameworkDir, FileManager &FileMgr) { @@ -1244,7 +1244,7 @@ bool ModuleMap::resolveConflicts(Module *Mod, bool Complain) { namespace clang { - /// \brief A token in a module map file. + /// A token in a module map file. struct MMToken { enum TokenKind { Comma, @@ -1314,37 +1314,37 @@ namespace clang { Lexer &L; SourceManager &SourceMgr; - /// \brief Default target information, used only for string literal + /// Default target information, used only for string literal /// parsing. const TargetInfo *Target; DiagnosticsEngine &Diags; ModuleMap ⤅ - /// \brief The current module map file. + /// The current module map file. const FileEntry *ModuleMapFile; - /// \brief The directory that file names in this module map file should + /// The directory that file names in this module map file should /// be resolved relative to. const DirectoryEntry *Directory; - /// \brief Whether this module map is in a system header directory. + /// Whether this module map is in a system header directory. bool IsSystem; - /// \brief Whether an error occurred. + /// Whether an error occurred. bool HadError = false; - /// \brief Stores string data for the various string literals referenced + /// Stores string data for the various string literals referenced /// during parsing. llvm::BumpPtrAllocator StringData; - /// \brief The current token. + /// The current token. MMToken Tok; - /// \brief The active module. + /// The active module. Module *ActiveModule = nullptr; - /// \brief Whether a module uses the 'requires excluded' hack to mark its + /// Whether a module uses the 'requires excluded' hack to mark its /// contents as 'textual'. /// /// On older Darwin SDK versions, 'requires excluded' is used to mark the @@ -1354,10 +1354,10 @@ namespace clang { /// 'textual' to match the original intent. llvm::SmallPtrSet<Module *, 2> UsesRequiresExcludedHack; - /// \brief Consume the current token and return its location. + /// Consume the current token and return its location. SourceLocation consumeToken(); - /// \brief Skip tokens until we reach the a token with the given kind + /// Skip tokens until we reach the a token with the given kind /// (or the end of the file). void skipUntil(MMToken::TokenKind K); @@ -1593,7 +1593,7 @@ void ModuleMapParser::skipUntil(MMToken::TokenKind K) { } while (true); } -/// \brief Parse a module-id. +/// Parse a module-id. /// /// module-id: /// identifier @@ -1622,21 +1622,21 @@ bool ModuleMapParser::parseModuleId(ModuleId &Id) { namespace { - /// \brief Enumerates the known attributes. + /// Enumerates the known attributes. enum AttributeKind { - /// \brief An unknown attribute. + /// An unknown attribute. AT_unknown, - /// \brief The 'system' attribute. + /// The 'system' attribute. AT_system, - /// \brief The 'extern_c' attribute. + /// The 'extern_c' attribute. AT_extern_c, - /// \brief The 'exhaustive' attribute. + /// The 'exhaustive' attribute. AT_exhaustive, - /// \brief The 'no_undeclared_includes' attribute. + /// The 'no_undeclared_includes' attribute. AT_no_undeclared_includes }; @@ -1693,7 +1693,7 @@ static void diagnosePrivateModules(const ModuleMap &Map, } } -/// \brief Parse a module declaration. +/// Parse a module declaration. /// /// module-declaration: /// 'extern' 'module' module-id string-literal @@ -2013,7 +2013,7 @@ void ModuleMapParser::parseModuleDecl() { ActiveModule = PreviousActiveModule; } -/// \brief Parse an extern module declaration. +/// Parse an extern module declaration. /// /// extern module-declaration: /// 'extern' 'module' module-id string-literal @@ -2091,7 +2091,7 @@ static bool shouldAddRequirement(Module *M, StringRef Feature, return true; } -/// \brief Parse a requires declaration. +/// Parse a requires declaration. /// /// requires-declaration: /// 'requires' feature-list @@ -2147,7 +2147,7 @@ void ModuleMapParser::parseRequiresDecl() { } while (true); } -/// \brief Parse a header declaration. +/// Parse a header declaration. /// /// header-declaration: /// 'textual'[opt] 'header' string-literal @@ -2275,7 +2275,7 @@ static int compareModuleHeaders(const Module::Header *A, return A->NameAsWritten.compare(B->NameAsWritten); } -/// \brief Parse an umbrella directory declaration. +/// Parse an umbrella directory declaration. /// /// umbrella-dir-declaration: /// umbrella string-literal @@ -2353,7 +2353,7 @@ void ModuleMapParser::parseUmbrellaDirDecl(SourceLocation UmbrellaLoc) { Map.setUmbrellaDir(ActiveModule, Dir, DirName); } -/// \brief Parse a module export declaration. +/// Parse a module export declaration. /// /// export-declaration: /// 'export' wildcard-module-id @@ -2401,7 +2401,7 @@ void ModuleMapParser::parseExportDecl() { ActiveModule->UnresolvedExports.push_back(Unresolved); } -/// \brief Parse a module export_as declaration. +/// Parse a module export_as declaration. /// /// export-as-declaration: /// 'export_as' identifier @@ -2438,7 +2438,7 @@ void ModuleMapParser::parseExportAsDecl() { consumeToken(); } -/// \brief Parse a module use declaration. +/// Parse a module use declaration. /// /// use-declaration: /// 'use' wildcard-module-id @@ -2455,7 +2455,7 @@ void ModuleMapParser::parseUseDecl() { ActiveModule->UnresolvedDirectUses.push_back(ParsedModuleId); } -/// \brief Parse a link declaration. +/// Parse a link declaration. /// /// module-declaration: /// 'link' 'framework'[opt] string-literal @@ -2484,7 +2484,7 @@ void ModuleMapParser::parseLinkDecl() { IsFramework)); } -/// \brief Parse a configuration macro declaration. +/// Parse a configuration macro declaration. /// /// module-declaration: /// 'config_macros' attributes[opt] config-macro-list? @@ -2541,7 +2541,7 @@ void ModuleMapParser::parseConfigMacros() { } while (true); } -/// \brief Format a module-id into a string. +/// Format a module-id into a string. static std::string formatModuleId(const ModuleId &Id) { std::string result; { @@ -2557,7 +2557,7 @@ static std::string formatModuleId(const ModuleId &Id) { return result; } -/// \brief Parse a conflict declaration. +/// Parse a conflict declaration. /// /// module-declaration: /// 'conflict' module-id ',' string-literal @@ -2591,7 +2591,7 @@ void ModuleMapParser::parseConflict() { ActiveModule->UnresolvedConflicts.push_back(Conflict); } -/// \brief Parse an inferred module declaration (wildcard modules). +/// Parse an inferred module declaration (wildcard modules). /// /// module-declaration: /// 'explicit'[opt] 'framework'[opt] 'module' * attributes[opt] @@ -2744,7 +2744,7 @@ void ModuleMapParser::parseInferredModuleDecl(bool Framework, bool Explicit) { } } -/// \brief Parse optional attributes. +/// Parse optional attributes. /// /// attributes: /// attribute attributes @@ -2819,7 +2819,7 @@ bool ModuleMapParser::parseOptionalAttributes(Attributes &Attrs) { return HadError; } -/// \brief Parse a module map file. +/// Parse a module map file. /// /// module-map-file: /// module-declaration* diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp index 31c8e130c8..e8083c721b 100644 --- a/lib/Lex/PPDirectives.cpp +++ b/lib/Lex/PPDirectives.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Implements # directive processing for the Preprocessor. +/// Implements # directive processing for the Preprocessor. /// //===----------------------------------------------------------------------===// @@ -78,7 +78,7 @@ Preprocessor::AllocateVisibilityMacroDirective(SourceLocation Loc, return new (BP) VisibilityMacroDirective(Loc, isPublic); } -/// \brief Read and discard all tokens remaining on the current line until +/// Read and discard all tokens remaining on the current line until /// the tok::eod token is found. void Preprocessor::DiscardUntilEndOfDirective() { Token Tmp; @@ -88,14 +88,14 @@ void Preprocessor::DiscardUntilEndOfDirective() { } while (Tmp.isNot(tok::eod)); } -/// \brief Enumerates possible cases of #define/#undef a reserved identifier. +/// Enumerates possible cases of #define/#undef a reserved identifier. enum MacroDiag { MD_NoWarn, //> Not a reserved identifier MD_KeywordDef, //> Macro hides keyword, enabled by default MD_ReservedMacro //> #define of #undef reserved id, disabled by default }; -/// \brief Checks if the specified identifier is reserved in the specified +/// Checks if the specified identifier is reserved in the specified /// language. /// This function does not check if the identifier is a keyword. static bool isReservedId(StringRef Text, const LangOptions &Lang) { @@ -296,7 +296,7 @@ bool Preprocessor::CheckMacroName(Token &MacroNameTok, MacroUse isDefineUndef, return false; } -/// \brief Lex and validate a macro name, which occurs after a +/// Lex and validate a macro name, which occurs after a /// \#define or \#undef. /// /// This sets the token kind to eod and discards the rest of the macro line if @@ -328,7 +328,7 @@ void Preprocessor::ReadMacroName(Token &MacroNameTok, MacroUse isDefineUndef, } } -/// \brief Ensure that the next token is a tok::eod token. +/// Ensure that the next token is a tok::eod token. /// /// If not, emit a diagnostic and consume up until the eod. If EnableMacros is /// true, then we consider macros that expand to zero tokens as being ok. @@ -1128,7 +1128,7 @@ static bool GetLineValue(Token &DigitTok, unsigned &Val, return false; } -/// \brief Handle a \#line directive: C99 6.10.4. +/// Handle a \#line directive: C99 6.10.4. /// /// The two acceptable forms are: /// \verbatim @@ -1414,7 +1414,7 @@ void Preprocessor::HandleIdentSCCSDirective(Token &Tok) { } } -/// \brief Handle a #public directive. +/// Handle a #public directive. void Preprocessor::HandleMacroPublicDirective(Token &Tok) { Token MacroNameTok; ReadMacroName(MacroNameTok, MU_Undef); @@ -1441,7 +1441,7 @@ void Preprocessor::HandleMacroPublicDirective(Token &Tok) { MacroNameTok.getLocation(), /*IsPublic=*/true)); } -/// \brief Handle a #private directive. +/// Handle a #private directive. void Preprocessor::HandleMacroPrivateDirective() { Token MacroNameTok; ReadMacroName(MacroNameTok, MU_Undef); @@ -1517,7 +1517,7 @@ bool Preprocessor::GetIncludeFilenameSpelling(SourceLocation Loc, return isAngled; } -// \brief Handle cases where the \#include name is expanded from a macro +// Handle cases where the \#include name is expanded from a macro // as multiple tokens, which need to be glued together. // // This occurs for code like: @@ -1578,7 +1578,7 @@ bool Preprocessor::ConcatenateIncludeName(SmallString<128> &FilenameBuffer, return true; } -/// \brief Push a token onto the token stream containing an annotation. +/// Push a token onto the token stream containing an annotation. void Preprocessor::EnterAnnotationToken(SourceRange Range, tok::TokenKind Kind, void *AnnotationVal) { @@ -1593,7 +1593,7 @@ void Preprocessor::EnterAnnotationToken(SourceRange Range, EnterTokenStream(std::move(Tok), 1, true); } -/// \brief Produce a diagnostic informing the user that a #include or similar +/// Produce a diagnostic informing the user that a #include or similar /// was implicitly treated as a module import. static void diagnoseAutoModuleImport( Preprocessor &PP, SourceLocation HashLoc, Token &IncludeTok, diff --git a/lib/Lex/PPLexerChange.cpp b/lib/Lex/PPLexerChange.cpp index f21787338b..c7e0d2c7c2 100644 --- a/lib/Lex/PPLexerChange.cpp +++ b/lib/Lex/PPLexerChange.cpp @@ -226,7 +226,7 @@ void Preprocessor::EnterTokenStream(const Token *Toks, unsigned NumToks, CurLexerKind = CLK_TokenLexer; } -/// \brief Compute the relative path that names the given file relative to +/// Compute the relative path that names the given file relative to /// the given directory. static void computeRelativePath(FileManager &FM, const DirectoryEntry *Dir, const FileEntry *File, @@ -264,7 +264,7 @@ void Preprocessor::PropagateLineStartLeadingSpaceInfo(Token &Result) { // but it might if they're empty? } -/// \brief Determine the location to use as the end of the buffer for a lexer. +/// Determine the location to use as the end of the buffer for a lexer. /// /// If the file ends with a newline, form the EOF token on the newline itself, /// rather than "on the line following it", which doesn't exist. This makes diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp index 5ee5923b88..21b3386188 100644 --- a/lib/Lex/PPMacroExpansion.cpp +++ b/lib/Lex/PPMacroExpansion.cpp @@ -1015,7 +1015,7 @@ MacroArgs *Preprocessor::ReadMacroCallArgumentList(Token &MacroName, return MacroArgs::create(MI, ArgTokens, isVarargsElided, *this); } -/// \brief Keeps macro expanded tokens for TokenLexers. +/// Keeps macro expanded tokens for TokenLexers. // /// Works like a stack; a TokenLexer adds the macro expanded tokens that is /// going to lex in the cache and when it finishes the tokens are removed @@ -1485,7 +1485,7 @@ static bool EvaluateHasIncludeNext(Token &Tok, return EvaluateHasIncludeCommon(Tok, II, PP, Lookup, LookupFromFile); } -/// \brief Process single-argument builtin feature-like macros that return +/// Process single-argument builtin feature-like macros that return /// integer values. static void EvaluateFeatureLikeBuiltinMacro(llvm::raw_svector_ostream& OS, Token &Tok, IdentifierInfo *II, @@ -1588,7 +1588,7 @@ already_lexed: } } -/// \brief Helper function to return the IdentifierInfo structure of a Token +/// Helper function to return the IdentifierInfo structure of a Token /// or generate a diagnostic if none available. static IdentifierInfo *ExpectFeatureIdentifierInfo(Token &Tok, Preprocessor &PP, diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp index db32e452d0..930c5f6b06 100644 --- a/lib/Lex/Pragma.cpp +++ b/lib/Lex/Pragma.cpp @@ -148,7 +148,7 @@ void Preprocessor::HandlePragmaDirective(SourceLocation IntroducerLoc, namespace { -/// \brief Helper class for \see Preprocessor::Handle_Pragma. +/// Helper class for \see Preprocessor::Handle_Pragma. class LexingFor_PragmaRAII { Preprocessor &PP; bool InMacroArgPreExpansion; @@ -588,7 +588,7 @@ IdentifierInfo *Preprocessor::ParsePragmaPushOrPopMacro(Token &Tok) { return LookUpIdentifierInfo(MacroTok); } -/// \brief Handle \#pragma push_macro. +/// Handle \#pragma push_macro. /// /// The syntax is: /// \code @@ -611,7 +611,7 @@ void Preprocessor::HandlePragmaPushMacro(Token &PushMacroTok) { PragmaPushMacroInfo[IdentInfo].push_back(MI); } -/// \brief Handle \#pragma pop_macro. +/// Handle \#pragma pop_macro. /// /// The syntax is: /// \code @@ -1730,7 +1730,7 @@ struct PragmaAssumeNonNullHandler : public PragmaHandler { } }; -/// \brief Handle "\#pragma region [...]" +/// Handle "\#pragma region [...]" /// /// The syntax is /// \code diff --git a/lib/Lex/PreprocessingRecord.cpp b/lib/Lex/PreprocessingRecord.cpp index cd4a63f114..5537479b49 100644 --- a/lib/Lex/PreprocessingRecord.cpp +++ b/lib/Lex/PreprocessingRecord.cpp @@ -54,7 +54,7 @@ InclusionDirective::InclusionDirective(PreprocessingRecord &PPRec, PreprocessingRecord::PreprocessingRecord(SourceManager &SM) : SourceMgr(SM) {} -/// \brief Returns a pair of [Begin, End) iterators of preprocessed entities +/// Returns a pair of [Begin, End) iterators of preprocessed entities /// that source range \p Range encompasses. llvm::iterator_range<PreprocessingRecord::iterator> PreprocessingRecord::getPreprocessedEntitiesInRange(SourceRange Range) { @@ -88,7 +88,7 @@ static bool isPreprocessedEntityIfInFileID(PreprocessedEntity *PPE, FileID FID, return SM.isInFileID(SM.getFileLoc(Loc), FID); } -/// \brief Returns true if the preprocessed entity that \arg PPEI iterator +/// Returns true if the preprocessed entity that \arg PPEI iterator /// points to is coming from the file \arg FID. /// /// Can be used to avoid implicit deserializations of preallocated @@ -132,7 +132,7 @@ bool PreprocessingRecord::isEntityInFileID(iterator PPEI, FileID FID) { FID, SourceMgr); } -/// \brief Returns a pair of [Begin, End) iterators of preprocessed entities +/// Returns a pair of [Begin, End) iterators of preprocessed entities /// that source range \arg R encompasses. std::pair<int, int> PreprocessingRecord::getPreprocessedEntitiesInRangeSlow(SourceRange Range) { @@ -351,7 +351,7 @@ void PreprocessingRecord::RegisterMacroDefinition(MacroInfo *Macro, MacroDefinitions[Macro] = Def; } -/// \brief Retrieve the preprocessed entity at the given ID. +/// Retrieve the preprocessed entity at the given ID. PreprocessedEntity *PreprocessingRecord::getPreprocessedEntity(PPEntityID PPID){ if (PPID.ID < 0) { unsigned Index = -PPID.ID - 1; @@ -368,7 +368,7 @@ PreprocessedEntity *PreprocessingRecord::getPreprocessedEntity(PPEntityID PPID){ return PreprocessedEntities[Index]; } -/// \brief Retrieve the loaded preprocessed entity at the given index. +/// Retrieve the loaded preprocessed entity at the given index. PreprocessedEntity * PreprocessingRecord::getLoadedPreprocessedEntity(unsigned Index) { assert(Index < LoadedPreprocessedEntities.size() && diff --git a/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp index 94490bdf3f..358103d43d 100644 --- a/lib/Lex/Preprocessor.cpp +++ b/lib/Lex/Preprocessor.cpp @@ -333,7 +333,7 @@ Preprocessor::macro_end(bool IncludeExternalMacros) const { return CurSubmoduleState->Macros.end(); } -/// \brief Compares macro tokens with a specified token value sequence. +/// Compares macro tokens with a specified token value sequence. static bool MacroDefinitionEquals(const MacroInfo *MI, ArrayRef<TokenValue> Tokens) { return Tokens.size() == MI->getNumTokens() && @@ -645,7 +645,7 @@ void Preprocessor::HandlePoisonedIdentifier(Token & Identifier) { Diag(Identifier,it->second) << Identifier.getIdentifierInfo(); } -/// \brief Returns a diagnostic message kind for reporting a future keyword as +/// Returns a diagnostic message kind for reporting a future keyword as /// appropriate for the identifier and specified language. static diag::kind getFutureCompatDiagKind(const IdentifierInfo &II, const LangOptions &LangOpts) { @@ -805,7 +805,7 @@ void Preprocessor::Lex(Token &Result) { LastTokenWasAt = Result.is(tok::at); } -/// \brief Lex a token following the 'import' contextual keyword. +/// Lex a token following the 'import' contextual keyword. /// void Preprocessor::LexAfterModuleImport(Token &Result) { // Figure out what kind of lexer we actually have. diff --git a/lib/Lex/PreprocessorLexer.cpp b/lib/Lex/PreprocessorLexer.cpp index 2e85f46f52..9f930c3a3c 100644 --- a/lib/Lex/PreprocessorLexer.cpp +++ b/lib/Lex/PreprocessorLexer.cpp @@ -28,7 +28,7 @@ PreprocessorLexer::PreprocessorLexer(Preprocessor *pp, FileID fid) InitialNumSLocEntries = pp->getSourceManager().local_sloc_entry_size(); } -/// \brief After the preprocessor has parsed a \#include, lex and +/// After the preprocessor has parsed a \#include, lex and /// (potentially) macro expand the filename. void PreprocessorLexer::LexIncludeFilename(Token &FilenameTok) { assert(ParsingPreprocessorDirective && diff --git a/lib/Lex/TokenLexer.cpp b/lib/Lex/TokenLexer.cpp index 724ccb3938..184b1b3902 100644 --- a/lib/Lex/TokenLexer.cpp +++ b/lib/Lex/TokenLexer.cpp @@ -574,7 +574,7 @@ void TokenLexer::ExpandFunctionArguments() { } } -/// \brief Checks if two tokens form wide string literal. +/// Checks if two tokens form wide string literal. static bool isWideStringLiteralFromMacro(const Token &FirstTok, const Token &SecondTok) { return FirstTok.is(tok::identifier) && @@ -918,7 +918,7 @@ void TokenLexer::HandleMicrosoftCommentPaste(Token &Tok, SourceLocation OpLoc) { PP.HandleMicrosoftCommentPaste(Tok); } -/// \brief If \arg loc is a file ID and points inside the current macro +/// If \arg loc is a file ID and points inside the current macro /// definition, returns the appropriate source location pointing at the /// macro expansion source location entry, otherwise it returns an invalid /// SourceLocation. @@ -937,7 +937,7 @@ TokenLexer::getExpansionLocForMacroDefLoc(SourceLocation loc) const { return MacroExpansionStart.getLocWithOffset(relativeOffset); } -/// \brief Finds the tokens that are consecutive (from the same FileID) +/// Finds the tokens that are consecutive (from the same FileID) /// creates a single SLocEntry, and assigns SourceLocations to each token that /// point to that SLocEntry. e.g for /// assert(foo == bar); @@ -1007,7 +1007,7 @@ static void updateConsecutiveMacroArgTokens(SourceManager &SM, } } -/// \brief Creates SLocEntries and updates the locations of macro argument +/// Creates SLocEntries and updates the locations of macro argument /// tokens to their new expanded locations. /// /// \param ArgIdSpellLoc the location of the macro argument id inside the macro diff --git a/lib/Parse/ParseCXXInlineMethods.cpp b/lib/Parse/ParseCXXInlineMethods.cpp index 2b3d4ba85b..bccf4239c1 100644 --- a/lib/Parse/ParseCXXInlineMethods.cpp +++ b/lib/Parse/ParseCXXInlineMethods.cpp @@ -733,7 +733,7 @@ bool Parser::ConsumeAndStoreUntil(tok::TokenKind T1, tok::TokenKind T2, } } -/// \brief Consume tokens and store them in the passed token container until +/// Consume tokens and store them in the passed token container until /// we've passed the try keyword and constructor initializers and have consumed /// the opening brace of the function body. The opening brace will be consumed /// if and only if there was no error. @@ -937,7 +937,7 @@ bool Parser::ConsumeAndStoreFunctionPrologue(CachedTokens &Toks) { } } -/// \brief Consume and store tokens from the '?' to the ':' in a conditional +/// Consume and store tokens from the '?' to the ':' in a conditional /// expression. bool Parser::ConsumeAndStoreConditional(CachedTokens &Toks) { // Consume '?'. @@ -962,7 +962,7 @@ bool Parser::ConsumeAndStoreConditional(CachedTokens &Toks) { return true; } -/// \brief A tentative parsing action that can also revert token annotations. +/// A tentative parsing action that can also revert token annotations. class Parser::UnannotatedTentativeParsingAction : public TentativeParsingAction { public: explicit UnannotatedTentativeParsingAction(Parser &Self, diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 866ca775a7..eab07cbd43 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/lib/Parse/ParseDecl.cpp @@ -70,7 +70,7 @@ TypeResult Parser::ParseTypeName(SourceRange *Range, return Actions.ActOnTypeName(getCurScope(), DeclaratorInfo); } -/// \brief Normalizes an attribute name by dropping prefixed and suffixed __. +/// Normalizes an attribute name by dropping prefixed and suffixed __. static StringRef normalizeAttrName(StringRef Name) { if (Name.size() >= 4 && Name.startswith("__") && Name.endswith("__")) return Name.drop_front(2).drop_back(2); @@ -206,7 +206,7 @@ void Parser::ParseGNUAttributes(ParsedAttributes &attrs, } } -/// \brief Determine whether the given attribute has an identifier argument. +/// Determine whether the given attribute has an identifier argument. static bool attributeHasIdentifierArg(const IdentifierInfo &II) { #define CLANG_ATTR_IDENTIFIER_ARG_LIST return llvm::StringSwitch<bool>(normalizeAttrName(II.getName())) @@ -215,7 +215,7 @@ static bool attributeHasIdentifierArg(const IdentifierInfo &II) { #undef CLANG_ATTR_IDENTIFIER_ARG_LIST } -/// \brief Determine whether the given attribute parses a type argument. +/// Determine whether the given attribute parses a type argument. static bool attributeIsTypeArgAttr(const IdentifierInfo &II) { #define CLANG_ATTR_TYPE_ARG_LIST return llvm::StringSwitch<bool>(normalizeAttrName(II.getName())) @@ -224,7 +224,7 @@ static bool attributeIsTypeArgAttr(const IdentifierInfo &II) { #undef CLANG_ATTR_TYPE_ARG_LIST } -/// \brief Determine whether the given attribute requires parsing its arguments +/// Determine whether the given attribute requires parsing its arguments /// in an unevaluated context or not. static bool attributeParsedArgsUnevaluated(const IdentifierInfo &II) { #define CLANG_ATTR_ARG_CONTEXT_LIST @@ -758,7 +758,7 @@ static bool VersionNumberSeparator(const char Separator) { return (Separator == '.' || Separator == '_'); } -/// \brief Parse a version number. +/// Parse a version number. /// /// version: /// simple-integer @@ -875,7 +875,7 @@ VersionTuple Parser::ParseVersionTuple(SourceRange &Range) { return VersionTuple(Major, Minor, Subminor, (AfterMajorSeparator == '_')); } -/// \brief Parse the contents of the "availability" attribute. +/// Parse the contents of the "availability" attribute. /// /// availability-attribute: /// 'availability' '(' platform ',' opt-strict version-arg-list, @@ -1107,7 +1107,7 @@ void Parser::ParseAvailabilityAttribute(IdentifierInfo &Availability, Syntax, StrictLoc, ReplacementExpr.get()); } -/// \brief Parse the contents of the "external_source_symbol" attribute. +/// Parse the contents of the "external_source_symbol" attribute. /// /// external-source-symbol-attribute: /// 'external_source_symbol' '(' keyword-arg-list ')' @@ -1220,7 +1220,7 @@ void Parser::ParseExternalSourceSymbolAttribute( ScopeName, ScopeLoc, Args, llvm::array_lengthof(Args), Syntax); } -/// \brief Parse the contents of the "objc_bridge_related" attribute. +/// Parse the contents of the "objc_bridge_related" attribute. /// objc_bridge_related '(' related_class ',' opt-class_method ',' opt-instance_method ')' /// related_class: /// Identifier @@ -1351,7 +1351,7 @@ void Parser::ParseLexedAttributes(ParsingClass &Class) { Class.TagOrTemplate); } -/// \brief Parse all attributes in LAs, and attach them to Decl D. +/// Parse all attributes in LAs, and attach them to Decl D. void Parser::ParseLexedAttributeList(LateParsedAttrList &LAs, Decl *D, bool EnterScope, bool OnDefinition) { assert(LAs.parseSoon() && @@ -1365,7 +1365,7 @@ void Parser::ParseLexedAttributeList(LateParsedAttrList &LAs, Decl *D, LAs.clear(); } -/// \brief Finish parsing an attribute for which parsing was delayed. +/// Finish parsing an attribute for which parsing was delayed. /// This will be called at the end of parsing a class declaration /// for each LateParsedAttribute. We consume the saved tokens and /// create an attribute with the arguments filled in. We add this @@ -1551,7 +1551,7 @@ bool Parser::DiagnoseProhibitedCXX11Attribute() { llvm_unreachable("All cases handled above."); } -/// \brief We have found the opening square brackets of a C++11 +/// We have found the opening square brackets of a C++11 /// attribute-specifier in a location where an attribute is not permitted, but /// we know where the attributes ought to be written. Parse them anyway, and /// provide a fixit moving them to the right place. @@ -2128,7 +2128,7 @@ bool Parser::ParseAsmAttributesAfterDeclarator(Declarator &D) { return false; } -/// \brief Parse 'declaration' after parsing 'declaration-specifiers +/// Parse 'declaration' after parsing 'declaration-specifiers /// declarator'. This method parses the remainder of the declaration /// (including any attributes or initializer, among other things) and /// finalizes the declaration. @@ -2677,7 +2677,7 @@ bool Parser::ParseImplicitInt(DeclSpec &DS, CXXScopeSpec *SS, return false; } -/// \brief Determine the declaration specifier context from the declarator +/// Determine the declaration specifier context from the declarator /// context. /// /// \param Context the declarator context, which is one of the diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp index 1b0f341d35..4a1280e7f8 100644 --- a/lib/Parse/ParseDeclCXX.cpp +++ b/lib/Parse/ParseDeclCXX.cpp @@ -2109,7 +2109,7 @@ AccessSpecifier Parser::getAccessSpecifierIfPresent() const { } } -/// \brief If the given declarator has any parts for which parsing has to be +/// If the given declarator has any parts for which parsing has to be /// delayed, e.g., default arguments or an exception-specification, create a /// late-parsed method declaration record to handle the parsing at the end of /// the class definition. @@ -2249,7 +2249,7 @@ bool Parser::isCXX11FinalKeyword() const { Specifier == VirtSpecifiers::VS_Sealed; } -/// \brief Parse a C++ member-declarator up to, but not including, the optional +/// Parse a C++ member-declarator up to, but not including, the optional /// brace-or-equal-initializer or pure-specifier. bool Parser::ParseCXXMemberDeclaratorBeforeInitializer( Declarator &DeclaratorInfo, VirtSpecifiers &VS, ExprResult &BitfieldSize, @@ -2320,7 +2320,7 @@ bool Parser::ParseCXXMemberDeclaratorBeforeInitializer( return false; } -/// \brief Look for declaration specifiers possibly occurring after C++11 +/// Look for declaration specifiers possibly occurring after C++11 /// virt-specifier-seq and diagnose them. void Parser::MaybeParseAndDiagnoseDeclSpecAfterCXX11VirtSpecifierSeq( Declarator &D, @@ -3505,7 +3505,7 @@ MemInitResult Parser::ParseMemInitializer(Decl *ConstructorDecl) { return Diag(Tok, diag::err_expected) << tok::l_paren; } -/// \brief Parse a C++ exception-specification if present (C++0x [except.spec]). +/// Parse a C++ exception-specification if present (C++0x [except.spec]). /// /// exception-specification: /// dynamic-exception-specification @@ -3714,7 +3714,7 @@ TypeResult Parser::ParseTrailingReturnType(SourceRange &Range, : DeclaratorContext::TrailingReturnContext); } -/// \brief We have just started parsing the definition of a new class, +/// We have just started parsing the definition of a new class, /// so push that class onto our stack of classes that is currently /// being parsed. Sema::ParsingClassState @@ -3726,7 +3726,7 @@ Parser::PushParsingClass(Decl *ClassDecl, bool NonNestedClass, return Actions.PushParsingClass(); } -/// \brief Deallocate the given parsed class and all of its nested +/// Deallocate the given parsed class and all of its nested /// classes. void Parser::DeallocateParsedClasses(Parser::ParsingClass *Class) { for (unsigned I = 0, N = Class->LateParsedDeclarations.size(); I != N; ++I) @@ -3734,7 +3734,7 @@ void Parser::DeallocateParsedClasses(Parser::ParsingClass *Class) { delete Class; } -/// \brief Pop the top class of the stack of classes that are +/// Pop the top class of the stack of classes that are /// currently being parsed. /// /// This routine should be called when we have finished parsing the @@ -3772,7 +3772,7 @@ void Parser::PopParsingClass(Sema::ParsingClassState state) { Victim->TemplateScope = getCurScope()->getParent()->isTemplateParamScope(); } -/// \brief Try to parse an 'identifier' which appears within an attribute-token. +/// Try to parse an 'identifier' which appears within an attribute-token. /// /// \return the parsed identifier on success, and 0 if the next token is not an /// attribute-token. diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index 1cc98568de..4fc2e34d44 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Provides the Expression parsing implementation. +/// Provides the Expression parsing implementation. /// /// Expressions in C99 basically consist of a bunch of binary operators with /// unary operators and other random stuff at the leaves. @@ -32,7 +32,7 @@ #include "llvm/ADT/SmallVector.h" using namespace clang; -/// \brief Simple precedence-based parser for binary/ternary operators. +/// Simple precedence-based parser for binary/ternary operators. /// /// Note: we diverge from the C99 grammar when parsing the assignment-expression /// production. C99 specifies that the LHS of an assignment operator should be @@ -156,7 +156,7 @@ Parser::ParseExpressionWithLeadingExtension(SourceLocation ExtLoc) { return ParseRHSOfBinaryExpression(LHS, prec::Comma); } -/// \brief Parse an expr that doesn't include (top-level) commas. +/// Parse an expr that doesn't include (top-level) commas. ExprResult Parser::ParseAssignmentExpression(TypeCastState isTypeCast) { if (Tok.is(tok::code_completion)) { Actions.CodeCompleteOrdinaryName(getCurScope(), Sema::PCC_Expression); @@ -175,7 +175,7 @@ ExprResult Parser::ParseAssignmentExpression(TypeCastState isTypeCast) { return ParseRHSOfBinaryExpression(LHS, prec::Assignment); } -/// \brief Parse an assignment expression where part of an Objective-C message +/// Parse an assignment expression where part of an Objective-C message /// send has already been parsed. /// /// In this case \p LBracLoc indicates the location of the '[' of the message @@ -217,7 +217,7 @@ ExprResult Parser::ParseConstantExpression(TypeCastState isTypeCast) { return ParseConstantExpressionInExprEvalContext(isTypeCast); } -/// \brief Parse a constraint-expression. +/// Parse a constraint-expression. /// /// \verbatim /// constraint-expression: [Concepts TS temp.constr.decl p1] @@ -279,7 +279,7 @@ bool Parser::isFoldOperator(tok::TokenKind Kind) const { return isFoldOperator(getBinOpPrecedence(Kind, GreaterThanIsOperator, true)); } -/// \brief Parse a binary expression that starts with \p LHS and has a +/// Parse a binary expression that starts with \p LHS and has a /// precedence of at least \p MinPrec. ExprResult Parser::ParseRHSOfBinaryExpression(ExprResult LHS, prec::Level MinPrec) { @@ -513,7 +513,7 @@ Parser::ParseRHSOfBinaryExpression(ExprResult LHS, prec::Level MinPrec) { } } -/// \brief Parse a cast-expression, or, if \p isUnaryExpression is true, +/// Parse a cast-expression, or, if \p isUnaryExpression is true, /// parse a unary-expression. /// /// \p isAddressOfOperand exists because an id-expression that is the @@ -570,7 +570,7 @@ class CastExpressionIdValidator : public CorrectionCandidateCallback { }; } -/// \brief Parse a cast-expression, or, if \pisUnaryExpression is true, parse +/// Parse a cast-expression, or, if \pisUnaryExpression is true, parse /// a unary-expression. /// /// \p isAddressOfOperand exists because an id-expression that is the operand @@ -1450,7 +1450,7 @@ ExprResult Parser::ParseCastExpression(bool isUnaryExpression, return Res; } -/// \brief Once the leading part of a postfix-expression is parsed, this +/// Once the leading part of a postfix-expression is parsed, this /// method parses any suffixes that apply. /// /// \verbatim @@ -1882,7 +1882,7 @@ Parser::ParseExprAfterUnaryExprOrTypeTrait(const Token &OpTok, } -/// \brief Parse a sizeof or alignof expression. +/// Parse a sizeof or alignof expression. /// /// \verbatim /// unary-expression: [C99 6.5.3] @@ -2695,7 +2695,7 @@ ExprResult Parser::ParseGenericSelectionExpression() { Types, Exprs); } -/// \brief Parse A C++1z fold-expression after the opening paren and optional +/// Parse A C++1z fold-expression after the opening paren and optional /// left-hand-side expression. /// /// \verbatim diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index 276dea1add..1c859c19e2 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -100,7 +100,7 @@ void Parser::CheckForTemplateAndDigraph(Token &Next, ParsedType ObjectType, /*AtDigraph*/false); } -/// \brief Parse global scope or nested-name-specifier if present. +/// Parse global scope or nested-name-specifier if present. /// /// Parses a C++ global scope specifier ('::') or nested-name-specifier (which /// may be preceded by '::'). Note that this routine will not parse ::new or @@ -730,7 +730,7 @@ ExprResult Parser::TryParseLambdaExpression() { return ParseLambdaExpressionAfterIntroducer(Intro); } -/// \brief Parse a lambda introducer. +/// Parse a lambda introducer. /// \param Intro A LambdaIntroducer filled in with information about the /// contents of the lambda-introducer. /// \param SkippedInits If non-null, we are disambiguating between an Obj-C @@ -1500,7 +1500,7 @@ ExprResult Parser::ParseCXXUuidof() { return Result; } -/// \brief Parse a C++ pseudo-destructor expression after the base, +/// Parse a C++ pseudo-destructor expression after the base, /// . or -> operator, and nested-name-specifier have already been /// parsed. /// @@ -1621,7 +1621,7 @@ ExprResult Parser::ParseThrowExpression() { } } -/// \brief Parse the C++ Coroutines co_yield expression. +/// Parse the C++ Coroutines co_yield expression. /// /// co_yield-expression: /// 'co_yield' assignment-expression[opt] @@ -2007,7 +2007,7 @@ bool Parser::ParseCXXTypeSpecifierSeq(DeclSpec &DS) { return false; } -/// \brief Finish parsing a C++ unqualified-id that is a template-id of +/// Finish parsing a C++ unqualified-id that is a template-id of /// some form. /// /// This routine is invoked when a '<' is encountered after an identifier or @@ -2191,7 +2191,7 @@ bool Parser::ParseUnqualifiedIdTemplateId(CXXScopeSpec &SS, return false; } -/// \brief Parse an operator-function-id or conversion-function-id as part +/// Parse an operator-function-id or conversion-function-id as part /// of a C++ unqualified-id. /// /// This routine is responsible only for parsing the operator-function-id or @@ -2430,7 +2430,7 @@ bool Parser::ParseUnqualifiedIdOperator(CXXScopeSpec &SS, bool EnteringContext, return false; } -/// \brief Parse a C++ unqualified-id (or a C identifier), which describes the +/// Parse a C++ unqualified-id (or a C identifier), which describes the /// name of an entity. /// /// \code @@ -3002,7 +3002,7 @@ static unsigned TypeTraitArity(tok::TokenKind kind) { } } -/// \brief Parse the built-in type-trait pseudo-functions that allow +/// Parse the built-in type-trait pseudo-functions that allow /// implementation of the TR1/C++11 type traits templates. /// /// primary-expression: diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index 0ac418ad70..6ca0ad855f 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -2272,7 +2272,7 @@ void Parser::ObjCImplParsingDataRAII::finish(SourceRange AtEnd) { P.ParseLexedObjCMethodDefs(*LateParsedObjCMethods[i], false/*c-functions*/); - /// \brief Clear and free the cached objc methods. + /// Clear and free the cached objc methods. for (LateParsedObjCMethodContainer::iterator I = LateParsedObjCMethods.begin(), E = LateParsedObjCMethods.end(); I != E; ++I) @@ -2864,7 +2864,7 @@ ExprResult Parser::ParseObjCAtExpression(SourceLocation AtLoc) { } } -/// \brief Parse the receiver of an Objective-C++ message send. +/// Parse the receiver of an Objective-C++ message send. /// /// This routine parses the receiver of a message send in /// Objective-C++ either as a type or as an expression. Note that this @@ -2954,7 +2954,7 @@ bool Parser::ParseObjCXXMessageReceiver(bool &IsExpr, void *&TypeOrExpr) { return false; } -/// \brief Determine whether the parser is currently referring to a an +/// Determine whether the parser is currently referring to a an /// Objective-C message send, using a simplified heuristic to avoid overhead. /// /// This routine will only return true for a subset of valid message-send @@ -3099,7 +3099,7 @@ ExprResult Parser::ParseObjCMessageExpression() { Res.get()); } -/// \brief Parse the remainder of an Objective-C message following the +/// Parse the remainder of an Objective-C message following the /// '[' objc-receiver. /// /// This routine handles sends to super, class messages (sent to a diff --git a/lib/Parse/ParseOpenMP.cpp b/lib/Parse/ParseOpenMP.cpp index bfd708fe86..d06e101423 100644 --- a/lib/Parse/ParseOpenMP.cpp +++ b/lib/Parse/ParseOpenMP.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file implements parsing of all OpenMP directives and clauses. +/// This file implements parsing of all OpenMP directives and clauses. /// //===----------------------------------------------------------------------===// @@ -210,7 +210,7 @@ static DeclarationName parseOpenMPReductionId(Parser &P) { : DeclNames.getCXXOperatorName(OOK); } -/// \brief Parse 'omp declare reduction' construct. +/// Parse 'omp declare reduction' construct. /// /// declare-reduction-directive: /// annot_pragma_openmp 'declare' 'reduction' @@ -625,7 +625,7 @@ Parser::ParseOMPDeclareSimdClauses(Parser::DeclGroupPtrTy Ptr, LinModifiers, Steps, SourceRange(Loc, EndLoc)); } -/// \brief Parsing of declarative OpenMP directives. +/// Parsing of declarative OpenMP directives. /// /// threadprivate-directive: /// annot_pragma_openmp 'threadprivate' simple-variable-list @@ -874,7 +874,7 @@ Parser::DeclGroupPtrTy Parser::ParseOpenMPDeclarativeDirectiveWithExtDecl( return nullptr; } -/// \brief Parsing of declarative or executable OpenMP directives. +/// Parsing of declarative or executable OpenMP directives. /// /// threadprivate-directive: /// annot_pragma_openmp 'threadprivate' simple-variable-list @@ -1197,7 +1197,7 @@ bool Parser::ParseOpenMPSimpleVarList( return !IsCorrect; } -/// \brief Parsing of OpenMP clauses. +/// Parsing of OpenMP clauses. /// /// clause: /// if-clause | final-clause | num_threads-clause | safelen-clause | @@ -1384,7 +1384,7 @@ ExprResult Parser::ParseOpenMPParensExpr(StringRef ClauseName, return Val; } -/// \brief Parsing of OpenMP clauses with single expressions like 'final', +/// Parsing of OpenMP clauses with single expressions like 'final', /// 'collapse', 'safelen', 'num_threads', 'simdlen', 'num_teams', /// 'thread_limit', 'simdlen', 'priority', 'grainsize', 'num_tasks' or 'hint'. /// @@ -1431,7 +1431,7 @@ OMPClause *Parser::ParseOpenMPSingleExprClause(OpenMPClauseKind Kind, return Actions.ActOnOpenMPSingleExprClause(Kind, Val.get(), Loc, LLoc, RLoc); } -/// \brief Parsing of simple OpenMP clauses like 'default' or 'proc_bind'. +/// Parsing of simple OpenMP clauses like 'default' or 'proc_bind'. /// /// default-clause: /// 'default' '(' 'none' | 'shared' ') @@ -1465,7 +1465,7 @@ OMPClause *Parser::ParseOpenMPSimpleClause(OpenMPClauseKind Kind, Tok.getLocation()); } -/// \brief Parsing of OpenMP clauses like 'ordered'. +/// Parsing of OpenMP clauses like 'ordered'. /// /// ordered-clause: /// 'ordered' @@ -1501,7 +1501,7 @@ OMPClause *Parser::ParseOpenMPClause(OpenMPClauseKind Kind, bool ParseOnly) { } -/// \brief Parsing of OpenMP clauses with single expressions and some additional +/// Parsing of OpenMP clauses with single expressions and some additional /// argument like 'schedule' or 'dist_schedule'. /// /// schedule-clause: @@ -1921,7 +1921,7 @@ bool Parser::ParseOpenMPVarList(OpenMPDirectiveKind DKind, (MustHaveTail && !Data.TailExpr) || InvalidReductionId; } -/// \brief Parsing of OpenMP clause 'private', 'firstprivate', 'lastprivate', +/// Parsing of OpenMP clause 'private', 'firstprivate', 'lastprivate', /// 'shared', 'copyin', 'copyprivate', 'flush', 'reduction', 'task_reduction' or /// 'in_reduction'. /// diff --git a/lib/Parse/ParsePragma.cpp b/lib/Parse/ParsePragma.cpp index 2fec665ec1..afd99b23a8 100644 --- a/lib/Parse/ParsePragma.cpp +++ b/lib/Parse/ParsePragma.cpp @@ -458,7 +458,7 @@ void Parser::resetPragmaHandlers() { AttributePragmaHandler.reset(); } -/// \brief Handle the annotation token produced for #pragma unused(...) +/// Handle the annotation token produced for #pragma unused(...) /// /// Each annot_pragma_unused is followed by the argument token so e.g. /// "#pragma unused(x,y)" becomes: @@ -2100,7 +2100,7 @@ PragmaOpenCLExtensionHandler::HandlePragma(Preprocessor &PP, StateLoc, State); } -/// \brief Handle '#pragma omp ...' when OpenMP is disabled. +/// Handle '#pragma omp ...' when OpenMP is disabled. /// void PragmaNoOpenMPHandler::HandlePragma(Preprocessor &PP, @@ -2115,7 +2115,7 @@ PragmaNoOpenMPHandler::HandlePragma(Preprocessor &PP, PP.DiscardUntilEndOfDirective(); } -/// \brief Handle '#pragma omp ...' when OpenMP is enabled. +/// Handle '#pragma omp ...' when OpenMP is enabled. /// void PragmaOpenMPHandler::HandlePragma(Preprocessor &PP, @@ -2155,7 +2155,7 @@ PragmaOpenMPHandler::HandlePragma(Preprocessor &PP, /*DisableMacroExpansion=*/false); } -/// \brief Handle '#pragma pointers_to_members' +/// Handle '#pragma pointers_to_members' // The grammar for this pragma is as follows: // // <inheritance model> ::= ('single' | 'multiple' | 'virtual') '_inheritance' @@ -2253,7 +2253,7 @@ void PragmaMSPointersToMembers::HandlePragma(Preprocessor &PP, PP.EnterToken(AnnotTok); } -/// \brief Handle '#pragma vtordisp' +/// Handle '#pragma vtordisp' // The grammar for this pragma is as follows: // // <vtordisp-mode> ::= ('off' | 'on' | '0' | '1' | '2' ) @@ -2346,7 +2346,7 @@ void PragmaMSVtorDisp::HandlePragma(Preprocessor &PP, PP.EnterToken(AnnotTok); } -/// \brief Handle all MS pragmas. Simply forwards the tokens after inserting +/// Handle all MS pragmas. Simply forwards the tokens after inserting /// an annotation token. void PragmaMSPragma::HandlePragma(Preprocessor &PP, PragmaIntroducerKind Introducer, @@ -2377,7 +2377,7 @@ void PragmaMSPragma::HandlePragma(Preprocessor &PP, PP.EnterToken(AnnotTok); } -/// \brief Handle the Microsoft \#pragma detect_mismatch extension. +/// Handle the Microsoft \#pragma detect_mismatch extension. /// /// The syntax is: /// \code @@ -2434,7 +2434,7 @@ void PragmaDetectMismatchHandler::HandlePragma(Preprocessor &PP, Actions.ActOnPragmaDetectMismatch(DetectMismatchLoc, NameString, ValueString); } -/// \brief Handle the microsoft \#pragma comment extension. +/// Handle the microsoft \#pragma comment extension. /// /// The syntax is: /// \code @@ -2683,7 +2683,7 @@ void Parser::HandlePragmaFP() { ConsumeAnnotationToken(); } -/// \brief Parses loop or unroll pragma hint value and fills in Info. +/// Parses loop or unroll pragma hint value and fills in Info. static bool ParseLoopHintValue(Preprocessor &PP, Token &Tok, Token PragmaName, Token Option, bool ValueInParens, PragmaLoopHintInfo &Info) { @@ -2725,7 +2725,7 @@ static bool ParseLoopHintValue(Preprocessor &PP, Token &Tok, Token PragmaName, return false; } -/// \brief Handle the \#pragma clang loop directive. +/// Handle the \#pragma clang loop directive. /// #pragma clang 'loop' loop-hints /// /// loop-hints: @@ -2840,7 +2840,7 @@ void PragmaLoopHintHandler::HandlePragma(Preprocessor &PP, /*DisableMacroExpansion=*/false); } -/// \brief Handle the loop unroll optimization pragmas. +/// Handle the loop unroll optimization pragmas. /// #pragma unroll /// #pragma unroll unroll-hint-value /// #pragma unroll '(' unroll-hint-value ')' @@ -2910,7 +2910,7 @@ void PragmaUnrollHintHandler::HandlePragma(Preprocessor &PP, /*DisableMacroExpansion=*/false); } -/// \brief Handle the Microsoft \#pragma intrinsic extension. +/// Handle the Microsoft \#pragma intrinsic extension. /// /// The syntax is: /// \code @@ -3038,7 +3038,7 @@ void PragmaForceCUDAHostDeviceHandler::HandlePragma( diag::warn_pragma_force_cuda_host_device_bad_arg); } -/// \brief Handle the #pragma clang attribute directive. +/// Handle the #pragma clang attribute directive. /// /// The syntax is: /// \code diff --git a/lib/Parse/ParseStmt.cpp b/lib/Parse/ParseStmt.cpp index f72fd3221c..44406002c0 100644 --- a/lib/Parse/ParseStmt.cpp +++ b/lib/Parse/ParseStmt.cpp @@ -27,7 +27,7 @@ using namespace clang; // C99 6.8: Statements and Blocks. //===----------------------------------------------------------------------===// -/// \brief Parse a standalone statement (for instance, as the body of an 'if', +/// Parse a standalone statement (for instance, as the body of an 'if', /// 'while', or 'for'). StmtResult Parser::ParseStatement(SourceLocation *TrailingElseLoc, bool AllowOpenMPStandalone) { @@ -402,7 +402,7 @@ Retry: return Res; } -/// \brief Parse an expression statement. +/// Parse an expression statement. StmtResult Parser::ParseExprStatement() { // If a case keyword is missing, this is where it should be inserted. Token OldToken = Tok; diff --git a/lib/Parse/ParseTemplate.cpp b/lib/Parse/ParseTemplate.cpp index d089b245df..d1d53b07e0 100644 --- a/lib/Parse/ParseTemplate.cpp +++ b/lib/Parse/ParseTemplate.cpp @@ -21,7 +21,7 @@ #include "clang/Sema/Scope.h" using namespace clang; -/// \brief Parse a template declaration, explicit instantiation, or +/// Parse a template declaration, explicit instantiation, or /// explicit specialization. Decl * Parser::ParseDeclarationStartingWithTemplate(DeclaratorContext Context, @@ -41,7 +41,7 @@ Parser::ParseDeclarationStartingWithTemplate(DeclaratorContext Context, -/// \brief Parse a template declaration or an explicit specialization. +/// Parse a template declaration or an explicit specialization. /// /// Template declarations include one or more template parameter lists /// and either the function or class template declaration. Explicit @@ -157,7 +157,7 @@ Parser::ParseTemplateDeclarationOrSpecialization(DeclaratorContext Context, DeclEnd, AS, AccessAttrs); } -/// \brief Parse a single declaration that declares a template, +/// Parse a single declaration that declares a template, /// template specialization, or explicit instantiation of a template. /// /// \param DeclEnd will receive the source location of the last token @@ -403,7 +403,7 @@ Parser::ParseTemplateParameterList(const unsigned Depth, return true; } -/// \brief Determine whether the parser is at the start of a template +/// Determine whether the parser is at the start of a template /// type parameter. bool Parser::isStartOfTemplateTypeParameter() { if (Tok.is(tok::kw_class)) { @@ -754,7 +754,7 @@ void Parser::DiagnoseMisplacedEllipsisInDeclarator(SourceLocation EllipsisLoc, AlreadyHasEllipsis, D.hasName()); } -/// \brief Parses a '>' at the end of a template list. +/// Parses a '>' at the end of a template list. /// /// If this function encounters '>>', '>>>', '>=', or '>>=', it tries /// to determine if these tokens were supposed to be a '>' followed by @@ -926,7 +926,7 @@ bool Parser::ParseGreaterThanInTemplateList(SourceLocation &RAngleLoc, } -/// \brief Parses a template-id that after the template name has +/// Parses a template-id that after the template name has /// already been parsed. /// /// This routine takes care of parsing the enclosed template argument @@ -968,7 +968,7 @@ Parser::ParseTemplateIdAfterTemplateName(bool ConsumeLastToken, /*ObjCGenericList=*/false); } -/// \brief Replace the tokens that form a simple-template-id with an +/// Replace the tokens that form a simple-template-id with an /// annotation token containing the complete template-id. /// /// The first token in the stream must be the name of a template that @@ -1089,7 +1089,7 @@ bool Parser::AnnotateTemplateIdToken(TemplateTy Template, TemplateNameKind TNK, return false; } -/// \brief Replaces a template-id annotation token with a type +/// Replaces a template-id annotation token with a type /// annotation token. /// /// If there was a failure when forming the type from the template-id, @@ -1134,12 +1134,12 @@ void Parser::AnnotateTemplateIdTokenAsType(bool IsClassName) { PP.AnnotateCachedTokens(Tok); } -/// \brief Determine whether the given token can end a template argument. +/// Determine whether the given token can end a template argument. static bool isEndOfTemplateArgument(Token Tok) { return Tok.isOneOf(tok::comma, tok::greater, tok::greatergreater); } -/// \brief Parse a C++ template template argument. +/// Parse a C++ template template argument. ParsedTemplateArgument Parser::ParseTemplateTemplateArgument() { if (!Tok.is(tok::identifier) && !Tok.is(tok::coloncolon) && !Tok.is(tok::annot_cxxscope)) @@ -1267,7 +1267,7 @@ ParsedTemplateArgument Parser::ParseTemplateArgument() { ExprArg.get(), Loc); } -/// \brief Determine whether the current tokens can only be parsed as a +/// Determine whether the current tokens can only be parsed as a /// template argument list (starting with the '<') and never as a '<' /// expression. bool Parser::IsTemplateArgumentList(unsigned Skip) { @@ -1329,7 +1329,7 @@ Parser::ParseTemplateArgumentList(TemplateArgList &TemplateArgs) { return false; } -/// \brief Parse a C++ explicit template instantiation +/// Parse a C++ explicit template instantiation /// (C++ [temp.explicit]). /// /// explicit-instantiation: @@ -1367,7 +1367,7 @@ void Parser::LateTemplateParserCallback(void *P, LateParsedTemplate &LPT) { ((Parser *)P)->ParseLateTemplatedFuncDef(LPT); } -/// \brief Late parse a C++ function template in Microsoft mode. +/// Late parse a C++ function template in Microsoft mode. void Parser::ParseLateTemplatedFuncDef(LateParsedTemplate &LPT) { if (!LPT.D) return; @@ -1458,7 +1458,7 @@ void Parser::ParseLateTemplatedFuncDef(LateParsedTemplate &LPT) { delete *I; } -/// \brief Lex a delayed template function for late parsing. +/// Lex a delayed template function for late parsing. void Parser::LexTemplateFunctionForLateParsing(CachedTokens &Toks) { tok::TokenKind kind = Tok.getKind(); if (!ConsumeAndStoreFunctionPrologue(Toks)) { diff --git a/lib/Parse/ParseTentative.cpp b/lib/Parse/ParseTentative.cpp index 17ff9f9be6..dbc8d550ad 100644 --- a/lib/Parse/ParseTentative.cpp +++ b/lib/Parse/ParseTentative.cpp @@ -401,7 +401,7 @@ struct Parser::ConditionDeclarationOrInitStatementState { } }; -/// \brief Disambiguates between a declaration in a condition, a +/// Disambiguates between a declaration in a condition, a /// simple-declaration in an init-statement, and an expression for /// a condition of a if/switch statement. /// @@ -472,7 +472,7 @@ Parser::isCXXConditionDeclarationOrInitStatement(bool CanBeInitStatement) { return ConditionOrInitStatement::Expression; } - /// \brief Determine whether the next set of tokens contains a type-id. + /// Determine whether the next set of tokens contains a type-id. /// /// The context parameter states what context we're parsing right /// now, which affects how this routine copes with the token @@ -553,7 +553,7 @@ bool Parser::isCXXTypeId(TentativeCXXTypeIdContext Context, bool &isAmbiguous) { return TPR == TPResult::True; } -/// \brief Returns true if this is a C++11 attribute-specifier. Per +/// Returns true if this is a C++11 attribute-specifier. Per /// C++11 [dcl.attr.grammar]p6, two consecutive left square bracket tokens /// always introduce an attribute. In Objective-C++11, this rule does not /// apply if either '[' begins a message-send. diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index 036688cf8f..d9255109d7 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -24,7 +24,7 @@ using namespace clang; namespace { -/// \brief A comment handler that passes comments found by the preprocessor +/// A comment handler that passes comments found by the preprocessor /// to the parser action. class ActionCommentHandler : public CommentHandler { Sema &S; @@ -77,7 +77,7 @@ DiagnosticBuilder Parser::Diag(const Token &Tok, unsigned DiagID) { return Diag(Tok.getLocation(), DiagID); } -/// \brief Emits a diagnostic suggesting parentheses surrounding a +/// Emits a diagnostic suggesting parentheses surrounding a /// given range. /// /// \param Loc The location where we'll emit the diagnostic. @@ -858,7 +858,7 @@ Parser::ParseExternalDeclaration(ParsedAttributesWithRange &attrs, return Actions.ConvertDeclToDeclGroup(SingleDecl); } -/// \brief Determine whether the current token, if it occurs after a +/// Determine whether the current token, if it occurs after a /// declarator, continues a declaration or declaration list. bool Parser::isDeclarationAfterDeclarator() { // Check for '= delete' or '= default' @@ -877,7 +877,7 @@ bool Parser::isDeclarationAfterDeclarator() { Tok.is(tok::l_paren)); // int X(0) -> not a function def [C++] } -/// \brief Determine whether the current token, if it occurs after a +/// Determine whether the current token, if it occurs after a /// declarator, indicates the start of a function definition. bool Parser::isStartOfFunctionDefinition(const ParsingDeclarator &Declarator) { assert(Declarator.isFunctionDeclarator() && "Isn't a function declarator"); @@ -1451,7 +1451,7 @@ ExprResult Parser::ParseSimpleAsm(SourceLocation *EndLoc) { return Result; } -/// \brief Get the TemplateIdAnnotation from the token and put it in the +/// Get the TemplateIdAnnotation from the token and put it in the /// cleanup pool so that it gets destroyed when parsing the current top level /// declaration is finished. TemplateIdAnnotation *Parser::takeTemplateIdAnnotation(const Token &tok) { @@ -1479,7 +1479,7 @@ void Parser::AnnotateScopeToken(CXXScopeSpec &SS, bool IsNewAnnotation) { PP.AnnotateCachedTokens(Tok); } -/// \brief Attempt to classify the name at the current token position. This may +/// Attempt to classify the name at the current token position. This may /// form a type, scope or primary expression annotation, or replace the token /// with a typo-corrected keyword. This is only appropriate when the current /// name must refer to an entity which has already been declared. @@ -1764,7 +1764,7 @@ bool Parser::TryAnnotateTypeOrScopeToken() { return TryAnnotateTypeOrScopeTokenAfterScopeSpec(SS, !WasScopeAnnotation); } -/// \brief Try to annotate a type or scope token, having already parsed an +/// Try to annotate a type or scope token, having already parsed an /// optional scope specifier. \p IsNewScope should be \c true unless the scope /// specifier was extracted from an existing tok::annot_cxxscope annotation. bool Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(CXXScopeSpec &SS, @@ -2185,7 +2185,7 @@ bool Parser::ParseModuleName( } } -/// \brief Try recover parser when module annotation appears where it must not +/// Try recover parser when module annotation appears where it must not /// be found. /// \returns false if the recover was successful and parsing may be continued, or /// true if parser must bail out to top level and handle the token there. diff --git a/lib/Rewrite/Rewriter.cpp b/lib/Rewrite/Rewriter.cpp index 6041e0c0c3..cb59a161fe 100644 --- a/lib/Rewrite/Rewriter.cpp +++ b/lib/Rewrite/Rewriter.cpp @@ -44,7 +44,7 @@ raw_ostream &RewriteBuffer::write(raw_ostream &os) const { return os; } -/// \brief Return true if this character is non-new-line whitespace: +/// Return true if this character is non-new-line whitespace: /// ' ', '\\t', '\\f', '\\v', '\\r'. static inline bool isWhitespaceExceptNL(unsigned char c) { switch (c) { diff --git a/lib/Sema/AnalysisBasedWarnings.cpp b/lib/Sema/AnalysisBasedWarnings.cpp index 984239746e..5ea2979900 100644 --- a/lib/Sema/AnalysisBasedWarnings.cpp +++ b/lib/Sema/AnalysisBasedWarnings.cpp @@ -122,7 +122,7 @@ static void CheckUnreachable(Sema &S, AnalysisDeclContext &AC) { } namespace { -/// \brief Warn on logical operator errors in CFGBuilder +/// Warn on logical operator errors in CFGBuilder class LogicalErrorHandler : public CFGCallback { Sema &S; @@ -1650,7 +1650,7 @@ class ThreadSafetyReporter : public clang::threadSafety::ThreadSafetyHandler { void setVerbose(bool b) { Verbose = b; } - /// \brief Emit all buffered diagnostics in order of sourcelocation. + /// Emit all buffered diagnostics in order of sourcelocation. /// We need to output diagnostics produced while iterating through /// the lockset in deterministic order, so this function orders diagnostics /// and outputs them. diff --git a/lib/Sema/CodeCompleteConsumer.cpp b/lib/Sema/CodeCompleteConsumer.cpp index d012e55e3d..70b3189756 100644 --- a/lib/Sema/CodeCompleteConsumer.cpp +++ b/lib/Sema/CodeCompleteConsumer.cpp @@ -621,7 +621,7 @@ PrintingCodeCompleteConsumer::ProcessOverloadCandidates(Sema &SemaRef, } } -/// \brief Retrieve the effective availability of the given declaration. +/// Retrieve the effective availability of the given declaration. static AvailabilityResult getDeclAvailability(const Decl *D) { AvailabilityResult AR = D->getAvailability(); if (isa<EnumConstantDecl>(D)) @@ -683,7 +683,7 @@ void CodeCompletionResult::computeCursorKindAndAvailability(bool Accessible) { Availability = CXAvailability_NotAccessible; } -/// \brief Retrieve the name that should be used to order a result. +/// Retrieve the name that should be used to order a result. /// /// If the name needs to be constructed as a string, that string will be /// saved into Saved and the returned StringRef will refer to it. diff --git a/lib/Sema/CoroutineStmtBuilder.h b/lib/Sema/CoroutineStmtBuilder.h index 3b7ee7afcb..d15cf0b756 100644 --- a/lib/Sema/CoroutineStmtBuilder.h +++ b/lib/Sema/CoroutineStmtBuilder.h @@ -33,16 +33,16 @@ class CoroutineStmtBuilder : public CoroutineBodyStmt::CtorArgs { CXXRecordDecl *PromiseRecordDecl = nullptr; public: - /// \brief Construct a CoroutineStmtBuilder and initialize the promise + /// Construct a CoroutineStmtBuilder and initialize the promise /// statement and initial/final suspends from the FunctionScopeInfo. CoroutineStmtBuilder(Sema &S, FunctionDecl &FD, sema::FunctionScopeInfo &Fn, Stmt *Body); - /// \brief Build the coroutine body statements, including the + /// Build the coroutine body statements, including the /// "promise dependent" statements when the promise type is not dependent. bool buildStatements(); - /// \brief Build the coroutine body statements that require a non-dependent + /// Build the coroutine body statements that require a non-dependent /// promise type in order to construct. /// /// For example different new/delete overloads are selected depending on diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp index f31c5174bf..dbd52dee1e 100644 --- a/lib/Sema/IdentifierResolver.cpp +++ b/lib/Sema/IdentifierResolver.cpp @@ -257,7 +257,7 @@ enum DeclMatchKind { } // namespace -/// \brief Compare two declarations to see whether they are different or, +/// Compare two declarations to see whether they are different or, /// if they are the same, whether the new declaration should replace the /// existing declaration. static DeclMatchKind compareDeclarations(NamedDecl *Existing, NamedDecl *New) { diff --git a/lib/Sema/JumpDiagnostics.cpp b/lib/Sema/JumpDiagnostics.cpp index 55582f8c61..58a7862370 100644 --- a/lib/Sema/JumpDiagnostics.cpp +++ b/lib/Sema/JumpDiagnostics.cpp @@ -216,7 +216,7 @@ static ScopePair GetDiagForGotoScopeDecl(Sema &S, const Decl *D) { return ScopePair(0U, 0U); } -/// \brief Build scope information for a declaration that is part of a DeclStmt. +/// Build scope information for a declaration that is part of a DeclStmt. void JumpScopeChecker::BuildScopeInformation(Decl *D, unsigned &ParentScope) { // If this decl causes a new scope, push and switch to it. std::pair<unsigned,unsigned> Diags = GetDiagForGotoScopeDecl(S, D); @@ -233,7 +233,7 @@ void JumpScopeChecker::BuildScopeInformation(Decl *D, unsigned &ParentScope) { BuildScopeInformation(Init, ParentScope); } -/// \brief Build scope information for a captured block literal variables. +/// Build scope information for a captured block literal variables. void JumpScopeChecker::BuildScopeInformation(VarDecl *D, const BlockDecl *BDecl, unsigned &ParentScope) { diff --git a/lib/Sema/MultiplexExternalSemaSource.cpp b/lib/Sema/MultiplexExternalSemaSource.cpp index 46238fb3e4..9370cf27ef 100644 --- a/lib/Sema/MultiplexExternalSemaSource.cpp +++ b/lib/Sema/MultiplexExternalSemaSource.cpp @@ -16,7 +16,7 @@ using namespace clang; -///\brief Constructs a new multiplexing external sema source and appends the +///Constructs a new multiplexing external sema source and appends the /// given element to it. /// MultiplexExternalSemaSource::MultiplexExternalSemaSource(ExternalSemaSource &s1, @@ -28,7 +28,7 @@ MultiplexExternalSemaSource::MultiplexExternalSemaSource(ExternalSemaSource &s1, // pin the vtable here. MultiplexExternalSemaSource::~MultiplexExternalSemaSource() {} -///\brief Appends new source to the source list. +///Appends new source to the source list. /// ///\param[in] source - An ExternalSemaSource. /// diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index b964cb2f0e..eb336ee8f0 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -395,7 +395,7 @@ ASTMutationListener *Sema::getASTMutationListener() const { return getASTConsumer().GetASTMutationListener(); } -///\brief Registers an external source. If an external source already exists, +///Registers an external source. If an external source already exists, /// creates a multiplex external source and appends to it. /// ///\param[in] E - A non-null external sema source. @@ -416,7 +416,7 @@ void Sema::addExternalSource(ExternalSemaSource *E) { } } -/// \brief Print out statistics about the semantic analysis. +/// Print out statistics about the semantic analysis. void Sema::PrintStats() const { llvm::errs() << "\n*** Semantic Analysis Stats:\n"; llvm::errs() << NumSFINAEErrors << " SFINAE diagnostics trapped.\n"; @@ -536,7 +536,7 @@ CastKind Sema::ScalarTypeToBooleanCastKind(QualType ScalarTy) { llvm_unreachable("unknown scalar type kind"); } -/// \brief Used to prune the decls of Sema's UnusedFileScopedDecls vector. +/// Used to prune the decls of Sema's UnusedFileScopedDecls vector. static bool ShouldRemoveFromUnused(Sema *SemaRef, const DeclaratorDecl *D) { if (D->getMostRecentDecl()->isUsed()) return true; @@ -724,7 +724,7 @@ void Sema::LoadExternalWeakUndeclaredIdentifiers() { typedef llvm::DenseMap<const CXXRecordDecl*, bool> RecordCompleteMap; -/// \brief Returns true, if all methods and nested classes of the given +/// Returns true, if all methods and nested classes of the given /// CXXRecordDecl are defined in this translation unit. /// /// Should only be called from ActOnEndOfTranslationUnit so that all @@ -764,7 +764,7 @@ static bool MethodsAndNestedClassesComplete(const CXXRecordDecl *RD, return Complete; } -/// \brief Returns true, if the given CXXRecordDecl is fully defined in this +/// Returns true, if the given CXXRecordDecl is fully defined in this /// translation unit, i.e. all methods are defined or pure virtual and all /// friends, friend functions and nested classes are fully defined in this /// translation unit. @@ -1310,7 +1310,7 @@ Sema::Diag(SourceLocation Loc, const PartialDiagnostic& PD) { return Builder; } -/// \brief Looks through the macro-expansion chain for the given +/// Looks through the macro-expansion chain for the given /// location, looking for a macro expansion with the given name. /// If one is found, returns true and sets the location to that /// expansion loc. @@ -1331,7 +1331,7 @@ bool Sema::findMacroSpelling(SourceLocation &locref, StringRef name) { return false; } -/// \brief Determines the active Scope associated with the given declaration +/// Determines the active Scope associated with the given declaration /// context. /// /// This routine maps a declaration context to the active Scope object that @@ -1360,7 +1360,7 @@ Scope *Sema::getScopeForContext(DeclContext *Ctx) { return nullptr; } -/// \brief Enter a new function scope +/// Enter a new function scope void Sema::PushFunctionScope() { if (FunctionScopes.empty()) { // Use PreallocatedFunctionScope to avoid allocating memory when possible. @@ -1424,7 +1424,7 @@ void Sema::PopCompoundScope() { CurFunction->CompoundScopes.pop_back(); } -/// \brief Determine whether any errors occurred within this function/method/ +/// Determine whether any errors occurred within this function/method/ /// block. bool Sema::hasAnyUnrecoverableErrorsInThisFunction() const { return getCurFunction()->ErrorTrap.hasUnrecoverableErrorOccurred(); @@ -1547,7 +1547,7 @@ void ExternalSemaSource::ReadUndefinedButUsed( void ExternalSemaSource::ReadMismatchingDeleteExpressions(llvm::MapVector< FieldDecl *, llvm::SmallVector<std::pair<SourceLocation, bool>, 4>> &) {} -/// \brief Figure out if an expression could be turned into a call. +/// Figure out if an expression could be turned into a call. /// /// Use this when trying to recover from an error where the programmer may have /// written just the name of a function instead of actually calling it. @@ -1649,7 +1649,7 @@ bool Sema::tryExprAsCall(Expr &E, QualType &ZeroArgCallReturnTy, return false; } -/// \brief Give notes for a set of overloads. +/// Give notes for a set of overloads. /// /// A companion to tryExprAsCall. In cases when the name that the programmer /// wrote was an overloaded function, we may be able to make some guesses about diff --git a/lib/Sema/SemaAccess.cpp b/lib/Sema/SemaAccess.cpp index 98a918bd7d..44d41ea4b0 100644 --- a/lib/Sema/SemaAccess.cpp +++ b/lib/Sema/SemaAccess.cpp @@ -1712,7 +1712,7 @@ Sema::AccessResult Sema::CheckAllocationAccess(SourceLocation OpLoc, return CheckAccess(*this, OpLoc, Entity); } -/// \brief Checks access to a member. +/// Checks access to a member. Sema::AccessResult Sema::CheckMemberAccess(SourceLocation UseLoc, CXXRecordDecl *NamingClass, DeclAccessPair Found) { diff --git a/lib/Sema/SemaAttr.cpp b/lib/Sema/SemaAttr.cpp index 66c8e9c70e..b2e03ad370 100644 --- a/lib/Sema/SemaAttr.cpp +++ b/lib/Sema/SemaAttr.cpp @@ -389,7 +389,7 @@ bool Sema::UnifySection(StringRef SectionName, return false; } -/// \brief Called on well formed \#pragma bss_seg(). +/// Called on well formed \#pragma bss_seg(). void Sema::ActOnPragmaMSSeg(SourceLocation PragmaLocation, PragmaMsStackAction Action, llvm::StringRef StackSlotLabel, @@ -410,7 +410,7 @@ void Sema::ActOnPragmaMSSeg(SourceLocation PragmaLocation, Stack->Act(PragmaLocation, Action, StackSlotLabel, SegmentName); } -/// \brief Called on well formed \#pragma bss_seg(). +/// Called on well formed \#pragma bss_seg(). void Sema::ActOnPragmaMSSection(SourceLocation PragmaLocation, int SectionFlags, StringLiteral *SegmentName) { UnifySection(SegmentName->getString(), SectionFlags, PragmaLocation); diff --git a/lib/Sema/SemaCUDA.cpp b/lib/Sema/SemaCUDA.cpp index 99265efdaf..c5deef8708 100644 --- a/lib/Sema/SemaCUDA.cpp +++ b/lib/Sema/SemaCUDA.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file implements semantic analysis for CUDA constructs. +/// This file implements semantic analysis for CUDA constructs. /// //===----------------------------------------------------------------------===// diff --git a/lib/Sema/SemaCXXScopeSpec.cpp b/lib/Sema/SemaCXXScopeSpec.cpp index 6da4d2a261..61a82aa721 100644 --- a/lib/Sema/SemaCXXScopeSpec.cpp +++ b/lib/Sema/SemaCXXScopeSpec.cpp @@ -24,7 +24,7 @@ #include "llvm/ADT/STLExtras.h" using namespace clang; -/// \brief Find the current instantiation that associated with the given type. +/// Find the current instantiation that associated with the given type. static CXXRecordDecl *getCurrentInstantiationOf(QualType T, DeclContext *CurContext) { if (T.isNull()) @@ -44,7 +44,7 @@ static CXXRecordDecl *getCurrentInstantiationOf(QualType T, return nullptr; } -/// \brief Compute the DeclContext that is associated with the given type. +/// Compute the DeclContext that is associated with the given type. /// /// \param T the type for which we are attempting to find a DeclContext. /// @@ -59,7 +59,7 @@ DeclContext *Sema::computeDeclContext(QualType T) { return ::getCurrentInstantiationOf(T, CurContext); } -/// \brief Compute the DeclContext that is associated with the given +/// Compute the DeclContext that is associated with the given /// scope specifier. /// /// \param SS the C++ scope specifier as it appears in the source @@ -172,7 +172,7 @@ bool Sema::isDependentScopeSpecifier(const CXXScopeSpec &SS) { return SS.getScopeRep()->isDependent(); } -/// \brief If the given nested name specifier refers to the current +/// If the given nested name specifier refers to the current /// instantiation, return the declaration that corresponds to that /// current instantiation (C++0x [temp.dep.type]p1). /// @@ -188,7 +188,7 @@ CXXRecordDecl *Sema::getCurrentInstantiationOf(NestedNameSpecifier *NNS) { return ::getCurrentInstantiationOf(T, CurContext); } -/// \brief Require that the context specified by SS be complete. +/// Require that the context specified by SS be complete. /// /// If SS refers to a type, this routine checks whether the type is /// complete enough (or can be made complete enough) for name lookup @@ -305,7 +305,7 @@ bool Sema::ActOnSuperScopeSpecifier(SourceLocation SuperLoc, return false; } -/// \brief Determines whether the given declaration is an valid acceptable +/// Determines whether the given declaration is an valid acceptable /// result for name lookup of a nested-name-specifier. /// \param SD Declaration checked for nested-name-specifier. /// \param IsExtension If not null and the declaration is accepted as an @@ -350,7 +350,7 @@ bool Sema::isAcceptableNestedNameSpecifier(const NamedDecl *SD, return false; } -/// \brief If the given nested-name-specifier begins with a bare identifier +/// If the given nested-name-specifier begins with a bare identifier /// (e.g., Base::), perform name lookup for that identifier as a /// nested-name-specifier within the given scope, and return the result of that /// name lookup. @@ -443,7 +443,7 @@ class NestedNameSpecifierValidatorCCC : public CorrectionCandidateCallback { } -/// \brief Build a new nested-name-specifier for "identifier::", as described +/// Build a new nested-name-specifier for "identifier::", as described /// by ActOnCXXNestedNameSpecifier. /// /// \param S Scope in which the nested-name-specifier occurs. @@ -967,7 +967,7 @@ bool Sema::ActOnCXXNestedNameSpecifier(Scope *S, } namespace { - /// \brief A structure that stores a nested-name-specifier annotation, + /// A structure that stores a nested-name-specifier annotation, /// including both the nested-name-specifier struct NestedNameSpecifierAnnotation { NestedNameSpecifier *NNS; diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index 8c5c789b29..d0c00cc78a 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -684,7 +684,7 @@ static bool checkOpenCLPipePacketType(Sema &S, CallExpr *Call, unsigned Idx) { return false; } -// \brief Performs semantic analysis for the read/write_pipe call. +// Performs semantic analysis for the read/write_pipe call. // \param S Reference to the semantic analyzer. // \param Call A pointer to the builtin call. // \return True if a semantic error has been found, false otherwise. @@ -738,7 +738,7 @@ static bool SemaBuiltinRWPipe(Sema &S, CallExpr *Call) { return false; } -// \brief Performs a semantic analysis on the {work_group_/sub_group_ +// Performs a semantic analysis on the {work_group_/sub_group_ // /_}reserve_{read/write}_pipe // \param S Reference to the semantic analyzer. // \param Call The call to the builtin function to be analyzed. @@ -767,7 +767,7 @@ static bool SemaBuiltinReserveRWPipe(Sema &S, CallExpr *Call) { return false; } -// \brief Performs a semantic analysis on {work_group_/sub_group_ +// Performs a semantic analysis on {work_group_/sub_group_ // /_}commit_{read/write}_pipe // \param S Reference to the semantic analyzer. // \param Call The call to the builtin function to be analyzed. @@ -790,7 +790,7 @@ static bool SemaBuiltinCommitRWPipe(Sema &S, CallExpr *Call) { return false; } -// \brief Performs a semantic analysis on the call to built-in Pipe +// Performs a semantic analysis on the call to built-in Pipe // Query Functions. // \param S Reference to the semantic analyzer. // \param Call The call to the builtin function to be analyzed. @@ -808,8 +808,8 @@ static bool SemaBuiltinPipePackets(Sema &S, CallExpr *Call) { return false; } -// \brief OpenCL v2.0 s6.13.9 - Address space qualifier functions. -// \brief Performs semantic analysis for the to_global/local/private call. +// OpenCL v2.0 s6.13.9 - Address space qualifier functions. +// Performs semantic analysis for the to_global/local/private call. // \param S Reference to the semantic analyzer. // \param BuiltinID ID of the builtin function. // \param Call A pointer to the builtin call. @@ -2573,7 +2573,7 @@ bool Sema::getFormatStringInfo(const FormatAttr *Format, bool IsCXXMember, /// Checks if a the given expression evaluates to null. /// -/// \brief Returns true if the value evaluates to null. +/// Returns true if the value evaluates to null. static bool CheckNonNullExpr(Sema &S, const Expr *Expr) { // If the expression has non-null type, it doesn't evaluate to null. if (auto nullability @@ -2617,7 +2617,7 @@ bool Sema::GetFormatNSStringIdx(const FormatAttr *Format, unsigned &Idx) { return false; } -/// \brief Diagnose use of %s directive in an NSString which is being passed +/// Diagnose use of %s directive in an NSString which is being passed /// as formatting string to formatting method. static void DiagnoseCStringFormatDirectiveInCFAPI(Sema &S, @@ -5706,7 +5706,7 @@ void CheckFormatHandler::EmitFormatDiagnostic(PartialDiagnostic PDiag, Loc, IsStringLocation, StringRange, FixIt); } -/// \brief If the format string is not within the function call, emit a note +/// If the format string is not within the function call, emit a note /// so that the function call and string are in diagnostic messages. /// /// \param InFunctionCall if true, the format string is within the function @@ -7319,7 +7319,7 @@ void Sema::CheckMaxUnsignedZero(const CallExpr *Call, //===--- CHECK: Standard memory functions ---------------------------------===// -/// \brief Takes the expression passed to the size_t parameter of functions +/// Takes the expression passed to the size_t parameter of functions /// such as memcmp, strncat, etc and warns if it's a comparison. /// /// This is to catch typos like `if (memcmp(&a, &b, sizeof(a) > 0))`. @@ -7350,7 +7350,7 @@ static bool CheckMemorySizeofForComparison(Sema &S, const Expr *E, return true; } -/// \brief Determine whether the given type is or contains a dynamic class type +/// Determine whether the given type is or contains a dynamic class type /// (e.g., whether it has a vtable). static const CXXRecordDecl *getContainedDynamicClass(QualType T, bool &IsContained) { @@ -7381,7 +7381,7 @@ static const CXXRecordDecl *getContainedDynamicClass(QualType T, return nullptr; } -/// \brief If E is a sizeof expression, returns its argument expression, +/// If E is a sizeof expression, returns its argument expression, /// otherwise returns NULL. static const Expr *getSizeOfExprArg(const Expr *E) { if (const UnaryExprOrTypeTraitExpr *SizeOf = @@ -7392,7 +7392,7 @@ static const Expr *getSizeOfExprArg(const Expr *E) { return nullptr; } -/// \brief If E is a sizeof expression, returns its argument type. +/// If E is a sizeof expression, returns its argument type. static QualType getSizeOfArgType(const Expr *E) { if (const UnaryExprOrTypeTraitExpr *SizeOf = dyn_cast<UnaryExprOrTypeTraitExpr>(E)) @@ -7494,7 +7494,7 @@ struct SearchNonTrivialToCopyField } -/// \brief Check for dangerous or invalid arguments to memset(). +/// Check for dangerous or invalid arguments to memset(). /// /// This issues warnings on known problematic, dangerous or unspecified /// arguments to the standard 'memset', 'memcpy', 'memmove', and 'memcmp' @@ -9077,7 +9077,7 @@ static void AnalyzeImpConvsInComparison(Sema &S, BinaryOperator *E) { AnalyzeImplicitConversions(S, E->getRHS(), E->getOperatorLoc()); } -/// \brief Implements -Wsign-compare. +/// Implements -Wsign-compare. /// /// \param E the binary operator to check for warnings static void AnalyzeComparison(Sema &S, BinaryOperator *E) { @@ -10197,7 +10197,7 @@ static bool IsInAnyMacroBody(const SourceManager &SM, SourceLocation Loc) { return false; } -/// \brief Diagnose pointers that are always non-null. +/// Diagnose pointers that are always non-null. /// \param E the expression containing the pointer /// \param NullKind NPCK_NotNull if E is a cast to bool, otherwise, E is /// compared to a null pointer @@ -10444,12 +10444,12 @@ void Sema::CheckForIntOverflow (Expr *E) { namespace { -/// \brief Visitor for expressions which looks for unsequenced operations on the +/// Visitor for expressions which looks for unsequenced operations on the /// same object. class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { using Base = EvaluatedExprVisitor<SequenceChecker>; - /// \brief A tree of sequenced regions within an expression. Two regions are + /// A tree of sequenced regions within an expression. Two regions are /// unsequenced if one is an ancestor or a descendent of the other. When we /// finish processing an expression with sequencing, such as a comma /// expression, we fold its tree nodes into its parent, since they are @@ -10463,7 +10463,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { SmallVector<Value, 8> Values; public: - /// \brief A region within an expression which may be sequenced with respect + /// A region within an expression which may be sequenced with respect /// to some other region. class Seq { friend class SequenceTree; @@ -10479,7 +10479,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { SequenceTree() { Values.push_back(Value(0)); } Seq root() const { return Seq(0); } - /// \brief Create a new sequence of operations, which is an unsequenced + /// Create a new sequence of operations, which is an unsequenced /// subset of \p Parent. This sequence of operations is sequenced with /// respect to other children of \p Parent. Seq allocate(Seq Parent) { @@ -10487,12 +10487,12 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { return Seq(Values.size() - 1); } - /// \brief Merge a sequence of operations into its parent. + /// Merge a sequence of operations into its parent. void merge(Seq S) { Values[S.Index].Merged = true; } - /// \brief Determine whether two operations are unsequenced. This operation + /// Determine whether two operations are unsequenced. This operation /// is asymmetric: \p Cur should be the more recent sequence, and \p Old /// should have been merged into its parent as appropriate. bool isUnsequenced(Seq Cur, Seq Old) { @@ -10507,7 +10507,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { } private: - /// \brief Pick a representative for a sequence. + /// Pick a representative for a sequence. unsigned representative(unsigned K) { if (Values[K].Merged) // Perform path compression as we go. @@ -10628,7 +10628,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { bool EvalOK = true; } *EvalTracker = nullptr; - /// \brief Find the object which is produced by the specified expression, + /// Find the object which is produced by the specified expression, /// if any. Object getObject(Expr *E, bool Mod) const { E = E->IgnoreParenCasts(); @@ -10650,7 +10650,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { return nullptr; } - /// \brief Note that an object was modified or used by an expression. + /// Note that an object was modified or used by an expression. void addUsage(UsageInfo &UI, Object O, Expr *Ref, UsageKind UK) { Usage &U = UI.Uses[UK]; if (!U.Use || !Tree.isUnsequenced(Region, U.Seq)) { @@ -10661,7 +10661,7 @@ class SequenceChecker : public EvaluatedExprVisitor<SequenceChecker> { } } - /// \brief Check whether a modification or use conflicts with a prior usage. + /// Check whether a modification or use conflicts with a prior usage. void checkUsage(Object O, UsageInfo &UI, Expr *Ref, UsageKind OtherKind, bool IsModMod) { if (UI.Diagnosed) @@ -11134,7 +11134,7 @@ void Sema::CheckCastAlign(Expr *Op, QualType T, SourceRange TRange) { << TRange << Op->getSourceRange(); } -/// \brief Check whether this array fits the idiom of a size-one tail padded +/// Check whether this array fits the idiom of a size-one tail padded /// array member of a struct. /// /// We avoid emitting out-of-bounds access warnings for such arrays as they are @@ -12150,7 +12150,7 @@ void Sema::DiagnoseSelfMove(const Expr *LHSExpr, const Expr *RHSExpr, static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2); -/// \brief Check if two enumeration types are layout-compatible. +/// Check if two enumeration types are layout-compatible. static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) { // C++11 [dcl.enum] p8: // Two enumeration types are layout-compatible if they have the same @@ -12159,7 +12159,7 @@ static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) { C.hasSameType(ED1->getIntegerType(), ED2->getIntegerType()); } -/// \brief Check if two fields are layout-compatible. +/// Check if two fields are layout-compatible. static bool isLayoutCompatible(ASTContext &C, FieldDecl *Field1, FieldDecl *Field2) { if (!isLayoutCompatible(C, Field1->getType(), Field2->getType())) @@ -12180,7 +12180,7 @@ static bool isLayoutCompatible(ASTContext &C, FieldDecl *Field1, return true; } -/// \brief Check if two standard-layout structs are layout-compatible. +/// Check if two standard-layout structs are layout-compatible. /// (C++11 [class.mem] p17) static bool isLayoutCompatibleStruct(ASTContext &C, RecordDecl *RD1, RecordDecl *RD2) { @@ -12224,7 +12224,7 @@ static bool isLayoutCompatibleStruct(ASTContext &C, RecordDecl *RD1, return true; } -/// \brief Check if two standard-layout unions are layout-compatible. +/// Check if two standard-layout unions are layout-compatible. /// (C++11 [class.mem] p18) static bool isLayoutCompatibleUnion(ASTContext &C, RecordDecl *RD1, RecordDecl *RD2) { @@ -12263,7 +12263,7 @@ static bool isLayoutCompatible(ASTContext &C, RecordDecl *RD1, return isLayoutCompatibleStruct(C, RD1, RD2); } -/// \brief Check if two types are layout-compatible in C++11 sense. +/// Check if two types are layout-compatible in C++11 sense. static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2) { if (T1.isNull() || T2.isNull()) return false; @@ -12301,7 +12301,7 @@ static bool isLayoutCompatible(ASTContext &C, QualType T1, QualType T2) { //===--- CHECK: pointer_with_type_tag attribute: datatypes should match ----// -/// \brief Given a type tag expression find the type tag itself. +/// Given a type tag expression find the type tag itself. /// /// \param TypeExpr Type tag expression, as it appears in user's code. /// @@ -12372,7 +12372,7 @@ static bool FindTypeTagExpr(const Expr *TypeExpr, const ASTContext &Ctx, } } -/// \brief Retrieve the C type corresponding to type tag TypeExpr. +/// Retrieve the C type corresponding to type tag TypeExpr. /// /// \param TypeExpr Expression that specifies a type tag. /// diff --git a/lib/Sema/SemaCodeComplete.cpp b/lib/Sema/SemaCodeComplete.cpp index 50ff17a2c2..4ed9d491dd 100644 --- a/lib/Sema/SemaCodeComplete.cpp +++ b/lib/Sema/SemaCodeComplete.cpp @@ -40,10 +40,10 @@ using namespace clang; using namespace sema; namespace { - /// \brief A container of code-completion results. + /// A container of code-completion results. class ResultBuilder { public: - /// \brief The type of a name-lookup filter, which can be provided to the + /// The type of a name-lookup filter, which can be provided to the /// name-lookup routines to specify which declarations should be included in /// the result set (when it returns true) and which declarations should be /// filtered out (returns false). @@ -52,27 +52,27 @@ namespace { typedef CodeCompletionResult Result; private: - /// \brief The actual results we have found. + /// The actual results we have found. std::vector<Result> Results; - /// \brief A record of all of the declarations we have found and placed + /// A record of all of the declarations we have found and placed /// into the result set, used to ensure that no declaration ever gets into /// the result set twice. llvm::SmallPtrSet<const Decl*, 16> AllDeclsFound; typedef std::pair<const NamedDecl *, unsigned> DeclIndexPair; - /// \brief An entry in the shadow map, which is optimized to store + /// An entry in the shadow map, which is optimized to store /// a single (declaration, index) mapping (the common case) but /// can also store a list of (declaration, index) mappings. class ShadowMapEntry { typedef SmallVector<DeclIndexPair, 4> DeclIndexPairVector; - /// \brief Contains either the solitary NamedDecl * or a vector + /// Contains either the solitary NamedDecl * or a vector /// of (declaration, index) pairs. llvm::PointerUnion<const NamedDecl *, DeclIndexPairVector*> DeclOrVector; - /// \brief When the entry contains a single declaration, this is + /// When the entry contains a single declaration, this is /// the index associated with that entry. unsigned SingleDeclIndex; @@ -115,53 +115,53 @@ namespace { iterator end() const; }; - /// \brief A mapping from declaration names to the declarations that have + /// A mapping from declaration names to the declarations that have /// this name within a particular scope and their index within the list of /// results. typedef llvm::DenseMap<DeclarationName, ShadowMapEntry> ShadowMap; - /// \brief The semantic analysis object for which results are being + /// The semantic analysis object for which results are being /// produced. Sema &SemaRef; - /// \brief The allocator used to allocate new code-completion strings. + /// The allocator used to allocate new code-completion strings. CodeCompletionAllocator &Allocator; CodeCompletionTUInfo &CCTUInfo; - /// \brief If non-NULL, a filter function used to remove any code-completion + /// If non-NULL, a filter function used to remove any code-completion /// results that are not desirable. LookupFilter Filter; - /// \brief Whether we should allow declarations as + /// Whether we should allow declarations as /// nested-name-specifiers that would otherwise be filtered out. bool AllowNestedNameSpecifiers; - /// \brief If set, the type that we would prefer our resulting value + /// If set, the type that we would prefer our resulting value /// declarations to have. /// /// Closely matching the preferred type gives a boost to a result's /// priority. CanQualType PreferredType; - /// \brief A list of shadow maps, which is used to model name hiding at + /// A list of shadow maps, which is used to model name hiding at /// different levels of, e.g., the inheritance hierarchy. std::list<ShadowMap> ShadowMaps; - /// \brief If we're potentially referring to a C++ member function, the set + /// If we're potentially referring to a C++ member function, the set /// of qualifiers applied to the object type. Qualifiers ObjectTypeQualifiers; - /// \brief Whether the \p ObjectTypeQualifiers field is active. + /// Whether the \p ObjectTypeQualifiers field is active. bool HasObjectTypeQualifiers; - /// \brief The selector that we prefer. + /// The selector that we prefer. Selector PreferredSelector; - /// \brief The completion context in which we are gathering results. + /// The completion context in which we are gathering results. CodeCompletionContext CompletionContext; - /// \brief If we are in an instance method definition, the \@implementation + /// If we are in an instance method definition, the \@implementation /// object. ObjCImplementationDecl *ObjCImplementation; @@ -199,17 +199,17 @@ namespace { } } - /// \brief Determine the priority for a reference to the given declaration. + /// Determine the priority for a reference to the given declaration. unsigned getBasePriority(const NamedDecl *D); - /// \brief Whether we should include code patterns in the completion + /// Whether we should include code patterns in the completion /// results. bool includeCodePatterns() const { return SemaRef.CodeCompleter && SemaRef.CodeCompleter->includeCodePatterns(); } - /// \brief Set the filter used for code-completion results. + /// Set the filter used for code-completion results. void setFilter(LookupFilter Filter) { this->Filter = Filter; } @@ -218,12 +218,12 @@ namespace { unsigned size() const { return Results.size(); } bool empty() const { return Results.empty(); } - /// \brief Specify the preferred type. + /// Specify the preferred type. void setPreferredType(QualType T) { PreferredType = SemaRef.Context.getCanonicalType(T); } - /// \brief Set the cv-qualifiers on the object type, for us in filtering + /// Set the cv-qualifiers on the object type, for us in filtering /// calls to member functions. /// /// When there are qualifiers in this set, they will be used to filter @@ -235,7 +235,7 @@ namespace { HasObjectTypeQualifiers = true; } - /// \brief Set the preferred selector. + /// Set the preferred selector. /// /// When an Objective-C method declaration result is added, and that /// method's selector matches this preferred selector, we give that method @@ -244,27 +244,27 @@ namespace { PreferredSelector = Sel; } - /// \brief Retrieve the code-completion context for which results are + /// Retrieve the code-completion context for which results are /// being collected. const CodeCompletionContext &getCompletionContext() const { return CompletionContext; } - /// \brief Specify whether nested-name-specifiers are allowed. + /// Specify whether nested-name-specifiers are allowed. void allowNestedNameSpecifiers(bool Allow = true) { AllowNestedNameSpecifiers = Allow; } - /// \brief Return the semantic analysis object for which we are collecting + /// Return the semantic analysis object for which we are collecting /// code completion results. Sema &getSema() const { return SemaRef; } - /// \brief Retrieve the allocator used to allocate code completion strings. + /// Retrieve the allocator used to allocate code completion strings. CodeCompletionAllocator &getAllocator() const { return Allocator; } CodeCompletionTUInfo &getCodeCompletionTUInfo() const { return CCTUInfo; } - /// \brief Determine whether the given declaration is at all interesting + /// Determine whether the given declaration is at all interesting /// as a code-completion result. /// /// \param ND the declaration that we are inspecting. @@ -274,7 +274,7 @@ namespace { bool isInterestingDecl(const NamedDecl *ND, bool &AsNestedNameSpecifier) const; - /// \brief Check whether the result is hidden by the Hiding declaration. + /// Check whether the result is hidden by the Hiding declaration. /// /// \returns true if the result is hidden and cannot be found, false if /// the hidden result could still be found. When false, \p R may be @@ -283,7 +283,7 @@ namespace { bool CheckHiddenResult(Result &R, DeclContext *CurContext, const NamedDecl *Hiding); - /// \brief Add a new result to this result set (if it isn't already in one + /// Add a new result to this result set (if it isn't already in one /// of the shadow maps), or replace an existing result (for, e.g., a /// redeclaration). /// @@ -292,7 +292,7 @@ namespace { /// \param CurContext the context in which this result will be named. void MaybeAddResult(Result R, DeclContext *CurContext = nullptr); - /// \brief Add a new result to this result set, where we already know + /// Add a new result to this result set, where we already know /// the hiding declaration (if any). /// /// \param R the result to add (if it is unique). @@ -306,19 +306,19 @@ namespace { void AddResult(Result R, DeclContext *CurContext, NamedDecl *Hiding, bool InBaseClass); - /// \brief Add a new non-declaration result to this result set. + /// Add a new non-declaration result to this result set. void AddResult(Result R); - /// \brief Enter into a new scope. + /// Enter into a new scope. void EnterNewScope(); - /// \brief Exit from the current scope. + /// Exit from the current scope. void ExitScope(); - /// \brief Ignore this declaration, if it is seen again. + /// Ignore this declaration, if it is seen again. void Ignore(const Decl *D) { AllDeclsFound.insert(D->getCanonicalDecl()); } - /// \brief Add a visited context. + /// Add a visited context. void addVisitedContext(DeclContext *Ctx) { CompletionContext.addVisitedContext(Ctx); } @@ -439,7 +439,7 @@ ResultBuilder::ShadowMapEntry::end() const { return iterator(DeclOrVector.get<DeclIndexPairVector *>()->end()); } -/// \brief Compute the qualification required to get from the current context +/// Compute the qualification required to get from the current context /// (\p CurContext) to the target context (\p TargetContext). /// /// \param Context the AST context in which the qualification will be used. @@ -603,7 +603,7 @@ bool ResultBuilder::CheckHiddenResult(Result &R, DeclContext *CurContext, return false; } -/// \brief A simplified classification of types used to determine whether two +/// A simplified classification of types used to determine whether two /// types are "similar enough" when adjusting priorities. SimplifiedTypeClass clang::getSimplifiedTypeClass(CanQualType T) { switch (T->getTypeClass()) { @@ -672,7 +672,7 @@ SimplifiedTypeClass clang::getSimplifiedTypeClass(CanQualType T) { } } -/// \brief Get the type that a given expression will have if this declaration +/// Get the type that a given expression will have if this declaration /// is used as an expression in its "typical" code-completion form. QualType clang::getDeclUsageType(ASTContext &C, const NamedDecl *ND) { ND = ND->getUnderlyingDecl(); @@ -1057,10 +1057,10 @@ void ResultBuilder::AddResult(Result R) { Results.push_back(R); } -/// \brief Enter into a new scope. +/// Enter into a new scope. void ResultBuilder::EnterNewScope() { ShadowMaps.emplace_back(); } -/// \brief Exit from the current scope. +/// Exit from the current scope. void ResultBuilder::ExitScope() { for (ShadowMap::iterator E = ShadowMaps.back().begin(), EEnd = ShadowMaps.back().end(); @@ -1071,7 +1071,7 @@ void ResultBuilder::ExitScope() { ShadowMaps.pop_back(); } -/// \brief Determines whether this given declaration will be found by +/// Determines whether this given declaration will be found by /// ordinary name lookup. bool ResultBuilder::IsOrdinaryName(const NamedDecl *ND) const { ND = ND->getUnderlyingDecl(); @@ -1089,7 +1089,7 @@ bool ResultBuilder::IsOrdinaryName(const NamedDecl *ND) const { return ND->getIdentifierNamespace() & IDNS; } -/// \brief Determines whether this given declaration will be found by +/// Determines whether this given declaration will be found by /// ordinary name lookup but is not a type name. bool ResultBuilder::IsOrdinaryNonTypeName(const NamedDecl *ND) const { ND = ND->getUnderlyingDecl(); @@ -1125,7 +1125,7 @@ bool ResultBuilder::IsIntegralConstantValue(const NamedDecl *ND) const { return false; } -/// \brief Determines whether this given declaration will be found by +/// Determines whether this given declaration will be found by /// ordinary name lookup. bool ResultBuilder::IsOrdinaryNonValueName(const NamedDecl *ND) const { ND = ND->getUnderlyingDecl(); @@ -1139,7 +1139,7 @@ bool ResultBuilder::IsOrdinaryNonValueName(const NamedDecl *ND) const { !isa<ObjCPropertyDecl>(ND); } -/// \brief Determines whether the given declaration is suitable as the +/// Determines whether the given declaration is suitable as the /// start of a C++ nested-name-specifier, e.g., a class or namespace. bool ResultBuilder::IsNestedNameSpecifier(const NamedDecl *ND) const { // Allow us to find class templates, too. @@ -1149,12 +1149,12 @@ bool ResultBuilder::IsNestedNameSpecifier(const NamedDecl *ND) const { return SemaRef.isAcceptableNestedNameSpecifier(ND); } -/// \brief Determines whether the given declaration is an enumeration. +/// Determines whether the given declaration is an enumeration. bool ResultBuilder::IsEnum(const NamedDecl *ND) const { return isa<EnumDecl>(ND); } -/// \brief Determines whether the given declaration is a class or struct. +/// Determines whether the given declaration is a class or struct. bool ResultBuilder::IsClassOrStruct(const NamedDecl *ND) const { // Allow us to find class templates, too. if (const ClassTemplateDecl *ClassTemplate = dyn_cast<ClassTemplateDecl>(ND)) @@ -1169,7 +1169,7 @@ bool ResultBuilder::IsClassOrStruct(const NamedDecl *ND) const { return false; } -/// \brief Determines whether the given declaration is a union. +/// Determines whether the given declaration is a union. bool ResultBuilder::IsUnion(const NamedDecl *ND) const { // Allow us to find class templates, too. if (const ClassTemplateDecl *ClassTemplate = dyn_cast<ClassTemplateDecl>(ND)) @@ -1181,24 +1181,24 @@ bool ResultBuilder::IsUnion(const NamedDecl *ND) const { return false; } -/// \brief Determines whether the given declaration is a namespace. +/// Determines whether the given declaration is a namespace. bool ResultBuilder::IsNamespace(const NamedDecl *ND) const { return isa<NamespaceDecl>(ND); } -/// \brief Determines whether the given declaration is a namespace or +/// Determines whether the given declaration is a namespace or /// namespace alias. bool ResultBuilder::IsNamespaceOrAlias(const NamedDecl *ND) const { return isa<NamespaceDecl>(ND->getUnderlyingDecl()); } -/// \brief Determines whether the given declaration is a type. +/// Determines whether the given declaration is a type. bool ResultBuilder::IsType(const NamedDecl *ND) const { ND = ND->getUnderlyingDecl(); return isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND); } -/// \brief Determines which members of a class should be visible via +/// Determines which members of a class should be visible via /// "." or "->". Only value declarations, nested name specifiers, and /// using declarations thereof should show up. bool ResultBuilder::IsMember(const NamedDecl *ND) const { @@ -1279,14 +1279,14 @@ bool ResultBuilder::IsImpossibleToSatisfy(const NamedDecl *ND) const { return false; } -/// \brief Determines whether the given declaration is an Objective-C +/// Determines whether the given declaration is an Objective-C /// instance variable. bool ResultBuilder::IsObjCIvar(const NamedDecl *ND) const { return isa<ObjCIvarDecl>(ND); } namespace { - /// \brief Visible declaration consumer that adds a code-completion result + /// Visible declaration consumer that adds a code-completion result /// for each visible declaration. class CodeCompletionDeclConsumer : public VisibleDeclConsumer { ResultBuilder &Results; @@ -1313,7 +1313,7 @@ namespace { }; } -/// \brief Add type specifiers for the current language as keyword results. +/// Add type specifiers for the current language as keyword results. static void AddTypeSpecifierResults(const LangOptions &LangOpts, ResultBuilder &Results) { typedef CodeCompletionResult Result; @@ -1522,12 +1522,12 @@ static PrintingPolicy getCompletionPrintingPolicy(const ASTContext &Context, return Policy; } -/// \brief Retrieve a printing policy suitable for code completion. +/// Retrieve a printing policy suitable for code completion. static PrintingPolicy getCompletionPrintingPolicy(Sema &S) { return getCompletionPrintingPolicy(S.Context, S.PP); } -/// \brief Retrieve the string representation of the given type as a string +/// Retrieve the string representation of the given type as a string /// that has the appropriate lifetime for code completion. /// /// This routine provides a fast path where we provide constant strings for @@ -1561,7 +1561,7 @@ static const char *GetCompletionTypeString(QualType T, return Allocator.CopyString(Result); } -/// \brief Add a completion for "this", if we're in a member function. +/// Add a completion for "this", if we're in a member function. static void addThisCompletion(Sema &S, ResultBuilder &Results) { QualType ThisTy = S.getCurrentThisType(); if (ThisTy.isNull()) @@ -1593,7 +1593,7 @@ static void AddStaticAssertResult(CodeCompletionBuilder &Builder, Results.AddResult(CodeCompletionResult(Builder.TakeString())); } -/// \brief Add language constructs that show up for "ordinary" names. +/// Add language constructs that show up for "ordinary" names. static void AddOrdinaryNameResults(Sema::ParserCompletionContext CCC, Scope *S, Sema &SemaRef, @@ -2139,7 +2139,7 @@ static void AddOrdinaryNameResults(Sema::ParserCompletionContext CCC, Results.AddResult(Result("operator")); } -/// \brief If the given declaration has an associated type, add it as a result +/// If the given declaration has an associated type, add it as a result /// type chunk. static void AddResultTypeChunk(ASTContext &Context, const PrintingPolicy &Policy, @@ -2238,7 +2238,7 @@ static std::string formatObjCParamQualifiers(unsigned ObjCQuals, return Result; } -/// \brief Tries to find the most appropriate type location for an Objective-C +/// Tries to find the most appropriate type location for an Objective-C /// block placeholder. /// /// This function ignores things like typedefs and qualifiers in order to @@ -2372,7 +2372,7 @@ static std::string FormatFunctionParameter(const PrintingPolicy &Policy, ObjCSubsts); } -/// \brief Returns a placeholder string that corresponds to an Objective-C block +/// Returns a placeholder string that corresponds to an Objective-C block /// declaration. /// /// \param BlockDecl A declaration with an Objective-C block type. @@ -2464,7 +2464,7 @@ static std::string GetDefaultValueString(const ParmVarDecl *Param, return " " + DefValue; } -/// \brief Add function parameter chunks to the given code completion string. +/// Add function parameter chunks to the given code completion string. static void AddFunctionParameterChunks(Preprocessor &PP, const PrintingPolicy &Policy, const FunctionDecl *Function, @@ -2518,7 +2518,7 @@ static void AddFunctionParameterChunks(Preprocessor &PP, } } -/// \brief Add template parameter chunks to the given code completion string. +/// Add template parameter chunks to the given code completion string. static void AddTemplateParameterChunks(ASTContext &Context, const PrintingPolicy &Policy, const TemplateDecl *Template, @@ -2599,7 +2599,7 @@ static void AddTemplateParameterChunks(ASTContext &Context, } } -/// \brief Add a qualifier to the given code-completion string, if the +/// Add a qualifier to the given code-completion string, if the /// provided nested-name-specifier is non-NULL. static void AddQualifierToCompletionString(CodeCompletionBuilder &Result, @@ -2658,7 +2658,7 @@ AddFunctionTypeQualsToCompletionString(CodeCompletionBuilder &Result, Result.AddInformativeChunk(Result.getAllocator().CopyString(QualsStr)); } -/// \brief Add the name of the given declaration +/// Add the name of the given declaration static void AddTypedNameChunk(ASTContext &Context, const PrintingPolicy &Policy, const NamedDecl *ND, CodeCompletionBuilder &Result) { @@ -2742,7 +2742,7 @@ CodeCompletionString *CodeCompletionResult::CreateCodeCompletionString(Sema &S, CCTUInfo, IncludeBriefComments); } -/// \brief If possible, create a new code completion string for the given +/// If possible, create a new code completion string for the given /// result. /// /// \returns Either a new, heap-allocated code completion string describing @@ -3042,7 +3042,7 @@ CodeCompletionResult::CreateCodeCompletionString(ASTContext &Ctx, return Result.TakeString(); } -/// \brief Add function overload parameter chunks to the given code completion +/// Add function overload parameter chunks to the given code completion /// string. static void AddOverloadParameterChunks(ASTContext &Context, const PrintingPolicy &Policy, @@ -3366,7 +3366,7 @@ static enum CodeCompletionContext::Kind mapCodeCompletionContext(Sema &S, llvm_unreachable("Invalid ParserCompletionContext!"); } -/// \brief If we're in a C++ virtual member function, add completion results +/// If we're in a C++ virtual member function, add completion results /// that invoke the functions we override, since it's common to invoke the /// overridden function as well as adding new functionality. /// @@ -3661,7 +3661,7 @@ struct Sema::CodeCompleteExpressionData { SmallVector<Decl *, 4> IgnoreDecls; }; -/// \brief Perform code-completion in an expression context when we know what +/// Perform code-completion in an expression context when we know what /// type we're looking for. void Sema::CodeCompleteExpression(Scope *S, const CodeCompleteExpressionData &Data) { @@ -3719,11 +3719,11 @@ void Sema::CodeCompletePostfixExpression(Scope *S, ExprResult E) { CodeCompleteObjCInstanceMessage(S, E.get(), None, false); } -/// \brief The set of properties that have already been added, referenced by +/// The set of properties that have already been added, referenced by /// property name. typedef llvm::SmallPtrSet<IdentifierInfo*, 16> AddedPropertiesSet; -/// \brief Retrieve the container definition, if any? +/// Retrieve the container definition, if any? static ObjCContainerDecl *getContainerDef(ObjCContainerDecl *Container) { if (ObjCInterfaceDecl *Interface = dyn_cast<ObjCInterfaceDecl>(Container)) { if (Interface->hasDefinition()) @@ -3741,7 +3741,7 @@ static ObjCContainerDecl *getContainerDef(ObjCContainerDecl *Container) { return Container; } -/// \brief Adds a block invocation code completion result for the given block +/// Adds a block invocation code completion result for the given block /// declaration \p BD. static void AddObjCBlockCall(ASTContext &Context, const PrintingPolicy &Policy, CodeCompletionBuilder &Builder, @@ -4339,7 +4339,7 @@ static void mergeCandidatesWithResults(Sema &SemaRef, } } -/// \brief Get the type of the Nth parameter from a given set of overload +/// Get the type of the Nth parameter from a given set of overload /// candidates. static QualType getParamType(Sema &SemaRef, ArrayRef<ResultCandidate> Candidates, @@ -4946,7 +4946,7 @@ void Sema::CodeCompleteConstructorInitializer( Results.data(), Results.size()); } -/// \brief Determine whether this scope denotes a namespace. +/// Determine whether this scope denotes a namespace. static bool isNamespaceScope(Scope *S) { DeclContext *DC = S->getEntity(); if (!DC) @@ -5273,7 +5273,7 @@ void Sema::CodeCompleteObjCAtExpression(Scope *S) { Results.data(),Results.size()); } -/// \brief Determine whether the addition of the given flag to an Objective-C +/// Determine whether the addition of the given flag to an Objective-C /// property's attributes will cause a conflict. static bool ObjCPropertyFlagConflicts(unsigned Attributes, unsigned NewFlag) { // Check if we've already added this flag. @@ -5369,7 +5369,7 @@ void Sema::CodeCompleteObjCPropertyFlags(Scope *S, ObjCDeclSpec &ODS) { Results.data(),Results.size()); } -/// \brief Describes the kind of Objective-C method that we want to find +/// Describes the kind of Objective-C method that we want to find /// via code completion. enum ObjCMethodKind { MK_Any, ///< Any kind of method, provided it means other specified criteria. @@ -5410,12 +5410,12 @@ static bool isAcceptableObjCMethod(ObjCMethodDecl *Method, } namespace { - /// \brief A set of selectors, which is used to avoid introducing multiple + /// A set of selectors, which is used to avoid introducing multiple /// completions with the same selector into the result set. typedef llvm::SmallPtrSet<Selector, 16> VisitedSelectorSet; } -/// \brief Add all of the Objective-C methods in the given Objective-C +/// Add all of the Objective-C methods in the given Objective-C /// container to the set of results. /// /// The container will be a class, protocol, category, or implementation of @@ -5660,7 +5660,7 @@ void Sema::CodeCompleteObjCPassingType(Scope *S, ObjCDeclSpec &DS, Results.data(), Results.size()); } -/// \brief When we have an expression with type "id", we may assume +/// When we have an expression with type "id", we may assume /// that it has some more-specific class type based on knowledge of /// common uses of Objective-C. This routine returns that class type, /// or NULL if no better result could be determined. @@ -5952,7 +5952,7 @@ void Sema::CodeCompleteObjCSuperMessage(Scope *S, SourceLocation SuperLoc, /*IsSuper=*/true); } -/// \brief Given a set of code-completion results for the argument of a message +/// Given a set of code-completion results for the argument of a message /// send, determine the preferred type (if any) for that argument expression. static QualType getPreferredArgumentTypeForMessageSend(ResultBuilder &Results, unsigned NumSelIdents) { @@ -6334,7 +6334,7 @@ void Sema::CodeCompleteObjCSelector(Scope *S, Results.data(), Results.size()); } -/// \brief Add all of the protocol declarations that we find in the given +/// Add all of the protocol declarations that we find in the given /// (translation unit) context. static void AddProtocolResults(DeclContext *Ctx, DeclContext *CurContext, bool OnlyForwardDeclarations, @@ -6399,7 +6399,7 @@ void Sema::CodeCompleteObjCProtocolDecl(Scope *) { Results.data(),Results.size()); } -/// \brief Add all of the Objective-C interface declarations that we find in +/// Add all of the Objective-C interface declarations that we find in /// the given (translation unit) context. static void AddInterfaceResults(DeclContext *Ctx, DeclContext *CurContext, bool OnlyForwardDeclarations, @@ -6696,7 +6696,7 @@ void Sema::CodeCompleteObjCPropertySynthesizeIvar(Scope *S, typedef llvm::DenseMap< Selector, llvm::PointerIntPair<ObjCMethodDecl *, 1, bool> > KnownMethodsMap; -/// \brief Find all of the methods that reside in the given container +/// Find all of the methods that reside in the given container /// (and its superclasses, protocols, etc.) that meet the given /// criteria. Insert those methods into the map of known methods, /// indexed by selector so they can be easily found. @@ -6784,7 +6784,7 @@ static void FindImplementableMethods(ASTContext &Context, } } -/// \brief Add the parenthesized return or parameter type chunk to a code +/// Add the parenthesized return or parameter type chunk to a code /// completion string. static void AddObjCPassingTypeChunk(QualType Type, unsigned ObjCDeclQuals, @@ -6800,7 +6800,7 @@ static void AddObjCPassingTypeChunk(QualType Type, Builder.AddChunk(CodeCompletionString::CK_RightParen); } -/// \brief Determine whether the given class is or inherits from a class by +/// Determine whether the given class is or inherits from a class by /// the given name. static bool InheritsFromClassNamed(ObjCInterfaceDecl *Class, StringRef Name) { @@ -6813,7 +6813,7 @@ static bool InheritsFromClassNamed(ObjCInterfaceDecl *Class, return InheritsFromClassNamed(Class->getSuperClass(), Name); } -/// \brief Add code completions for Objective-C Key-Value Coding (KVC) and +/// Add code completions for Objective-C Key-Value Coding (KVC) and /// Key-Value Observing (KVO). static void AddObjCKeyValueCompletions(ObjCPropertyDecl *Property, bool IsInstanceMethod, diff --git a/lib/Sema/SemaCoroutine.cpp b/lib/Sema/SemaCoroutine.cpp index 36d5523efe..aefea981e5 100644 --- a/lib/Sema/SemaCoroutine.cpp +++ b/lib/Sema/SemaCoroutine.cpp @@ -1438,7 +1438,7 @@ static Expr *castForMoving(Sema &S, Expr *E, QualType T = QualType()) { .get(); } -/// \brief Build a variable declaration for move parameter. +/// Build a variable declaration for move parameter. static VarDecl *buildVarDecl(Sema &S, SourceLocation Loc, QualType Type, IdentifierInfo *II) { TypeSourceInfo *TInfo = S.Context.getTrivialTypeSourceInfo(Type, Loc); diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 62f658345a..6df52d54b4 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -115,7 +115,7 @@ class TypeNameValidatorCCC : public CorrectionCandidateCallback { } // end anonymous namespace -/// \brief Determine whether the token kind starts a simple-type-specifier. +/// Determine whether the token kind starts a simple-type-specifier. bool Sema::isSimpleTypeSpecifier(tok::TokenKind Kind) const { switch (Kind) { // FIXME: Take into account the current language when deciding whether a @@ -166,7 +166,7 @@ enum class UnqualifiedTypeNameLookupResult { }; } // end anonymous namespace -/// \brief Tries to perform unqualified lookup of the type decls in bases for +/// Tries to perform unqualified lookup of the type decls in bases for /// dependent class. /// \return \a NotFound if no any decls is found, \a FoundNotType if found not a /// type decl, \a FoundType if only type decls are found. @@ -266,7 +266,7 @@ static ParsedType recoverFromTypeInKnownDependentBase(Sema &S, return S.CreateParsedType(T, Builder.getTypeSourceInfo(Context, T)); } -/// \brief If the identifier refers to a type name within this scope, +/// If the identifier refers to a type name within this scope, /// return the declaration of that type. /// /// This routine performs ordinary name lookup of the identifier II @@ -760,7 +760,7 @@ void Sema::DiagnoseUnknownTypeName(IdentifierInfo *&II, } } -/// \brief Determine whether the given result set contains either a type name +/// Determine whether the given result set contains either a type name /// or static bool isResultTypeOrTemplate(LookupResult &R, const Token &NextToken) { bool CheckTemplate = R.getSema().getLangOpts().CPlusPlus && @@ -1315,7 +1315,7 @@ void Sema::ActOnExitFunctionContext() { assert(CurContext && "Popped translation unit!"); } -/// \brief Determine whether we allow overloading of the function +/// Determine whether we allow overloading of the function /// PrevDecl with another declaration. /// /// This routine determines whether overloading is possible, not @@ -1501,7 +1501,7 @@ static void RemoveUsingDecls(LookupResult &R) { F.done(); } -/// \brief Check for this common pattern: +/// Check for this common pattern: /// @code /// class S { /// S(const S&); // DO NOT IMPLEMENT @@ -1838,7 +1838,7 @@ void Sema::ActOnPopScope(SourceLocation Loc, Scope *S) { } } -/// \brief Look for an Objective-C class in the translation unit. +/// Look for an Objective-C class in the translation unit. /// /// \param Id The name of the Objective-C class we're looking for. If /// typo-correction fixes this name, the Id will be updated @@ -1908,7 +1908,7 @@ Scope *Sema::getNonFieldDeclScope(Scope *S) { return S; } -/// \brief Looks up the declaration of "struct objc_super" and +/// Looks up the declaration of "struct objc_super" and /// saves it for later use in building builtin declaration of /// objc_msgSendSuper and objc_msgSendSuper_stret. If no such /// pre-existing declaration exists no action takes place. @@ -2870,7 +2870,7 @@ static bool haveIncompatibleLanguageLinkages(const T *Old, const T *New) { template<typename T> static bool isExternC(T *D) { return D->isExternC(); } static bool isExternC(VarTemplateDecl *) { return false; } -/// \brief Check whether a redeclaration of an entity introduced by a +/// Check whether a redeclaration of an entity introduced by a /// using-declaration is valid, given that we know it's not an overload /// (nor a hidden tag declaration). template<typename ExpectedDecl> @@ -3563,7 +3563,7 @@ bool Sema::MergeFunctionDecl(FunctionDecl *New, NamedDecl *&OldD, return true; } -/// \brief Completes the merge of two function declarations that are +/// Completes the merge of two function declarations that are /// known to be compatible. /// /// This routine handles the merging of attributes and other @@ -4938,7 +4938,7 @@ DeclarationNameInfo Sema::GetNameForDeclarator(Declarator &D) { return GetNameFromUnqualifiedId(D.getName()); } -/// \brief Retrieves the declaration name from a parsed unqualified-id. +/// Retrieves the declaration name from a parsed unqualified-id. DeclarationNameInfo Sema::GetNameFromUnqualifiedId(const UnqualifiedId &Name) { DeclarationNameInfo NameInfo; @@ -5225,7 +5225,7 @@ bool Sema::DiagnoseClassNameShadow(DeclContext *DC, return false; } -/// \brief Diagnose a declaration whose declarator-id has the given +/// Diagnose a declaration whose declarator-id has the given /// nested-name-specifier. /// /// \param SS The nested-name-specifier of the declarator-id. @@ -5663,7 +5663,7 @@ TryToFixInvalidVariablyModifiedTypeSourceInfo(TypeSourceInfo *TInfo, return FixedTInfo; } -/// \brief Register the given locally-scoped extern "C" declaration so +/// Register the given locally-scoped extern "C" declaration so /// that it can be found later for redeclarations. We include any extern "C" /// declaration that is not visible in the translation unit here, not just /// function-scope declarations. @@ -5684,7 +5684,7 @@ NamedDecl *Sema::findLocallyScopedExternCDecl(DeclarationName Name) { return Result.empty() ? nullptr : *Result.begin(); } -/// \brief Diagnose function specifiers on a declaration of an identifier that +/// Diagnose function specifiers on a declaration of an identifier that /// does not identify a function. void Sema::DiagnoseFunctionSpecifiers(const DeclSpec &DS) { // FIXME: We should probably indicate the identifier in question to avoid @@ -5826,7 +5826,7 @@ Sema::ActOnTypedefNameDecl(Scope *S, DeclContext *DC, TypedefNameDecl *NewTD, return NewTD; } -/// \brief Determines whether the given declaration is an out-of-scope +/// Determines whether the given declaration is an out-of-scope /// previous declaration. /// /// This routine should be invoked when name lookup has found a @@ -6251,7 +6251,7 @@ bool Sema::adjustContextForLocalExternDecl(DeclContext *&DC) { return true; } -/// \brief Returns true if given declaration has external C language linkage. +/// Returns true if given declaration has external C language linkage. static bool isDeclExternC(const Decl *D) { if (const auto *FD = dyn_cast<FunctionDecl>(D)) return FD->isExternC(); @@ -6958,7 +6958,7 @@ static bool shouldWarnIfShadowedDecl(const DiagnosticsEngine &Diags, return !Diags.isIgnored(diag::warn_decl_shadow, R.getNameLoc()); } -/// \brief Return the declaration shadowed by the given variable \p D, or null +/// Return the declaration shadowed by the given variable \p D, or null /// if it doesn't shadow any declaration or shadowing warnings are disabled. NamedDecl *Sema::getShadowedDeclaration(const VarDecl *D, const LookupResult &R) { @@ -6975,7 +6975,7 @@ NamedDecl *Sema::getShadowedDeclaration(const VarDecl *D, : nullptr; } -/// \brief Return the declaration shadowed by the given typedef \p D, or null +/// Return the declaration shadowed by the given typedef \p D, or null /// if it doesn't shadow any declaration or shadowing warnings are disabled. NamedDecl *Sema::getShadowedDeclaration(const TypedefNameDecl *D, const LookupResult &R) { @@ -6990,7 +6990,7 @@ NamedDecl *Sema::getShadowedDeclaration(const TypedefNameDecl *D, return isa<TypedefNameDecl>(ShadowedDecl) ? ShadowedDecl : nullptr; } -/// \brief Diagnose variable or built-in function shadowing. Implements +/// Diagnose variable or built-in function shadowing. Implements /// -Wshadow. /// /// This method is called whenever a VarDecl is added to a "useful" @@ -7121,7 +7121,7 @@ void Sema::DiagnoseShadowingLambdaDecls(const LambdaScopeInfo *LSI) { } } -/// \brief Check -Wshadow without the advantage of a previous lookup. +/// Check -Wshadow without the advantage of a previous lookup. void Sema::CheckShadow(Scope *S, VarDecl *D) { if (Diags.isIgnored(diag::warn_decl_shadow, D->getLocation())) return; @@ -7491,7 +7491,7 @@ void Sema::CheckVariableDeclarationType(VarDecl *NewVD) { } } -/// \brief Perform semantic checking on a newly-created variable +/// Perform semantic checking on a newly-created variable /// declaration. /// /// This routine performs all of the type-checking required for a @@ -7562,7 +7562,7 @@ struct FindOverriddenMethod { enum OverrideErrorKind { OEK_All, OEK_NonDeleted, OEK_Deleted }; } // end anonymous namespace -/// \brief Report an error regarding overriding, along with any relevant +/// Report an error regarding overriding, along with any relevant /// overridden methods. /// /// \param DiagID the primary error to report. @@ -7678,7 +7678,7 @@ void Sema::MarkTypoCorrectedFunctionDefinition(const NamedDecl *F) { TypoCorrectedFunctionDefinitions.insert(F); } -/// \brief Generate diagnostics for an invalid function redeclaration. +/// Generate diagnostics for an invalid function redeclaration. /// /// This routine handles generating the diagnostic messages for an invalid /// function redeclaration, including finding possible similar declarations @@ -9156,7 +9156,7 @@ Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC, return NewFD; } -/// \brief Checks if the new declaration declared in dependent context must be +/// Checks if the new declaration declared in dependent context must be /// put in the same redeclaration chain as the specified declaration. /// /// \param D Declaration that is checked. @@ -9182,7 +9182,7 @@ bool Sema::shouldLinkDependentDeclWithPrevious(Decl *D, Decl *PrevDecl) { D->getFriendObjectKind() != Decl::FOK_None); } -/// \brief Check the target attribute of the function for MultiVersion +/// Check the target attribute of the function for MultiVersion /// validity. /// /// Returns true if there was an error, false otherwise. @@ -9333,7 +9333,7 @@ static bool CheckMultiVersionAdditionalRules(Sema &S, const FunctionDecl *OldFD, return false; } -/// \brief Check the validity of a mulitversion function declaration. +/// Check the validity of a mulitversion function declaration. /// Also sets the multiversion'ness' of the function itself. /// /// This sets NewFD->isInvalidDecl() to true if there was an error. @@ -9517,7 +9517,7 @@ static bool CheckMultiVersionFunction(Sema &S, FunctionDecl *NewFD, return false; } -/// \brief Perform semantic checking of a new function declaration. +/// Perform semantic checking of a new function declaration. /// /// Performs semantic analysis of the new function declaration /// NewFD. This routine performs all semantic checking that does not @@ -11564,7 +11564,7 @@ void Sema::CheckCompleteVariableDeclaration(VarDecl *var) { Context.addModuleInitializer(ModuleScopes.back().Module, var); } -/// \brief Determines if a variable's alignment is dependent. +/// Determines if a variable's alignment is dependent. static bool hasDependentAlignment(VarDecl *VD) { if (VD->getType()->isDependentType()) return true; @@ -12081,7 +12081,7 @@ Decl *Sema::ActOnParamDeclarator(Scope *S, Declarator &D) { return New; } -/// \brief Synthesizes a variable for a parameter arising from a +/// Synthesizes a variable for a parameter arising from a /// typedef. ParmVarDecl *Sema::BuildParmVarDeclForTypedef(DeclContext *DC, SourceLocation Loc, @@ -12584,7 +12584,7 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D, return D; } -/// \brief Given the set of return statements within a function body, +/// Given the set of return statements within a function body, /// compute the variables that are subject to the named return value /// optimization. /// @@ -13089,7 +13089,7 @@ NamedDecl *Sema::ImplicitlyDefineFunction(SourceLocation Loc, return FD; } -/// \brief Adds any function attributes that we know a priori based on +/// Adds any function attributes that we know a priori based on /// the declaration of this function. /// /// These attributes can apply both to implicitly-declared builtins @@ -13281,7 +13281,7 @@ TypedefDecl *Sema::ParseTypedefDecl(Scope *S, Declarator &D, QualType T, return NewTD; } -/// \brief Check that this is a valid underlying type for an enum declaration. +/// Check that this is a valid underlying type for an enum declaration. bool Sema::CheckEnumUnderlyingType(TypeSourceInfo *TI) { SourceLocation UnderlyingLoc = TI->getTypeLoc().getBeginLoc(); QualType T = TI->getType(); @@ -13331,7 +13331,7 @@ bool Sema::CheckEnumRedeclaration(SourceLocation EnumLoc, bool IsScoped, return false; } -/// \brief Get diagnostic %select index for tag kind for +/// Get diagnostic %select index for tag kind for /// redeclaration diagnostic message. /// WARNING: Indexes apply to particular diagnostics only! /// @@ -13345,7 +13345,7 @@ static unsigned getRedeclDiagFromTagKind(TagTypeKind Tag) { } } -/// \brief Determine if tag kind is a class-key compatible with +/// Determine if tag kind is a class-key compatible with /// class for redeclaration (class, struct, or __interface). /// /// \returns true iff the tag kind is compatible. @@ -13379,7 +13379,7 @@ Sema::NonTagKind Sema::getNonTagTypeDeclKind(const Decl *PrevDecl, llvm_unreachable("invalid TTK"); } -/// \brief Determine whether a tag with a given kind is acceptable +/// Determine whether a tag with a given kind is acceptable /// as a redeclaration of the given tag declaration. /// /// \returns true if the new tag kind is acceptable, false otherwise. @@ -13515,7 +13515,7 @@ static FixItHint createFriendTagNNSFixIt(Sema &SemaRef, NamedDecl *ND, Scope *S, return FixItHint::CreateInsertion(NameLoc, Insertion); } -/// \brief Determine whether a tag originally declared in context \p OldDC can +/// Determine whether a tag originally declared in context \p OldDC can /// be redeclared with an unqualified name in \p NewDC (assuming name lookup /// found a declaration in \p OldDC as a previous decl, perhaps through a /// using-declaration). @@ -13536,7 +13536,7 @@ static bool isAcceptableTagRedeclContext(Sema &S, DeclContext *OldDC, return false; } -/// \brief This is invoked when we see 'struct foo' or 'struct {'. In the +/// This is invoked when we see 'struct foo' or 'struct {'. In the /// former case, Name will be non-null. In the later case, Name will be null. /// TagSpec indicates what kind of tag this is. TUK indicates whether this is a /// reference/declaration/definition of a tag. @@ -14838,7 +14838,7 @@ FieldDecl *Sema::HandleField(Scope *S, RecordDecl *Record, return NewFD; } -/// \brief Build a new FieldDecl and check its well-formedness. +/// Build a new FieldDecl and check its well-formedness. /// /// This routine builds a new FieldDecl given the fields name, type, /// record, etc. \p PrevDecl should refer to any previous declaration @@ -15708,7 +15708,7 @@ void Sema::ActOnFields(Scope *S, SourceLocation RecLoc, Decl *EnclosingDecl, ProcessDeclAttributeList(S, Record, Attr); } -/// \brief Determine whether the given integral value is representable within +/// Determine whether the given integral value is representable within /// the given type T. static bool isRepresentableIntegerValue(ASTContext &Context, llvm::APSInt &Value, @@ -15725,7 +15725,7 @@ static bool isRepresentableIntegerValue(ASTContext &Context, return Value.getMinSignedBits() <= BitWidth; } -// \brief Given an integral type, return the next larger integral type +// Given an integral type, return the next larger integral type // (or a NULL type of no such type exists). static QualType getNextLargerIntegralType(ASTContext &Context, QualType T) { // FIXME: Int128/UInt128 support, which also needs to be introduced into diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp index fd1cfc14d8..be69e15d6d 100644 --- a/lib/Sema/SemaDeclAttr.cpp +++ b/lib/Sema/SemaDeclAttr.cpp @@ -59,7 +59,7 @@ static bool isFunctionOrMethod(const Decl *D) { return (D->getFunctionType() != nullptr) || isa<ObjCMethodDecl>(D); } -/// \brief Return true if the given decl has function type (function or +/// Return true if the given decl has function type (function or /// function-typed variable) or an Objective-C method or a block. static bool isFunctionOrMethodOrBlock(const Decl *D) { return isFunctionOrMethod(D) || isa<BlockDecl>(D); @@ -189,7 +189,7 @@ static bool checkAttributeNumArgsImpl(Sema &S, const AttributeList &AL, return true; } -/// \brief Check if the attribute has exactly as many args as Num. May +/// Check if the attribute has exactly as many args as Num. May /// output an error. static bool checkAttributeNumArgs(Sema &S, const AttributeList &AL, unsigned Num) { @@ -198,7 +198,7 @@ static bool checkAttributeNumArgs(Sema &S, const AttributeList &AL, std::not_equal_to<unsigned>()); } -/// \brief Check if the attribute has at least as many args as Num. May +/// Check if the attribute has at least as many args as Num. May /// output an error. static bool checkAttributeAtLeastNumArgs(Sema &S, const AttributeList &AL, unsigned Num) { @@ -207,7 +207,7 @@ static bool checkAttributeAtLeastNumArgs(Sema &S, const AttributeList &AL, std::less<unsigned>()); } -/// \brief Check if the attribute has at most as many args as Num. May +/// Check if the attribute has at most as many args as Num. May /// output an error. static bool checkAttributeAtMostNumArgs(Sema &S, const AttributeList &AL, unsigned Num) { @@ -216,7 +216,7 @@ static bool checkAttributeAtMostNumArgs(Sema &S, const AttributeList &AL, std::greater<unsigned>()); } -/// \brief A helper function to provide Attribute Location for the Attr types +/// A helper function to provide Attribute Location for the Attr types /// AND the AttributeList. template <typename AttrInfo> static typename std::enable_if<std::is_base_of<Attr, AttrInfo>::value, @@ -228,7 +228,7 @@ static SourceLocation getAttrLoc(const AttributeList &AL) { return AL.getLoc(); } -/// \brief A helper function to provide Attribute Name for the Attr types +/// A helper function to provide Attribute Name for the Attr types /// AND the AttributeList. template <typename AttrInfo> static typename std::enable_if<std::is_base_of<Attr, AttrInfo>::value, @@ -240,7 +240,7 @@ static const IdentifierInfo *getAttrName(const AttributeList &AL) { return AL.getName(); } -/// \brief If Expr is a valid integer constant, get the value of the integer +/// If Expr is a valid integer constant, get the value of the integer /// expression and return success or failure. May output an error. template <typename AttrInfo> static bool checkUInt32Argument(Sema &S, const AttrInfo &AI, const Expr *Expr, @@ -269,7 +269,7 @@ static bool checkUInt32Argument(Sema &S, const AttrInfo &AI, const Expr *Expr, return true; } -/// \brief Wrapper around checkUInt32Argument, with an extra check to be sure +/// Wrapper around checkUInt32Argument, with an extra check to be sure /// that the result will fit into a regular (signed) int. All args have the same /// purpose as they do in checkUInt32Argument. template <typename AttrInfo> @@ -291,7 +291,7 @@ static bool checkPositiveIntArgument(Sema &S, const AttrInfo &AI, const Expr *Ex return true; } -/// \brief Diagnose mutually exclusive attributes when present on a given +/// Diagnose mutually exclusive attributes when present on a given /// declaration. Returns true if diagnosed. template <typename AttrTy> static bool checkAttrMutualExclusion(Sema &S, Decl *D, SourceRange Range, @@ -305,7 +305,7 @@ static bool checkAttrMutualExclusion(Sema &S, Decl *D, SourceRange Range, return false; } -/// \brief Check if IdxExpr is a valid parameter index for a function or +/// Check if IdxExpr is a valid parameter index for a function or /// instance method D. May output an error. /// /// \returns true if IdxExpr is a valid index. @@ -351,7 +351,7 @@ static bool checkFunctionOrMethodParameterIndex( return true; } -/// \brief Check if the argument \p ArgNum of \p Attr is a ASCII string literal. +/// Check if the argument \p ArgNum of \p Attr is a ASCII string literal. /// If not emit an error and return false. If the argument is an identifier it /// will emit an error with a fixit hint and treat it as if it was a string /// literal. @@ -387,7 +387,7 @@ bool Sema::checkStringLiteralArgumentAttr(const AttributeList &AL, return true; } -/// \brief Applies the given attribute to the Decl without performing any +/// Applies the given attribute to the Decl without performing any /// additional semantic checking. template <typename AttrType> static void handleSimpleAttribute(Sema &S, Decl *D, const AttributeList &AL) { @@ -401,7 +401,7 @@ static void handleSimpleAttributeWithExclusions(Sema &S, Decl *D, handleSimpleAttribute<AttrType>(S, D, AL); } -/// \brief Applies the given attribute to the Decl so long as the Decl doesn't +/// Applies the given attribute to the Decl so long as the Decl doesn't /// already have one of the given incompatible attributes. template <typename AttrType, typename IncompatibleAttrType, typename... IncompatibleAttrTypes> @@ -414,7 +414,7 @@ static void handleSimpleAttributeWithExclusions(Sema &S, Decl *D, AL); } -/// \brief Check if the passed-in expression is of type int or bool. +/// Check if the passed-in expression is of type int or bool. static bool isIntOrBool(Expr *Exp) { QualType QT = Exp->getType(); return QT->isBooleanType() || QT->isIntegerType(); @@ -437,7 +437,7 @@ static bool threadSafetyCheckIsSmartPointer(Sema &S, const RecordType* RT) { return true; } -/// \brief Check if passed in Decl is a pointer type. +/// Check if passed in Decl is a pointer type. /// Note that this function may produce an error message. /// \return true if the Decl is a pointer type; false otherwise static bool threadSafetyCheckIsPointer(Sema &S, const Decl *D, @@ -463,7 +463,7 @@ static bool threadSafetyCheckIsPointer(Sema &S, const Decl *D, return false; } -/// \brief Checks that the passed in QualType either is of RecordType or points +/// Checks that the passed in QualType either is of RecordType or points /// to RecordType. Returns the relevant RecordType, null if it does not exit. static const RecordType *getRecordType(QualType QT) { if (const auto *RT = QT->getAs<RecordType>()) @@ -555,7 +555,7 @@ static bool isCapabilityExpr(Sema &S, const Expr *Ex) { return typeHasCapability(S, Ex->getType()); } -/// \brief Checks that all attribute arguments, starting from Sidx, resolve to +/// Checks that all attribute arguments, starting from Sidx, resolve to /// a capability object. /// \param Sidx The attribute argument index to start checking with. /// \param ParamIdxOk Whether an argument can be indexing into a function @@ -765,7 +765,7 @@ static void handleAssertExclusiveLockAttr(Sema &S, Decl *D, AL.getAttributeSpellingListIndex())); } -/// \brief Checks to be sure that the given parameter number is in bounds, and +/// Checks to be sure that the given parameter number is in bounds, and /// is an integral type. Will emit appropriate diagnostics if this returns /// false. /// @@ -2137,7 +2137,7 @@ static bool checkAvailabilityAttr(Sema &S, SourceRange Range, return false; } -/// \brief Check whether the two versions match. +/// Check whether the two versions match. /// /// If either version tuple is empty, then they are assumed to match. If /// \p BeforeIsOkay is true, then \p X can be less than or equal to \p Y. @@ -6795,7 +6795,7 @@ ShouldDiagnoseAvailabilityOfDecl(const NamedDecl *D, std::string *Message) { } -/// \brief whether we should emit a diagnostic for \c K and \c DeclVersion in +/// whether we should emit a diagnostic for \c K and \c DeclVersion in /// the context of \c Ctx. For example, we should emit an unavailable diagnostic /// in a deprecated context, but not the other way around. static bool ShouldDiagnoseAvailabilityInContext(Sema &S, AvailabilityResult K, @@ -7362,7 +7362,7 @@ public: } }; -/// \brief This class implements -Wunguarded-availability. +/// This class implements -Wunguarded-availability. /// /// This is done with a traversal of the AST of a function that makes reference /// to a partially available declaration. Whenever we encounter an \c if of the diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 1ad8ee3469..fc2c147415 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -1457,7 +1457,7 @@ void Sema::CheckCompleteDecompositionDeclaration(DecompositionDecl *DD) { DD->setInvalidDecl(); } -/// \brief Merge the exception specifications of two variable declarations. +/// Merge the exception specifications of two variable declarations. /// /// This is called when there's a redeclaration of a VarDecl. The function /// checks if the redeclaration might have an exception specification and @@ -1573,7 +1573,7 @@ static bool CheckConstexprParameterTypes(Sema &SemaRef, return true; } -/// \brief Get diagnostic %select index for tag kind for +/// Get diagnostic %select index for tag kind for /// record diagnostic message. /// WARNING: Indexes apply to particular diagnostics only! /// @@ -2079,7 +2079,7 @@ bool Sema::isCurrentClassName(const IdentifierInfo &II, Scope *, return false; } -/// \brief Determine whether the identifier II is a typo for the name of +/// Determine whether the identifier II is a typo for the name of /// the class type currently being defined. If so, update it to the identifier /// that should have been used. bool Sema::isCurrentClassNameTypo(IdentifierInfo *&II, const CXXScopeSpec *SS) { @@ -2105,7 +2105,7 @@ bool Sema::isCurrentClassNameTypo(IdentifierInfo *&II, const CXXScopeSpec *SS) { return false; } -/// \brief Determine whether the given class is a base class of the given +/// Determine whether the given class is a base class of the given /// class, including looking at dependent bases. static bool findCircularInheritance(const CXXRecordDecl *Class, const CXXRecordDecl *Current) { @@ -2137,7 +2137,7 @@ static bool findCircularInheritance(const CXXRecordDecl *Class, return false; } -/// \brief Check the validity of a C++ base class specifier. +/// Check the validity of a C++ base class specifier. /// /// \returns a new CXXBaseSpecifier if well-formed, emits diagnostics /// and returns NULL otherwise. @@ -2324,7 +2324,7 @@ Sema::ActOnBaseSpecifier(Decl *classdecl, SourceRange SpecifierRange, /// locally, there's no need to abstract the small size parameter. typedef llvm::SmallPtrSet<QualType, 4> IndirectBaseSet; -/// \brief Recursively add the bases of Type. Don't add Type itself. +/// Recursively add the bases of Type. Don't add Type itself. static void NoteIndirectBases(ASTContext &Context, IndirectBaseSet &Set, const QualType &Type) @@ -2345,7 +2345,7 @@ NoteIndirectBases(ASTContext &Context, IndirectBaseSet &Set, } } -/// \brief Performs the actual work of attaching the given base class +/// Performs the actual work of attaching the given base class /// specifiers to a C++ class. bool Sema::AttachBaseSpecifiers(CXXRecordDecl *Class, MutableArrayRef<CXXBaseSpecifier *> Bases) { @@ -2464,7 +2464,7 @@ void Sema::ActOnBaseSpecifiers(Decl *ClassDecl, AttachBaseSpecifiers(cast<CXXRecordDecl>(ClassDecl), Bases); } -/// \brief Determine whether the type \p Derived is a C++ class that is +/// Determine whether the type \p Derived is a C++ class that is /// derived from the type \p Base. bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base) { if (!getLangOpts().CPlusPlus) @@ -2491,7 +2491,7 @@ bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base) { return DerivedRD->isDerivedFrom(BaseRD); } -/// \brief Determine whether the type \p Derived is a C++ class that is +/// Determine whether the type \p Derived is a C++ class that is /// derived from the type \p Base. bool Sema::IsDerivedFrom(SourceLocation Loc, QualType Derived, QualType Base, CXXBasePaths &Paths) { @@ -2643,7 +2643,7 @@ Sema::CheckDerivedToBaseConversion(QualType Derived, QualType Base, } -/// @brief Builds a string representing ambiguous paths from a +/// Builds a string representing ambiguous paths from a /// specific derived class to different subobjects of the same base /// class. /// @@ -3551,7 +3551,7 @@ namespace { } } // namespace -/// \brief Enter a new C++ default initializer scope. After calling this, the +/// Enter a new C++ default initializer scope. After calling this, the /// caller must call \ref ActOnFinishCXXInClassMemberInitializer, even if /// parsing or instantiating the initializer failed. void Sema::ActOnStartCXXInClassMemberInitializer() { @@ -3560,7 +3560,7 @@ void Sema::ActOnStartCXXInClassMemberInitializer() { PushFunctionScope(); } -/// \brief This is invoked after parsing an in-class initializer for a +/// This is invoked after parsing an in-class initializer for a /// non-static C++ class member, and after instantiating an in-class initializer /// in a class template. Such actions are deferred until the class is complete. void Sema::ActOnFinishCXXInClassMemberInitializer(Decl *D, @@ -3617,7 +3617,7 @@ void Sema::ActOnFinishCXXInClassMemberInitializer(Decl *D, FD->setInClassInitializer(InitExpr); } -/// \brief Find the direct and/or virtual base specifiers that +/// Find the direct and/or virtual base specifiers that /// correspond to the given base type, for use in base initialization /// within a constructor. static bool FindBaseInitializer(Sema &SemaRef, @@ -3661,7 +3661,7 @@ static bool FindBaseInitializer(Sema &SemaRef, return DirectBaseSpec || VirtualBaseSpec; } -/// \brief Handle a C++ member initializer using braced-init-list syntax. +/// Handle a C++ member initializer using braced-init-list syntax. MemInitResult Sema::ActOnMemInitializer(Decl *ConstructorD, Scope *S, @@ -3677,7 +3677,7 @@ Sema::ActOnMemInitializer(Decl *ConstructorD, EllipsisLoc); } -/// \brief Handle a C++ member initializer using parentheses syntax. +/// Handle a C++ member initializer using parentheses syntax. MemInitResult Sema::ActOnMemInitializer(Decl *ConstructorD, Scope *S, @@ -3720,7 +3720,7 @@ private: } -/// \brief Handle a C++ member initializer. +/// Handle a C++ member initializer. MemInitResult Sema::BuildMemInitializer(Decl *ConstructorD, Scope *S, @@ -4548,7 +4548,7 @@ struct BaseAndFieldInfo { return !FieldRD->hasInClassInitializer(); } - /// \brief Determine whether the given field is, or is within, a union member + /// Determine whether the given field is, or is within, a union member /// that is inactive (because there was an initializer given for a different /// member of the union, or because the union was not initialized at all). bool isWithinInactiveUnionMember(FieldDecl *Field, @@ -4566,7 +4566,7 @@ struct BaseAndFieldInfo { }; } -/// \brief Determine whether the given type is an incomplete or zero-lenfgth +/// Determine whether the given type is an incomplete or zero-lenfgth /// array type. static bool isIncompleteOrZeroLengthArrayType(ASTContext &Context, QualType T) { if (T->isIncompleteArrayType()) @@ -5576,7 +5576,7 @@ static void checkForMultipleExportedDefaultConstructors(Sema &S, } } -/// \brief Check class-level dllimport/dllexport attribute. +/// Check class-level dllimport/dllexport attribute. void Sema::checkClassLevelDLLAttribute(CXXRecordDecl *Class) { Attr *ClassAttr = getDLLAttr(Class); @@ -5707,7 +5707,7 @@ void Sema::checkClassLevelDLLAttribute(CXXRecordDecl *Class) { DelayedDllExportClasses.push_back(Class); } -/// \brief Perform propagation of DLL attributes from a derived class to a +/// Perform propagation of DLL attributes from a derived class to a /// templated base class for MS compatibility. void Sema::propagateDLLAttrToBaseClassTemplate( CXXRecordDecl *Class, Attr *ClassAttr, @@ -5916,7 +5916,7 @@ computeArgPassingRestrictions(bool DestroyedInCallee, const CXXRecordDecl *RD, return RecordDecl::APK_CannotPassInRegs; } -/// \brief Perform semantic checks on a class definition that has been +/// Perform semantic checks on a class definition that has been /// completing, introducing implicitly-declared members, checking for /// abstract types, etc. void Sema::CheckCompletedCXXClass(CXXRecordDecl *Record) { @@ -7637,7 +7637,7 @@ public: }; } // end anonymous namespace -/// \brief Add the most overriden methods from MD to Methods +/// Add the most overriden methods from MD to Methods static void AddMostOverridenMethods(const CXXMethodDecl *MD, llvm::SmallPtrSetImpl<const CXXMethodDecl *>& Methods) { if (MD->size_overridden_methods() == 0) @@ -7647,7 +7647,7 @@ static void AddMostOverridenMethods(const CXXMethodDecl *MD, AddMostOverridenMethods(O, Methods); } -/// \brief Check if a method overloads virtual methods in a base class without +/// Check if a method overloads virtual methods in a base class without /// overriding any. void Sema::FindHiddenVirtualMethods(CXXMethodDecl *MD, SmallVectorImpl<CXXMethodDecl*> &OverloadedMethods) { @@ -7688,7 +7688,7 @@ void Sema::NoteHiddenVirtualMethods(CXXMethodDecl *MD, } } -/// \brief Diagnose methods which overload virtual methods in a base class +/// Diagnose methods which overload virtual methods in a base class /// without overriding any. void Sema::DiagnoseHiddenVirtualMethods(CXXMethodDecl *MD) { if (MD->isInvalidDecl()) @@ -8656,7 +8656,7 @@ void Sema::CheckDeductionGuideDeclarator(Declarator &D, QualType &R, // Namespace Handling //===----------------------------------------------------------------------===// -/// \brief Diagnose a mismatch in 'inline' qualifiers when a namespace is +/// Diagnose a mismatch in 'inline' qualifiers when a namespace is /// reopened. static void DiagnoseNamespaceInlineMismatch(Sema &S, SourceLocation KeywordLoc, SourceLocation Loc, @@ -9022,7 +9022,7 @@ QualType Sema::CheckComparisonCategoryType(ComparisonCategoryType Kind, return Info->getType(); } -/// \brief Retrieve the special "std" namespace, which may require us to +/// Retrieve the special "std" namespace, which may require us to /// implicitly define the namespace. NamespaceDecl *Sema::getOrCreateStdNamespace() { if (!StdNamespace) { @@ -9165,7 +9165,7 @@ bool Sema::isInitListConstructor(const FunctionDecl *Ctor) { return isStdInitializerList(ArgType, nullptr); } -/// \brief Determine whether a using statement is in a context where it will be +/// Determine whether a using statement is in a context where it will be /// apply in all contexts. static bool IsUsingDirectiveInToplevelContext(DeclContext *CurContext) { switch (CurContext->getDeclKind()) { @@ -9405,7 +9405,7 @@ Decl *Sema::ActOnUsingDeclaration(Scope *S, return UD; } -/// \brief Determine whether a using declaration considers the given +/// Determine whether a using declaration considers the given /// declarations as "equivalent", e.g., if they are redeclarations of /// the same entity or are both typedefs of the same type. static bool @@ -10727,7 +10727,7 @@ struct DeclaringSpecialMember { } } - /// \brief Are we already trying to declare this special member? + /// Are we already trying to declare this special member? bool isAlreadyBeingDeclared() const { return WasAlreadyBeingDeclared; } @@ -11135,7 +11135,7 @@ void Sema::DefineImplicitDestructor(SourceLocation CurrentLocation, } } -/// \brief Perform any semantic analysis which needs to be delayed until all +/// Perform any semantic analysis which needs to be delayed until all /// pending class member declarations have been parsed. void Sema::ActOnFinishCXXMemberDecls() { // If the context is an invalid C++ class, just suppress these checks. @@ -11194,7 +11194,7 @@ void Sema::AdjustDestructorExceptionSpec(CXXRecordDecl *ClassDecl, } namespace { -/// \brief An abstract base class for all helper classes used in building the +/// An abstract base class for all helper classes used in building the // copy/move operators. These classes serve as factory functions and help us // avoid using the same Expr* in the AST twice. class ExprBuilder { @@ -11379,7 +11379,7 @@ buildMemcpyForAssignmentOp(Sema &S, SourceLocation Loc, QualType T, return Call.getAs<Stmt>(); } -/// \brief Builds a statement that copies/moves the given entity from \p From to +/// Builds a statement that copies/moves the given entity from \p From to /// \c To. /// /// This routine is used to copy/move the members of a class with an @@ -12688,7 +12688,7 @@ void Sema::DefineImplicitLambdaToBlockPointerConversion( } } -/// \brief Determine whether the given list arguments contains exactly one +/// Determine whether the given list arguments contains exactly one /// "real" (non-default) argument. static bool hasOneRealArgument(MultiExprArg Args) { switch (Args.size()) { @@ -12899,7 +12899,7 @@ void Sema::FinalizeVarWithDestructor(VarDecl *VD, const RecordType *Record) { Diag(VD->getLocation(), diag::warn_global_destructor); } -/// \brief Given a constructor and the set of arguments provided for the +/// Given a constructor and the set of arguments provided for the /// constructor, convert the arguments and add any required default arguments /// to form a proper call to this constructor. /// @@ -13500,7 +13500,7 @@ Decl *Sema::ActOnEmptyDeclaration(Scope *S, return ED; } -/// \brief Perform semantic analysis for the variable declaration that +/// Perform semantic analysis for the variable declaration that /// occurs within a C++ catch clause, returning the newly-created /// variable. VarDecl *Sema::BuildExceptionDeclaration(Scope *S, @@ -13756,7 +13756,7 @@ Decl *Sema::BuildStaticAssertDeclaration(SourceLocation StaticAssertLoc, return Decl; } -/// \brief Perform semantic analysis of the given friend type declaration. +/// Perform semantic analysis of the given friend type declaration. /// /// \returns A friend declaration that. FriendDecl *Sema::CheckFriendTypeDecl(SourceLocation LocStart, @@ -14647,7 +14647,7 @@ bool Sema::CheckOverridingFunctionReturnType(const CXXMethodDecl *New, return false; } -/// \brief Mark the given method pure. +/// Mark the given method pure. /// /// \param Method the method to be marked pure. /// @@ -14677,7 +14677,7 @@ void Sema::ActOnPureSpecifier(Decl *D, SourceLocation ZeroLoc) { Diag(D->getLocation(), diag::err_illegal_initializer); } -/// \brief Determine whether the given declaration is a global variable or +/// Determine whether the given declaration is a global variable or /// static data member. static bool isNonlocalVariable(const Decl *D) { if (const VarDecl *Var = dyn_cast_or_null<VarDecl>(D)) @@ -15098,7 +15098,7 @@ void Sema::CheckDelegatingCtorCycles() { } namespace { - /// \brief AST visitor that finds references to the 'this' expression. + /// AST visitor that finds references to the 'this' expression. class FindCXXThisExpr : public RecursiveASTVisitor<FindCXXThisExpr> { Sema &S; diff --git a/lib/Sema/SemaDeclObjC.cpp b/lib/Sema/SemaDeclObjC.cpp index e1eed82716..87d37e6825 100644 --- a/lib/Sema/SemaDeclObjC.cpp +++ b/lib/Sema/SemaDeclObjC.cpp @@ -202,7 +202,7 @@ void Sema::CheckObjCMethodOverride(ObjCMethodDecl *NewMethod, } } -/// \brief Check a method declaration for compatibility with the Objective-C +/// Check a method declaration for compatibility with the Objective-C /// ARC conventions. bool Sema::CheckARCMethodDecl(ObjCMethodDecl *method) { ObjCMethodFamily family = method->getMethodFamily(); @@ -3366,7 +3366,7 @@ void Sema::addMethodToGlobalList(ObjCMethodList *List, Previous->setNext(new (Mem) ObjCMethodList(Method)); } -/// \brief Read the contents of the method pool for a given selector from +/// Read the contents of the method pool for a given selector from /// external storage. void Sema::ReadMethodPool(Selector Sel) { assert(ExternalSource && "We need an external AST source"); @@ -4105,7 +4105,7 @@ CvtQTToAstBitMask(ObjCDeclSpec::ObjCDeclQualifier PQTVal) { return (Decl::ObjCDeclQualifier) (unsigned) PQTVal; } -/// \brief Check whether the declared result type of the given Objective-C +/// Check whether the declared result type of the given Objective-C /// method declaration is compatible with the method's class. /// static Sema::ResultTypeCompatibilityKind @@ -4817,7 +4817,7 @@ void Sema::ActOnDefs(Scope *S, Decl *TagD, SourceLocation DeclStart, } } -/// \brief Build a type-check a new Objective-C exception variable declaration. +/// Build a type-check a new Objective-C exception variable declaration. VarDecl *Sema::BuildObjCExceptionDecl(TypeSourceInfo *TInfo, QualType T, SourceLocation StartLoc, SourceLocation IdLoc, diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index 8522c04e73..ee9e35e660 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -48,7 +48,7 @@ using namespace clang; using namespace sema; -/// \brief Determine whether the use of this declaration is valid, without +/// Determine whether the use of this declaration is valid, without /// emitting diagnostics. bool Sema::CanUseDecl(NamedDecl *D, bool TreatUnavailableAsInvalid) { // See if this is an auto-typed variable whose initializer we are parsing. @@ -89,7 +89,7 @@ static void DiagnoseUnusedOfDecl(Sema &S, NamedDecl *D, SourceLocation Loc) { } } -/// \brief Emit a note explaining that this function is deleted. +/// Emit a note explaining that this function is deleted. void Sema::NoteDeletedFunction(FunctionDecl *Decl) { assert(Decl->isDeleted()); @@ -117,7 +117,7 @@ void Sema::NoteDeletedFunction(FunctionDecl *Decl) { << Decl << true; } -/// \brief Determine whether a FunctionDecl was ever declared with an +/// Determine whether a FunctionDecl was ever declared with an /// explicit storage class. static bool hasAnyExplicitStorageClass(const FunctionDecl *D) { for (auto I : D->redecls()) { @@ -127,7 +127,7 @@ static bool hasAnyExplicitStorageClass(const FunctionDecl *D) { return false; } -/// \brief Check whether we're in an extern inline function and referring to a +/// Check whether we're in an extern inline function and referring to a /// variable or function with internal linkage (C11 6.7.4p3). /// /// This is only a warning because we used to silently accept this code, but @@ -190,7 +190,7 @@ void Sema::MaybeSuggestAddingStaticToDecl(const FunctionDecl *Cur) { } } -/// \brief Determine whether the use of this declaration is valid, and +/// Determine whether the use of this declaration is valid, and /// emit any corresponding diagnostics. /// /// This routine diagnoses various problems with referencing @@ -300,7 +300,7 @@ bool Sema::DiagnoseUseOfDecl(NamedDecl *D, ArrayRef<SourceLocation> Locs, return false; } -/// \brief Retrieve the message suffix that should be added to a +/// Retrieve the message suffix that should be added to a /// diagnostic complaining about the given function being deleted or /// unavailable. std::string Sema::getDeletedOrUnavailableSuffix(const FunctionDecl *FD) { @@ -917,7 +917,7 @@ ExprResult Sema::DefaultVariadicArgumentPromotion(Expr *E, VariadicCallType CT, return E; } -/// \brief Converts an integer to complex float type. Helper function of +/// Converts an integer to complex float type. Helper function of /// UsualArithmeticConversions() /// /// \return false if the integer expression is an integer type and is @@ -942,7 +942,7 @@ static bool handleIntegerToComplexFloatConversion(Sema &S, ExprResult &IntExpr, return false; } -/// \brief Handle arithmetic conversion with complex types. Helper function of +/// Handle arithmetic conversion with complex types. Helper function of /// UsualArithmeticConversions() static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS, ExprResult &RHS, QualType LHSType, @@ -998,7 +998,7 @@ static QualType handleComplexFloatConversion(Sema &S, ExprResult &LHS, return ResultType; } -/// \brief Handle arithmetic conversion from integer to float. Helper function +/// Handle arithmetic conversion from integer to float. Helper function /// of UsualArithmeticConversions() static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr, ExprResult &IntExpr, @@ -1029,7 +1029,7 @@ static QualType handleIntToFloatConversion(Sema &S, ExprResult &FloatExpr, return result; } -/// \brief Handle arithmethic conversion with floating point types. Helper +/// Handle arithmethic conversion with floating point types. Helper /// function of UsualArithmeticConversions() static QualType handleFloatConversion(Sema &S, ExprResult &LHS, ExprResult &RHS, QualType LHSType, @@ -1067,7 +1067,7 @@ static QualType handleFloatConversion(Sema &S, ExprResult &LHS, /*convertFloat=*/!IsCompAssign); } -/// \brief Diagnose attempts to convert between __float128 and long double if +/// Diagnose attempts to convert between __float128 and long double if /// there is no support for such conversion. Helper function of /// UsualArithmeticConversions(). static bool unsupportedTypeConversion(const Sema &S, QualType LHSType, @@ -1123,7 +1123,7 @@ ExprResult doComplexIntegralCast(Sema &S, Expr *op, QualType toType) { } } -/// \brief Handle integer arithmetic conversions. Helper function of +/// Handle integer arithmetic conversions. Helper function of /// UsualArithmeticConversions() template <PerformCastFn doLHSCast, PerformCastFn doRHSCast> static QualType handleIntegerConversion(Sema &S, ExprResult &LHS, @@ -1174,7 +1174,7 @@ static QualType handleIntegerConversion(Sema &S, ExprResult &LHS, } } -/// \brief Handle conversions with GCC complex int extension. Helper function +/// Handle conversions with GCC complex int extension. Helper function /// of UsualArithmeticConversions() static QualType handleComplexIntConversion(Sema &S, ExprResult &LHS, ExprResult &RHS, QualType LHSType, @@ -2484,7 +2484,7 @@ Sema::LookupInObjCMethod(LookupResult &Lookup, Scope *S, return ExprResult((Expr *)nullptr); } -/// \brief Cast a base object to a member's actual type. +/// Cast a base object to a member's actual type. /// /// Logically this happens in three phases: /// @@ -2766,7 +2766,7 @@ static void diagnoseUncapturableValueReference(Sema &S, SourceLocation loc, ValueDecl *var, DeclContext *DC); -/// \brief Complete semantic analysis for a reference to the given declaration. +/// Complete semantic analysis for a reference to the given declaration. ExprResult Sema::BuildDeclarationNameExpr( const CXXScopeSpec &SS, const DeclarationNameInfo &NameInfo, NamedDecl *D, NamedDecl *FoundD, const TemplateArgumentListInfo *TemplateArgs, @@ -3567,7 +3567,7 @@ static bool CheckObjCTraitOperandConstraints(Sema &S, QualType T, return false; } -/// \brief Check whether E is a pointer from a decayed array type (the decayed +/// Check whether E is a pointer from a decayed array type (the decayed /// pointer type is equal to T) and emit a warning if it is. static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T, Expr *E) { @@ -3585,7 +3585,7 @@ static void warnOnSizeofOnArrayDecay(Sema &S, SourceLocation Loc, QualType T, << ICE->getSubExpr()->getType(); } -/// \brief Check the constraints on expression operands to unary type expression +/// Check the constraints on expression operands to unary type expression /// and type traits. /// /// Completes any types necessary and validates the constraints on the operand @@ -3669,7 +3669,7 @@ bool Sema::CheckUnaryExprOrTypeTraitOperand(Expr *E, return false; } -/// \brief Check the constraints on operands to unary expression and type +/// Check the constraints on operands to unary expression and type /// traits. /// /// This will complete any types necessary, and validate the various constraints @@ -3923,7 +3923,7 @@ static void captureVariablyModifiedType(ASTContext &Context, QualType T, } while (!T.isNull() && T->isVariablyModifiedType()); } -/// \brief Build a sizeof or alignof expression given a type operand. +/// Build a sizeof or alignof expression given a type operand. ExprResult Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, SourceLocation OpLoc, @@ -3967,7 +3967,7 @@ Sema::CreateUnaryExprOrTypeTraitExpr(TypeSourceInfo *TInfo, ExprKind, TInfo, Context.getSizeType(), OpLoc, R.getEnd()); } -/// \brief Build a sizeof or alignof expression given an expression +/// Build a sizeof or alignof expression given an expression /// operand. ExprResult Sema::CreateUnaryExprOrTypeTraitExpr(Expr *E, SourceLocation OpLoc, @@ -4085,7 +4085,7 @@ Sema::ActOnPostfixUnaryOp(Scope *S, SourceLocation OpLoc, return BuildUnaryOp(S, OpLoc, Opc, Input); } -/// \brief Diagnose if arithmetic on the given ObjC pointer is illegal. +/// Diagnose if arithmetic on the given ObjC pointer is illegal. /// /// \return true on error static bool checkArithmeticOnObjCPointer(Sema &S, @@ -6261,7 +6261,7 @@ ExprResult Sema::ActOnParenListExpr(SourceLocation L, return expr; } -/// \brief Emit a specialized diagnostic when one expression is a null pointer +/// Emit a specialized diagnostic when one expression is a null pointer /// constant and the other is not a pointer. Returns true if a diagnostic is /// emitted. bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr, @@ -6302,7 +6302,7 @@ bool Sema::DiagnoseConditionalForNull(Expr *LHSExpr, Expr *RHSExpr, return true; } -/// \brief Return false if the condition expression is valid, true otherwise. +/// Return false if the condition expression is valid, true otherwise. static bool checkCondition(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { QualType CondTy = Cond->getType(); @@ -6321,7 +6321,7 @@ static bool checkCondition(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { return true; } -/// \brief Handle when one or both operands are void type. +/// Handle when one or both operands are void type. static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS, ExprResult &RHS) { Expr *LHSExpr = LHS.get(); @@ -6338,7 +6338,7 @@ static QualType checkConditionalVoidType(Sema &S, ExprResult &LHS, return S.Context.VoidTy; } -/// \brief Return false if the NullExpr can be promoted to PointerTy, +/// Return false if the NullExpr can be promoted to PointerTy, /// true otherwise. static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr, QualType PointerTy) { @@ -6351,7 +6351,7 @@ static bool checkConditionalNullPointer(Sema &S, ExprResult &NullExpr, return false; } -/// \brief Checks compatibility between two pointers and return the resulting +/// Checks compatibility between two pointers and return the resulting /// type. static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS, ExprResult &RHS, @@ -6485,7 +6485,7 @@ static QualType checkConditionalPointerCompatibility(Sema &S, ExprResult &LHS, return ResultTy; } -/// \brief Return the resulting type when the operands are both block pointers. +/// Return the resulting type when the operands are both block pointers. static QualType checkConditionalBlockPointerCompatibility(Sema &S, ExprResult &LHS, ExprResult &RHS, @@ -6510,7 +6510,7 @@ static QualType checkConditionalBlockPointerCompatibility(Sema &S, return checkConditionalPointerCompatibility(S, LHS, RHS, Loc); } -/// \brief Return the resulting type when the operands are both pointers. +/// Return the resulting type when the operands are both pointers. static QualType checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS, ExprResult &RHS, @@ -6549,7 +6549,7 @@ checkConditionalObjectPointersCompatibility(Sema &S, ExprResult &LHS, return checkConditionalPointerCompatibility(S, LHS, RHS, Loc); } -/// \brief Return false if the first expression is not an integer and the second +/// Return false if the first expression is not an integer and the second /// expression is not a pointer, true otherwise. static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int, Expr* PointerExpr, SourceLocation Loc, @@ -6569,7 +6569,7 @@ static bool checkPointerIntegerMismatch(Sema &S, ExprResult &Int, return true; } -/// \brief Simple conversion between integer and floating point types. +/// Simple conversion between integer and floating point types. /// /// Used when handling the OpenCL conditional operator where the /// condition is a vector while the other operands are scalar. @@ -6624,7 +6624,7 @@ static QualType OpenCLArithmeticConversions(Sema &S, ExprResult &LHS, (S, LHS, RHS, LHSType, RHSType, /*IsCompAssign = */ false); } -/// \brief Convert scalar operands to a vector that matches the +/// Convert scalar operands to a vector that matches the /// condition in length. /// /// Used when handling the OpenCL conditional operator where the @@ -6669,7 +6669,7 @@ OpenCLConvertScalarsToVectors(Sema &S, ExprResult &LHS, ExprResult &RHS, return VectorTy; } -/// \brief Return false if this is a valid OpenCL condition vector +/// Return false if this is a valid OpenCL condition vector static bool checkOpenCLConditionVector(Sema &S, Expr *Cond, SourceLocation QuestionLoc) { // OpenCL v1.1 s6.11.6 says the elements of the vector must be of @@ -6684,7 +6684,7 @@ static bool checkOpenCLConditionVector(Sema &S, Expr *Cond, return true; } -/// \brief Return false if the vector condition type and the vector +/// Return false if the vector condition type and the vector /// result type are compatible. /// /// OpenCL v1.1 s6.11.6 requires that both vector types have the same @@ -6714,7 +6714,7 @@ static bool checkVectorResult(Sema &S, QualType CondTy, QualType VecResTy, return false; } -/// \brief Return the resulting type for the conditional operator in +/// Return the resulting type for the conditional operator in /// OpenCL (aka "ternary selection operator", OpenCL v1.1 /// s6.3.i) when the condition is a vector type. static QualType @@ -6749,7 +6749,7 @@ OpenCLCheckVectorConditional(Sema &S, ExprResult &Cond, return OpenCLConvertScalarsToVectors(S, LHS, RHS, CondTy, QuestionLoc); } -/// \brief Return true if the Expr is block type +/// Return true if the Expr is block type static bool checkBlockType(Sema &S, const Expr *E) { if (const CallExpr *CE = dyn_cast<CallExpr>(E)) { QualType Ty = CE->getCallee()->getType(); @@ -7870,7 +7870,7 @@ Sema::CheckAssignmentConstraints(QualType LHSType, ExprResult &RHS, return Incompatible; } -/// \brief Constructs a transparent union from an expression that is +/// Constructs a transparent union from an expression that is /// used to initialize the transparent union. static void ConstructTransparentUnion(Sema &S, ASTContext &C, ExprResult &EResult, QualType UnionType, @@ -8616,7 +8616,7 @@ QualType Sema::CheckRemainderOperands( return compType; } -/// \brief Diagnose invalid arithmetic on two void pointers. +/// Diagnose invalid arithmetic on two void pointers. static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc, Expr *LHSExpr, Expr *RHSExpr) { S.Diag(Loc, S.getLangOpts().CPlusPlus @@ -8626,7 +8626,7 @@ static void diagnoseArithmeticOnTwoVoidPointers(Sema &S, SourceLocation Loc, << RHSExpr->getSourceRange(); } -/// \brief Diagnose invalid arithmetic on a void pointer. +/// Diagnose invalid arithmetic on a void pointer. static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc, Expr *Pointer) { S.Diag(Loc, S.getLangOpts().CPlusPlus @@ -8635,7 +8635,7 @@ static void diagnoseArithmeticOnVoidPointer(Sema &S, SourceLocation Loc, << 0 /* one pointer */ << Pointer->getSourceRange(); } -/// \brief Diagnose invalid arithmetic on a null pointer. +/// Diagnose invalid arithmetic on a null pointer. /// /// If \p IsGNUIdiom is true, the operation is using the 'p = (i8*)nullptr + n' /// idiom, which we recognize as a GNU extension. @@ -8650,7 +8650,7 @@ static void diagnoseArithmeticOnNullPointer(Sema &S, SourceLocation Loc, << S.getLangOpts().CPlusPlus << Pointer->getSourceRange(); } -/// \brief Diagnose invalid arithmetic on two function pointers. +/// Diagnose invalid arithmetic on two function pointers. static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc, Expr *LHS, Expr *RHS) { assert(LHS->getType()->isAnyPointerType()); @@ -8666,7 +8666,7 @@ static void diagnoseArithmeticOnTwoFunctionPointers(Sema &S, SourceLocation Loc, << LHS->getSourceRange() << RHS->getSourceRange(); } -/// \brief Diagnose invalid arithmetic on a function pointer. +/// Diagnose invalid arithmetic on a function pointer. static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc, Expr *Pointer) { assert(Pointer->getType()->isAnyPointerType()); @@ -8678,7 +8678,7 @@ static void diagnoseArithmeticOnFunctionPointer(Sema &S, SourceLocation Loc, << Pointer->getSourceRange(); } -/// \brief Emit error if Operand is incomplete pointer type +/// Emit error if Operand is incomplete pointer type /// /// \returns True if pointer has incomplete type static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc, @@ -8694,7 +8694,7 @@ static bool checkArithmeticIncompletePointerType(Sema &S, SourceLocation Loc, PointeeTy, Operand->getSourceRange()); } -/// \brief Check the validity of an arithmetic pointer operand. +/// Check the validity of an arithmetic pointer operand. /// /// If the operand has pointer type, this code will check for pointer types /// which are invalid in arithmetic operations. These will be diagnosed @@ -8725,7 +8725,7 @@ static bool checkArithmeticOpPointerOperand(Sema &S, SourceLocation Loc, return true; } -/// \brief Check the validity of a binary arithmetic operation w.r.t. pointer +/// Check the validity of a binary arithmetic operation w.r.t. pointer /// operands. /// /// This routine will diagnose any invalid arithmetic on pointer operands much @@ -8827,7 +8827,7 @@ static void diagnoseStringPlusInt(Sema &Self, SourceLocation OpLoc, Self.Diag(OpLoc, diag::note_string_plus_scalar_silence); } -/// \brief Emit a warning when adding a char literal to a string. +/// Emit a warning when adding a char literal to a string. static void diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) { const Expr *StringRefExpr = LHSExpr; @@ -8878,7 +8878,7 @@ static void diagnoseStringPlusChar(Sema &Self, SourceLocation OpLoc, } } -/// \brief Emit error when two pointers are incompatible. +/// Emit error when two pointers are incompatible. static void diagnosePointerIncompatibility(Sema &S, SourceLocation Loc, Expr *LHSExpr, Expr *RHSExpr) { assert(LHSExpr->getType()->isAnyPointerType()); @@ -9176,7 +9176,7 @@ static void DiagnoseBadShiftValues(Sema& S, ExprResult &LHS, ExprResult &RHS, << RHS.get()->getSourceRange(); } -/// \brief Return the resulting type when a vector is shifted +/// Return the resulting type when a vector is shifted /// by a scalar or vector shift amount. static QualType checkVectorShift(Sema &S, ExprResult &LHS, ExprResult &RHS, SourceLocation Loc, bool IsCompAssign) { @@ -9351,7 +9351,7 @@ static void checkEnumComparison(Sema &S, SourceLocation Loc, Expr *LHS, << LHS->getSourceRange() << RHS->getSourceRange(); } -/// \brief Diagnose bad pointer comparisons. +/// Diagnose bad pointer comparisons. static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc, ExprResult &LHS, ExprResult &RHS, bool IsError) { @@ -9361,7 +9361,7 @@ static void diagnoseDistinctPointerComparison(Sema &S, SourceLocation Loc, << LHS.get()->getSourceRange() << RHS.get()->getSourceRange(); } -/// \brief Returns false if the pointers are converted to a composite type, +/// Returns false if the pointers are converted to a composite type, /// true otherwise. static bool convertPointersToCompositeType(Sema &S, SourceLocation Loc, ExprResult &LHS, ExprResult &RHS) { @@ -11354,7 +11354,7 @@ namespace { AO_No_Error = 4 }; } -/// \brief Diagnose invalid operand for address of operations. +/// Diagnose invalid operand for address of operations. /// /// \param Type The type of operand which cannot have its address taken. static void diagnoseAddressOfInvalidType(Sema &S, SourceLocation Loc, @@ -12166,7 +12166,7 @@ static void DiagnoseBitwisePrecedence(Sema &Self, BinaryOperatorKind Opc, ParensRange); } -/// \brief It accepts a '&&' expr that is inside a '||' one. +/// It accepts a '&&' expr that is inside a '||' one. /// Emit a diagnostic together with a fixit hint that wraps the '&&' expression /// in parentheses. static void @@ -12181,7 +12181,7 @@ EmitDiagnosticForLogicalAndInLogicalOr(Sema &Self, SourceLocation OpLoc, Bop->getSourceRange()); } -/// \brief Returns true if the given expression can be evaluated as a constant +/// Returns true if the given expression can be evaluated as a constant /// 'true'. static bool EvaluatesAsTrue(Sema &S, Expr *E) { bool Res; @@ -12189,7 +12189,7 @@ static bool EvaluatesAsTrue(Sema &S, Expr *E) { E->EvaluateAsBooleanCondition(Res, S.getASTContext()) && Res; } -/// \brief Returns true if the given expression can be evaluated as a constant +/// Returns true if the given expression can be evaluated as a constant /// 'false'. static bool EvaluatesAsFalse(Sema &S, Expr *E) { bool Res; @@ -12197,7 +12197,7 @@ static bool EvaluatesAsFalse(Sema &S, Expr *E) { E->EvaluateAsBooleanCondition(Res, S.getASTContext()) && !Res; } -/// \brief Look for '&&' in the left hand of a '||' expr. +/// Look for '&&' in the left hand of a '||' expr. static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) { if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(LHSExpr)) { @@ -12219,7 +12219,7 @@ static void DiagnoseLogicalAndInLogicalOrLHS(Sema &S, SourceLocation OpLoc, } } -/// \brief Look for '&&' in the right hand of a '||' expr. +/// Look for '&&' in the right hand of a '||' expr. static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, Expr *LHSExpr, Expr *RHSExpr) { if (BinaryOperator *Bop = dyn_cast<BinaryOperator>(RHSExpr)) { @@ -12234,7 +12234,7 @@ static void DiagnoseLogicalAndInLogicalOrRHS(Sema &S, SourceLocation OpLoc, } } -/// \brief Look for bitwise op in the left or right hand of a bitwise op with +/// Look for bitwise op in the left or right hand of a bitwise op with /// lower precedence and emit a diagnostic together with a fixit hint that wraps /// the '&' expression in parentheses. static void DiagnoseBitwiseOpInBitwiseOp(Sema &S, BinaryOperatorKind Opc, @@ -12702,7 +12702,7 @@ ExprResult Sema::CreateBuiltinUnaryOp(SourceLocation OpLoc, return UO; } -/// \brief Determine whether the given expression is a qualified member +/// Determine whether the given expression is a qualified member /// access expression, of a form that could be turned into a pointer to member /// with the address-of operator. static bool isQualifiedMemberAccess(Expr *E) { @@ -14195,7 +14195,7 @@ static bool isImplicitlyDefinableConstexprFunction(FunctionDecl *Func) { (Func->isImplicitlyInstantiable() || (MD && !MD->isUserProvided())); } -/// \brief Mark a function referenced, and check whether it is odr-used +/// Mark a function referenced, and check whether it is odr-used /// (C++ [basic.def.odr]p2, C99 6.9p3) void Sema::MarkFunctionReferenced(SourceLocation Loc, FunctionDecl *Func, bool MightBeOdrUse) { @@ -14672,7 +14672,7 @@ static bool captureInBlock(BlockScopeInfo *BSI, VarDecl *Var, } -/// \brief Capture the given variable in the captured region. +/// Capture the given variable in the captured region. static bool captureInCapturedRegion(CapturedRegionScopeInfo *RSI, VarDecl *Var, SourceLocation Loc, @@ -14732,7 +14732,7 @@ static bool captureInCapturedRegion(CapturedRegionScopeInfo *RSI, return true; } -/// \brief Create a field within the lambda class for the variable +/// Create a field within the lambda class for the variable /// being captured. static void addAsFieldToClosureType(Sema &S, LambdaScopeInfo *LSI, QualType FieldType, QualType DeclRefType, @@ -14750,7 +14750,7 @@ static void addAsFieldToClosureType(Sema &S, LambdaScopeInfo *LSI, Lambda->addDecl(Field); } -/// \brief Capture the given variable in the lambda. +/// Capture the given variable in the lambda. static bool captureInLambda(LambdaScopeInfo *LSI, VarDecl *Var, SourceLocation Loc, @@ -15284,7 +15284,7 @@ static void DoMarkVarDeclReferenced(Sema &SemaRef, SourceLocation Loc, } } -/// \brief Mark a variable referenced, and check whether it is odr-used +/// Mark a variable referenced, and check whether it is odr-used /// (C++ [basic.def.odr]p2, C99 6.9p3). Note that this should not be /// used directly for normal expressions referring to VarDecl. void Sema::MarkVariableReferenced(SourceLocation Loc, VarDecl *Var) { @@ -15325,7 +15325,7 @@ static void MarkExprReferenced(Sema &SemaRef, SourceLocation Loc, SemaRef.MarkAnyDeclReferenced(Loc, DM, MightBeOdrUse); } -/// \brief Perform reference-marking and odr-use handling for a DeclRefExpr. +/// Perform reference-marking and odr-use handling for a DeclRefExpr. void Sema::MarkDeclRefReferenced(DeclRefExpr *E, const Expr *Base) { // TODO: update this with DR# once a defect report is filed. // C++11 defect. The address of a pure member should not be an ODR use, even @@ -15338,7 +15338,7 @@ void Sema::MarkDeclRefReferenced(DeclRefExpr *E, const Expr *Base) { MarkExprReferenced(*this, E->getLocation(), E->getDecl(), E, OdrUse); } -/// \brief Perform reference-marking and odr-use handling for a MemberExpr. +/// Perform reference-marking and odr-use handling for a MemberExpr. void Sema::MarkMemberReferenced(MemberExpr *E) { // C++11 [basic.def.odr]p2: // A non-overloaded function whose name appears as a potentially-evaluated @@ -15357,7 +15357,7 @@ void Sema::MarkMemberReferenced(MemberExpr *E) { MarkExprReferenced(*this, Loc, E->getMemberDecl(), E, MightBeOdrUse); } -/// \brief Perform marking for a reference to an arbitrary declaration. It +/// Perform marking for a reference to an arbitrary declaration. It /// marks the declaration referenced, and performs odr-use checking for /// functions and variables. This method should not be used when building a /// normal expression which refers to a variable. @@ -15420,7 +15420,7 @@ void Sema::MarkDeclarationsReferencedInType(SourceLocation Loc, QualType T) { } namespace { - /// \brief Helper class that marks all of the declarations referenced by + /// Helper class that marks all of the declarations referenced by /// potentially-evaluated subexpressions as "referenced". class EvaluatedExprMarker : public EvaluatedExprVisitor<EvaluatedExprMarker> { Sema &S; @@ -15493,7 +15493,7 @@ namespace { }; } -/// \brief Mark any declarations that appear within this expression or any +/// Mark any declarations that appear within this expression or any /// potentially-evaluated subexpressions as "referenced". /// /// \param SkipLocalVariables If true, don't mark local variables as @@ -15503,7 +15503,7 @@ void Sema::MarkDeclarationsReferencedInExpr(Expr *E, EvaluatedExprMarker(*this, SkipLocalVariables).Visit(E); } -/// \brief Emit a diagnostic that describes an effect on the run-time behavior +/// Emit a diagnostic that describes an effect on the run-time behavior /// of the program being compiled. /// /// This routine emits the given diagnostic when the code currently being @@ -15660,7 +15660,7 @@ void Sema::DiagnoseAssignmentAsCondition(Expr *E) { << FixItHint::CreateReplacement(Loc, "=="); } -/// \brief Redundant parentheses over an equality comparison can indicate +/// Redundant parentheses over an equality comparison can indicate /// that the user intended an assignment used as condition. void Sema::DiagnoseEqualityWithExtraParens(ParenExpr *ParenE) { // Don't warn if the parens came from a macro. diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index 1d56fc856e..28bda7c78d 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Implements semantic analysis for C++ expressions. +/// Implements semantic analysis for C++ expressions. /// //===----------------------------------------------------------------------===// @@ -42,7 +42,7 @@ using namespace clang; using namespace sema; -/// \brief Handle the result of the special case name lookup for inheriting +/// Handle the result of the special case name lookup for inheriting /// constructor declarations. 'NS::X::X' and 'NS::X<...>::X' are treated as /// constructor names in member using declarations, even if 'X' is not the /// name of the corresponding type. @@ -383,7 +383,7 @@ bool Sema::checkLiteralOperatorId(const CXXScopeSpec &SS, llvm_unreachable("unknown nested name specifier kind"); } -/// \brief Build a C++ typeid expression with a type operand. +/// Build a C++ typeid expression with a type operand. ExprResult Sema::BuildCXXTypeId(QualType TypeInfoType, SourceLocation TypeidLoc, TypeSourceInfo *Operand, @@ -408,7 +408,7 @@ ExprResult Sema::BuildCXXTypeId(QualType TypeInfoType, SourceRange(TypeidLoc, RParenLoc)); } -/// \brief Build a C++ typeid expression with an expression operand. +/// Build a C++ typeid expression with an expression operand. ExprResult Sema::BuildCXXTypeId(QualType TypeInfoType, SourceLocation TypeidLoc, Expr *E, @@ -560,7 +560,7 @@ getUuidAttrOfType(Sema &SemaRef, QualType QT, } } -/// \brief Build a Microsoft __uuidof expression with a type operand. +/// Build a Microsoft __uuidof expression with a type operand. ExprResult Sema::BuildCXXUuidof(QualType TypeInfoType, SourceLocation TypeidLoc, TypeSourceInfo *Operand, @@ -580,7 +580,7 @@ ExprResult Sema::BuildCXXUuidof(QualType TypeInfoType, SourceRange(TypeidLoc, RParenLoc)); } -/// \brief Build a Microsoft __uuidof expression with an expression operand. +/// Build a Microsoft __uuidof expression with an expression operand. ExprResult Sema::BuildCXXUuidof(QualType TypeInfoType, SourceLocation TypeidLoc, Expr *E, @@ -1392,7 +1392,7 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo, return Result; } -/// \brief Determine whether the given function is a non-placement +/// Determine whether the given function is a non-placement /// deallocation function. static bool isNonPlacementDeallocationFunction(Sema &S, FunctionDecl *FD) { if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(FD)) @@ -1560,7 +1560,7 @@ static bool doesUsualArrayDeleteWantSize(Sema &S, SourceLocation loc, return Best && Best.HasSizeT; } -/// \brief Parsed a C++ 'new' expression (C++ 5.3.4). +/// Parsed a C++ 'new' expression (C++ 5.3.4). /// /// E.g.: /// @code new (memory) int[size][4] @endcode @@ -2119,7 +2119,7 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, Range, DirectInitRange); } -/// \brief Checks that a type is suitable as the allocated type +/// Checks that a type is suitable as the allocated type /// in a new-expression. bool Sema::CheckAllocatedType(QualType AllocType, SourceLocation Loc, SourceRange R) { @@ -2877,7 +2877,7 @@ bool Sema::FindDeallocationFunction(SourceLocation StartLoc, CXXRecordDecl *RD, } namespace { -/// \brief Checks whether delete-expression, and new-expression used for +/// Checks whether delete-expression, and new-expression used for /// initializing deletee have the same array form. class MismatchingNewDeleteDetector { public: @@ -2900,7 +2900,7 @@ public: : Field(nullptr), IsArrayForm(false), EndOfTU(EndOfTU), HasUndefinedConstructors(false) {} - /// \brief Checks whether pointee of a delete-expression is initialized with + /// Checks whether pointee of a delete-expression is initialized with /// matching form of new-expression. /// /// If return value is \c VarInitMismatches or \c MemberInitMismatches at the @@ -2911,7 +2911,7 @@ public: /// couldn't be analyzed. If at least one constructor initializes the member /// with matching type of new, the return value is \c NoMismatch. MismatchResult analyzeDeleteExpr(const CXXDeleteExpr *DE); - /// \brief Analyzes a class member. + /// Analyzes a class member. /// \param Field Class member to analyze. /// \param DeleteWasArrayForm Array form-ness of the delete-expression used /// for deleting the \p Field. @@ -2924,13 +2924,13 @@ public: private: const bool EndOfTU; - /// \brief Indicates that there is at least one constructor without body. + /// Indicates that there is at least one constructor without body. bool HasUndefinedConstructors; - /// \brief Returns \c CXXNewExpr from given initialization expression. + /// Returns \c CXXNewExpr from given initialization expression. /// \param E Expression used for initializing pointee in delete-expression. /// E can be a single-element \c InitListExpr consisting of new-expression. const CXXNewExpr *getNewExprFromInitListOrExpr(const Expr *E); - /// \brief Returns whether member is initialized with mismatching form of + /// Returns whether member is initialized with mismatching form of /// \c new either by the member initializer or in-class initialization. /// /// If bodies of all constructors are not visible at the end of translation @@ -2938,7 +2938,7 @@ private: /// form of \c new, mismatch cannot be proven, and this function will return /// \c NoMismatch. MismatchResult analyzeMemberExpr(const MemberExpr *ME); - /// \brief Returns whether variable is initialized with mismatching form of + /// Returns whether variable is initialized with mismatching form of /// \c new. /// /// If variable is initialized with matching form of \c new or variable is not @@ -2946,7 +2946,7 @@ private: /// If variable is initialized with mismatching form of \c new, returns false. /// \param D Variable to analyze. bool hasMatchingVarInit(const DeclRefExpr *D); - /// \brief Checks whether the constructor initializes pointee with mismatching + /// Checks whether the constructor initializes pointee with mismatching /// form of \c new. /// /// Returns true, if member is initialized with matching form of \c new in @@ -2955,7 +2955,7 @@ private: /// constructor isn't defined at the point where delete-expression is seen, or /// member isn't initialized by the constructor. bool hasMatchingNewInCtor(const CXXConstructorDecl *CD); - /// \brief Checks whether member is initialized with matching form of + /// Checks whether member is initialized with matching form of /// \c new in member initializer list. bool hasMatchingNewInCtorInit(const CXXCtorInitializer *CI); /// Checks whether member is initialized with mismatching form of \c new by @@ -3532,7 +3532,7 @@ Sema::ConditionResult Sema::ActOnConditionVariable(Decl *ConditionVar, CK == ConditionKind::ConstexprIf); } -/// \brief Check the use of the given variable as a C++ condition in an if, +/// Check the use of the given variable as a C++ condition in an if, /// while, do-while, or switch statement. ExprResult Sema::CheckConditionVariable(VarDecl *ConditionVar, SourceLocation StmtLoc, @@ -4231,7 +4231,7 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, return From; } -/// \brief Check the completeness of a type in a unary type trait. +/// Check the completeness of a type in a unary type trait. /// /// If the particular type trait requires a complete type, tries to complete /// it. If completing the type fails, a diagnostic is emitted and false @@ -5433,7 +5433,7 @@ QualType Sema::CheckPointerToMemberOperands(ExprResult &LHS, ExprResult &RHS, return Result; } -/// \brief Try to convert a type to another according to C++11 5.16p3. +/// Try to convert a type to another according to C++11 5.16p3. /// /// This is part of the parameter validation for the ? operator. If either /// value operand is a class type, the two operands are attempted to be @@ -5527,7 +5527,7 @@ static bool TryClassUnification(Sema &Self, Expr *From, Expr *To, return false; } -/// \brief Try to find a common type for two according to C++0x 5.16p5. +/// Try to find a common type for two according to C++0x 5.16p5. /// /// This is part of the parameter validation for the ? operator. If either /// value operand is a class type, overload resolution is used to find a @@ -5589,7 +5589,7 @@ static bool FindConditionalOverload(Sema &Self, ExprResult &LHS, ExprResult &RHS return true; } -/// \brief Perform an "extended" implicit conversion as returned by +/// Perform an "extended" implicit conversion as returned by /// TryClassUnification. static bool ConvertForConditional(Sema &Self, ExprResult &E, QualType T) { InitializedEntity Entity = InitializedEntity::InitializeTemporary(T); @@ -5605,7 +5605,7 @@ static bool ConvertForConditional(Sema &Self, ExprResult &E, QualType T) { return false; } -/// \brief Check the operands of ?: under C++ semantics. +/// Check the operands of ?: under C++ semantics. /// /// See C++ [expr.cond]. Note that LHS is never null, even for the GNU x ?: y /// extension. In this case, LHS == Cond. (But they're not aliases.) @@ -5967,7 +5967,7 @@ mergeExceptionSpecs(Sema &S, FunctionProtoType::ExceptionSpecInfo ESI1, llvm_unreachable("invalid ExceptionSpecificationType"); } -/// \brief Find a merged pointer type and convert the two expressions to it. +/// Find a merged pointer type and convert the two expressions to it. /// /// This finds the composite pointer type (or member pointer type) for @p E1 /// and @p E2 according to C++1z 5p14. It converts both expressions to this @@ -6734,7 +6734,7 @@ static bool CheckArrow(Sema& S, QualType& ObjectType, Expr *&Base, return false; } -/// \brief Check if it's ok to try and recover dot pseudo destructor calls on +/// Check if it's ok to try and recover dot pseudo destructor calls on /// pointer objects. static bool canRecoverDotPseudoDestructorCallsOnPointerObjects(Sema &SemaRef, @@ -7285,7 +7285,7 @@ static inline bool VariableCanNeverBeAConstantExpression(VarDecl *Var, return !IsVariableAConstantExpression(Var, Context); } -/// \brief Check if the current lambda has any potential captures +/// Check if the current lambda has any potential captures /// that must be captured by any of its enclosing lambdas that are ready to /// capture. If there is a lambda that can capture a nested /// potential-capture, go ahead and do so. Also, check to see if any @@ -7465,7 +7465,7 @@ class TransformTypos : public TreeTransform<TransformTypos> { llvm::SmallDenseMap<TypoExpr *, ExprResult, 2> TransformCache; llvm::SmallDenseMap<OverloadExpr *, Expr *, 4> OverloadResolution; - /// \brief Emit diagnostics for all of the TypoExprs encountered. + /// Emit diagnostics for all of the TypoExprs encountered. /// If the TypoExprs were successfully corrected, then the diagnostics should /// suggest the corrections. Otherwise the diagnostics will not suggest /// anything (having been passed an empty TypoCorrection). @@ -7491,7 +7491,7 @@ class TransformTypos : public TreeTransform<TransformTypos> { } } - /// \brief If corrections for the first TypoExpr have been exhausted for a + /// If corrections for the first TypoExpr have been exhausted for a /// given combination of the other TypoExprs, retry those corrections against /// the next combination of substitutions for the other TypoExprs by advancing /// to the next potential correction of the second TypoExpr. For the second diff --git a/lib/Sema/SemaExprMember.cpp b/lib/Sema/SemaExprMember.cpp index e03f143bcb..2e099ad6c6 100644 --- a/lib/Sema/SemaExprMember.cpp +++ b/lib/Sema/SemaExprMember.cpp @@ -888,7 +888,7 @@ BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow, NameInfo.getLoc()); } -/// \brief Build a MemberExpr AST node. +/// Build a MemberExpr AST node. static MemberExpr *BuildMemberExpr( Sema &SemaRef, ASTContext &C, Expr *Base, bool isArrow, SourceLocation OpLoc, const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, @@ -903,7 +903,7 @@ static MemberExpr *BuildMemberExpr( return E; } -/// \brief Determine if the given scope is within a function-try-block handler. +/// Determine if the given scope is within a function-try-block handler. static bool IsInFnTryBlockHandler(const Scope *S) { // Walk the scope stack until finding a FnTryCatchScope, or leave the // function scope. If a FnTryCatchScope is found, check whether the TryScope diff --git a/lib/Sema/SemaExprObjC.cpp b/lib/Sema/SemaExprObjC.cpp index c008676534..ce73e222b6 100644 --- a/lib/Sema/SemaExprObjC.cpp +++ b/lib/Sema/SemaExprObjC.cpp @@ -141,7 +141,7 @@ ExprResult Sema::BuildObjCStringLiteral(SourceLocation AtLoc, StringLiteral *S){ return new (Context) ObjCStringLiteral(S, Ty, AtLoc); } -/// \brief Emits an error if the given method does not exist, or if the return +/// Emits an error if the given method does not exist, or if the return /// type is not an Objective-C object. static bool validateBoxingMethod(Sema &S, SourceLocation Loc, const ObjCInterfaceDecl *Class, @@ -165,7 +165,7 @@ static bool validateBoxingMethod(Sema &S, SourceLocation Loc, return true; } -/// \brief Maps ObjCLiteralKind to NSClassIdKindKind +/// Maps ObjCLiteralKind to NSClassIdKindKind static NSAPI::NSClassIdKindKind ClassKindFromLiteralKind( Sema::ObjCLiteralKind LiteralKind) { switch (LiteralKind) { @@ -189,7 +189,7 @@ static NSAPI::NSClassIdKindKind ClassKindFromLiteralKind( llvm_unreachable("LiteralKind can't be converted into a ClassKind"); } -/// \brief Validates ObjCInterfaceDecl availability. +/// Validates ObjCInterfaceDecl availability. /// ObjCInterfaceDecl, used to create ObjC literals, should be defined /// if clang not in a debugger mode. static bool ValidateObjCLiteralInterfaceDecl(Sema &S, ObjCInterfaceDecl *Decl, @@ -211,7 +211,7 @@ static bool ValidateObjCLiteralInterfaceDecl(Sema &S, ObjCInterfaceDecl *Decl, return true; } -/// \brief Looks up ObjCInterfaceDecl of a given NSClassIdKindKind. +/// Looks up ObjCInterfaceDecl of a given NSClassIdKindKind. /// Used to create ObjC literals, such as NSDictionary (@{}), /// NSArray (@[]) and Boxed Expressions (@()) static ObjCInterfaceDecl *LookupObjCInterfaceDeclForLiteral(Sema &S, @@ -236,7 +236,7 @@ static ObjCInterfaceDecl *LookupObjCInterfaceDeclForLiteral(Sema &S, return ID; } -/// \brief Retrieve the NSNumber factory method that should be used to create +/// Retrieve the NSNumber factory method that should be used to create /// an Objective-C literal for the given type. static ObjCMethodDecl *getNSNumberFactoryMethod(Sema &S, SourceLocation Loc, QualType NumberType, @@ -379,7 +379,7 @@ ExprResult Sema::ActOnObjCBoolLiteral(SourceLocation AtLoc, return BuildObjCNumericLiteral(AtLoc, Inner.get()); } -/// \brief Check that the given expression is a valid element of an Objective-C +/// Check that the given expression is a valid element of an Objective-C /// collection literal. static ExprResult CheckObjCCollectionLiteralElement(Sema &S, Expr *Element, QualType T, @@ -2324,7 +2324,7 @@ static void checkFoundationAPI(Sema &S, SourceLocation Loc, } } -/// \brief Diagnose use of %s directive in an NSString which is being passed +/// Diagnose use of %s directive in an NSString which is being passed /// as formatting string to formatting method. static void DiagnoseCStringFormatDirectiveInObjCAPI(Sema &S, @@ -2363,7 +2363,7 @@ DiagnoseCStringFormatDirectiveInObjCAPI(Sema &S, } } -/// \brief Build an Objective-C class message expression. +/// Build an Objective-C class message expression. /// /// This routine takes care of both normal class messages and /// class messages to the superclass. @@ -2587,7 +2587,7 @@ static bool isMethodDeclaredInRootProtocol(Sema &S, const ObjCMethodDecl *M) { return false; } -/// \brief Build an Objective-C instance message expression. +/// Build an Objective-C instance message expression. /// /// This routine takes care of both normal instance messages and /// instance messages to the superclass instance. diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index be33326cd4..e64a0d66cb 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -32,7 +32,7 @@ using namespace clang; // Sema Initialization Checking //===----------------------------------------------------------------------===// -/// \brief Check whether T is compatible with a wide character type (wchar_t, +/// Check whether T is compatible with a wide character type (wchar_t, /// char16_t or char32_t). static bool IsWideCharCompatible(QualType T, ASTContext &Context) { if (Context.typesAreCompatible(Context.getWideCharType(), T)) @@ -54,7 +54,7 @@ enum StringInitFailureKind { SIF_Other }; -/// \brief Check whether the array of type AT can be initialized by the Init +/// Check whether the array of type AT can be initialized by the Init /// expression by means of string initialization. Returns SIF_None if so, /// otherwise returns a StringInitFailureKind that describes why the /// initialization would not work. @@ -217,7 +217,7 @@ static void CheckStringInit(Expr *Str, QualType &DeclT, const ArrayType *AT, namespace { -/// @brief Semantic checking for initializer lists. +/// Semantic checking for initializer lists. /// /// The InitListChecker class contains a set of routines that each /// handle the initialization of a certain kind of entity, e.g., @@ -377,7 +377,7 @@ public: bool TreatUnavailableAsInvalid); bool HadError() { return hadError; } - // @brief Retrieves the fully-structured initializer list used for + // Retrieves the fully-structured initializer list used for // semantic analysis and code generation. InitListExpr *getFullyStructuredList() const { return FullyStructuredList; } }; @@ -2025,7 +2025,7 @@ void InitListChecker::CheckStructUnionTypes( StructuredList, StructuredIndex); } -/// \brief Expand a field designator that refers to a member of an +/// Expand a field designator that refers to a member of an /// anonymous struct or union into a series of field designators that /// refers to the field within the appropriate subobject. /// @@ -2089,7 +2089,7 @@ class FieldInitializerValidatorCCC : public CorrectionCandidateCallback { } // end anonymous namespace -/// @brief Check the well-formedness of a C99 designated initializer. +/// Check the well-formedness of a C99 designated initializer. /// /// Determines whether the designated initializer @p DIE, which /// resides at the given @p Index within the initializer list @p @@ -3545,7 +3545,7 @@ static void TryListInitialization(Sema &S, InitializationSequence &Sequence, bool TreatUnavailableAsInvalid); -/// \brief When initializing from init list via constructor, handle +/// When initializing from init list via constructor, handle /// initialization of an object of type std::initializer_list<T>. /// /// \return true if we have handled initialization of an object of type @@ -3706,7 +3706,7 @@ ResolveConstructorOverload(Sema &S, SourceLocation DeclLoc, return CandidateSet.BestViableFunction(S, DeclLoc, Best); } -/// \brief Attempt initialization by constructor (C++ [dcl.init]), which +/// Attempt initialization by constructor (C++ [dcl.init]), which /// enumerates the constructors of the initialized entity and performs overload /// resolution to select the best. /// \param DestType The destination class type. @@ -3923,7 +3923,7 @@ static void TryValueInitialization(Sema &S, InitializationSequence &Sequence, InitListExpr *InitList = nullptr); -/// \brief Attempt list initialization of a reference. +/// Attempt list initialization of a reference. static void TryReferenceListInitialization(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -3997,7 +3997,7 @@ static void TryReferenceListInitialization(Sema &S, } } -/// \brief Attempt list initialization (C++0x [dcl.init.list]) +/// Attempt list initialization (C++0x [dcl.init.list]) static void TryListInitialization(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4192,7 +4192,7 @@ static void TryListInitialization(Sema &S, Sequence.AddListInitializationStep(DestType); } -/// \brief Try a reference initialization that involves calling a conversion +/// Try a reference initialization that involves calling a conversion /// function. static OverloadingResult TryRefInitWithConversionFunction( Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4382,7 +4382,7 @@ static void CheckCXX98CompatAccessibleCopy(Sema &S, const InitializedEntity &Entity, Expr *CurInitExpr); -/// \brief Attempt reference initialization (C++0x [dcl.init.ref]) +/// Attempt reference initialization (C++0x [dcl.init.ref]) static void TryReferenceInitialization(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4415,7 +4415,7 @@ static bool isNonReferenceableGLValue(Expr *E) { return E->refersToBitField() || E->refersToVectorElement(); } -/// \brief Reference initialization without resolving overloaded functions. +/// Reference initialization without resolving overloaded functions. static void TryReferenceInitializationCore(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4675,7 +4675,7 @@ static void TryReferenceInitializationCore(Sema &S, Sequence.AddReferenceBindingStep(cv1T1, /*bindingTemporary=*/true); } -/// \brief Attempt character array initialization from a string literal +/// Attempt character array initialization from a string literal /// (C++ [dcl.init.string], C99 6.7.8). static void TryStringLiteralInitialization(Sema &S, const InitializedEntity &Entity, @@ -4685,7 +4685,7 @@ static void TryStringLiteralInitialization(Sema &S, Sequence.AddStringInitStep(Entity.getType()); } -/// \brief Attempt value initialization (C++ [dcl.init]p7). +/// Attempt value initialization (C++ [dcl.init]p7). static void TryValueInitialization(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4763,7 +4763,7 @@ static void TryValueInitialization(Sema &S, Sequence.AddZeroInitializationStep(Entity.getType()); } -/// \brief Attempt default initialization (C++ [dcl.init]p6). +/// Attempt default initialization (C++ [dcl.init]p6). static void TryDefaultInitialization(Sema &S, const InitializedEntity &Entity, const InitializationKind &Kind, @@ -4802,7 +4802,7 @@ static void TryDefaultInitialization(Sema &S, } } -/// \brief Attempt a user-defined conversion between two types (C++ [dcl.init]), +/// Attempt a user-defined conversion between two types (C++ [dcl.init]), /// which enumerates all conversion functions and performs overload resolution /// to select the best. static void TryUserDefinedConversion(Sema &S, @@ -5081,7 +5081,7 @@ static void checkIndirectCopyRestoreSource(Sema &S, Expr *src) { << src->getSourceRange(); } -/// \brief Determine whether we have compatible array types for the +/// Determine whether we have compatible array types for the /// purposes of GNU by-copy array initialization. static bool hasCompatibleArrayTypes(ASTContext &Context, const ArrayType *Dest, const ArrayType *Source) { @@ -5648,7 +5648,7 @@ getAssignmentAction(const InitializedEntity &Entity, bool Diagnose = false) { llvm_unreachable("Invalid EntityKind!"); } -/// \brief Whether we should bind a created object as a temporary when +/// Whether we should bind a created object as a temporary when /// initializing the given entity. static bool shouldBindAsTemporary(const InitializedEntity &Entity) { switch (Entity.getKind()) { @@ -5679,7 +5679,7 @@ static bool shouldBindAsTemporary(const InitializedEntity &Entity) { llvm_unreachable("missed an InitializedEntity kind?"); } -/// \brief Whether the given entity, when initialized with an object +/// Whether the given entity, when initialized with an object /// created for that initialization, requires destruction. static bool shouldDestroyEntity(const InitializedEntity &Entity) { switch (Entity.getKind()) { @@ -5710,7 +5710,7 @@ static bool shouldDestroyEntity(const InitializedEntity &Entity) { llvm_unreachable("missed an InitializedEntity kind?"); } -/// \brief Get the location at which initialization diagnostics should appear. +/// Get the location at which initialization diagnostics should appear. static SourceLocation getInitializationLoc(const InitializedEntity &Entity, Expr *Initializer) { switch (Entity.getKind()) { @@ -5746,7 +5746,7 @@ static SourceLocation getInitializationLoc(const InitializedEntity &Entity, llvm_unreachable("missed an InitializedEntity kind?"); } -/// \brief Make a (potentially elidable) temporary copy of the object +/// Make a (potentially elidable) temporary copy of the object /// provided by the given initializer by calling the appropriate copy /// constructor. /// @@ -5911,7 +5911,7 @@ static ExprResult CopyObject(Sema &S, return CurInit; } -/// \brief Check whether elidable copy construction for binding a reference to +/// Check whether elidable copy construction for binding a reference to /// a temporary would have succeeded if we were building in C++98 mode, for /// -Wc++98-compat. static void CheckCXX98CompatAccessibleCopy(Sema &S, diff --git a/lib/Sema/SemaLambda.cpp b/lib/Sema/SemaLambda.cpp index 1b9702f79a..fec0d575e5 100644 --- a/lib/Sema/SemaLambda.cpp +++ b/lib/Sema/SemaLambda.cpp @@ -24,7 +24,7 @@ using namespace clang; using namespace sema; -/// \brief Examines the FunctionScopeInfo stack to determine the nearest +/// Examines the FunctionScopeInfo stack to determine the nearest /// enclosing lambda (to the current lambda) that is 'capture-ready' for /// the variable referenced in the current lambda (i.e. \p VarToCapture). /// If successful, returns the index into Sema's FunctionScopeInfo stack @@ -135,7 +135,7 @@ getStackIndexOfNearestEnclosingCaptureReadyLambda( return NoLambdaIsCaptureReady; } -/// \brief Examines the FunctionScopeInfo stack to determine the nearest +/// Examines the FunctionScopeInfo stack to determine the nearest /// enclosing lambda (to the current lambda) that is 'capture-capable' for /// the variable referenced in the current lambda (i.e. \p VarToCapture). /// If successful, returns the index into Sema's FunctionScopeInfo stack @@ -263,7 +263,7 @@ CXXRecordDecl *Sema::createLambdaClosureType(SourceRange IntroducerRange, return Class; } -/// \brief Determine whether the given context is or is enclosed in an inline +/// Determine whether the given context is or is enclosed in an inline /// function. static bool isInInlineFunction(const DeclContext *DC) { while (!DC->isFileContext()) { @@ -1189,7 +1189,7 @@ QualType Sema::getLambdaConversionFunctionResultType( CallOpProto->getParamTypes(), InvokerExtInfo); } -/// \brief Add a lambda's conversion to function pointer, as described in +/// Add a lambda's conversion to function pointer, as described in /// C++11 [expr.prim.lambda]p6. static void addFunctionPointerConversion(Sema &S, SourceRange IntroducerRange, @@ -1358,7 +1358,7 @@ static void addFunctionPointerConversion(Sema &S, Class->addDecl(Invoke); } -/// \brief Add a lambda's conversion to block pointer. +/// Add a lambda's conversion to block pointer. static void addBlockPointerConversion(Sema &S, SourceRange IntroducerRange, CXXRecordDecl *Class, diff --git a/lib/Sema/SemaLookup.cpp b/lib/Sema/SemaLookup.cpp index 05bf303c98..1e57d39e95 100644 --- a/lib/Sema/SemaLookup.cpp +++ b/lib/Sema/SemaLookup.cpp @@ -356,7 +356,7 @@ static DeclContext *getContextForScopeMatching(Decl *D) { return D->getDeclContext()->getRedeclContext(); } -/// \brief Determine whether \p D is a better lookup result than \p Existing, +/// Determine whether \p D is a better lookup result than \p Existing, /// given that they declare the same entity. static bool isPreferredLookupResult(Sema &S, Sema::LookupNameKind Kind, NamedDecl *D, NamedDecl *Existing) { @@ -669,7 +669,7 @@ LLVM_DUMP_METHOD void LookupResult::dump() { D->dump(); } -/// \brief Lookup a builtin function, when name lookup would otherwise +/// Lookup a builtin function, when name lookup would otherwise /// fail. static bool LookupBuiltin(Sema &S, LookupResult &R) { Sema::LookupNameKind NameKind = R.getLookupKind(); @@ -713,7 +713,7 @@ static bool LookupBuiltin(Sema &S, LookupResult &R) { return false; } -/// \brief Determine whether we can declare a special member function within +/// Determine whether we can declare a special member function within /// the class at this point. static bool CanDeclareSpecialMemberFunction(const CXXRecordDecl *Class) { // We need to have a definition for the class. @@ -755,7 +755,7 @@ void Sema::ForceDeclarationOfImplicitMembers(CXXRecordDecl *Class) { DeclareImplicitDestructor(Class); } -/// \brief Determine whether this is the name of an implicitly-declared +/// Determine whether this is the name of an implicitly-declared /// special member function. static bool isImplicitlyDeclaredMemberFunctionName(DeclarationName Name) { switch (Name.getNameKind()) { @@ -773,7 +773,7 @@ static bool isImplicitlyDeclaredMemberFunctionName(DeclarationName Name) { return false; } -/// \brief If there are any implicit member functions with the given name +/// If there are any implicit member functions with the given name /// that need to be declared in the given declaration context, do so. static void DeclareImplicitMemberFunctionsWithName(Sema &S, DeclarationName Name, @@ -1354,7 +1354,7 @@ void Sema::makeMergedDefinitionVisible(NamedDecl *ND) { makeMergedDefinitionVisible(Param); } -/// \brief Find the module in which the given declaration was defined. +/// Find the module in which the given declaration was defined. static Module *getDefiningModule(Sema &S, Decl *Entity) { if (FunctionDecl *FD = dyn_cast<FunctionDecl>(Entity)) { // If this function was instantiated from a template, the defining module is @@ -1501,7 +1501,7 @@ bool Sema::hasVisibleMemberSpecialization( return false; } -/// \brief Determine whether a declaration is visible to name lookup. +/// Determine whether a declaration is visible to name lookup. /// /// This routine determines whether the declaration D is visible in the current /// lookup context, taking into account the current template instantiation @@ -1648,7 +1648,7 @@ bool Sema::shouldLinkPossiblyHiddenDecl(LookupResult &R, const NamedDecl *New) { return New->isExternallyDeclarable(); } -/// \brief Retrieve the visible declaration corresponding to D, if any. +/// Retrieve the visible declaration corresponding to D, if any. /// /// This routine determines whether the declaration D is visible in the current /// module, with the current imports. If not, it checks whether any @@ -1706,7 +1706,7 @@ NamedDecl *LookupResult::getAcceptableDeclSlow(NamedDecl *D) const { return findAcceptableDecl(getSema(), D, IDNS); } -/// @brief Perform unqualified name lookup starting from a given +/// Perform unqualified name lookup starting from a given /// scope. /// /// Unqualified name lookup (C++ [basic.lookup.unqual], C99 6.2.1) is @@ -1844,7 +1844,7 @@ bool Sema::LookupName(LookupResult &R, Scope *S, bool AllowBuiltinCreation) { return (ExternalSource && ExternalSource->LookupUnqualified(R, S)); } -/// @brief Perform qualified name lookup in the namespaces nominated by +/// Perform qualified name lookup in the namespaces nominated by /// using directives by the given context. /// /// C++98 [namespace.qual]p2: @@ -1950,7 +1950,7 @@ static bool LookupQualifiedNameInUsingDirectives(Sema &S, LookupResult &R, return Found; } -/// \brief Callback that looks for any member of a class with the given name. +/// Callback that looks for any member of a class with the given name. static bool LookupAnyMember(const CXXBaseSpecifier *Specifier, CXXBasePath &Path, DeclarationName Name) { RecordDecl *BaseRecord = Specifier->getType()->getAs<RecordType>()->getDecl(); @@ -1959,7 +1959,7 @@ static bool LookupAnyMember(const CXXBaseSpecifier *Specifier, return !Path.Decls.empty(); } -/// \brief Determine whether the given set of member declarations contains only +/// Determine whether the given set of member declarations contains only /// static members, nested types, and enumerators. template<typename InputIterator> static bool HasOnlyStaticMembers(InputIterator First, InputIterator Last) { @@ -1991,7 +1991,7 @@ static bool HasOnlyStaticMembers(InputIterator First, InputIterator Last) { return false; } -/// \brief Perform qualified name lookup into a given context. +/// Perform qualified name lookup into a given context. /// /// Qualified name lookup (C++ [basic.lookup.qual]) is used to find /// names when the context of those names is explicit specified, e.g., @@ -2215,7 +2215,7 @@ bool Sema::LookupQualifiedName(LookupResult &R, DeclContext *LookupCtx, return true; } -/// \brief Performs qualified name lookup or special type of lookup for +/// Performs qualified name lookup or special type of lookup for /// "__super::" scope specifier. /// /// This routine is a convenience overload meant to be called from contexts @@ -2240,7 +2240,7 @@ bool Sema::LookupQualifiedName(LookupResult &R, DeclContext *LookupCtx, return LookupQualifiedName(R, LookupCtx); } -/// @brief Performs name lookup for a name that was parsed in the +/// Performs name lookup for a name that was parsed in the /// source code, and may contain a C++ scope specifier. /// /// This routine is a convenience routine meant to be called from @@ -2294,7 +2294,7 @@ bool Sema::LookupParsedName(LookupResult &R, Scope *S, CXXScopeSpec *SS, return LookupName(R, S, AllowBuiltinCreation); } -/// \brief Perform qualified name lookup into all base classes of the given +/// Perform qualified name lookup into all base classes of the given /// class. /// /// \param R captures both the lookup criteria and any lookup results found. @@ -2332,7 +2332,7 @@ bool Sema::LookupInSuper(LookupResult &R, CXXRecordDecl *Class) { return !R.empty(); } -/// \brief Produce a diagnostic describing the ambiguity that resulted +/// Produce a diagnostic describing the ambiguity that resulted /// from name lookup. /// /// \param Result The result of the ambiguous lookup to be diagnosed. @@ -2448,7 +2448,7 @@ static void CollectEnclosingNamespace(Sema::AssociatedNamespaceSet &Namespaces, Namespaces.insert(Ctx->getPrimaryContext()); } -// \brief Add the associated classes and namespaces for argument-dependent +// Add the associated classes and namespaces for argument-dependent // lookup that involves a template argument (C++ [basic.lookup.koenig]p2). static void addAssociatedClassesAndNamespaces(AssociatedLookup &Result, @@ -2498,7 +2498,7 @@ addAssociatedClassesAndNamespaces(AssociatedLookup &Result, } } -// \brief Add the associated classes and namespaces for +// Add the associated classes and namespaces for // argument-dependent lookup with an argument of class type // (C++ [basic.lookup.koenig]p2). static void @@ -2593,7 +2593,7 @@ addAssociatedClassesAndNamespaces(AssociatedLookup &Result, } } -// \brief Add the associated classes and namespaces for +// Add the associated classes and namespaces for // argument-dependent lookup with an argument of type T // (C++ [basic.lookup.koenig]p2). static void @@ -2757,7 +2757,7 @@ addAssociatedClassesAndNamespaces(AssociatedLookup &Result, QualType Ty) { } } -/// \brief Find the associated classes and namespaces for +/// Find the associated classes and namespaces for /// argument-dependent lookup for a call with the given set of /// arguments. /// @@ -2824,7 +2824,7 @@ NamedDecl *Sema::LookupSingleName(Scope *S, DeclarationName Name, return R.getAsSingle<NamedDecl>(); } -/// \brief Find the protocol with the given name, if any. +/// Find the protocol with the given name, if any. ObjCProtocolDecl *Sema::LookupProtocol(IdentifierInfo *II, SourceLocation IdLoc, RedeclarationKind Redecl) { @@ -3051,7 +3051,7 @@ Sema::SpecialMemberOverloadResult Sema::LookupSpecialMember(CXXRecordDecl *RD, return *Result; } -/// \brief Look up the default constructor for the given class. +/// Look up the default constructor for the given class. CXXConstructorDecl *Sema::LookupDefaultConstructor(CXXRecordDecl *Class) { SpecialMemberOverloadResult Result = LookupSpecialMember(Class, CXXDefaultConstructor, false, false, false, @@ -3060,7 +3060,7 @@ CXXConstructorDecl *Sema::LookupDefaultConstructor(CXXRecordDecl *Class) { return cast_or_null<CXXConstructorDecl>(Result.getMethod()); } -/// \brief Look up the copying constructor for the given class. +/// Look up the copying constructor for the given class. CXXConstructorDecl *Sema::LookupCopyingConstructor(CXXRecordDecl *Class, unsigned Quals) { assert(!(Quals & ~(Qualifiers::Const | Qualifiers::Volatile)) && @@ -3072,7 +3072,7 @@ CXXConstructorDecl *Sema::LookupCopyingConstructor(CXXRecordDecl *Class, return cast_or_null<CXXConstructorDecl>(Result.getMethod()); } -/// \brief Look up the moving constructor for the given class. +/// Look up the moving constructor for the given class. CXXConstructorDecl *Sema::LookupMovingConstructor(CXXRecordDecl *Class, unsigned Quals) { SpecialMemberOverloadResult Result = @@ -3082,7 +3082,7 @@ CXXConstructorDecl *Sema::LookupMovingConstructor(CXXRecordDecl *Class, return cast_or_null<CXXConstructorDecl>(Result.getMethod()); } -/// \brief Look up the constructors for the given class. +/// Look up the constructors for the given class. DeclContext::lookup_result Sema::LookupConstructors(CXXRecordDecl *Class) { // If the implicit constructors have not yet been declared, do so now. if (CanDeclareSpecialMemberFunction(Class)) { @@ -3099,7 +3099,7 @@ DeclContext::lookup_result Sema::LookupConstructors(CXXRecordDecl *Class) { return Class->lookup(Name); } -/// \brief Look up the copying assignment operator for the given class. +/// Look up the copying assignment operator for the given class. CXXMethodDecl *Sema::LookupCopyingAssignment(CXXRecordDecl *Class, unsigned Quals, bool RValueThis, unsigned ThisQuals) { @@ -3116,7 +3116,7 @@ CXXMethodDecl *Sema::LookupCopyingAssignment(CXXRecordDecl *Class, return Result.getMethod(); } -/// \brief Look up the moving assignment operator for the given class. +/// Look up the moving assignment operator for the given class. CXXMethodDecl *Sema::LookupMovingAssignment(CXXRecordDecl *Class, unsigned Quals, bool RValueThis, @@ -3132,7 +3132,7 @@ CXXMethodDecl *Sema::LookupMovingAssignment(CXXRecordDecl *Class, return Result.getMethod(); } -/// \brief Look for the destructor of the given class. +/// Look for the destructor of the given class. /// /// During semantic analysis, this routine should be used in lieu of /// CXXRecordDecl::getDestructor(). @@ -3389,26 +3389,26 @@ class ShadowContextRAII; class VisibleDeclsRecord { public: - /// \brief An entry in the shadow map, which is optimized to store a + /// An entry in the shadow map, which is optimized to store a /// single declaration (the common case) but can also store a list /// of declarations. typedef llvm::TinyPtrVector<NamedDecl*> ShadowMapEntry; private: - /// \brief A mapping from declaration names to the declarations that have + /// A mapping from declaration names to the declarations that have /// this name within a particular scope. typedef llvm::DenseMap<DeclarationName, ShadowMapEntry> ShadowMap; - /// \brief A list of shadow maps, which is used to model name hiding. + /// A list of shadow maps, which is used to model name hiding. std::list<ShadowMap> ShadowMaps; - /// \brief The declaration contexts we have already visited. + /// The declaration contexts we have already visited. llvm::SmallPtrSet<DeclContext *, 8> VisitedContexts; friend class ShadowContextRAII; public: - /// \brief Determine whether we have already visited this context + /// Determine whether we have already visited this context /// (and, if not, note that we are going to visit that context now). bool visitedContext(DeclContext *Ctx) { return !VisitedContexts.insert(Ctx).second; @@ -3418,20 +3418,20 @@ public: return VisitedContexts.count(Ctx); } - /// \brief Determine whether the given declaration is hidden in the + /// Determine whether the given declaration is hidden in the /// current scope. /// /// \returns the declaration that hides the given declaration, or /// NULL if no such declaration exists. NamedDecl *checkHidden(NamedDecl *ND); - /// \brief Add a declaration to the current shadow map. + /// Add a declaration to the current shadow map. void add(NamedDecl *ND) { ShadowMaps.back()[ND->getDeclName()].push_back(ND); } }; -/// \brief RAII object that records when we've entered a shadow context. +/// RAII object that records when we've entered a shadow context. class ShadowContextRAII { VisibleDeclsRecord &Visible; @@ -3868,7 +3868,7 @@ static void LookupPotentialTypoResult(Sema &SemaRef, bool isObjCIvarLookup, bool FindHidden); -/// \brief Check whether the declarations found for a typo correction are +/// Check whether the declarations found for a typo correction are /// visible. Set the correction's RequiresImport flag to true if none of the /// declarations are visible, false otherwise. static void checkCorrectionVisibility(Sema &SemaRef, TypoCorrection &TC) { @@ -4354,7 +4354,7 @@ void TypoCorrectionConsumer::NamespaceSpecifierSet::addNameSpecifier( DistanceMap[NumSpecifiers].push_back(SI); } -/// \brief Perform name lookup for a possible result for typo correction. +/// Perform name lookup for a possible result for typo correction. static void LookupPotentialTypoResult(Sema &SemaRef, LookupResult &Res, IdentifierInfo *Name, @@ -4408,7 +4408,7 @@ static void LookupPotentialTypoResult(Sema &SemaRef, } } -/// \brief Add keywords to the consumer as possible typo corrections. +/// Add keywords to the consumer as possible typo corrections. static void AddKeywordsToConsumer(Sema &SemaRef, TypoCorrectionConsumer &Consumer, Scope *S, CorrectionCandidateCallback &CCC, @@ -4699,7 +4699,7 @@ std::unique_ptr<TypoCorrectionConsumer> Sema::makeTypoCorrectionConsumer( return Consumer; } -/// \brief Try to "correct" a typo in the source code by finding +/// Try to "correct" a typo in the source code by finding /// visible declarations whose names are similar to the name that was /// present in the source code. /// @@ -4828,7 +4828,7 @@ TypoCorrection Sema::CorrectTypo(const DeclarationNameInfo &TypoName, return FailedCorrection(Typo, TypoName.getLoc(), RecordFailure && !SecondBestTC); } -/// \brief Try to "correct" a typo in the source code by finding +/// Try to "correct" a typo in the source code by finding /// visible declarations whose names are similar to the name that was /// present in the source code. /// @@ -5065,7 +5065,7 @@ void Sema::diagnoseMissingImport(SourceLocation Loc, NamedDecl *Decl, Recover); } -/// \brief Get a "quoted.h" or <angled.h> include path to use in a diagnostic +/// Get a "quoted.h" or <angled.h> include path to use in a diagnostic /// suggesting the addition of a #include of the specified file. static std::string getIncludeStringForHeader(Preprocessor &PP, const FileEntry *E) { @@ -5144,7 +5144,7 @@ void Sema::diagnoseMissingImport(SourceLocation UseLoc, NamedDecl *Decl, createImplicitModuleImportForErrorRecovery(UseLoc, Modules[0]); } -/// \brief Diagnose a successfully-corrected typo. Separated from the correction +/// Diagnose a successfully-corrected typo. Separated from the correction /// itself to allow external validation of the result, etc. /// /// \param Correction The result of performing typo correction. diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp index 7ff037018f..2983ec51f4 100644 --- a/lib/Sema/SemaObjCProperty.cpp +++ b/lib/Sema/SemaObjCProperty.cpp @@ -104,7 +104,7 @@ static void checkPropertyDeclWithOwnership(Sema &S, << propertyLifetime; } -/// \brief Check this Objective-C property against a property declared in the +/// Check this Objective-C property against a property declared in the /// given protocol. static void CheckPropertyAgainstProtocol(Sema &S, ObjCPropertyDecl *Prop, @@ -1829,7 +1829,7 @@ static bool SuperClassImplementsProperty(ObjCInterfaceDecl *IDecl, return false; } -/// \brief Default synthesizes all properties which must be synthesized +/// Default synthesizes all properties which must be synthesized /// in class's \@implementation. void Sema::DefaultSynthesizeProperties(Scope *S, ObjCImplDecl *IMPDecl, ObjCInterfaceDecl *IDecl, diff --git a/lib/Sema/SemaOpenMP.cpp b/lib/Sema/SemaOpenMP.cpp index 292cc6710a..7da9df90ac 100644 --- a/lib/Sema/SemaOpenMP.cpp +++ b/lib/Sema/SemaOpenMP.cpp @@ -7,7 +7,7 @@ // //===----------------------------------------------------------------------===// /// \file -/// \brief This file implements semantic analysis for OpenMP directives and +/// This file implements semantic analysis for OpenMP directives and /// clauses. /// //===----------------------------------------------------------------------===// @@ -41,11 +41,11 @@ static const Expr *checkMapClauseExpressionBase( OpenMPClauseKind CKind, bool NoDiagnose); namespace { -/// \brief Default data sharing attributes, which can be applied to directive. +/// Default data sharing attributes, which can be applied to directive. enum DefaultDataSharingAttributes { - DSA_unspecified = 0, /// \brief Data sharing attribute not specified. - DSA_none = 1 << 0, /// \brief Default data sharing attribute 'none'. - DSA_shared = 1 << 1, /// \brief Default data sharing attribute 'shared'. + DSA_unspecified = 0, /// Data sharing attribute not specified. + DSA_none = 1 << 0, /// Default data sharing attribute 'none'. + DSA_shared = 1 << 1, /// Default data sharing attribute 'shared'. }; /// Attributes of the defaultmap clause. @@ -54,7 +54,7 @@ enum DefaultMapAttributes { DMA_tofrom_scalar, /// Default mapping is 'tofrom:scalar'. }; -/// \brief Stack for tracking declarations used in OpenMP directives and +/// Stack for tracking declarations used in OpenMP directives and /// clauses and their data-sharing attributes. class DSAStackTy { public: @@ -134,7 +134,7 @@ private: /// get the data (loop counters etc.) about enclosing loop-based construct. /// This data is required during codegen. DoacrossDependMapTy DoacrossDepends; - /// \brief first argument (Expr *) contains optional argument of the + /// first argument (Expr *) contains optional argument of the /// 'ordered' clause, the second one is true if the regions has 'ordered' /// clause, false otherwise. llvm::PointerIntPair<const Expr *, 1, bool> OrderedRegion; @@ -153,11 +153,11 @@ private: using StackTy = SmallVector<SharingMapTy, 4>; - /// \brief Stack of used declaration and their data-sharing attributes. + /// Stack of used declaration and their data-sharing attributes. DeclSAMapTy Threadprivates; const FunctionScopeInfo *CurrentNonCapturingFunctionScope = nullptr; SmallVector<std::pair<StackTy, const FunctionScopeInfo *>, 4> Stack; - /// \brief true, if check for DSA must be from parent directive, false, if + /// true, if check for DSA must be from parent directive, false, if /// from current directive. OpenMPClauseKind ClauseKindMode = OMPC_unknown; Sema &SemaRef; @@ -168,7 +168,7 @@ private: DSAVarData getDSA(iterator &Iter, ValueDecl *D) const; - /// \brief Checks if the variable is a local for OpenMP region. + /// Checks if the variable is a local for OpenMP region. bool isOpenMPLocal(VarDecl *D, iterator Iter) const; bool isStackEmpty() const { @@ -236,28 +236,28 @@ public: return I->second; return std::make_pair(nullptr, llvm::APSInt()); } - /// \brief If 'aligned' declaration for given variable \a D was not seen yet, + /// If 'aligned' declaration for given variable \a D was not seen yet, /// add it and return NULL; otherwise return previous occurrence's expression /// for diagnostics. const Expr *addUniqueAligned(const ValueDecl *D, const Expr *NewDE); - /// \brief Register specified variable as loop control variable. + /// Register specified variable as loop control variable. void addLoopControlVariable(const ValueDecl *D, VarDecl *Capture); - /// \brief Check if the specified variable is a loop control variable for + /// Check if the specified variable is a loop control variable for /// current region. /// \return The index of the loop control variable in the list of associated /// for-loops (from outer to inner). const LCDeclInfo isLoopControlVariable(const ValueDecl *D) const; - /// \brief Check if the specified variable is a loop control variable for + /// Check if the specified variable is a loop control variable for /// parent region. /// \return The index of the loop control variable in the list of associated /// for-loops (from outer to inner). const LCDeclInfo isParentLoopControlVariable(const ValueDecl *D) const; - /// \brief Get the loop control variable for the I-th loop (or nullptr) in + /// Get the loop control variable for the I-th loop (or nullptr) in /// parent directive. const ValueDecl *getParentLoopControlVariable(unsigned I) const; - /// \brief Adds explicit data sharing attribute to the specified declaration. + /// Adds explicit data sharing attribute to the specified declaration. void addDSA(const ValueDecl *D, const Expr *E, OpenMPClauseKind A, DeclRefExpr *PrivateCopy = nullptr); @@ -296,19 +296,19 @@ public: ->getDecl() == VD; } - /// \brief Returns data sharing attributes from top of the stack for the + /// Returns data sharing attributes from top of the stack for the /// specified declaration. const DSAVarData getTopDSA(ValueDecl *D, bool FromParent); - /// \brief Returns data-sharing attributes for the specified declaration. + /// Returns data-sharing attributes for the specified declaration. const DSAVarData getImplicitDSA(ValueDecl *D, bool FromParent) const; - /// \brief Checks if the specified variables has data-sharing attributes which + /// Checks if the specified variables has data-sharing attributes which /// match specified \a CPred predicate in any directive which matches \a DPred /// predicate. const DSAVarData hasDSA(ValueDecl *D, const llvm::function_ref<bool(OpenMPClauseKind)> CPred, const llvm::function_ref<bool(OpenMPDirectiveKind)> DPred, bool FromParent) const; - /// \brief Checks if the specified variables has data-sharing attributes which + /// Checks if the specified variables has data-sharing attributes which /// match specified \a CPred predicate in any innermost directive which /// matches \a DPred predicate. const DSAVarData @@ -316,49 +316,49 @@ public: const llvm::function_ref<bool(OpenMPClauseKind)> CPred, const llvm::function_ref<bool(OpenMPDirectiveKind)> DPred, bool FromParent) const; - /// \brief Checks if the specified variables has explicit data-sharing + /// Checks if the specified variables has explicit data-sharing /// attributes which match specified \a CPred predicate at the specified /// OpenMP region. bool hasExplicitDSA(const ValueDecl *D, const llvm::function_ref<bool(OpenMPClauseKind)> CPred, unsigned Level, bool NotLastprivate = false) const; - /// \brief Returns true if the directive at level \Level matches in the + /// Returns true if the directive at level \Level matches in the /// specified \a DPred predicate. bool hasExplicitDirective( const llvm::function_ref<bool(OpenMPDirectiveKind)> DPred, unsigned Level) const; - /// \brief Finds a directive which matches specified \a DPred predicate. + /// Finds a directive which matches specified \a DPred predicate. bool hasDirective( const llvm::function_ref<bool( OpenMPDirectiveKind, const DeclarationNameInfo &, SourceLocation)> DPred, bool FromParent) const; - /// \brief Returns currently analyzed directive. + /// Returns currently analyzed directive. OpenMPDirectiveKind getCurrentDirective() const { return isStackEmpty() ? OMPD_unknown : Stack.back().first.back().Directive; } - /// \brief Returns directive kind at specified level. + /// Returns directive kind at specified level. OpenMPDirectiveKind getDirective(unsigned Level) const { assert(!isStackEmpty() && "No directive at specified level."); return Stack.back().first[Level].Directive; } - /// \brief Returns parent directive. + /// Returns parent directive. OpenMPDirectiveKind getParentDirective() const { if (isStackEmpty() || Stack.back().first.size() == 1) return OMPD_unknown; return std::next(Stack.back().first.rbegin())->Directive; } - /// \brief Set default data sharing attribute to none. + /// Set default data sharing attribute to none. void setDefaultDSANone(SourceLocation Loc) { assert(!isStackEmpty()); Stack.back().first.back().DefaultAttr = DSA_none; Stack.back().first.back().DefaultAttrLoc = Loc; } - /// \brief Set default data sharing attribute to shared. + /// Set default data sharing attribute to shared. void setDefaultDSAShared(SourceLocation Loc) { assert(!isStackEmpty()); Stack.back().first.back().DefaultAttr = DSA_shared; @@ -391,66 +391,66 @@ public: : Stack.back().first.back().DefaultMapAttrLoc; } - /// \brief Checks if the specified variable is a threadprivate. + /// Checks if the specified variable is a threadprivate. bool isThreadPrivate(VarDecl *D) { const DSAVarData DVar = getTopDSA(D, false); return isOpenMPThreadPrivate(DVar.CKind); } - /// \brief Marks current region as ordered (it has an 'ordered' clause). + /// Marks current region as ordered (it has an 'ordered' clause). void setOrderedRegion(bool IsOrdered, const Expr *Param) { assert(!isStackEmpty()); Stack.back().first.back().OrderedRegion.setInt(IsOrdered); Stack.back().first.back().OrderedRegion.setPointer(Param); } - /// \brief Returns true, if parent region is ordered (has associated + /// Returns true, if parent region is ordered (has associated /// 'ordered' clause), false - otherwise. bool isParentOrderedRegion() const { if (isStackEmpty() || Stack.back().first.size() == 1) return false; return std::next(Stack.back().first.rbegin())->OrderedRegion.getInt(); } - /// \brief Returns optional parameter for the ordered region. + /// Returns optional parameter for the ordered region. const Expr *getParentOrderedRegionParam() const { if (isStackEmpty() || Stack.back().first.size() == 1) return nullptr; return std::next(Stack.back().first.rbegin())->OrderedRegion.getPointer(); } - /// \brief Marks current region as nowait (it has a 'nowait' clause). + /// Marks current region as nowait (it has a 'nowait' clause). void setNowaitRegion(bool IsNowait = true) { assert(!isStackEmpty()); Stack.back().first.back().NowaitRegion = IsNowait; } - /// \brief Returns true, if parent region is nowait (has associated + /// Returns true, if parent region is nowait (has associated /// 'nowait' clause), false - otherwise. bool isParentNowaitRegion() const { if (isStackEmpty() || Stack.back().first.size() == 1) return false; return std::next(Stack.back().first.rbegin())->NowaitRegion; } - /// \brief Marks parent region as cancel region. + /// Marks parent region as cancel region. void setParentCancelRegion(bool Cancel = true) { if (!isStackEmpty() && Stack.back().first.size() > 1) { auto &StackElemRef = *std::next(Stack.back().first.rbegin()); StackElemRef.CancelRegion |= StackElemRef.CancelRegion || Cancel; } } - /// \brief Return true if current region has inner cancel construct. + /// Return true if current region has inner cancel construct. bool isCancelRegion() const { return isStackEmpty() ? false : Stack.back().first.back().CancelRegion; } - /// \brief Set collapse value for the region. + /// Set collapse value for the region. void setAssociatedLoops(unsigned Val) { assert(!isStackEmpty()); Stack.back().first.back().AssociatedLoops = Val; } - /// \brief Return collapse value for region. + /// Return collapse value for region. unsigned getAssociatedLoops() const { return isStackEmpty() ? 0 : Stack.back().first.back().AssociatedLoops; } - /// \brief Marks current target region as one with closely nested teams + /// Marks current target region as one with closely nested teams /// region. void setParentTeamsRegionLoc(SourceLocation TeamsRegionLoc) { if (!isStackEmpty() && Stack.back().first.size() > 1) { @@ -458,11 +458,11 @@ public: TeamsRegionLoc; } } - /// \brief Returns true, if current region has closely nested teams region. + /// Returns true, if current region has closely nested teams region. bool hasInnerTeamsRegion() const { return getInnerTeamsRegionLoc().isValid(); } - /// \brief Returns location of the nested teams region (if any). + /// Returns location of the nested teams region (if any). SourceLocation getInnerTeamsRegionLoc() const { return isStackEmpty() ? SourceLocation() : Stack.back().first.back().InnerTeamsRegionLoc; @@ -822,7 +822,7 @@ void DSAStackTy::addDSA(const ValueDecl *D, const Expr *E, OpenMPClauseKind A, } } -/// \brief Build a variable declaration for OpenMP loop iteration variable. +/// Build a variable declaration for OpenMP loop iteration variable. static VarDecl *buildVarDecl(Sema &SemaRef, SourceLocation Loc, QualType Type, StringRef Name, const AttrVec *Attrs = nullptr, DeclRefExpr *OrigRef = nullptr) { @@ -3656,99 +3656,99 @@ StmtResult Sema::ActOnOpenMPParallelDirective(ArrayRef<OMPClause *> Clauses, } namespace { -/// \brief Helper class for checking canonical form of the OpenMP loops and +/// Helper class for checking canonical form of the OpenMP loops and /// extracting iteration space of each loop in the loop nest, that will be used /// for IR generation. class OpenMPIterationSpaceChecker { - /// \brief Reference to Sema. + /// Reference to Sema. Sema &SemaRef; - /// \brief A location for diagnostics (when there is no some better location). + /// A location for diagnostics (when there is no some better location). SourceLocation DefaultLoc; - /// \brief A location for diagnostics (when increment is not compatible). + /// A location for diagnostics (when increment is not compatible). SourceLocation ConditionLoc; - /// \brief A source location for referring to loop init later. + /// A source location for referring to loop init later. SourceRange InitSrcRange; - /// \brief A source location for referring to condition later. + /// A source location for referring to condition later. SourceRange ConditionSrcRange; - /// \brief A source location for referring to increment later. + /// A source location for referring to increment later. SourceRange IncrementSrcRange; - /// \brief Loop variable. + /// Loop variable. ValueDecl *LCDecl = nullptr; - /// \brief Reference to loop variable. + /// Reference to loop variable. Expr *LCRef = nullptr; - /// \brief Lower bound (initializer for the var). + /// Lower bound (initializer for the var). Expr *LB = nullptr; - /// \brief Upper bound. + /// Upper bound. Expr *UB = nullptr; - /// \brief Loop step (increment). + /// Loop step (increment). Expr *Step = nullptr; - /// \brief This flag is true when condition is one of: + /// This flag is true when condition is one of: /// Var < UB /// Var <= UB /// UB > Var /// UB >= Var bool TestIsLessOp = false; - /// \brief This flag is true when condition is strict ( < or > ). + /// This flag is true when condition is strict ( < or > ). bool TestIsStrictOp = false; - /// \brief This flag is true when step is subtracted on each iteration. + /// This flag is true when step is subtracted on each iteration. bool SubtractStep = false; public: OpenMPIterationSpaceChecker(Sema &SemaRef, SourceLocation DefaultLoc) : SemaRef(SemaRef), DefaultLoc(DefaultLoc), ConditionLoc(DefaultLoc) {} - /// \brief Check init-expr for canonical loop form and save loop counter + /// Check init-expr for canonical loop form and save loop counter /// variable - #Var and its initialization value - #LB. bool checkAndSetInit(Stmt *S, bool EmitDiags = true); - /// \brief Check test-expr for canonical form, save upper-bound (#UB), flags + /// Check test-expr for canonical form, save upper-bound (#UB), flags /// for less/greater and for strict/non-strict comparison. bool checkAndSetCond(Expr *S); - /// \brief Check incr-expr for canonical loop form and return true if it + /// Check incr-expr for canonical loop form and return true if it /// does not conform, otherwise save loop step (#Step). bool checkAndSetInc(Expr *S); - /// \brief Return the loop counter variable. + /// Return the loop counter variable. ValueDecl *getLoopDecl() const { return LCDecl; } - /// \brief Return the reference expression to loop counter variable. + /// Return the reference expression to loop counter variable. Expr *getLoopDeclRefExpr() const { return LCRef; } - /// \brief Source range of the loop init. + /// Source range of the loop init. SourceRange getInitSrcRange() const { return InitSrcRange; } - /// \brief Source range of the loop condition. + /// Source range of the loop condition. SourceRange getConditionSrcRange() const { return ConditionSrcRange; } - /// \brief Source range of the loop increment. + /// Source range of the loop increment. SourceRange getIncrementSrcRange() const { return IncrementSrcRange; } - /// \brief True if the step should be subtracted. + /// True if the step should be subtracted. bool shouldSubtractStep() const { return SubtractStep; } - /// \brief Build the expression to calculate the number of iterations. + /// Build the expression to calculate the number of iterations. Expr *buildNumIterations( Scope *S, const bool LimitedType, llvm::MapVector<const Expr *, DeclRefExpr *> &Captures) const; - /// \brief Build the precondition expression for the loops. + /// Build the precondition expression for the loops. Expr * buildPreCond(Scope *S, Expr *Cond, llvm::MapVector<const Expr *, DeclRefExpr *> &Captures) const; - /// \brief Build reference expression to the counter be used for codegen. + /// Build reference expression to the counter be used for codegen. DeclRefExpr * buildCounterVar(llvm::MapVector<const Expr *, DeclRefExpr *> &Captures, DSAStackTy &DSA) const; - /// \brief Build reference expression to the private counter be used for + /// Build reference expression to the private counter be used for /// codegen. Expr *buildPrivateCounterVar() const; - /// \brief Build initialization of the counter be used for codegen. + /// Build initialization of the counter be used for codegen. Expr *buildCounterInit() const; - /// \brief Build step of the counter be used for codegen. + /// Build step of the counter be used for codegen. Expr *buildCounterStep() const; - /// \brief Return true if any expression is dependent. + /// Return true if any expression is dependent. bool dependent() const; private: - /// \brief Check the right-hand side of an assignment in the increment + /// Check the right-hand side of an assignment in the increment /// expression. bool checkAndSetIncRHS(Expr *RHS); - /// \brief Helper to set loop counter variable and its initializer. + /// Helper to set loop counter variable and its initializer. bool setLCDeclAndLB(ValueDecl *NewLCDecl, Expr *NewDeclRefExpr, Expr *NewLB); - /// \brief Helper to set upper bound. + /// Helper to set upper bound. bool setUB(Expr *NewUB, bool LessOp, bool StrictOp, SourceRange SR, SourceLocation SL); - /// \brief Helper to set loop increment. + /// Helper to set loop increment. bool setStep(Expr *NewStep, bool Subtract); }; @@ -3930,7 +3930,7 @@ bool OpenMPIterationSpaceChecker::checkAndSetInit(Stmt *S, bool EmitDiags) { return true; } -/// \brief Ignore parenthesizes, implicit casts, copy constructor and return the +/// Ignore parenthesizes, implicit casts, copy constructor and return the /// variable (which may be the loop variable) if possible. static const ValueDecl *getInitLCDecl(const Expr *E) { if (!E) @@ -4134,7 +4134,7 @@ tryBuildCapture(Sema &SemaRef, Expr *Capture, return Res; } -/// \brief Build the expression to calculate the number of iterations. +/// Build the expression to calculate the number of iterations. Expr *OpenMPIterationSpaceChecker::buildNumIterations( Scope *S, const bool LimitedType, llvm::MapVector<const Expr *, DeclRefExpr *> &Captures) const { @@ -4260,7 +4260,7 @@ Expr *OpenMPIterationSpaceChecker::buildPreCond( return CondExpr.isUsable() ? CondExpr.get() : Cond; } -/// \brief Build reference expression to the counter be used for codegen. +/// Build reference expression to the counter be used for codegen. DeclRefExpr *OpenMPIterationSpaceChecker::buildCounterVar( llvm::MapVector<const Expr *, DeclRefExpr *> &Captures, DSAStackTy &DSA) const { auto *VD = dyn_cast<VarDecl>(LCDecl); @@ -4296,35 +4296,35 @@ Expr *OpenMPIterationSpaceChecker::buildPrivateCounterVar() const { return nullptr; } -/// \brief Build initialization of the counter to be used for codegen. +/// Build initialization of the counter to be used for codegen. Expr *OpenMPIterationSpaceChecker::buildCounterInit() const { return LB; } -/// \brief Build step of the counter be used for codegen. +/// Build step of the counter be used for codegen. Expr *OpenMPIterationSpaceChecker::buildCounterStep() const { return Step; } -/// \brief Iteration space of a single for loop. +/// Iteration space of a single for loop. struct LoopIterationSpace final { - /// \brief Condition of the loop. + /// Condition of the loop. Expr *PreCond = nullptr; - /// \brief This expression calculates the number of iterations in the loop. + /// This expression calculates the number of iterations in the loop. /// It is always possible to calculate it before starting the loop. Expr *NumIterations = nullptr; - /// \brief The loop counter variable. + /// The loop counter variable. Expr *CounterVar = nullptr; - /// \brief Private loop counter variable. + /// Private loop counter variable. Expr *PrivateCounterVar = nullptr; - /// \brief This is initializer for the initial value of #CounterVar. + /// This is initializer for the initial value of #CounterVar. Expr *CounterInit = nullptr; - /// \brief This is step for the #CounterVar used to generate its update: + /// This is step for the #CounterVar used to generate its update: /// #CounterVar = #CounterInit + #CounterStep * CurrentIteration. Expr *CounterStep = nullptr; - /// \brief Should step be subtracted? + /// Should step be subtracted? bool Subtract = false; - /// \brief Source range of the loop init. + /// Source range of the loop init. SourceRange InitSrcRange; - /// \brief Source range of the loop condition. + /// Source range of the loop condition. SourceRange CondSrcRange; - /// \brief Source range of the loop increment. + /// Source range of the loop increment. SourceRange IncSrcRange; }; @@ -4356,7 +4356,7 @@ void Sema::ActOnOpenMPLoopInitialization(SourceLocation ForLoc, Stmt *Init) { } } -/// \brief Called on a for stmt to check and extract its iteration space +/// Called on a for stmt to check and extract its iteration space /// for further processing (such as collapsing). static bool checkOpenMPIterationSpace( OpenMPDirectiveKind DKind, Stmt *S, Sema &SemaRef, DSAStackTy &DSA, @@ -4510,7 +4510,7 @@ static bool checkOpenMPIterationSpace( return HasErrors; } -/// \brief Build 'VarRef = Start. +/// Build 'VarRef = Start. static ExprResult buildCounterInit(Sema &SemaRef, Scope *S, SourceLocation Loc, ExprResult VarRef, ExprResult Start, @@ -4533,7 +4533,7 @@ buildCounterInit(Sema &SemaRef, Scope *S, SourceLocation Loc, ExprResult VarRef, return Init; } -/// \brief Build 'VarRef = Start + Iter * Step'. +/// Build 'VarRef = Start + Iter * Step'. static ExprResult buildCounterUpdate( Sema &SemaRef, Scope *S, SourceLocation Loc, ExprResult VarRef, ExprResult Start, ExprResult Iter, ExprResult Step, bool Subtract, @@ -4604,7 +4604,7 @@ static ExprResult buildCounterUpdate( return Update; } -/// \brief Convert integer expression \a E to make it have at least \a Bits +/// Convert integer expression \a E to make it have at least \a Bits /// bits. static ExprResult widenIterationCount(unsigned Bits, Expr *E, Sema &SemaRef) { if (E == nullptr) @@ -4620,7 +4620,7 @@ static ExprResult widenIterationCount(unsigned Bits, Expr *E, Sema &SemaRef) { true); } -/// \brief Check if the given expression \a E is a constant integer that fits +/// Check if the given expression \a E is a constant integer that fits /// into \a Bits bits. static bool fitsInto(unsigned Bits, bool Signed, const Expr *E, Sema &SemaRef) { if (E == nullptr) @@ -4675,7 +4675,7 @@ static Expr *buildPostUpdate(Sema &S, ArrayRef<Expr *> PostUpdates) { return PostUpdate; } -/// \brief Called on a for stmt to check itself and nested loops (if any). +/// Called on a for stmt to check itself and nested loops (if any). /// \return Returns 0 if one of the collapsed stmts is not canonical for loop, /// number of collapsed loops otherwise. static unsigned @@ -5863,50 +5863,50 @@ StmtResult Sema::ActOnOpenMPOrderedDirective(ArrayRef<OMPClause *> Clauses, } namespace { -/// \brief Helper class for checking expression in 'omp atomic [update]' +/// Helper class for checking expression in 'omp atomic [update]' /// construct. class OpenMPAtomicUpdateChecker { - /// \brief Error results for atomic update expressions. + /// Error results for atomic update expressions. enum ExprAnalysisErrorCode { - /// \brief A statement is not an expression statement. + /// A statement is not an expression statement. NotAnExpression, - /// \brief Expression is not builtin binary or unary operation. + /// Expression is not builtin binary or unary operation. NotABinaryOrUnaryExpression, - /// \brief Unary operation is not post-/pre- increment/decrement operation. + /// Unary operation is not post-/pre- increment/decrement operation. NotAnUnaryIncDecExpression, - /// \brief An expression is not of scalar type. + /// An expression is not of scalar type. NotAScalarType, - /// \brief A binary operation is not an assignment operation. + /// A binary operation is not an assignment operation. NotAnAssignmentOp, - /// \brief RHS part of the binary operation is not a binary expression. + /// RHS part of the binary operation is not a binary expression. NotABinaryExpression, - /// \brief RHS part is not additive/multiplicative/shift/biwise binary + /// RHS part is not additive/multiplicative/shift/biwise binary /// expression. NotABinaryOperator, - /// \brief RHS binary operation does not have reference to the updated LHS + /// RHS binary operation does not have reference to the updated LHS /// part. NotAnUpdateExpression, - /// \brief No errors is found. + /// No errors is found. NoError }; - /// \brief Reference to Sema. + /// Reference to Sema. Sema &SemaRef; - /// \brief A location for note diagnostics (when error is found). + /// A location for note diagnostics (when error is found). SourceLocation NoteLoc; - /// \brief 'x' lvalue part of the source atomic expression. + /// 'x' lvalue part of the source atomic expression. Expr *X; - /// \brief 'expr' rvalue part of the source atomic expression. + /// 'expr' rvalue part of the source atomic expression. Expr *E; - /// \brief Helper expression of the form + /// Helper expression of the form /// 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or /// 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. Expr *UpdateExpr; - /// \brief Is 'x' a LHS in a RHS part of full update expression. It is + /// Is 'x' a LHS in a RHS part of full update expression. It is /// important for non-associative operations. bool IsXLHSInRHSPart; BinaryOperatorKind Op; SourceLocation OpLoc; - /// \brief true if the source expression is a postfix unary operation, false + /// true if the source expression is a postfix unary operation, false /// if it is a prefix unary operation. bool IsPostfixUpdate; @@ -5914,7 +5914,7 @@ public: OpenMPAtomicUpdateChecker(Sema &SemaRef) : SemaRef(SemaRef), X(nullptr), E(nullptr), UpdateExpr(nullptr), IsXLHSInRHSPart(false), Op(BO_PtrMemD), IsPostfixUpdate(false) {} - /// \brief Check specified statement that it is suitable for 'atomic update' + /// Check specified statement that it is suitable for 'atomic update' /// constructs and extract 'x', 'expr' and Operation from the original /// expression. If DiagId and NoteId == 0, then only check is performed /// without error notification. @@ -5922,19 +5922,19 @@ public: /// \param NoteId Diagnostic note for the main error message. /// \return true if statement is not an update expression, false otherwise. bool checkStatement(Stmt *S, unsigned DiagId = 0, unsigned NoteId = 0); - /// \brief Return the 'x' lvalue part of the source atomic expression. + /// Return the 'x' lvalue part of the source atomic expression. Expr *getX() const { return X; } - /// \brief Return the 'expr' rvalue part of the source atomic expression. + /// Return the 'expr' rvalue part of the source atomic expression. Expr *getExpr() const { return E; } - /// \brief Return the update expression used in calculation of the updated + /// Return the update expression used in calculation of the updated /// value. Always has form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or /// 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. Expr *getUpdateExpr() const { return UpdateExpr; } - /// \brief Return true if 'x' is LHS in RHS part of full update expression, + /// Return true if 'x' is LHS in RHS part of full update expression, /// false otherwise. bool isXLHSInRHSPart() const { return IsXLHSInRHSPart; } - /// \brief true if the source expression is a postfix unary operation, false + /// true if the source expression is a postfix unary operation, false /// if it is a prefix unary operation. bool isPostfixUpdate() const { return IsPostfixUpdate; } @@ -11654,7 +11654,7 @@ static bool checkTypeMappable(SourceLocation SL, SourceRange SR, Sema &SemaRef, return true; } -/// \brief Return true if it can be proven that the provided array expression +/// Return true if it can be proven that the provided array expression /// (array section or array subscript) does NOT specify the whole size of the /// array whose base type is \a BaseQTy. static bool checkArrayExpressionDoesNotReferToWholeSize(Sema &SemaRef, diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 362fe71f3c..f2f30a4ba7 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -583,7 +583,7 @@ namespace { }; } -/// \brief Convert from Sema's representation of template deduction information +/// Convert from Sema's representation of template deduction information /// to the form used in overload-candidate information. DeductionFailureInfo clang::MakeDeductionFailureInfo(ASTContext &Context, @@ -1192,7 +1192,7 @@ bool Sema::IsOverload(FunctionDecl *New, FunctionDecl *Old, return false; } -/// \brief Checks availability of the function depending on the current +/// Checks availability of the function depending on the current /// function context. Inside an unavailable function, unavailability is ignored. /// /// \returns true if \arg FD is unavailable and current context is inside @@ -1210,7 +1210,7 @@ bool Sema::isFunctionConsideredUnavailable(FunctionDecl *FD) { return true; } -/// \brief Tries a user-defined conversion from From to ToType. +/// Tries a user-defined conversion from From to ToType. /// /// Produces an implicit conversion sequence for when a standard conversion /// is not an option. See TryImplicitConversion for more information. @@ -1422,7 +1422,7 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, return PerformImplicitConversion(From, ToType, ICS, Action); } -/// \brief Determine whether the conversion from FromType to ToType is a valid +/// Determine whether the conversion from FromType to ToType is a valid /// conversion that strips "noexcept" or "noreturn" off the nested function /// type. bool Sema::IsFunctionConversion(QualType FromType, QualType ToType, @@ -1519,7 +1519,7 @@ bool Sema::IsFunctionConversion(QualType FromType, QualType ToType, return true; } -/// \brief Determine whether the conversion from FromType to ToType is a valid +/// Determine whether the conversion from FromType to ToType is a valid /// vector conversion. /// /// \param ICK Will be set to the vector conversion kind, if this is a vector @@ -2119,7 +2119,7 @@ bool Sema::IsFloatingPointPromotion(QualType FromType, QualType ToType) { return false; } -/// \brief Determine if a conversion is a complex promotion. +/// Determine if a conversion is a complex promotion. /// /// A complex promotion is defined as a complex -> complex conversion /// where the conversion between the underlying real types is a @@ -2353,7 +2353,7 @@ bool Sema::IsPointerConversion(Expr *From, QualType FromType, QualType ToType, return false; } -/// \brief Adopt the given qualifiers for the given type. +/// Adopt the given qualifiers for the given type. static QualType AdoptQualifiers(ASTContext &Context, QualType T, Qualifiers Qs){ Qualifiers TQs = T.getQualifiers(); @@ -2541,7 +2541,7 @@ bool Sema::isObjCPointerConversion(QualType FromType, QualType ToType, return false; } -/// \brief Determine whether this is an Objective-C writeback conversion, +/// Determine whether this is an Objective-C writeback conversion, /// used for parameter passing when performing automatic reference counting. /// /// \param FromType The type we're converting form. @@ -2601,7 +2601,7 @@ bool Sema::isObjCWritebackConversion(QualType FromType, QualType ToType, IncompatibleObjC)) return false; - /// \brief Construct the type we're converting to, which is a pointer to + /// Construct the type we're converting to, which is a pointer to /// __autoreleasing pointee. FromPointee = Context.getQualifiedType(FromPointee, FromQuals); ConvertedType = Context.getPointerType(FromPointee); @@ -3137,7 +3137,7 @@ Sema::IsQualificationConversion(QualType FromType, QualType ToType, return UnwrappedAnyPointer && Context.hasSameUnqualifiedType(FromType,ToType); } -/// \brief - Determine whether this is a conversion from a scalar type to an +/// - Determine whether this is a conversion from a scalar type to an /// atomic type. /// /// If successful, updates \c SCS's second and third steps in the conversion @@ -3480,7 +3480,7 @@ Sema::DiagnoseMultipleUserDefinedConversion(Expr *From, QualType ToType) { return true; } -/// \brief Compare the user-defined conversion functions or constructors +/// Compare the user-defined conversion functions or constructors /// of two user-defined conversion sequences to determine whether any ordering /// is possible. static ImplicitConversionSequence::CompareKind @@ -3682,7 +3682,7 @@ compareStandardConversionSubsets(ASTContext &Context, return ImplicitConversionSequence::Indistinguishable; } -/// \brief Determine whether one of the given reference bindings is better +/// Determine whether one of the given reference bindings is better /// than the other based on what kind of bindings they are. static bool isBetterReferenceBindingKind(const StandardConversionSequence &SCS1, @@ -4207,7 +4207,7 @@ CompareDerivedToBaseConversions(Sema &S, SourceLocation Loc, return ImplicitConversionSequence::Indistinguishable; } -/// \brief Determine whether the given type is valid, e.g., it is not an invalid +/// Determine whether the given type is valid, e.g., it is not an invalid /// C++ class. static bool isTypeValid(QualType T) { if (CXXRecordDecl *Record = T->getAsCXXRecordDecl()) @@ -4310,7 +4310,7 @@ Sema::CompareReferenceRelationship(SourceLocation Loc, return Ref_Related; } -/// \brief Look for a user-defined conversion to a value reference-compatible +/// Look for a user-defined conversion to a value reference-compatible /// with DeclType. Return true if something definite is found. static bool FindConversionForRefInit(Sema &S, ImplicitConversionSequence &ICS, @@ -4437,7 +4437,7 @@ FindConversionForRefInit(Sema &S, ImplicitConversionSequence &ICS, llvm_unreachable("Invalid OverloadResult!"); } -/// \brief Compute an implicit conversion sequence for reference +/// Compute an implicit conversion sequence for reference /// initialization. static ImplicitConversionSequence TryReferenceInit(Sema &S, Expr *Init, QualType DeclType, @@ -5649,7 +5649,7 @@ collectViableConversionCandidates(Sema &SemaRef, Expr *From, QualType ToType, } } -/// \brief Attempt to convert the given expression to a type which is accepted +/// Attempt to convert the given expression to a type which is accepted /// by the given converter. /// /// This routine will attempt to convert an expression of class type to a @@ -6375,7 +6375,7 @@ bool Sema::diagnoseArgIndependentDiagnoseIfAttrs(const NamedDecl *ND, }); } -/// \brief Add all of the function declarations in the given function set to +/// Add all of the function declarations in the given function set to /// the overload candidate set. void Sema::AddFunctionCandidates(const UnresolvedSetImpl &Fns, ArrayRef<Expr *> Args, @@ -6611,7 +6611,7 @@ Sema::AddMethodCandidate(CXXMethodDecl *Method, DeclAccessPair FoundDecl, } } -/// \brief Add a C++ member function template as a candidate to the candidate +/// Add a C++ member function template as a candidate to the candidate /// set, using template argument deduction to produce an appropriate member /// function template specialization. void @@ -6679,7 +6679,7 @@ Sema::AddMethodTemplateCandidate(FunctionTemplateDecl *MethodTmpl, Conversions); } -/// \brief Add a C++ function template specialization as a candidate +/// Add a C++ function template specialization as a candidate /// in the candidate set, using template argument deduction to produce /// an appropriate function template specialization. void @@ -7020,7 +7020,7 @@ Sema::AddConversionCandidate(CXXConversionDecl *Conversion, } } -/// \brief Adds a conversion function template specialization +/// Adds a conversion function template specialization /// candidate to the overload set, using template argument deduction /// to deduce the template arguments of the conversion function /// template from the type that we are converting to (C++ @@ -7175,7 +7175,7 @@ void Sema::AddSurrogateCandidate(CXXConversionDecl *Conversion, } } -/// \brief Add overload candidates for overloaded operators that are +/// Add overload candidates for overloaded operators that are /// member functions. /// /// Add the overloaded operator candidates that are member functions @@ -7311,18 +7311,18 @@ class BuiltinCandidateTypeSet { /// used in the built-in candidates. TypeSet EnumerationTypes; - /// \brief The set of vector types that will be used in the built-in + /// The set of vector types that will be used in the built-in /// candidates. TypeSet VectorTypes; - /// \brief A flag indicating non-record types are viable candidates + /// A flag indicating non-record types are viable candidates bool HasNonRecordTypes; - /// \brief A flag indicating whether either arithmetic or enumeration types + /// A flag indicating whether either arithmetic or enumeration types /// were present in the candidate set. bool HasArithmeticOrEnumeralTypes; - /// \brief A flag indicating whether the nullptr type was present in the + /// A flag indicating whether the nullptr type was present in the /// candidate set. bool HasNullPtrType; @@ -7575,7 +7575,7 @@ BuiltinCandidateTypeSet::AddTypesConvertedFrom(QualType Ty, } } -/// \brief Helper function for AddBuiltinOperatorCandidates() that adds +/// Helper function for AddBuiltinOperatorCandidates() that adds /// the volatile- and non-volatile-qualified assignment operators for the /// given type to the candidate set. static void AddBuiltinAssignmentOperatorCandidates(Sema &S, @@ -7653,7 +7653,7 @@ static Qualifiers CollectVRQualifiers(ASTContext &Context, Expr* ArgExpr) { namespace { -/// \brief Helper class to manage the addition of builtin operator overload +/// Helper class to manage the addition of builtin operator overload /// candidates. It provides shared state and utility methods used throughout /// the process, as well as a helper method to add each group of builtin /// operator overloads from the standard to a candidate set. @@ -7726,7 +7726,7 @@ class BuiltinOperatorOverloadBuilder { "Enough inline storage for all arithmetic types."); } - /// \brief Helper method to factor out the common pattern of adding overloads + /// Helper method to factor out the common pattern of adding overloads /// for '++' and '--' builtin operators. void addPlusPlusMinusMinusStyleOverloads(QualType CandidateTy, bool HasVolatile, @@ -8862,7 +8862,7 @@ void Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op, } } -/// \brief Add function candidates found via argument-dependent lookup +/// Add function candidates found via argument-dependent lookup /// to the set of overloading candidates. /// /// This routine performs argument-dependent name lookup based on the @@ -9235,7 +9235,7 @@ void Sema::diagnoseEquivalentInternalLinkageDeclarations( } } -/// \brief Computes the best viable function (C++ 13.3.3) +/// Computes the best viable function (C++ 13.3.3) /// within an overload candidate set. /// /// \param Loc The location of the function name (or operator symbol) for @@ -9411,7 +9411,7 @@ static bool isFunctionAlwaysEnabled(const ASTContext &Ctx, return true; } -/// \brief Returns true if we can take the address of the function. +/// Returns true if we can take the address of the function. /// /// \param Complain - If true, we'll emit a diagnostic /// \param InOverloadResolution - For the purposes of emitting a diagnostic, are @@ -11265,7 +11265,7 @@ Sema::ResolveAddressOfOverloadedFunction(Expr *AddressOfExpr, return Fn; } -/// \brief Given an expression that refers to an overloaded function, try to +/// Given an expression that refers to an overloaded function, try to /// resolve that function to a single function that can have its address taken. /// This will modify `Pair` iff it returns non-null. /// @@ -11301,7 +11301,7 @@ Sema::resolveAddressOfOnlyViableOverloadCandidate(Expr *E, return Result; } -/// \brief Given an overloaded function, tries to turn it into a non-overloaded +/// Given an overloaded function, tries to turn it into a non-overloaded /// function reference using resolveAddressOfOnlyViableOverloadCandidate. This /// will perform access checks, diagnose the use of the resultant decl, and, if /// requested, potentially perform a function-to-pointer decay. @@ -11331,7 +11331,7 @@ bool Sema::resolveAndFixAddressOfOnlyViableOverloadCandidate( return true; } -/// \brief Given an expression that refers to an overloaded function, try to +/// Given an expression that refers to an overloaded function, try to /// resolve that overloaded function expression down to a single function. /// /// This routine can only resolve template-ids that refer to a single function @@ -11500,7 +11500,7 @@ bool Sema::ResolveAndFixSingleFunctionTemplateSpecialization( return true; } -/// \brief Add a single candidate to the overload set. +/// Add a single candidate to the overload set. static void AddOverloadedCallCandidate(Sema &S, DeclAccessPair FoundDecl, TemplateArgumentListInfo *ExplicitTemplateArgs, @@ -11539,7 +11539,7 @@ static void AddOverloadedCallCandidate(Sema &S, assert(!KnownValid && "unhandled case in overloaded call candidate"); } -/// \brief Add the overload candidates named by callee and/or found by argument +/// Add the overload candidates named by callee and/or found by argument /// dependent lookup to the given overload set. void Sema::AddOverloadedCallCandidates(UnresolvedLookupExpr *ULE, ArrayRef<Expr *> Args, @@ -11831,7 +11831,7 @@ BuildRecoveryCallExpr(Sema &SemaRef, Scope *S, Expr *Fn, RParenLoc); } -/// \brief Constructs and populates an OverloadedCandidateSet from +/// Constructs and populates an OverloadedCandidateSet from /// the given function. /// \returns true when an the ExprResult output parameter has been set. bool Sema::buildOverloadedCallSet(Scope *S, Expr *Fn, @@ -12037,7 +12037,7 @@ static bool IsOverloaded(const UnresolvedSetImpl &Functions) { (Functions.size() == 1 && isa<FunctionTemplateDecl>(*Functions.begin())); } -/// \brief Create a unary operation that may resolve to an overloaded +/// Create a unary operation that may resolve to an overloaded /// operator. /// /// \param OpLoc The location of the operator itself (e.g., '*'). @@ -12228,7 +12228,7 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc, return CreateBuiltinUnaryOp(OpLoc, Opc, Input); } -/// \brief Create a binary operation that may resolve to an overloaded +/// Create a binary operation that may resolve to an overloaded /// operator. /// /// \param OpLoc The location of the operator itself (e.g., '+'). diff --git a/lib/Sema/SemaPseudoObject.cpp b/lib/Sema/SemaPseudoObject.cpp index 988797725d..4484e9b351 100644 --- a/lib/Sema/SemaPseudoObject.cpp +++ b/lib/Sema/SemaPseudoObject.cpp @@ -253,7 +253,7 @@ namespace { virtual ExprResult buildGet() = 0; virtual ExprResult buildSet(Expr *, SourceLocation, bool captureSetValueAsResult) = 0; - /// \brief Should the result of an assignment be the formal result of the + /// Should the result of an assignment be the formal result of the /// setter call or the value that was passed to the setter? /// /// Different pseudo-object language features use different language rules diff --git a/lib/Sema/SemaStmt.cpp b/lib/Sema/SemaStmt.cpp index d3224b75f4..ccf25ee9eb 100644 --- a/lib/Sema/SemaStmt.cpp +++ b/lib/Sema/SemaStmt.cpp @@ -121,7 +121,7 @@ void Sema::ActOnForEachDeclStmt(DeclGroupPtrTy dg) { } } -/// \brief Diagnose unused comparisons, both builtin and overloaded operators. +/// Diagnose unused comparisons, both builtin and overloaded operators. /// For '==' and '!=', suggest fixits for '=' or '|='. /// /// Adding a cast to void (or other expression wrappers) will prevent the @@ -2121,7 +2121,7 @@ StmtResult Sema::ActOnCXXForRangeStmt(Scope *S, SourceLocation ForLoc, DS, RParenLoc, Kind); } -/// \brief Create the initialization, compare, and increment steps for +/// Create the initialization, compare, and increment steps for /// the range-based for loop expression. /// This function does not handle array-based for loops, /// which are created in Sema::BuildCXXForRangeStmt. @@ -2851,7 +2851,7 @@ Sema::ActOnBreakStmt(SourceLocation BreakLoc, Scope *CurScope) { return new (Context) BreakStmt(BreakLoc); } -/// \brief Determine whether the given expression is a candidate for +/// Determine whether the given expression is a candidate for /// copy elision in either a return statement or a throw expression. /// /// \param ReturnType If we're determining the copy elision candidate for @@ -2931,7 +2931,7 @@ bool Sema::isCopyElisionCandidate(QualType ReturnType, const VarDecl *VD, return true; } -/// \brief Try to perform the initialization of a potentially-movable value, +/// Try to perform the initialization of a potentially-movable value, /// which is the operand to a return or throw statement. /// /// This routine implements C++14 [class.copy]p32, which attempts to treat @@ -3019,7 +3019,7 @@ static void TryMoveInitialization(Sema& S, } } -/// \brief Perform the initialization of a potentially-movable value, which +/// Perform the initialization of a potentially-movable value, which /// is the result of return value. /// /// This routine implements C++14 [class.copy]p32, which attempts to treat @@ -3131,7 +3131,7 @@ Sema::PerformMoveOrCopyInitialization(const InitializedEntity &Entity, return Res; } -/// \brief Determine whether the declared return type of the specified function +/// Determine whether the declared return type of the specified function /// contains 'auto'. static bool hasDeducedReturnType(FunctionDecl *FD) { const FunctionProtoType *FPT = @@ -3303,7 +3303,7 @@ Sema::ActOnCapScopeReturnStmt(SourceLocation ReturnLoc, Expr *RetValExp) { } namespace { -/// \brief Marks all typedefs in all local classes in a type referenced. +/// Marks all typedefs in all local classes in a type referenced. /// /// In a function like /// auto f() { diff --git a/lib/Sema/SemaStmtAsm.cpp b/lib/Sema/SemaStmtAsm.cpp index cad398a13d..7e26b71c04 100644 --- a/lib/Sema/SemaStmtAsm.cpp +++ b/lib/Sema/SemaStmtAsm.cpp @@ -109,7 +109,7 @@ static bool CheckNakedParmReference(Expr *E, Sema &S) { return false; } -/// \brief Returns true if given expression is not compatible with inline +/// Returns true if given expression is not compatible with inline /// assembly's memory constraint; false otherwise. static bool checkExprMemoryConstraintCompat(Sema &S, Expr *E, TargetInfo::ConstraintInfo &Info, diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index d5f6b640a7..a4b9086aa4 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -46,7 +46,7 @@ clang::getTemplateParamsRange(TemplateParameterList const * const *Ps, } namespace clang { -/// \brief [temp.constr.decl]p2: A template's associated constraints are +/// [temp.constr.decl]p2: A template's associated constraints are /// defined as a single constraint-expression derived from the introduced /// constraint-expressions [ ... ]. /// @@ -65,7 +65,7 @@ static Expr *clang::formAssociatedConstraints(TemplateParameterList *Params, return Params->getRequiresClause(); } -/// \brief Determine whether the declaration found is acceptable as the name +/// Determine whether the declaration found is acceptable as the name /// of a template and, if so, return that template declaration. Otherwise, /// returns NULL. static NamedDecl *isAcceptableTemplateName(ASTContext &Context, @@ -765,7 +765,7 @@ static TemplateArgumentLoc translateTemplateArgument(Sema &SemaRef, llvm_unreachable("Unhandled parsed template argument"); } -/// \brief Translates template arguments as provided by the parser +/// Translates template arguments as provided by the parser /// into template arguments used by semantic analysis. void Sema::translateTemplateArguments(const ASTTemplateArgsPtr &TemplateArgsIn, TemplateArgumentListInfo &TemplateArgs) { @@ -904,7 +904,7 @@ NamedDecl *Sema::ActOnTypeParameter(Scope *S, bool Typename, return Param; } -/// \brief Check that the type of a non-type template parameter is +/// Check that the type of a non-type template parameter is /// well-formed. /// /// \returns the (possibly-promoted) parameter type if valid; @@ -1975,7 +1975,7 @@ void Sema::DeclareImplicitDeductionGuides(TemplateDecl *Template, ->setIsCopyDeductionCandidate(); } -/// \brief Diagnose the presence of a default template argument on a +/// Diagnose the presence of a default template argument on a /// template parameter, which is ill-formed in certain contexts. /// /// \returns true if the default template argument should be dropped. @@ -2031,7 +2031,7 @@ static bool DiagnoseDefaultTemplateArgument(Sema &S, llvm_unreachable("Invalid TemplateParamListContext!"); } -/// \brief Check for unexpanded parameter packs within the template parameters +/// Check for unexpanded parameter packs within the template parameters /// of a template template parameter, recursively. static bool DiagnoseUnexpandedParameterPacks(Sema &S, TemplateTemplateParmDecl *TTP) { @@ -2062,7 +2062,7 @@ static bool DiagnoseUnexpandedParameterPacks(Sema &S, return false; } -/// \brief Checks the validity of a template parameter list, possibly +/// Checks the validity of a template parameter list, possibly /// considering the template parameter list from a previous /// declaration. /// @@ -2429,7 +2429,7 @@ static SourceRange getRangeOfTypeInNestedNameSpecifier(ASTContext &Context, return SourceRange(); } -/// \brief Match the given template parameter lists to the given scope +/// Match the given template parameter lists to the given scope /// specifier, returning the template parameter list that applies to the /// name. /// @@ -3804,7 +3804,7 @@ DeclResult Sema::ActOnVarTemplateSpecialization( } namespace { -/// \brief A partial specialization whose template arguments have matched +/// A partial specialization whose template arguments have matched /// a given template-id. struct PartialSpecMatchResult { VarTemplatePartialSpecializationDecl *Partial; @@ -4092,7 +4092,7 @@ Sema::BuildQualifiedTemplateIdExpr(CXXScopeSpec &SS, return BuildTemplateIdExpr(SS, TemplateKWLoc, R, /*ADL*/ false, TemplateArgs); } -/// \brief Form a dependent template name. +/// Form a dependent template name. /// /// This action forms a dependent template name given the template /// name and its (presumably dependent) scope specifier. For @@ -4319,7 +4319,7 @@ bool Sema::CheckTemplateTypeArgument(TemplateTypeParmDecl *Param, return false; } -/// \brief Substitute template arguments into the default template argument for +/// Substitute template arguments into the default template argument for /// the given template type parameter. /// /// \param SemaRef the semantic analysis object for which we are performing @@ -4375,7 +4375,7 @@ SubstDefaultTemplateArgument(Sema &SemaRef, return ArgType; } -/// \brief Substitute template arguments into the default template argument for +/// Substitute template arguments into the default template argument for /// the given non-type template parameter. /// /// \param SemaRef the semantic analysis object for which we are performing @@ -4423,7 +4423,7 @@ SubstDefaultTemplateArgument(Sema &SemaRef, return SemaRef.SubstExpr(Param->getDefaultArgument(), TemplateArgLists); } -/// \brief Substitute template arguments into the default template argument for +/// Substitute template arguments into the default template argument for /// the given template template parameter. /// /// \param SemaRef the semantic analysis object for which we are performing @@ -4487,7 +4487,7 @@ SubstDefaultTemplateArgument(Sema &SemaRef, TemplateArgLists); } -/// \brief If the given template parameter has a default template +/// If the given template parameter has a default template /// argument, substitute into that default template argument and /// return the corresponding template argument. TemplateArgumentLoc @@ -4588,7 +4588,7 @@ static TemplateArgumentLoc convertTypeTemplateArgumentToTemplate(TypeLoc TLoc) { return TemplateArgumentLoc(); } -/// \brief Check that the given template argument corresponds to the given +/// Check that the given template argument corresponds to the given /// template parameter. /// /// \param Param The template parameter against which the argument will be @@ -4850,7 +4850,7 @@ bool Sema::CheckTemplateArgument(NamedDecl *Param, return false; } -/// \brief Diagnose an arity mismatch in the +/// Diagnose an arity mismatch in the static bool diagnoseArityMismatch(Sema &S, TemplateDecl *Template, SourceLocation TemplateLoc, TemplateArgumentListInfo &TemplateArgs) { @@ -4871,7 +4871,7 @@ static bool diagnoseArityMismatch(Sema &S, TemplateDecl *Template, return true; } -/// \brief Check whether the template parameter is a pack expansion, and if so, +/// Check whether the template parameter is a pack expansion, and if so, /// determine the number of parameters produced by that expansion. For instance: /// /// \code @@ -4927,7 +4927,7 @@ static bool diagnoseMissingArgument(Sema &S, SourceLocation Loc, return diagnoseArityMismatch(S, TD, Loc, Args); } -/// \brief Check that the given template argument list is well-formed +/// Check that the given template argument list is well-formed /// for specializing the given template. bool Sema::CheckTemplateArgumentList( TemplateDecl *Template, SourceLocation TemplateLoc, @@ -5434,7 +5434,7 @@ bool UnnamedLocalNoLinkageFinder::VisitNestedNameSpecifier( llvm_unreachable("Invalid NestedNameSpecifier::Kind!"); } -/// \brief Check a template argument against its corresponding +/// Check a template argument against its corresponding /// template type parameter. /// /// This routine implements the semantics of C++ [temp.arg.type]. It @@ -5472,7 +5472,7 @@ enum NullPointerValueKind { NPV_Error }; -/// \brief Determine whether the given template argument is a null pointer +/// Determine whether the given template argument is a null pointer /// value of the appropriate type. static NullPointerValueKind isNullPointerValueTemplateArgument(Sema &S, NonTypeTemplateParmDecl *Param, @@ -5568,7 +5568,7 @@ isNullPointerValueTemplateArgument(Sema &S, NonTypeTemplateParmDecl *Param, return NPV_NotNullPointer; } -/// \brief Checks whether the given template argument is compatible with its +/// Checks whether the given template argument is compatible with its /// template parameter. static bool CheckTemplateArgumentIsCompatibleWithParameter( Sema &S, NonTypeTemplateParmDecl *Param, QualType ParamType, Expr *ArgIn, @@ -5625,7 +5625,7 @@ static bool CheckTemplateArgumentIsCompatibleWithParameter( return false; } -/// \brief Checks whether the given template argument is the address +/// Checks whether the given template argument is the address /// of an object or function according to C++ [temp.arg.nontype]p1. static bool CheckTemplateArgumentAddressOfObjectOrFunction(Sema &S, @@ -5913,7 +5913,7 @@ CheckTemplateArgumentAddressOfObjectOrFunction(Sema &S, return false; } -/// \brief Checks whether the given template argument is a pointer to +/// Checks whether the given template argument is a pointer to /// member constant according to C++ [temp.arg.nontype]p1. static bool CheckTemplateArgumentPointerToMember(Sema &S, NonTypeTemplateParmDecl *Param, @@ -6042,7 +6042,7 @@ static bool CheckTemplateArgumentPointerToMember(Sema &S, return true; } -/// \brief Check a template argument against its corresponding +/// Check a template argument against its corresponding /// non-type template parameter. /// /// This routine implements the semantics of C++ [temp.arg.nontype]. @@ -6560,7 +6560,7 @@ static void DiagnoseTemplateParameterListArityMismatch( Sema &S, TemplateParameterList *New, TemplateParameterList *Old, Sema::TemplateParameterListEqualKind Kind, SourceLocation TemplateArgLoc); -/// \brief Check a template argument against its corresponding +/// Check a template argument against its corresponding /// template template parameter. /// /// This routine implements the semantics of C++ [temp.arg.template]. @@ -6627,7 +6627,7 @@ bool Sema::CheckTemplateTemplateArgument(TemplateParameterList *Params, Arg.getLocation()); } -/// \brief Given a non-type template argument that refers to a +/// Given a non-type template argument that refers to a /// declaration and the type of its corresponding non-type template /// parameter, produce an expression that properly refers to that /// declaration. @@ -6750,7 +6750,7 @@ Sema::BuildExpressionFromDeclTemplateArgument(const TemplateArgument &Arg, return BuildDeclRefExpr(VD, T, VK, Loc); } -/// \brief Construct a new expression that refers to the given +/// Construct a new expression that refers to the given /// integral template argument with the given source-location /// information. /// @@ -6810,7 +6810,7 @@ Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument &Arg, return E; } -/// \brief Match two template parameters within template parameter lists. +/// Match two template parameters within template parameter lists. static bool MatchTemplateParameterKind(Sema &S, NamedDecl *New, NamedDecl *Old, bool Complain, Sema::TemplateParameterListEqualKind Kind, @@ -6913,7 +6913,7 @@ static bool MatchTemplateParameterKind(Sema &S, NamedDecl *New, NamedDecl *Old, return true; } -/// \brief Diagnose a known arity mismatch when comparing template argument +/// Diagnose a known arity mismatch when comparing template argument /// lists. static void DiagnoseTemplateParameterListArityMismatch(Sema &S, @@ -6935,7 +6935,7 @@ void DiagnoseTemplateParameterListArityMismatch(Sema &S, << SourceRange(Old->getTemplateLoc(), Old->getRAngleLoc()); } -/// \brief Determine whether the given template parameter lists are +/// Determine whether the given template parameter lists are /// equivalent. /// /// \param New The new template parameter list, typically written in the @@ -7027,7 +7027,7 @@ Sema::TemplateParameterListsAreEqual(TemplateParameterList *New, return true; } -/// \brief Check whether a template can be declared within this scope. +/// Check whether a template can be declared within this scope. /// /// If the template declaration is valid in this scope, returns /// false. Otherwise, issues a diagnostic and returns true. @@ -7076,7 +7076,7 @@ Sema::CheckTemplateDeclScope(Scope *S, TemplateParameterList *TemplateParams) { << TemplateParams->getSourceRange(); } -/// \brief Determine what kind of template specialization the given declaration +/// Determine what kind of template specialization the given declaration /// is. static TemplateSpecializationKind getTemplateSpecializationKind(Decl *D) { if (!D) @@ -7092,7 +7092,7 @@ static TemplateSpecializationKind getTemplateSpecializationKind(Decl *D) { return TSK_Undeclared; } -/// \brief Check whether a specialization is well-formed in the current +/// Check whether a specialization is well-formed in the current /// context. /// /// This routine determines whether a template specialization can be declared @@ -7208,7 +7208,7 @@ static SourceRange findTemplateParameter(unsigned Depth, TypeLoc TL) { return Checker.MatchLoc; } -/// \brief Subroutine of Sema::CheckTemplatePartialSpecializationArgs +/// Subroutine of Sema::CheckTemplatePartialSpecializationArgs /// that checks non-type template partial specialization arguments. static bool CheckNonTypeTemplatePartialSpecializationArgs( Sema &S, SourceLocation TemplateNameLoc, NonTypeTemplateParmDecl *Param, @@ -7296,7 +7296,7 @@ static bool CheckNonTypeTemplatePartialSpecializationArgs( return false; } -/// \brief Check the non-type template arguments of a class template +/// Check the non-type template arguments of a class template /// partial specialization according to C++ [temp.class.spec]p9. /// /// \param TemplateNameLoc the location of the template name. @@ -7710,7 +7710,7 @@ Decl *Sema::ActOnTemplateDeclarator(Scope *S, return NewDecl; } -/// \brief Strips various properties off an implicit instantiation +/// Strips various properties off an implicit instantiation /// that has just been explicitly specialized. static void StripImplicitInstantiation(NamedDecl *D) { D->dropAttr<DLLImportAttr>(); @@ -7720,7 +7720,7 @@ static void StripImplicitInstantiation(NamedDecl *D) { FD->setInlineSpecified(false); } -/// \brief Compute the diagnostic location for an explicit instantiation +/// Compute the diagnostic location for an explicit instantiation // declaration or definition. static SourceLocation DiagLocForExplicitInstantiation( NamedDecl* D, SourceLocation PointOfInstantiation) { @@ -7737,7 +7737,7 @@ static SourceLocation DiagLocForExplicitInstantiation( return PrevDiagLoc; } -/// \brief Diagnose cases where we have an explicit template specialization +/// Diagnose cases where we have an explicit template specialization /// before/after an explicit template instantiation, producing diagnostics /// for those cases where they are required and determining whether the /// new specialization/instantiation will have any effect. @@ -7922,7 +7922,7 @@ Sema::CheckSpecializationInstantiationRedecl(SourceLocation NewLoc, llvm_unreachable("Missing specialization/instantiation case?"); } -/// \brief Perform semantic analysis for the given dependent function +/// Perform semantic analysis for the given dependent function /// template specialization. /// /// The only possible way to get a dependent function template specialization @@ -7962,7 +7962,7 @@ Sema::CheckDependentFunctionTemplateSpecialization(FunctionDecl *FD, return false; } -/// \brief Perform semantic analysis for the given function template +/// Perform semantic analysis for the given function template /// specialization. /// /// This routine performs all of the semantic analysis required for an @@ -8185,7 +8185,7 @@ bool Sema::CheckFunctionTemplateSpecialization( return false; } -/// \brief Perform semantic analysis for the given non-template member +/// Perform semantic analysis for the given non-template member /// specialization. /// /// This routine performs all of the semantic analysis required for an @@ -8395,7 +8395,7 @@ void Sema::CompleteMemberSpecialization(NamedDecl *Member, llvm_unreachable("unknown member specialization kind"); } -/// \brief Check the scope of an explicit instantiation. +/// Check the scope of an explicit instantiation. /// /// \returns true if a serious error occurs, false otherwise. static bool CheckExplicitInstantiationScope(Sema &S, NamedDecl *D, @@ -8449,7 +8449,7 @@ static bool CheckExplicitInstantiationScope(Sema &S, NamedDecl *D, return false; } -/// \brief Determine whether the given scope specifier has a template-id in it. +/// Determine whether the given scope specifier has a template-id in it. static bool ScopeSpecifierHasTemplateId(const CXXScopeSpec &SS) { if (!SS.isSet()) return false; @@ -9503,7 +9503,7 @@ static bool isEnableIf(NestedNameSpecifierLoc NNS, const IdentifierInfo &II, return true; } -/// \brief Build the type that describes a C++ typename specifier, +/// Build the type that describes a C++ typename specifier, /// e.g., "typename T::type". QualType Sema::CheckTypenameType(ElaboratedTypeKeyword Keyword, @@ -9678,7 +9678,7 @@ namespace { : TreeTransform<CurrentInstantiationRebuilder>(SemaRef), Loc(Loc), Entity(Entity) { } - /// \brief Determine whether the given type \p T has already been + /// Determine whether the given type \p T has already been /// transformed. /// /// For the purposes of type reconstruction, a type has already been @@ -9687,14 +9687,14 @@ namespace { return T.isNull() || !T->isDependentType(); } - /// \brief Returns the location of the entity whose type is being + /// Returns the location of the entity whose type is being /// rebuilt. SourceLocation getBaseLocation() { return Loc; } - /// \brief Returns the name of the entity whose type is being rebuilt. + /// Returns the name of the entity whose type is being rebuilt. DeclarationName getBaseEntity() { return Entity; } - /// \brief Sets the "base" location and entity when that + /// Sets the "base" location and entity when that /// information is known based on another transformation. void setBase(SourceLocation Loc, DeclarationName Entity) { this->Loc = Loc; @@ -9708,7 +9708,7 @@ namespace { }; } // end anonymous namespace -/// \brief Rebuilds a type within the context of the current instantiation. +/// Rebuilds a type within the context of the current instantiation. /// /// The type \p T is part of the type of an out-of-line member definition of /// a class template (or class template partial specialization) that was parsed @@ -9766,7 +9766,7 @@ bool Sema::RebuildNestedNameSpecifierInCurrentInstantiation(CXXScopeSpec &SS) { return false; } -/// \brief Rebuild the template parameters now that we know we're in a current +/// Rebuild the template parameters now that we know we're in a current /// instantiation. bool Sema::RebuildTemplateParamsInCurrentInstantiation( TemplateParameterList *Params) { @@ -9805,7 +9805,7 @@ bool Sema::RebuildTemplateParamsInCurrentInstantiation( return false; } -/// \brief Produces a formatted string that describes the binding of +/// Produces a formatted string that describes the binding of /// template parameters to template arguments. std::string Sema::getTemplateArgumentBindingsText(const TemplateParameterList *Params, @@ -9883,7 +9883,7 @@ bool Sema::IsInsideALocalClassWithinATemplateFunction() { } namespace { -/// \brief Walk the path from which a declaration was instantiated, and check +/// Walk the path from which a declaration was instantiated, and check /// that every explicit specialization along that path is visible. This enforces /// C++ [temp.expl.spec]/6: /// @@ -10019,7 +10019,7 @@ void Sema::checkSpecializationVisibility(SourceLocation Loc, NamedDecl *Spec) { ExplicitSpecializationVisibilityChecker(*this, Loc).check(Spec); } -/// \brief Check whether a template partial specialization that we've discovered +/// Check whether a template partial specialization that we've discovered /// is hidden, and produce suitable diagnostics if so. void Sema::checkPartialSpecializationVisibility(SourceLocation Loc, NamedDecl *Spec) { diff --git a/lib/Sema/SemaTemplateDeduction.cpp b/lib/Sema/SemaTemplateDeduction.cpp index dc3c3a66c0..87968362e0 100644 --- a/lib/Sema/SemaTemplateDeduction.cpp +++ b/lib/Sema/SemaTemplateDeduction.cpp @@ -59,39 +59,39 @@ namespace clang { - /// \brief Various flags that control template argument deduction. + /// Various flags that control template argument deduction. /// /// These flags can be bitwise-OR'd together. enum TemplateDeductionFlags { - /// \brief No template argument deduction flags, which indicates the + /// No template argument deduction flags, which indicates the /// strictest results for template argument deduction (as used for, e.g., /// matching class template partial specializations). TDF_None = 0, - /// \brief Within template argument deduction from a function call, we are + /// Within template argument deduction from a function call, we are /// matching with a parameter type for which the original parameter was /// a reference. TDF_ParamWithReferenceType = 0x1, - /// \brief Within template argument deduction from a function call, we + /// Within template argument deduction from a function call, we /// are matching in a case where we ignore cv-qualifiers. TDF_IgnoreQualifiers = 0x02, - /// \brief Within template argument deduction from a function call, + /// Within template argument deduction from a function call, /// we are matching in a case where we can perform template argument /// deduction from a template-id of a derived class of the argument type. TDF_DerivedClass = 0x04, - /// \brief Allow non-dependent types to differ, e.g., when performing + /// Allow non-dependent types to differ, e.g., when performing /// template argument deduction from a function call where conversions /// may apply. TDF_SkipNonDependent = 0x08, - /// \brief Whether we are performing template argument deduction for + /// Whether we are performing template argument deduction for /// parameters and arguments in a top-level template argument TDF_TopLevelParameterTypeList = 0x10, - /// \brief Within template argument deduction from overload resolution per + /// Within template argument deduction from overload resolution per /// C++ [over.over] allow matching function types that are compatible in /// terms of noreturn and default calling convention adjustments, or /// similarly matching a declared template specialization against a @@ -105,7 +105,7 @@ namespace clang { using namespace clang; using namespace sema; -/// \brief Compare two APSInts, extending and switching the sign as +/// Compare two APSInts, extending and switching the sign as /// necessary to compare their values regardless of underlying type. static bool hasSameExtendedValue(llvm::APSInt X, llvm::APSInt Y) { if (Y.getBitWidth() > X.getBitWidth()) @@ -163,7 +163,7 @@ static void MarkUsedTemplateParameters(ASTContext &Ctx, QualType T, bool OnlyDeduced, unsigned Level, llvm::SmallBitVector &Deduced); -/// \brief If the given expression is of a form that permits the deduction +/// If the given expression is of a form that permits the deduction /// of a non-type template parameter, return the declaration of that /// non-type template parameter. static NonTypeTemplateParmDecl * @@ -188,7 +188,7 @@ getDeducedParameterFromExpr(TemplateDeductionInfo &Info, Expr *E) { return nullptr; } -/// \brief Determine whether two declaration pointers refer to the same +/// Determine whether two declaration pointers refer to the same /// declaration. static bool isSameDeclaration(Decl *X, Decl *Y) { if (NamedDecl *NX = dyn_cast<NamedDecl>(X)) @@ -199,7 +199,7 @@ static bool isSameDeclaration(Decl *X, Decl *Y) { return X->getCanonicalDecl() == Y->getCanonicalDecl(); } -/// \brief Verify that the given, deduced template arguments are compatible. +/// Verify that the given, deduced template arguments are compatible. /// /// \returns The deduced template argument, or a NULL template argument if /// the deduced template arguments were incompatible. @@ -362,7 +362,7 @@ checkDeducedTemplateArguments(ASTContext &Context, llvm_unreachable("Invalid TemplateArgument Kind!"); } -/// \brief Deduce the value of the given non-type template parameter +/// Deduce the value of the given non-type template parameter /// as the given deduced template argument. All non-type template parameter /// deduction is funneled through here. static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( @@ -410,7 +410,7 @@ static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( /*ArrayBound=*/NewDeduced.wasDeducedFromArrayBound()); } -/// \brief Deduce the value of the given non-type template parameter +/// Deduce the value of the given non-type template parameter /// from the given integral constant. static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( Sema &S, TemplateParameterList *TemplateParams, @@ -424,7 +424,7 @@ static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( ValueType, Info, Deduced); } -/// \brief Deduce the value of the given non-type template parameter +/// Deduce the value of the given non-type template parameter /// from the given null pointer template argument type. static Sema::TemplateDeductionResult DeduceNullPtrTemplateArgument( Sema &S, TemplateParameterList *TemplateParams, @@ -441,7 +441,7 @@ static Sema::TemplateDeductionResult DeduceNullPtrTemplateArgument( Value->getType(), Info, Deduced); } -/// \brief Deduce the value of the given non-type template parameter +/// Deduce the value of the given non-type template parameter /// from the given type- or value-dependent expression. /// /// \returns true if deduction succeeded, false otherwise. @@ -454,7 +454,7 @@ static Sema::TemplateDeductionResult DeduceNonTypeTemplateArgument( Value->getType(), Info, Deduced); } -/// \brief Deduce the value of the given non-type template parameter +/// Deduce the value of the given non-type template parameter /// from the given declaration. /// /// \returns true if deduction succeeded, false otherwise. @@ -514,7 +514,7 @@ DeduceTemplateArguments(Sema &S, return Sema::TDK_NonDeducedMismatch; } -/// \brief Deduce the template arguments by comparing the template parameter +/// Deduce the template arguments by comparing the template parameter /// type (which is a template-id) with the template argument type. /// /// \param S the Sema @@ -599,7 +599,7 @@ DeduceTemplateArguments(Sema &S, Deduced, /*NumberOfArgumentsMustMatch=*/true); } -/// \brief Determines whether the given type is an opaque type that +/// Determines whether the given type is an opaque type that /// might be more qualified when instantiated. static bool IsPossiblyOpaquelyQualifiedType(QualType T) { switch (T->getTypeClass()) { @@ -623,7 +623,7 @@ static bool IsPossiblyOpaquelyQualifiedType(QualType T) { } } -/// \brief Retrieve the depth and index of a template parameter. +/// Retrieve the depth and index of a template parameter. static std::pair<unsigned, unsigned> getDepthAndIndex(NamedDecl *ND) { if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(ND)) @@ -636,7 +636,7 @@ getDepthAndIndex(NamedDecl *ND) { return std::make_pair(TTP->getDepth(), TTP->getIndex()); } -/// \brief Retrieve the depth and index of an unexpanded parameter pack. +/// Retrieve the depth and index of an unexpanded parameter pack. static std::pair<unsigned, unsigned> getDepthAndIndex(UnexpandedParameterPack UPP) { if (const TemplateTypeParmType *TTP @@ -646,7 +646,7 @@ getDepthAndIndex(UnexpandedParameterPack UPP) { return getDepthAndIndex(UPP.first.get<NamedDecl *>()); } -/// \brief Helper function to build a TemplateParameter when we don't +/// Helper function to build a TemplateParameter when we don't /// know its type statically. static TemplateParameter makeTemplateParameter(Decl *D) { if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(D)) @@ -805,7 +805,7 @@ public: ++PackElements; } - /// \brief Finish template argument deduction for a set of argument packs, + /// Finish template argument deduction for a set of argument packs, /// producing the argument packs and checking for consistency with prior /// deductions. Sema::TemplateDeductionResult finish() { @@ -897,7 +897,7 @@ private: } // namespace -/// \brief Deduce the template arguments by comparing the list of parameter +/// Deduce the template arguments by comparing the list of parameter /// types to the list of argument types, as in the parameter-type-lists of /// function types (C++ [temp.deduct.type]p10). /// @@ -1019,7 +1019,7 @@ DeduceTemplateArguments(Sema &S, return Sema::TDK_Success; } -/// \brief Determine whether the parameter has qualifiers that are either +/// Determine whether the parameter has qualifiers that are either /// inconsistent with or a superset of the argument's qualifiers. static bool hasInconsistentOrSupersetQualifiersOf(QualType ParamType, QualType ArgType) { @@ -1050,7 +1050,7 @@ static bool hasInconsistentOrSupersetQualifiersOf(QualType ParamType, == ParamQs.getCVRQualifiers()); } -/// \brief Compare types for equality with respect to possibly compatible +/// Compare types for equality with respect to possibly compatible /// function types (noreturn adjustment, implicit calling conventions). If any /// of parameter and argument is not a function, just perform type comparison. /// @@ -1102,7 +1102,7 @@ static bool isForwardingReference(QualType Param, unsigned FirstInnerIndex) { return false; } -/// \brief Deduce the template arguments by comparing the parameter type and +/// Deduce the template arguments by comparing the parameter type and /// the argument type (C++ [temp.deduct.type]). /// /// \param S the semantic analysis object within which we are deducing @@ -2078,7 +2078,7 @@ DeduceTemplateArguments(Sema &S, llvm_unreachable("Invalid TemplateArgument Kind!"); } -/// \brief Determine whether there is a template argument to be used for +/// Determine whether there is a template argument to be used for /// deduction. /// /// This routine "expands" argument packs in-place, overriding its input @@ -2101,7 +2101,7 @@ static bool hasTemplateArgumentForDeduction(ArrayRef<TemplateArgument> &Args, return ArgIdx < Args.size(); } -/// \brief Determine whether the given set of template arguments has a pack +/// Determine whether the given set of template arguments has a pack /// expansion that is not the last template argument. static bool hasPackExpansionBeforeEnd(ArrayRef<TemplateArgument> Args) { bool FoundPackExpansion = false; @@ -2216,7 +2216,7 @@ DeduceTemplateArguments(Sema &S, /*NumberOfArgumentsMustMatch*/false); } -/// \brief Determine whether two template arguments are the same. +/// Determine whether two template arguments are the same. static bool isSameTemplateArg(ASTContext &Context, TemplateArgument X, const TemplateArgument &Y, @@ -2277,7 +2277,7 @@ static bool isSameTemplateArg(ASTContext &Context, llvm_unreachable("Invalid TemplateArgument Kind!"); } -/// \brief Allocate a TemplateArgumentLoc where all locations have +/// Allocate a TemplateArgumentLoc where all locations have /// been initialized to the given location. /// /// \param Arg The template argument we are producing template argument @@ -2352,7 +2352,7 @@ Sema::getTrivialTemplateArgumentLoc(const TemplateArgument &Arg, llvm_unreachable("Invalid TemplateArgument Kind!"); } -/// \brief Convert the given deduced template argument and add it to the set of +/// Convert the given deduced template argument and add it to the set of /// fully-converted template arguments. static bool ConvertDeducedTemplateArgument(Sema &S, NamedDecl *Param, @@ -2707,7 +2707,7 @@ static Sema::TemplateDeductionResult FinishTemplateArgumentDeduction( } -/// \brief Perform template argument deduction to determine whether +/// Perform template argument deduction to determine whether /// the given template arguments match the given class template /// partial specialization per C++ [temp.class.spec.match]. Sema::TemplateDeductionResult @@ -2750,7 +2750,7 @@ Sema::DeduceTemplateArguments(ClassTemplatePartialSpecializationDecl *Partial, *this, Partial, /*PartialOrdering=*/false, TemplateArgs, Deduced, Info); } -/// \brief Perform template argument deduction to determine whether +/// Perform template argument deduction to determine whether /// the given template arguments match the given variable template /// partial specialization per C++ [temp.class.spec.match]. Sema::TemplateDeductionResult @@ -2791,7 +2791,7 @@ Sema::DeduceTemplateArguments(VarTemplatePartialSpecializationDecl *Partial, *this, Partial, /*PartialOrdering=*/false, TemplateArgs, Deduced, Info); } -/// \brief Determine whether the given type T is a simple-template-id type. +/// Determine whether the given type T is a simple-template-id type. static bool isSimpleTemplateIdType(QualType T) { if (const TemplateSpecializationType *Spec = T->getAs<TemplateSpecializationType>()) @@ -2811,7 +2811,7 @@ static bool isSimpleTemplateIdType(QualType T) { return false; } -/// \brief Substitute the explicitly-provided template arguments into the +/// Substitute the explicitly-provided template arguments into the /// given function template according to C++ [temp.arg.explicit]. /// /// \param FunctionTemplate the function template into which the explicit @@ -3018,7 +3018,7 @@ Sema::SubstituteExplicitTemplateArguments( return TDK_Success; } -/// \brief Check whether the deduced argument type for a call to a function +/// Check whether the deduced argument type for a call to a function /// template matches the actual argument type per C++ [temp.deduct.call]p4. static Sema::TemplateDeductionResult CheckOriginalCallArgDeduction(Sema &S, TemplateDeductionInfo &Info, @@ -3164,7 +3164,7 @@ static unsigned getPackIndexForParam(Sema &S, llvm_unreachable("parameter index would not be produced from template"); } -/// \brief Finish template argument deduction for a function template, +/// Finish template argument deduction for a function template, /// checking the deduced template arguments for completeness and forming /// the function template specialization. /// @@ -3436,7 +3436,7 @@ ResolveOverloadForDeduction(Sema &S, TemplateParameterList *TemplateParams, return Match; } -/// \brief Perform the adjustments to the parameter and argument types +/// Perform the adjustments to the parameter and argument types /// described in C++ [temp.deduct.call]. /// /// \returns true if the caller should not attempt to perform any template @@ -3543,7 +3543,7 @@ static Sema::TemplateDeductionResult DeduceTemplateArgumentsFromCallArgument( SmallVectorImpl<Sema::OriginalCallArg> &OriginalCallArgs, bool DecomposedParam, unsigned ArgIdx, unsigned TDF); -/// \brief Attempt template argument deduction from an initializer list +/// Attempt template argument deduction from an initializer list /// deemed to be an argument in a function call. static Sema::TemplateDeductionResult DeduceFromInitializerList( Sema &S, TemplateParameterList *TemplateParams, QualType AdjustedParamType, @@ -3604,7 +3604,7 @@ static Sema::TemplateDeductionResult DeduceFromInitializerList( return Sema::TDK_Success; } -/// \brief Perform template argument deduction per [temp.deduct.call] for a +/// Perform template argument deduction per [temp.deduct.call] for a /// single parameter / argument pair. static Sema::TemplateDeductionResult DeduceTemplateArgumentsFromCallArgument( Sema &S, TemplateParameterList *TemplateParams, unsigned FirstInnerIndex, @@ -3637,7 +3637,7 @@ static Sema::TemplateDeductionResult DeduceTemplateArgumentsFromCallArgument( ArgType, Info, Deduced, TDF); } -/// \brief Perform template argument deduction from a function call +/// Perform template argument deduction from a function call /// (C++ [temp.deduct.call]). /// /// \param FunctionTemplate the function template for which we are performing @@ -3848,7 +3848,7 @@ QualType Sema::adjustCCAndNoReturn(QualType ArgFunctionType, ArgFunctionTypeP->getParamTypes(), EPI); } -/// \brief Deduce template arguments when taking the address of a function +/// Deduce template arguments when taking the address of a function /// template (C++ [temp.deduct.funcaddr]) or matching a specialization to /// a template. /// @@ -3990,7 +3990,7 @@ Sema::TemplateDeductionResult Sema::DeduceTemplateArguments( return TDK_Success; } -/// \brief Deduce template arguments for a templated conversion +/// Deduce template arguments for a templated conversion /// function (C++ [temp.deduct.conv]) and, if successful, produce a /// conversion function template specialization. Sema::TemplateDeductionResult @@ -4100,7 +4100,7 @@ Sema::DeduceTemplateArguments(FunctionTemplateDecl *ConversionTemplate, return Result; } -/// \brief Deduce template arguments for a function template when there is +/// Deduce template arguments for a function template when there is /// nothing to deduce against (C++0x [temp.arg.explicit]p3). /// /// \param FunctionTemplate the function template for which we are performing @@ -4239,7 +4239,7 @@ static bool diagnoseAutoDeductionFailure(Sema &S, } } -/// \brief Deduce the type for an auto type-specifier (C++11 [dcl.spec.auto]p6) +/// Deduce the type for an auto type-specifier (C++11 [dcl.spec.auto]p6) /// /// Note that this is done even if the initializer is dependent. (This is /// necessary to support partial ordering of templates using 'auto'.) @@ -4498,7 +4498,7 @@ bool Sema::DeduceReturnType(FunctionDecl *FD, SourceLocation Loc, return StillUndeduced; } -/// \brief If this is a non-static member function, +/// If this is a non-static member function, static void AddImplicitObjectParameterType(ASTContext &Context, CXXMethodDecl *Method, @@ -4520,7 +4520,7 @@ AddImplicitObjectParameterType(ASTContext &Context, ArgTypes.push_back(ArgTy); } -/// \brief Determine whether the function template \p FT1 is at least as +/// Determine whether the function template \p FT1 is at least as /// specialized as \p FT2. static bool isAtLeastAsSpecializedAs(Sema &S, SourceLocation Loc, @@ -4671,7 +4671,7 @@ static bool isAtLeastAsSpecializedAs(Sema &S, return true; } -/// \brief Determine whether this a function template whose parameter-type-list +/// Determine whether this a function template whose parameter-type-list /// ends with a function parameter pack. static bool isVariadicFunctionTemplate(FunctionTemplateDecl *FunTmpl) { FunctionDecl *Function = FunTmpl->getTemplatedDecl(); @@ -4692,7 +4692,7 @@ static bool isVariadicFunctionTemplate(FunctionTemplateDecl *FunTmpl) { return true; } -/// \brief Returns the more specialized function template according +/// Returns the more specialized function template according /// to the rules of function template partial ordering (C++ [temp.func.order]). /// /// \param FT1 the first function template @@ -4739,7 +4739,7 @@ Sema::getMoreSpecializedTemplate(FunctionTemplateDecl *FT1, return nullptr; } -/// \brief Determine if the two templates are equivalent. +/// Determine if the two templates are equivalent. static bool isSameTemplate(TemplateDecl *T1, TemplateDecl *T2) { if (T1 == T2) return true; @@ -4750,7 +4750,7 @@ static bool isSameTemplate(TemplateDecl *T1, TemplateDecl *T2) { return T1->getCanonicalDecl() == T2->getCanonicalDecl(); } -/// \brief Retrieve the most specialized of the given function template +/// Retrieve the most specialized of the given function template /// specializations. /// /// \param SpecBegin the start iterator of the function template @@ -4909,7 +4909,7 @@ static bool isAtLeastAsSpecializedAs(Sema &S, QualType T1, QualType T2, return true; } -/// \brief Returns the more specialized class template partial specialization +/// Returns the more specialized class template partial specialization /// according to the rules of partial ordering of class template partial /// specializations (C++ [temp.class.order]). /// @@ -5064,7 +5064,7 @@ bool Sema::isTemplateTemplateParameterAtLeastAsSpecializedAs( return isAtLeastAsSpecializedAs(*this, PType, AType, AArg, Info); } -/// \brief Mark the template parameters that are used by the given +/// Mark the template parameters that are used by the given /// expression. static void MarkUsedTemplateParameters(ASTContext &Ctx, @@ -5108,7 +5108,7 @@ MarkUsedTemplateParameters(ASTContext &Ctx, MarkUsedTemplateParameters(Ctx, NTTP->getType(), OnlyDeduced, Depth, Used); } -/// \brief Mark the template parameters that are used by the given +/// Mark the template parameters that are used by the given /// nested name specifier. static void MarkUsedTemplateParameters(ASTContext &Ctx, @@ -5125,7 +5125,7 @@ MarkUsedTemplateParameters(ASTContext &Ctx, OnlyDeduced, Depth, Used); } -/// \brief Mark the template parameters that are used by the given +/// Mark the template parameters that are used by the given /// template name. static void MarkUsedTemplateParameters(ASTContext &Ctx, @@ -5150,7 +5150,7 @@ MarkUsedTemplateParameters(ASTContext &Ctx, Depth, Used); } -/// \brief Mark the template parameters that are used by the given +/// Mark the template parameters that are used by the given /// type. static void MarkUsedTemplateParameters(ASTContext &Ctx, QualType T, @@ -5403,7 +5403,7 @@ MarkUsedTemplateParameters(ASTContext &Ctx, QualType T, } } -/// \brief Mark the template parameters that are used by this +/// Mark the template parameters that are used by this /// template argument. static void MarkUsedTemplateParameters(ASTContext &Ctx, @@ -5446,7 +5446,7 @@ MarkUsedTemplateParameters(ASTContext &Ctx, } } -/// \brief Mark which template parameters can be deduced from a given +/// Mark which template parameters can be deduced from a given /// template argument list. /// /// \param TemplateArgs the template argument list from which template @@ -5472,7 +5472,7 @@ Sema::MarkUsedTemplateParameters(const TemplateArgumentList &TemplateArgs, Depth, Used); } -/// \brief Marks all of the template parameters that will be deduced by a +/// Marks all of the template parameters that will be deduced by a /// call to the given function template. void Sema::MarkDeducedTemplateParameters( ASTContext &Ctx, const FunctionTemplateDecl *FunctionTemplate, diff --git a/lib/Sema/SemaTemplateInstantiate.cpp b/lib/Sema/SemaTemplateInstantiate.cpp index 5b6eb39e6b..8e7ebe2515 100644 --- a/lib/Sema/SemaTemplateInstantiate.cpp +++ b/lib/Sema/SemaTemplateInstantiate.cpp @@ -34,7 +34,7 @@ using namespace sema; // Template Instantiation Support //===----------------------------------------------------------------------===/ -/// \brief Retrieve the template argument list(s) that should be used to +/// Retrieve the template argument list(s) that should be used to /// instantiate the definition of the given declaration. /// /// \param D the declaration for which we are computing template instantiation @@ -427,7 +427,7 @@ bool Sema::InstantiatingTemplate::CheckInstantiationDepth( return true; } -/// \brief Prints the current instantiation stack through a series of +/// Prints the current instantiation stack through a series of /// notes. void Sema::PrintInstantiationStack() { // Determine which template instantiations to skip, if any. @@ -708,7 +708,7 @@ Optional<TemplateDeductionInfo *> Sema::isSFINAEContext() const { return None; } -/// \brief Retrieve the depth and index of a parameter pack. +/// Retrieve the depth and index of a parameter pack. static std::pair<unsigned, unsigned> getDepthAndIndex(NamedDecl *ND) { if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(ND)) @@ -740,20 +740,20 @@ namespace { : inherited(SemaRef), TemplateArgs(TemplateArgs), Loc(Loc), Entity(Entity) { } - /// \brief Determine whether the given type \p T has already been + /// Determine whether the given type \p T has already been /// transformed. /// /// For the purposes of template instantiation, a type has already been /// transformed if it is NULL or if it is not dependent. bool AlreadyTransformed(QualType T); - /// \brief Returns the location of the entity being instantiated, if known. + /// Returns the location of the entity being instantiated, if known. SourceLocation getBaseLocation() { return Loc; } - /// \brief Returns the name of the entity being instantiated, if any. + /// Returns the name of the entity being instantiated, if any. DeclarationName getBaseEntity() { return Entity; } - /// \brief Sets the "base" location and entity when that + /// Sets the "base" location and entity when that /// information is known based on another transformation. void setBase(SourceLocation Loc, DeclarationName Entity) { this->Loc = Loc; @@ -808,7 +808,7 @@ namespace { } } - /// \brief Transform the given declaration by instantiating a reference to + /// Transform the given declaration by instantiating a reference to /// this declaration. Decl *TransformDecl(SourceLocation Loc, Decl *D); @@ -839,15 +839,15 @@ namespace { SemaRef.PerformDependentDiagnostics(DC, TemplateArgs); } - /// \brief Transform the definition of the given declaration by + /// Transform the definition of the given declaration by /// instantiating it. Decl *TransformDefinition(SourceLocation Loc, Decl *D); - /// \brief Transform the first qualifier within a scope by instantiating the + /// Transform the first qualifier within a scope by instantiating the /// declaration. NamedDecl *TransformFirstQualifierInScope(NamedDecl *D, SourceLocation Loc); - /// \brief Rebuild the exception declaration and register the declaration + /// Rebuild the exception declaration and register the declaration /// as an instantiated local. VarDecl *RebuildExceptionDecl(VarDecl *ExceptionDecl, TypeSourceInfo *Declarator, @@ -855,12 +855,12 @@ namespace { SourceLocation NameLoc, IdentifierInfo *Name); - /// \brief Rebuild the Objective-C exception declaration and register the + /// Rebuild the Objective-C exception declaration and register the /// declaration as an instantiated local. VarDecl *RebuildObjCExceptionDecl(VarDecl *ExceptionDecl, TypeSourceInfo *TSInfo, QualType T); - /// \brief Check for tag mismatches when instantiating an + /// Check for tag mismatches when instantiating an /// elaborated type. QualType RebuildElaboratedType(SourceLocation KeywordLoc, ElaboratedTypeKeyword Keyword, @@ -885,14 +885,14 @@ namespace { ExprResult TransformSubstNonTypeTemplateParmPackExpr( SubstNonTypeTemplateParmPackExpr *E); - /// \brief Rebuild a DeclRefExpr for a ParmVarDecl reference. + /// Rebuild a DeclRefExpr for a ParmVarDecl reference. ExprResult RebuildParmVarDeclRefExpr(ParmVarDecl *PD, SourceLocation Loc); - /// \brief Transform a reference to a function parameter pack. + /// Transform a reference to a function parameter pack. ExprResult TransformFunctionParmPackRefExpr(DeclRefExpr *E, ParmVarDecl *PD); - /// \brief Transform a FunctionParmPackExpr which was built when we couldn't + /// Transform a FunctionParmPackExpr which was built when we couldn't /// expand a function parameter pack reference which refers to an expanded /// pack. ExprResult TransformFunctionParmPackExpr(FunctionParmPackExpr *E); @@ -915,12 +915,12 @@ namespace { Optional<unsigned> NumExpansions, bool ExpectParameterPack); - /// \brief Transforms a template type parameter type by performing + /// Transforms a template type parameter type by performing /// substitution of the corresponding template type argument. QualType TransformTemplateTypeParmType(TypeLocBuilder &TLB, TemplateTypeParmTypeLoc TL); - /// \brief Transforms an already-substituted template type parameter pack + /// Transforms an already-substituted template type parameter pack /// into either itself (if we aren't substituting into its pack expansion) /// or the appropriate substituted argument. QualType TransformSubstTemplateTypeParmPackType(TypeLocBuilder &TLB, @@ -1540,7 +1540,7 @@ TemplateInstantiator::TransformSubstTemplateTypeParmPackType( return Result; } -/// \brief Perform substitution on the type T with a given set of template +/// Perform substitution on the type T with a given set of template /// arguments. /// /// This routine substitutes the given template arguments into the @@ -1835,7 +1835,7 @@ ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldParm, return NewParm; } -/// \brief Substitute the given template arguments into the given set of +/// Substitute the given template arguments into the given set of /// parameters, producing the set of parameter types that would be generated /// from such a substitution. bool Sema::SubstParmTypes( @@ -1855,7 +1855,7 @@ bool Sema::SubstParmTypes( Loc, Params, nullptr, ExtParamInfos, ParamTypes, OutParams, ParamInfos); } -/// \brief Perform substitution on the base class specifiers of the +/// Perform substitution on the base class specifiers of the /// given class template specialization. /// /// Produces a diagnostic and returns true on error, returns false and @@ -1975,7 +1975,7 @@ namespace clang { } } -/// \brief Instantiate the definition of a class from a given pattern. +/// Instantiate the definition of a class from a given pattern. /// /// \param PointOfInstantiation The point of instantiation within the /// source code. @@ -2011,7 +2011,7 @@ Sema::InstantiateClass(SourceLocation PointOfInstantiation, return true; Pattern = PatternDef; - // \brief Record the point of instantiation. + // Record the point of instantiation. if (MemberSpecializationInfo *MSInfo = Instantiation->getMemberSpecializationInfo()) { MSInfo->setTemplateSpecializationKind(TSK); @@ -2215,7 +2215,7 @@ Sema::InstantiateClass(SourceLocation PointOfInstantiation, return Instantiation->isInvalidDecl(); } -/// \brief Instantiate the definition of an enum from a given pattern. +/// Instantiate the definition of an enum from a given pattern. /// /// \param PointOfInstantiation The point of instantiation within the /// source code. @@ -2281,7 +2281,7 @@ bool Sema::InstantiateEnum(SourceLocation PointOfInstantiation, } -/// \brief Instantiate the definition of a field from the given pattern. +/// Instantiate the definition of a field from the given pattern. /// /// \param PointOfInstantiation The point of instantiation within the /// source code. @@ -2359,7 +2359,7 @@ bool Sema::InstantiateInClassInitializer( } namespace { - /// \brief A partial specialization whose template arguments have matched + /// A partial specialization whose template arguments have matched /// a given template-id. struct PartialSpecMatchResult { ClassTemplatePartialSpecializationDecl *Partial; @@ -2544,7 +2544,7 @@ bool Sema::InstantiateClassTemplateSpecialization( Complain); } -/// \brief Instantiates the definitions of all of the member +/// Instantiates the definitions of all of the member /// of the given class, which is an instantiation of a class template /// or a member class of a template. void @@ -2751,7 +2751,7 @@ Sema::InstantiateClassMembers(SourceLocation PointOfInstantiation, } } -/// \brief Instantiate the definitions of all of the members of the +/// Instantiate the definitions of all of the members of the /// given class template specialization, which was named as part of an /// explicit instantiation. void @@ -2827,7 +2827,7 @@ Sema::SubstNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS, return Instantiator.TransformNestedNameSpecifierLoc(NNS); } -/// \brief Do template substitution on declaration name info. +/// Do template substitution on declaration name info. DeclarationNameInfo Sema::SubstDeclarationNameInfo(const DeclarationNameInfo &NameInfo, const MultiLevelTemplateArgumentList &TemplateArgs) { diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp index a7883c67b8..cd80215d04 100644 --- a/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -1556,7 +1556,7 @@ Decl *TemplateDeclInstantiator::VisitCXXRecordDecl(CXXRecordDecl *D) { return Record; } -/// \brief Adjust the given function type for an instantiation of the +/// Adjust the given function type for an instantiation of the /// given declaration, to cope with modifications to the function's type that /// aren't reflected in the type-source information. /// @@ -3086,7 +3086,7 @@ Decl *Sema::SubstDecl(Decl *D, DeclContext *Owner, return Instantiator.Visit(D); } -/// \brief Instantiates a nested template parameter list in the current +/// Instantiates a nested template parameter list in the current /// instantiation context. /// /// \param L The parameter list to instantiate @@ -3129,7 +3129,7 @@ Sema::SubstTemplateParams(TemplateParameterList *Params, DeclContext *Owner, return Instantiator.SubstTemplateParams(Params); } -/// \brief Instantiate the declaration of a class template partial +/// Instantiate the declaration of a class template partial /// specialization. /// /// \param ClassTemplate the (instantiated) class template that is partially @@ -3263,7 +3263,7 @@ TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization( return InstPartialSpec; } -/// \brief Instantiate the declaration of a variable template partial +/// Instantiate the declaration of a variable template partial /// specialization. /// /// \param VarTemplate the (instantiated) variable template that is partially @@ -3605,7 +3605,7 @@ void Sema::InstantiateExceptionSpec(SourceLocation PointOfInstantiation, TemplateArgs); } -/// \brief Initializes the common fields of an instantiation function +/// Initializes the common fields of an instantiation function /// declaration (New) from the corresponding fields of its template (Tmpl). /// /// \returns true if there was an error @@ -3693,7 +3693,7 @@ TemplateDeclInstantiator::InitFunctionInstantiation(FunctionDecl *New, return false; } -/// \brief Initializes common fields of an instantiated method +/// Initializes common fields of an instantiated method /// declaration (New) from the corresponding fields of its template /// (Tmpl). /// @@ -3757,7 +3757,7 @@ static void InstantiateDefaultCtorDefaultArgs(Sema &S, } } -/// \brief Instantiate the definition of the given function from its +/// Instantiate the definition of the given function from its /// template. /// /// \param PointOfInstantiation the point at which the instantiation was @@ -4033,7 +4033,7 @@ VarTemplateSpecializationDecl *Sema::BuildVarTemplateInstantiation( VarTemplate, FromVar, InsertPos, TemplateArgsInfo, Converted)); } -/// \brief Instantiates a variable template specialization by completing it +/// Instantiates a variable template specialization by completing it /// with appropriate type information and initializer. VarTemplateSpecializationDecl *Sema::CompleteVarTemplateSpecializationDecl( VarTemplateSpecializationDecl *VarSpec, VarDecl *PatternDecl, @@ -4157,7 +4157,7 @@ void Sema::BuildVariableInstantiation( DiagnoseUnusedDecl(NewVar); } -/// \brief Instantiate the initializer of a variable. +/// Instantiate the initializer of a variable. void Sema::InstantiateVariableInitializer( VarDecl *Var, VarDecl *OldVar, const MultiLevelTemplateArgumentList &TemplateArgs) { @@ -4223,7 +4223,7 @@ void Sema::InstantiateVariableInitializer( } } -/// \brief Instantiate the definition of the given variable from its +/// Instantiate the definition of the given variable from its /// template. /// /// \param PointOfInstantiation the point at which the instantiation was @@ -4842,7 +4842,7 @@ static NamedDecl *findInstantiationOf(ASTContext &Ctx, return nullptr; } -/// \brief Finds the instantiation of the given declaration context +/// Finds the instantiation of the given declaration context /// within the current instantiation. /// /// \returns NULL if there was an error @@ -4854,7 +4854,7 @@ DeclContext *Sema::FindInstantiatedContext(SourceLocation Loc, DeclContext* DC, } else return DC; } -/// \brief Find the instantiation of the given declaration within the +/// Find the instantiation of the given declaration within the /// current instantiation. /// /// This routine is intended to be used when \p D is a declaration @@ -5167,7 +5167,7 @@ NamedDecl *Sema::FindInstantiatedDecl(SourceLocation Loc, NamedDecl *D, return D; } -/// \brief Performs template instantiation for all implicit template +/// Performs template instantiation for all implicit template /// instantiations we have seen until this point. void Sema::PerformPendingInstantiations(bool LocalOnly) { while (!PendingLocalImplicitInstantiations.empty() || diff --git a/lib/Sema/SemaTemplateVariadic.cpp b/lib/Sema/SemaTemplateVariadic.cpp index 68a69091f0..c58e648bb3 100644 --- a/lib/Sema/SemaTemplateVariadic.cpp +++ b/lib/Sema/SemaTemplateVariadic.cpp @@ -26,7 +26,7 @@ using namespace clang; // Visitor that collects unexpanded parameter packs //---------------------------------------------------------------------------- -/// \brief Retrieve the depth and index of a parameter pack. +/// Retrieve the depth and index of a parameter pack. static std::pair<unsigned, unsigned> getDepthAndIndex(NamedDecl *ND) { if (TemplateTypeParmDecl *TTP = dyn_cast<TemplateTypeParmDecl>(ND)) @@ -40,7 +40,7 @@ getDepthAndIndex(NamedDecl *ND) { } namespace { - /// \brief A class that collects unexpanded parameter packs. + /// A class that collects unexpanded parameter packs. class CollectUnexpandedParameterPacksVisitor : public RecursiveASTVisitor<CollectUnexpandedParameterPacksVisitor> { @@ -83,14 +83,14 @@ namespace { // Recording occurrences of (unexpanded) parameter packs. //------------------------------------------------------------------------ - /// \brief Record occurrences of template type parameter packs. + /// Record occurrences of template type parameter packs. bool VisitTemplateTypeParmTypeLoc(TemplateTypeParmTypeLoc TL) { if (TL.getTypePtr()->isParameterPack()) addUnexpanded(TL.getTypePtr(), TL.getNameLoc()); return true; } - /// \brief Record occurrences of template type parameter packs + /// Record occurrences of template type parameter packs /// when we don't have proper source-location information for /// them. /// @@ -102,7 +102,7 @@ namespace { return true; } - /// \brief Record occurrences of function and non-type template + /// Record occurrences of function and non-type template /// parameter packs in an expression. bool VisitDeclRefExpr(DeclRefExpr *E) { if (E->getDecl()->isParameterPack()) @@ -111,7 +111,7 @@ namespace { return true; } - /// \brief Record occurrences of template template parameter packs. + /// Record occurrences of template template parameter packs. bool TraverseTemplateName(TemplateName Template) { if (auto *TTP = dyn_cast_or_null<TemplateTemplateParmDecl>( Template.getAsTemplateDecl())) { @@ -122,7 +122,7 @@ namespace { return inherited::TraverseTemplateName(Template); } - /// \brief Suppress traversal into Objective-C container literal + /// Suppress traversal into Objective-C container literal /// elements that are pack expansions. bool TraverseObjCDictionaryLiteral(ObjCDictionaryLiteral *E) { if (!E->containsUnexpandedParameterPack()) @@ -142,7 +142,7 @@ namespace { // Pruning the search for unexpanded parameter packs. //------------------------------------------------------------------------ - /// \brief Suppress traversal into statements and expressions that + /// Suppress traversal into statements and expressions that /// do not contain unexpanded parameter packs. bool TraverseStmt(Stmt *S) { Expr *E = dyn_cast_or_null<Expr>(S); @@ -152,7 +152,7 @@ namespace { return true; } - /// \brief Suppress traversal into types that do not contain + /// Suppress traversal into types that do not contain /// unexpanded parameter packs. bool TraverseType(QualType T) { if ((!T.isNull() && T->containsUnexpandedParameterPack()) || InLambda) @@ -161,7 +161,7 @@ namespace { return true; } - /// \brief Suppress traversal into types with location information + /// Suppress traversal into types with location information /// that do not contain unexpanded parameter packs. bool TraverseTypeLoc(TypeLoc TL) { if ((!TL.getType().isNull() && @@ -172,7 +172,7 @@ namespace { return true; } - /// \brief Suppress traversal of parameter packs. + /// Suppress traversal of parameter packs. bool TraverseDecl(Decl *D) { // A function parameter pack is a pack expansion, so cannot contain // an unexpanded parameter pack. Likewise for a template parameter @@ -183,7 +183,7 @@ namespace { return inherited::TraverseDecl(D); } - /// \brief Suppress traversal of pack-expanded attributes. + /// Suppress traversal of pack-expanded attributes. bool TraverseAttr(Attr *A) { if (A->isPackExpansion()) return true; @@ -191,7 +191,7 @@ namespace { return inherited::TraverseAttr(A); } - /// \brief Suppress traversal of pack expansion expressions and types. + /// Suppress traversal of pack expansion expressions and types. ///@{ bool TraversePackExpansionType(PackExpansionType *T) { return true; } bool TraversePackExpansionTypeLoc(PackExpansionTypeLoc TL) { return true; } @@ -200,7 +200,7 @@ namespace { ///@} - /// \brief Suppress traversal of using-declaration pack expansion. + /// Suppress traversal of using-declaration pack expansion. bool TraverseUnresolvedUsingValueDecl(UnresolvedUsingValueDecl *D) { if (D->isPackExpansion()) return true; @@ -208,7 +208,7 @@ namespace { return inherited::TraverseUnresolvedUsingValueDecl(D); } - /// \brief Suppress traversal of using-declaration pack expansion. + /// Suppress traversal of using-declaration pack expansion. bool TraverseUnresolvedUsingTypenameDecl(UnresolvedUsingTypenameDecl *D) { if (D->isPackExpansion()) return true; @@ -216,7 +216,7 @@ namespace { return inherited::TraverseUnresolvedUsingTypenameDecl(D); } - /// \brief Suppress traversal of template argument pack expansions. + /// Suppress traversal of template argument pack expansions. bool TraverseTemplateArgument(const TemplateArgument &Arg) { if (Arg.isPackExpansion()) return true; @@ -224,7 +224,7 @@ namespace { return inherited::TraverseTemplateArgument(Arg); } - /// \brief Suppress traversal of template argument pack expansions. + /// Suppress traversal of template argument pack expansions. bool TraverseTemplateArgumentLoc(const TemplateArgumentLoc &ArgLoc) { if (ArgLoc.getArgument().isPackExpansion()) return true; @@ -232,7 +232,7 @@ namespace { return inherited::TraverseTemplateArgumentLoc(ArgLoc); } - /// \brief Suppress traversal of base specifier pack expansions. + /// Suppress traversal of base specifier pack expansions. bool TraverseCXXBaseSpecifier(const CXXBaseSpecifier &Base) { if (Base.isPackExpansion()) return true; @@ -240,7 +240,7 @@ namespace { return inherited::TraverseCXXBaseSpecifier(Base); } - /// \brief Suppress traversal of mem-initializer pack expansions. + /// Suppress traversal of mem-initializer pack expansions. bool TraverseConstructorInitializer(CXXCtorInitializer *Init) { if (Init->isPackExpansion()) return true; @@ -248,7 +248,7 @@ namespace { return inherited::TraverseConstructorInitializer(Init); } - /// \brief Note whether we're traversing a lambda containing an unexpanded + /// Note whether we're traversing a lambda containing an unexpanded /// parameter pack. In this case, the unexpanded pack can occur anywhere, /// including all the places where we normally wouldn't look. Within a /// lambda, we don't propagate the 'contains unexpanded parameter pack' bit @@ -284,7 +284,7 @@ namespace { }; } -/// \brief Determine whether it's possible for an unexpanded parameter pack to +/// Determine whether it's possible for an unexpanded parameter pack to /// be valid in this location. This only happens when we're in a declaration /// that is nested within an expression that could be expanded, such as a /// lambda-expression within a function call. @@ -298,7 +298,7 @@ bool Sema::isUnexpandedParameterPackPermitted() { return false; } -/// \brief Diagnose all of the unexpanded parameter packs in the given +/// Diagnose all of the unexpanded parameter packs in the given /// vector. bool Sema::DiagnoseUnexpandedParameterPacks(SourceLocation Loc, @@ -917,7 +917,7 @@ class ParameterPackValidatorCCC : public CorrectionCandidateCallback { } -/// \brief Called when an expression computing the size of a parameter pack +/// Called when an expression computing the size of a parameter pack /// is parsed. /// /// \code diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index 80ab5dc6b4..38a06c0207 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -615,7 +615,7 @@ distributeFunctionTypeAttrFromDeclarator(TypeProcessingState &state, state.addIgnoredTypeAttr(attr); } -/// \brief Given that there are attributes written on the declarator +/// Given that there are attributes written on the declarator /// itself, try to distribute any type attributes to the appropriate /// declarator chunk. /// @@ -1225,7 +1225,7 @@ static OpenCLAccessAttr::Spelling getImageAccess(const AttributeList *Attrs) { return OpenCLAccessAttr::Keyword_read_only; } -/// \brief Convert the specified declspec to the appropriate type +/// Convert the specified declspec to the appropriate type /// object. /// \param state Specifies the declarator containing the declaration specifier /// to be converted, along with other associated processing state. @@ -1755,7 +1755,7 @@ QualType Sema::BuildQualifiedType(QualType T, SourceLocation Loc, return BuildQualifiedType(T, Loc, Q, DS); } -/// \brief Build a paren type including \p T. +/// Build a paren type including \p T. QualType Sema::BuildParenType(QualType T) { return Context.getParenType(T); } @@ -1865,7 +1865,7 @@ static bool checkQualifiedFunction(Sema &S, QualType T, SourceLocation Loc, return true; } -/// \brief Build a pointer type. +/// Build a pointer type. /// /// \param T The type to which we'll be building a pointer. /// @@ -1905,7 +1905,7 @@ QualType Sema::BuildPointerType(QualType T, return Context.getPointerType(T); } -/// \brief Build a reference type. +/// Build a reference type. /// /// \param T The type to which we'll be building a reference. /// @@ -1967,7 +1967,7 @@ QualType Sema::BuildReferenceType(QualType T, bool SpelledAsLValue, return Context.getRValueReferenceType(T); } -/// \brief Build a Read-only Pipe type. +/// Build a Read-only Pipe type. /// /// \param T The type to which we'll be building a Pipe. /// @@ -1979,7 +1979,7 @@ QualType Sema::BuildReadPipeType(QualType T, SourceLocation Loc) { return Context.getReadPipeType(T); } -/// \brief Build a Write-only Pipe type. +/// Build a Write-only Pipe type. /// /// \param T The type to which we'll be building a Pipe. /// @@ -2013,7 +2013,7 @@ static bool isArraySizeVLA(Sema &S, Expr *ArraySize, llvm::APSInt &SizeVal) { S.LangOpts.OpenCL).isInvalid(); } -/// \brief Build an array type. +/// Build an array type. /// /// \param T The type of each element in the array. /// @@ -2238,7 +2238,7 @@ QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM, return T; } -/// \brief Build an ext-vector type. +/// Build an ext-vector type. /// /// Run the required checks for the extended vector type. QualType Sema::BuildExtVectorType(QualType T, Expr *ArraySize, @@ -2409,7 +2409,7 @@ QualType Sema::BuildFunctionType(QualType T, return Context.getFunctionType(T, ParamTypes, EPI); } -/// \brief Build a member pointer type \c T Class::*. +/// Build a member pointer type \c T Class::*. /// /// \param T the type to which the member pointer refers. /// \param Class the class type into which the member pointer points. @@ -2458,7 +2458,7 @@ QualType Sema::BuildMemberPointerType(QualType T, QualType Class, return Context.getMemberPointerType(T, Class.getTypePtr()); } -/// \brief Build a block pointer type. +/// Build a block pointer type. /// /// \param T The type to which we'll be building a block pointer. /// @@ -5064,7 +5064,7 @@ static void transferARCOwnershipToDeclaratorChunk(TypeProcessingState &state, // TODO: mark whether we did this inference? } -/// \brief Used for transferring ownership in casts resulting in l-values. +/// Used for transferring ownership in casts resulting in l-values. static void transferARCOwnership(TypeProcessingState &state, QualType &declSpecTy, Qualifiers::ObjCLifetime ownership) { @@ -5571,7 +5571,7 @@ static void fillDependentAddressSpaceTypeLoc(DependentAddressSpaceTypeLoc DASTL, DASTL.setAttrOperandParensRange(SourceRange()); } -/// \brief Create and instantiate a TypeSourceInfo with type source information. +/// Create and instantiate a TypeSourceInfo with type source information. /// /// \param T QualType referring to the type as written in source code. /// @@ -5633,7 +5633,7 @@ Sema::GetTypeSourceInfoForDeclarator(Declarator &D, QualType T, return TInfo; } -/// \brief Create a LocInfoType to hold the given QualType and TypeSourceInfo. +/// Create a LocInfoType to hold the given QualType and TypeSourceInfo. ParsedType Sema::CreateParsedType(QualType T, TypeSourceInfo *TInfo) { // FIXME: LocInfoTypes are "transient", only needed for passing to/from Parser // and Sema during declaration parsing. Try deallocating/caching them when @@ -6907,7 +6907,7 @@ static void HandleVectorSizeAttr(QualType& CurType, const AttributeList &Attr, VectorType::GenericVector); } -/// \brief Process the OpenCL-like ext_vector_type attribute when it occurs on +/// Process the OpenCL-like ext_vector_type attribute when it occurs on /// a type. static void HandleExtVectorTypeAttr(QualType &CurType, const AttributeList &Attr, @@ -7390,7 +7390,7 @@ void Sema::completeExprArrayBound(Expr *E) { } } -/// \brief Ensure that the type of the given expression is complete. +/// Ensure that the type of the given expression is complete. /// /// This routine checks whether the expression \p E has a complete type. If the /// expression refers to an instantiable construct, that instantiation is @@ -7427,7 +7427,7 @@ bool Sema::RequireCompleteExprType(Expr *E, unsigned DiagID) { return RequireCompleteExprType(E, Diagnoser); } -/// @brief Ensure that the type T is a complete type. +/// Ensure that the type T is a complete type. /// /// This routine checks whether the type @p T is complete in any /// context where a complete type is required. If @p T is a complete @@ -7471,7 +7471,7 @@ bool Sema::hasStructuralCompatLayout(Decl *D, Decl *Suggested) { return Ctx.IsStructurallyEquivalent(D, Suggested); } -/// \brief Determine whether there is any declaration of \p D that was ever a +/// Determine whether there is any declaration of \p D that was ever a /// definition (perhaps before module merging) and is currently visible. /// \param D The definition of the entity. /// \param Suggested Filled in with the declaration that should be made visible @@ -7571,7 +7571,7 @@ static void assignInheritanceModel(Sema &S, CXXRecordDecl *RD) { } } -/// \brief The implementation of RequireCompleteType +/// The implementation of RequireCompleteType bool Sema::RequireCompleteTypeImpl(SourceLocation Loc, QualType T, TypeDiagnoser *Diagnoser) { // FIXME: Add this assertion to make sure we always get instantiation points. @@ -7750,7 +7750,7 @@ bool Sema::RequireCompleteType(SourceLocation Loc, QualType T, return RequireCompleteType(Loc, T, Diagnoser); } -/// \brief Get diagnostic %select index for tag kind for +/// Get diagnostic %select index for tag kind for /// literal type diagnostic message. /// WARNING: Indexes apply to particular diagnostics only! /// @@ -7764,7 +7764,7 @@ static unsigned getLiteralDiagFromTagKind(TagTypeKind Tag) { } } -/// @brief Ensure that the type T is a literal type. +/// Ensure that the type T is a literal type. /// /// This routine checks whether the type @p T is a literal type. If @p T is an /// incomplete type, an attempt is made to complete it. If @p T is a literal @@ -7863,7 +7863,7 @@ bool Sema::RequireLiteralType(SourceLocation Loc, QualType T, unsigned DiagID) { return RequireLiteralType(Loc, T, Diagnoser); } -/// \brief Retrieve a version of the type 'T' that is elaborated by Keyword +/// Retrieve a version of the type 'T' that is elaborated by Keyword /// and qualified by the nested-name-specifier contained in SS. QualType Sema::getElaboratedType(ElaboratedTypeKeyword Keyword, const CXXScopeSpec &SS, QualType T) { diff --git a/lib/Sema/TreeTransform.h b/lib/Sema/TreeTransform.h index ee38278b5a..938a966dbc 100644 --- a/lib/Sema/TreeTransform.h +++ b/lib/Sema/TreeTransform.h @@ -41,7 +41,7 @@ namespace clang { using namespace sema; -/// \brief A semantic tree transformation that allows one to transform one +/// A semantic tree transformation that allows one to transform one /// abstract syntax tree into another. /// /// A new tree transformation is defined by creating a new subclass \c X of @@ -94,7 +94,7 @@ using namespace sema; /// (\c getBaseLocation(), \c getBaseEntity()). template<typename Derived> class TreeTransform { - /// \brief Private RAII object that helps us forget and then re-remember + /// Private RAII object that helps us forget and then re-remember /// the template argument corresponding to a partially-substituted parameter /// pack. class ForgetPartiallySubstitutedPackRAII { @@ -114,19 +114,19 @@ class TreeTransform { protected: Sema &SemaRef; - /// \brief The set of local declarations that have been transformed, for + /// The set of local declarations that have been transformed, for /// cases where we are forced to build new declarations within the transformer /// rather than in the subclass (e.g., lambda closure types). llvm::DenseMap<Decl *, Decl *> TransformedLocalDecls; public: - /// \brief Initializes a new tree transformer. + /// Initializes a new tree transformer. TreeTransform(Sema &SemaRef) : SemaRef(SemaRef) { } - /// \brief Retrieves a reference to the derived class. + /// Retrieves a reference to the derived class. Derived &getDerived() { return static_cast<Derived&>(*this); } - /// \brief Retrieves a reference to the derived class. + /// Retrieves a reference to the derived class. const Derived &getDerived() const { return static_cast<const Derived&>(*this); } @@ -134,11 +134,11 @@ public: static inline ExprResult Owned(Expr *E) { return E; } static inline StmtResult Owned(Stmt *S) { return S; } - /// \brief Retrieves a reference to the semantic analysis object used for + /// Retrieves a reference to the semantic analysis object used for /// this tree transform. Sema &getSema() const { return SemaRef; } - /// \brief Whether the transformation should always rebuild AST nodes, even + /// Whether the transformation should always rebuild AST nodes, even /// if none of the children have changed. /// /// Subclasses may override this function to specify when the transformation @@ -149,7 +149,7 @@ public: /// statement node appears at most once in its containing declaration. bool AlwaysRebuild() { return SemaRef.ArgumentPackSubstitutionIndex != -1; } - /// \brief Returns the location of the entity being transformed, if that + /// Returns the location of the entity being transformed, if that /// information was not available elsewhere in the AST. /// /// By default, returns no source-location information. Subclasses can @@ -157,21 +157,21 @@ public: /// information. SourceLocation getBaseLocation() { return SourceLocation(); } - /// \brief Returns the name of the entity being transformed, if that + /// Returns the name of the entity being transformed, if that /// information was not available elsewhere in the AST. /// /// By default, returns an empty name. Subclasses can provide an alternative /// implementation with a more precise name. DeclarationName getBaseEntity() { return DeclarationName(); } - /// \brief Sets the "base" location and entity when that + /// Sets the "base" location and entity when that /// information is known based on another transformation. /// /// By default, the source location and entity are ignored. Subclasses can /// override this function to provide a customized implementation. void setBase(SourceLocation Loc, DeclarationName Entity) { } - /// \brief RAII object that temporarily sets the base location and entity + /// RAII object that temporarily sets the base location and entity /// used for reporting diagnostics in types. class TemporaryBase { TreeTransform &Self; @@ -193,7 +193,7 @@ public: } }; - /// \brief Determine whether the given type \p T has already been + /// Determine whether the given type \p T has already been /// transformed. /// /// Subclasses can provide an alternative implementation of this routine @@ -204,7 +204,7 @@ public: return T.isNull(); } - /// \brief Determine whether the given call argument should be dropped, e.g., + /// Determine whether the given call argument should be dropped, e.g., /// because it is a default argument. /// /// Subclasses can provide an alternative implementation of this routine to @@ -214,7 +214,7 @@ public: return E->isDefaultArgument(); } - /// \brief Determine whether we should expand a pack expansion with the + /// Determine whether we should expand a pack expansion with the /// given set of parameter packs into separate arguments by repeatedly /// transforming the pattern. /// @@ -261,7 +261,7 @@ public: return false; } - /// \brief "Forget" about the partially-substituted pack template argument, + /// "Forget" about the partially-substituted pack template argument, /// when performing an instantiation that must preserve the parameter pack /// use. /// @@ -270,18 +270,18 @@ public: return TemplateArgument(); } - /// \brief "Remember" the partially-substituted pack template argument + /// "Remember" the partially-substituted pack template argument /// after performing an instantiation that must preserve the parameter pack /// use. /// /// This routine is meant to be overridden by the template instantiator. void RememberPartiallySubstitutedPack(TemplateArgument Arg) { } - /// \brief Note to the derived class when a function parameter pack is + /// Note to the derived class when a function parameter pack is /// being expanded. void ExpandingFunctionParameterPack(ParmVarDecl *Pack) { } - /// \brief Transforms the given type into another type. + /// Transforms the given type into another type. /// /// By default, this routine transforms a type by creating a /// TypeSourceInfo for it and delegating to the appropriate @@ -292,7 +292,7 @@ public: /// \returns the transformed type. QualType TransformType(QualType T); - /// \brief Transforms the given type-with-location into a new + /// Transforms the given type-with-location into a new /// type-with-location. /// /// By default, this routine transforms a type by delegating to the @@ -302,13 +302,13 @@ public: /// to alter the transformation. TypeSourceInfo *TransformType(TypeSourceInfo *DI); - /// \brief Transform the given type-with-location into a new + /// Transform the given type-with-location into a new /// type, collecting location information in the given builder /// as necessary. /// QualType TransformType(TypeLocBuilder &TLB, TypeLoc TL); - /// \brief Transform a type that is permitted to produce a + /// Transform a type that is permitted to produce a /// DeducedTemplateSpecializationType. /// /// This is used in the (relatively rare) contexts where it is acceptable @@ -319,7 +319,7 @@ public: TypeSourceInfo *TransformTypeWithDeducedTST(TypeSourceInfo *DI); /// @} - /// \brief Transform the given statement. + /// Transform the given statement. /// /// By default, this routine transforms a statement by delegating to the /// appropriate TransformXXXStmt function to transform a specific kind of @@ -330,7 +330,7 @@ public: /// \returns the transformed statement. StmtResult TransformStmt(Stmt *S); - /// \brief Transform the given statement. + /// Transform the given statement. /// /// By default, this routine transforms a statement by delegating to the /// appropriate TransformOMPXXXClause function to transform a specific kind @@ -340,7 +340,7 @@ public: /// \returns the transformed OpenMP clause. OMPClause *TransformOMPClause(OMPClause *S); - /// \brief Transform the given attribute. + /// Transform the given attribute. /// /// By default, this routine transforms a statement by delegating to the /// appropriate TransformXXXAttr function to transform a specific kind @@ -350,7 +350,7 @@ public: /// \returns the transformed attribute const Attr *TransformAttr(const Attr *S); -/// \brief Transform the specified attribute. +/// Transform the specified attribute. /// /// Subclasses should override the transformation of attributes with a pragma /// spelling to transform expressions stored within the attribute. @@ -361,7 +361,7 @@ public: const X##Attr *Transform##X##Attr(const X##Attr *R) { return R; } #include "clang/Basic/AttrList.inc" - /// \brief Transform the given expression. + /// Transform the given expression. /// /// By default, this routine transforms an expression by delegating to the /// appropriate TransformXXXExpr function to build a new expression. @@ -371,7 +371,7 @@ public: /// \returns the transformed expression. ExprResult TransformExpr(Expr *E); - /// \brief Transform the given initializer. + /// Transform the given initializer. /// /// By default, this routine transforms an initializer by stripping off the /// semantic nodes added by initialization, then passing the result to @@ -380,7 +380,7 @@ public: /// \returns the transformed initializer. ExprResult TransformInitializer(Expr *Init, bool NotCopyInit); - /// \brief Transform the given list of expressions. + /// Transform the given list of expressions. /// /// This routine transforms a list of expressions by invoking /// \c TransformExpr() for each subexpression. However, it also provides @@ -407,7 +407,7 @@ public: SmallVectorImpl<Expr *> &Outputs, bool *ArgChanged = nullptr); - /// \brief Transform the given declaration, which is referenced from a type + /// Transform the given declaration, which is referenced from a type /// or expression. /// /// By default, acts as the identity function on declarations, unless the @@ -422,7 +422,7 @@ public: return D; } - /// \brief Transform the specified condition. + /// Transform the specified condition. /// /// By default, this transforms the variable and expression and rebuilds /// the condition. @@ -430,14 +430,14 @@ public: Expr *Expr, Sema::ConditionKind Kind); - /// \brief Transform the attributes associated with the given declaration and + /// Transform the attributes associated with the given declaration and /// place them on the new declaration. /// /// By default, this operation does nothing. Subclasses may override this /// behavior to transform attributes. void transformAttrs(Decl *Old, Decl *New) { } - /// \brief Note that a local declaration has been transformed by this + /// Note that a local declaration has been transformed by this /// transformer. /// /// Local declarations are typically transformed via a call to @@ -448,7 +448,7 @@ public: TransformedLocalDecls[Old] = New; } - /// \brief Transform the definition of the given declaration. + /// Transform the definition of the given declaration. /// /// By default, invokes TransformDecl() to transform the declaration. /// Subclasses may override this function to provide alternate behavior. @@ -456,7 +456,7 @@ public: return getDerived().TransformDecl(Loc, D); } - /// \brief Transform the given declaration, which was the first part of a + /// Transform the given declaration, which was the first part of a /// nested-name-specifier in a member access expression. /// /// This specific declaration transformation only applies to the first @@ -473,7 +473,7 @@ public: bool TransformOverloadExprDecls(OverloadExpr *Old, bool RequiresADL, LookupResult &R); - /// \brief Transform the given nested-name-specifier with source-location + /// Transform the given nested-name-specifier with source-location /// information. /// /// By default, transforms all of the types and declarations within the @@ -484,7 +484,7 @@ public: QualType ObjectType = QualType(), NamedDecl *FirstQualifierInScope = nullptr); - /// \brief Transform the given declaration name. + /// Transform the given declaration name. /// /// By default, transforms the types of conversion function, constructor, /// and destructor names and then (if needed) rebuilds the declaration name. @@ -493,7 +493,7 @@ public: DeclarationNameInfo TransformDeclarationNameInfo(const DeclarationNameInfo &NameInfo); - /// \brief Transform the given template name. + /// Transform the given template name. /// /// \param SS The nested-name-specifier that qualifies the template /// name. This nested-name-specifier must already have been transformed. @@ -520,7 +520,7 @@ public: NamedDecl *FirstQualifierInScope = nullptr, bool AllowInjectedClassName = false); - /// \brief Transform the given template argument. + /// Transform the given template argument. /// /// By default, this operation transforms the type, expression, or /// declaration stored within the template argument and constructs a @@ -532,7 +532,7 @@ public: TemplateArgumentLoc &Output, bool Uneval = false); - /// \brief Transform the given set of template arguments. + /// Transform the given set of template arguments. /// /// By default, this operation transforms all of the template arguments /// in the input set using \c TransformTemplateArgument(), and appends @@ -558,7 +558,7 @@ public: Uneval); } - /// \brief Transform the given set of template arguments. + /// Transform the given set of template arguments. /// /// By default, this operation transforms all of the template arguments /// in the input set using \c TransformTemplateArgument(), and appends @@ -578,11 +578,11 @@ public: TemplateArgumentListInfo &Outputs, bool Uneval = false); - /// \brief Fakes up a TemplateArgumentLoc for a given TemplateArgument. + /// Fakes up a TemplateArgumentLoc for a given TemplateArgument. void InventTemplateArgumentLoc(const TemplateArgument &Arg, TemplateArgumentLoc &ArgLoc); - /// \brief Fakes up a TypeSourceInfo for a type. + /// Fakes up a TypeSourceInfo for a type. TypeSourceInfo *InventTypeSourceInfo(QualType T) { return SemaRef.Context.getTrivialTypeSourceInfo(T, getDerived().getBaseLocation()); @@ -622,7 +622,7 @@ public: TypeLocBuilder &TLB, DependentTemplateSpecializationTypeLoc TL, NestedNameSpecifierLoc QualifierLoc); - /// \brief Transforms the parameters of a function type into the + /// Transforms the parameters of a function type into the /// given vectors. /// /// The result vectors should be kept in sync; null entries in the @@ -636,7 +636,7 @@ public: SmallVectorImpl<QualType> &PTypes, SmallVectorImpl<ParmVarDecl *> *PVars, Sema::ExtParameterInfoBuilder &PInfos); - /// \brief Transforms a single function-type parameter. Return null + /// Transforms a single function-type parameter. Return null /// on error. /// /// \param indexAdjustment - A number to add to the parameter's @@ -684,7 +684,7 @@ public: OMPClause *Transform ## Class(Class *S); #include "clang/Basic/OpenMPKinds.def" - /// \brief Build a new qualified type given its unqualified type and type + /// Build a new qualified type given its unqualified type and type /// qualifiers. /// /// By default, this routine adds type qualifiers only to types that can @@ -694,19 +694,19 @@ public: QualType RebuildQualifiedType(QualType T, SourceLocation Loc, Qualifiers Quals); - /// \brief Build a new pointer type given its pointee type. + /// Build a new pointer type given its pointee type. /// /// By default, performs semantic analysis when building the pointer type. /// Subclasses may override this routine to provide different behavior. QualType RebuildPointerType(QualType PointeeType, SourceLocation Sigil); - /// \brief Build a new block pointer type given its pointee type. + /// Build a new block pointer type given its pointee type. /// /// By default, performs semantic analysis when building the block pointer /// type. Subclasses may override this routine to provide different behavior. QualType RebuildBlockPointerType(QualType PointeeType, SourceLocation Sigil); - /// \brief Build a new reference type given the type it references. + /// Build a new reference type given the type it references. /// /// By default, performs semantic analysis when building the /// reference type. Subclasses may override this routine to provide @@ -718,7 +718,7 @@ public: bool LValue, SourceLocation Sigil); - /// \brief Build a new member pointer type given the pointee type and the + /// Build a new member pointer type given the pointee type and the /// class type it refers into. /// /// By default, performs semantic analysis when building the member pointer @@ -732,7 +732,7 @@ public: ArrayRef<SourceLocation> ProtocolLocs, SourceLocation ProtocolRAngleLoc); - /// \brief Build an Objective-C object type. + /// Build an Objective-C object type. /// /// By default, performs semantic analysis when building the object type. /// Subclasses may override this routine to provide different behavior. @@ -746,14 +746,14 @@ public: ArrayRef<SourceLocation> ProtocolLocs, SourceLocation ProtocolRAngleLoc); - /// \brief Build a new Objective-C object pointer type given the pointee type. + /// Build a new Objective-C object pointer type given the pointee type. /// /// By default, directly builds the pointer type, with no additional semantic /// analysis. QualType RebuildObjCObjectPointerType(QualType PointeeType, SourceLocation Star); - /// \brief Build a new array type given the element type, size + /// Build a new array type given the element type, size /// modifier, size of the array (if known), size expression, and index type /// qualifiers. /// @@ -767,7 +767,7 @@ public: unsigned IndexTypeQuals, SourceRange BracketsRange); - /// \brief Build a new constant array type given the element type, size + /// Build a new constant array type given the element type, size /// modifier, (known) size of the array, and index type qualifiers. /// /// By default, performs semantic analysis when building the array type. @@ -778,7 +778,7 @@ public: unsigned IndexTypeQuals, SourceRange BracketsRange); - /// \brief Build a new incomplete array type given the element type, size + /// Build a new incomplete array type given the element type, size /// modifier, and index type qualifiers. /// /// By default, performs semantic analysis when building the array type. @@ -788,7 +788,7 @@ public: unsigned IndexTypeQuals, SourceRange BracketsRange); - /// \brief Build a new variable-length array type given the element type, + /// Build a new variable-length array type given the element type, /// size modifier, size expression, and index type qualifiers. /// /// By default, performs semantic analysis when building the array type. @@ -799,7 +799,7 @@ public: unsigned IndexTypeQuals, SourceRange BracketsRange); - /// \brief Build a new dependent-sized array type given the element type, + /// Build a new dependent-sized array type given the element type, /// size modifier, size expression, and index type qualifiers. /// /// By default, performs semantic analysis when building the array type. @@ -810,7 +810,7 @@ public: unsigned IndexTypeQuals, SourceRange BracketsRange); - /// \brief Build a new vector type given the element type and + /// Build a new vector type given the element type and /// number of elements. /// /// By default, performs semantic analysis when building the vector type. @@ -818,7 +818,7 @@ public: QualType RebuildVectorType(QualType ElementType, unsigned NumElements, VectorType::VectorKind VecKind); - /// \brief Build a new extended vector type given the element type and + /// Build a new extended vector type given the element type and /// number of elements. /// /// By default, performs semantic analysis when building the vector type. @@ -826,7 +826,7 @@ public: QualType RebuildExtVectorType(QualType ElementType, unsigned NumElements, SourceLocation AttributeLoc); - /// \brief Build a new potentially dependently-sized extended vector type + /// Build a new potentially dependently-sized extended vector type /// given the element type and number of elements. /// /// By default, performs semantic analysis when building the vector type. @@ -835,7 +835,7 @@ public: Expr *SizeExpr, SourceLocation AttributeLoc); - /// \brief Build a new DependentAddressSpaceType or return the pointee + /// Build a new DependentAddressSpaceType or return the pointee /// type variable with the correct address space (retrieved from /// AddrSpaceExpr) applied to it. The former will be returned in cases /// where the address space remains dependent. @@ -847,7 +847,7 @@ public: Expr *AddrSpaceExpr, SourceLocation AttributeLoc); - /// \brief Build a new function type. + /// Build a new function type. /// /// By default, performs semantic analysis when building the function type. /// Subclasses may override this routine to provide different behavior. @@ -855,51 +855,51 @@ public: MutableArrayRef<QualType> ParamTypes, const FunctionProtoType::ExtProtoInfo &EPI); - /// \brief Build a new unprototyped function type. + /// Build a new unprototyped function type. QualType RebuildFunctionNoProtoType(QualType ResultType); - /// \brief Rebuild an unresolved typename type, given the decl that + /// Rebuild an unresolved typename type, given the decl that /// the UnresolvedUsingTypenameDecl was transformed to. QualType RebuildUnresolvedUsingType(SourceLocation NameLoc, Decl *D); - /// \brief Build a new typedef type. + /// Build a new typedef type. QualType RebuildTypedefType(TypedefNameDecl *Typedef) { return SemaRef.Context.getTypeDeclType(Typedef); } - /// \brief Build a new class/struct/union type. + /// Build a new class/struct/union type. QualType RebuildRecordType(RecordDecl *Record) { return SemaRef.Context.getTypeDeclType(Record); } - /// \brief Build a new Enum type. + /// Build a new Enum type. QualType RebuildEnumType(EnumDecl *Enum) { return SemaRef.Context.getTypeDeclType(Enum); } - /// \brief Build a new typeof(expr) type. + /// Build a new typeof(expr) type. /// /// By default, performs semantic analysis when building the typeof type. /// Subclasses may override this routine to provide different behavior. QualType RebuildTypeOfExprType(Expr *Underlying, SourceLocation Loc); - /// \brief Build a new typeof(type) type. + /// Build a new typeof(type) type. /// /// By default, builds a new TypeOfType with the given underlying type. QualType RebuildTypeOfType(QualType Underlying); - /// \brief Build a new unary transform type. + /// Build a new unary transform type. QualType RebuildUnaryTransformType(QualType BaseType, UnaryTransformType::UTTKind UKind, SourceLocation Loc); - /// \brief Build a new C++11 decltype type. + /// Build a new C++11 decltype type. /// /// By default, performs semantic analysis when building the decltype type. /// Subclasses may override this routine to provide different behavior. QualType RebuildDecltypeType(Expr *Underlying, SourceLocation Loc); - /// \brief Build a new C++11 auto type. + /// Build a new C++11 auto type. /// /// By default, builds a new AutoType with the given deduced type. QualType RebuildAutoType(QualType Deduced, AutoTypeKeyword Keyword) { @@ -918,7 +918,7 @@ public: Template, Deduced, /*IsDependent*/ false); } - /// \brief Build a new template specialization type. + /// Build a new template specialization type. /// /// By default, performs semantic analysis when building the template /// specialization type. Subclasses may override this routine to provide @@ -927,7 +927,7 @@ public: SourceLocation TemplateLoc, TemplateArgumentListInfo &Args); - /// \brief Build a new parenthesized type. + /// Build a new parenthesized type. /// /// By default, builds a new ParenType type from the inner type. /// Subclasses may override this routine to provide different behavior. @@ -935,7 +935,7 @@ public: return SemaRef.BuildParenType(InnerType); } - /// \brief Build a new qualified name type. + /// Build a new qualified name type. /// /// By default, builds a new ElaboratedType type from the keyword, /// the nested-name-specifier and the named type. @@ -949,7 +949,7 @@ public: Named); } - /// \brief Build a new typename type that refers to a template-id. + /// Build a new typename type that refers to a template-id. /// /// By default, builds a new DependentNameType type from the /// nested-name-specifier and the given type. Subclasses may override @@ -993,7 +993,7 @@ public: T); } - /// \brief Build a new typename type that refers to an identifier. + /// Build a new typename type that refers to an identifier. /// /// By default, performs semantic analysis when building the typename type /// (or elaborated type). Subclasses may override this routine to provide @@ -1106,7 +1106,7 @@ public: T); } - /// \brief Build a new pack expansion type. + /// Build a new pack expansion type. /// /// By default, builds a new PackExpansionType type from the given pattern. /// Subclasses may override this routine to provide different behavior. @@ -1118,17 +1118,17 @@ public: NumExpansions); } - /// \brief Build a new atomic type given its value type. + /// Build a new atomic type given its value type. /// /// By default, performs semantic analysis when building the atomic type. /// Subclasses may override this routine to provide different behavior. QualType RebuildAtomicType(QualType ValueType, SourceLocation KWLoc); - /// \brief Build a new pipe type given its value type. + /// Build a new pipe type given its value type. QualType RebuildPipeType(QualType ValueType, SourceLocation KWLoc, bool isReadPipe); - /// \brief Build a new template name given a nested name specifier, a flag + /// Build a new template name given a nested name specifier, a flag /// indicating whether the "template" keyword was provided, and the template /// that the template name refers to. /// @@ -1138,7 +1138,7 @@ public: bool TemplateKW, TemplateDecl *Template); - /// \brief Build a new template name given a nested name specifier and the + /// Build a new template name given a nested name specifier and the /// name that is referred to as a template. /// /// By default, performs semantic analysis to determine whether the name can @@ -1152,7 +1152,7 @@ public: NamedDecl *FirstQualifierInScope, bool AllowInjectedClassName); - /// \brief Build a new template name given a nested name specifier and the + /// Build a new template name given a nested name specifier and the /// overloaded operator name that is referred to as a template. /// /// By default, performs semantic analysis to determine whether the name can @@ -1165,7 +1165,7 @@ public: QualType ObjectType, bool AllowInjectedClassName); - /// \brief Build a new template name given a template template parameter pack + /// Build a new template name given a template template parameter pack /// and the /// /// By default, performs semantic analysis to determine whether the name can @@ -1177,7 +1177,7 @@ public: return getSema().Context.getSubstTemplateTemplateParmPack(Param, ArgPack); } - /// \brief Build a new compound statement. + /// Build a new compound statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1189,7 +1189,7 @@ public: IsStmtExpr); } - /// \brief Build a new case statement. + /// Build a new case statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1202,7 +1202,7 @@ public: ColonLoc); } - /// \brief Attach the body to a new case statement. + /// Attach the body to a new case statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1211,7 +1211,7 @@ public: return S; } - /// \brief Build a new default statement. + /// Build a new default statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1222,7 +1222,7 @@ public: /*CurScope=*/nullptr); } - /// \brief Build a new label statement. + /// Build a new label statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1231,7 +1231,7 @@ public: return SemaRef.ActOnLabelStmt(IdentLoc, L, ColonLoc, SubStmt); } - /// \brief Build a new label statement. + /// Build a new label statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1241,7 +1241,7 @@ public: return SemaRef.ActOnAttributedStmt(AttrLoc, Attrs, SubStmt); } - /// \brief Build a new "if" statement. + /// Build a new "if" statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1252,7 +1252,7 @@ public: ElseLoc, Else); } - /// \brief Start building a new switch statement. + /// Start building a new switch statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1261,7 +1261,7 @@ public: return getSema().ActOnStartOfSwitchStmt(SwitchLoc, Init, Cond); } - /// \brief Attach the body to the switch statement. + /// Attach the body to the switch statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1270,7 +1270,7 @@ public: return getSema().ActOnFinishSwitchStmt(SwitchLoc, Switch, Body); } - /// \brief Build a new while statement. + /// Build a new while statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1279,7 +1279,7 @@ public: return getSema().ActOnWhileStmt(WhileLoc, Cond, Body); } - /// \brief Build a new do-while statement. + /// Build a new do-while statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1290,7 +1290,7 @@ public: Cond, RParenLoc); } - /// \brief Build a new for statement. + /// Build a new for statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1302,7 +1302,7 @@ public: Inc, RParenLoc, Body); } - /// \brief Build a new goto statement. + /// Build a new goto statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1311,7 +1311,7 @@ public: return getSema().ActOnGotoStmt(GotoLoc, LabelLoc, Label); } - /// \brief Build a new indirect goto statement. + /// Build a new indirect goto statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1321,7 +1321,7 @@ public: return getSema().ActOnIndirectGotoStmt(GotoLoc, StarLoc, Target); } - /// \brief Build a new return statement. + /// Build a new return statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1329,7 +1329,7 @@ public: return getSema().BuildReturnStmt(ReturnLoc, Result); } - /// \brief Build a new declaration statement. + /// Build a new declaration statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1339,7 +1339,7 @@ public: return getSema().ActOnDeclStmt(DG, StartLoc, EndLoc); } - /// \brief Build a new inline asm statement. + /// Build a new inline asm statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1354,7 +1354,7 @@ public: AsmString, Clobbers, RParenLoc); } - /// \brief Build a new MS style inline asm statement. + /// Build a new MS style inline asm statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1371,7 +1371,7 @@ public: Constraints, Clobbers, Exprs, EndLoc); } - /// \brief Build a new co_return statement. + /// Build a new co_return statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1380,7 +1380,7 @@ public: return getSema().BuildCoreturnStmt(CoreturnLoc, Result, IsImplicit); } - /// \brief Build a new co_await expression. + /// Build a new co_await expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -1389,7 +1389,7 @@ public: return getSema().BuildResolvedCoawaitExpr(CoawaitLoc, Result, IsImplicit); } - /// \brief Build a new co_await expression. + /// Build a new co_await expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -1399,7 +1399,7 @@ public: return getSema().BuildUnresolvedCoawaitExpr(CoawaitLoc, Result, Lookup); } - /// \brief Build a new co_yield expression. + /// Build a new co_yield expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -1411,7 +1411,7 @@ public: return getSema().BuildCoroutineBodyStmt(Args); } - /// \brief Build a new Objective-C \@try statement. + /// Build a new Objective-C \@try statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1423,7 +1423,7 @@ public: Finally); } - /// \brief Rebuild an Objective-C exception declaration. + /// Rebuild an Objective-C exception declaration. /// /// By default, performs semantic analysis to build the new declaration. /// Subclasses may override this routine to provide different behavior. @@ -1435,7 +1435,7 @@ public: ExceptionDecl->getIdentifier()); } - /// \brief Build a new Objective-C \@catch statement. + /// Build a new Objective-C \@catch statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1447,7 +1447,7 @@ public: Var, Body); } - /// \brief Build a new Objective-C \@finally statement. + /// Build a new Objective-C \@finally statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1456,7 +1456,7 @@ public: return getSema().ActOnObjCAtFinallyStmt(AtLoc, Body); } - /// \brief Build a new Objective-C \@throw statement. + /// Build a new Objective-C \@throw statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1465,7 +1465,7 @@ public: return getSema().BuildObjCAtThrowStmt(AtLoc, Operand); } - /// \brief Build a new OpenMP executable directive. + /// Build a new OpenMP executable directive. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1479,7 +1479,7 @@ public: Kind, DirName, CancelRegion, Clauses, AStmt, StartLoc, EndLoc); } - /// \brief Build a new OpenMP 'if' clause. + /// Build a new OpenMP 'if' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1494,7 +1494,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'final' clause. + /// Build a new OpenMP 'final' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1505,7 +1505,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'num_threads' clause. + /// Build a new OpenMP 'num_threads' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1517,7 +1517,7 @@ public: LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'safelen' clause. + /// Build a new OpenMP 'safelen' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1527,7 +1527,7 @@ public: return getSema().ActOnOpenMPSafelenClause(Len, StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'simdlen' clause. + /// Build a new OpenMP 'simdlen' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1537,7 +1537,7 @@ public: return getSema().ActOnOpenMPSimdlenClause(Len, StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'collapse' clause. + /// Build a new OpenMP 'collapse' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1548,7 +1548,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'default' clause. + /// Build a new OpenMP 'default' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1561,7 +1561,7 @@ public: StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'proc_bind' clause. + /// Build a new OpenMP 'proc_bind' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1574,7 +1574,7 @@ public: StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'schedule' clause. + /// Build a new OpenMP 'schedule' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1588,7 +1588,7 @@ public: CommaLoc, EndLoc); } - /// \brief Build a new OpenMP 'ordered' clause. + /// Build a new OpenMP 'ordered' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1598,7 +1598,7 @@ public: return getSema().ActOnOpenMPOrderedClause(StartLoc, EndLoc, LParenLoc, Num); } - /// \brief Build a new OpenMP 'private' clause. + /// Build a new OpenMP 'private' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1610,7 +1610,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'firstprivate' clause. + /// Build a new OpenMP 'firstprivate' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1622,7 +1622,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'lastprivate' clause. + /// Build a new OpenMP 'lastprivate' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1634,7 +1634,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'shared' clause. + /// Build a new OpenMP 'shared' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1646,7 +1646,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'reduction' clause. + /// Build a new OpenMP 'reduction' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1694,7 +1694,7 @@ public: ReductionId, UnresolvedReductions); } - /// \brief Build a new OpenMP 'linear' clause. + /// Build a new OpenMP 'linear' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1710,7 +1710,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'aligned' clause. + /// Build a new OpenMP 'aligned' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1723,7 +1723,7 @@ public: LParenLoc, ColonLoc, EndLoc); } - /// \brief Build a new OpenMP 'copyin' clause. + /// Build a new OpenMP 'copyin' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1735,7 +1735,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'copyprivate' clause. + /// Build a new OpenMP 'copyprivate' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1747,7 +1747,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'flush' pseudo clause. + /// Build a new OpenMP 'flush' pseudo clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1759,7 +1759,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'depend' pseudo clause. + /// Build a new OpenMP 'depend' pseudo clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1772,7 +1772,7 @@ public: StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'device' clause. + /// Build a new OpenMP 'device' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1783,7 +1783,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'map' clause. + /// Build a new OpenMP 'map' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1798,7 +1798,7 @@ public: VarList, StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'num_teams' clause. + /// Build a new OpenMP 'num_teams' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1809,7 +1809,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'thread_limit' clause. + /// Build a new OpenMP 'thread_limit' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1821,7 +1821,7 @@ public: LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'priority' clause. + /// Build a new OpenMP 'priority' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1832,7 +1832,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'grainsize' clause. + /// Build a new OpenMP 'grainsize' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1843,7 +1843,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'num_tasks' clause. + /// Build a new OpenMP 'num_tasks' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1854,7 +1854,7 @@ public: EndLoc); } - /// \brief Build a new OpenMP 'hint' clause. + /// Build a new OpenMP 'hint' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1864,7 +1864,7 @@ public: return getSema().ActOnOpenMPHintClause(Hint, StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'dist_schedule' clause. + /// Build a new OpenMP 'dist_schedule' clause. /// /// By default, performs semantic analysis to build the new OpenMP clause. /// Subclasses may override this routine to provide different behavior. @@ -1877,7 +1877,7 @@ public: Kind, ChunkSize, StartLoc, LParenLoc, KindLoc, CommaLoc, EndLoc); } - /// \brief Build a new OpenMP 'to' clause. + /// Build a new OpenMP 'to' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1888,7 +1888,7 @@ public: return getSema().ActOnOpenMPToClause(VarList, StartLoc, LParenLoc, EndLoc); } - /// \brief Build a new OpenMP 'from' clause. + /// Build a new OpenMP 'from' clause. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1924,7 +1924,7 @@ public: EndLoc); } - /// \brief Rebuild the operand to an Objective-C \@synchronized statement. + /// Rebuild the operand to an Objective-C \@synchronized statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1933,7 +1933,7 @@ public: return getSema().ActOnObjCAtSynchronizedOperand(atLoc, object); } - /// \brief Build a new Objective-C \@synchronized statement. + /// Build a new Objective-C \@synchronized statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1942,7 +1942,7 @@ public: return getSema().ActOnObjCAtSynchronizedStmt(AtLoc, Object, Body); } - /// \brief Build a new Objective-C \@autoreleasepool statement. + /// Build a new Objective-C \@autoreleasepool statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1951,7 +1951,7 @@ public: return getSema().ActOnObjCAutoreleasePoolStmt(AtLoc, Body); } - /// \brief Build a new Objective-C fast enumeration statement. + /// Build a new Objective-C fast enumeration statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1970,7 +1970,7 @@ public: return getSema().FinishObjCForCollectionStmt(ForEachStmt.get(), Body); } - /// \brief Build a new C++ exception declaration. + /// Build a new C++ exception declaration. /// /// By default, performs semantic analysis to build the new decaration. /// Subclasses may override this routine to provide different behavior. @@ -1986,7 +1986,7 @@ public: return Var; } - /// \brief Build a new C++ catch statement. + /// Build a new C++ catch statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -1997,7 +1997,7 @@ public: Handler)); } - /// \brief Build a new C++ try statement. + /// Build a new C++ try statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -2006,7 +2006,7 @@ public: return getSema().ActOnCXXTryBlock(TryLoc, TryBlock, Handlers); } - /// \brief Build a new C++0x range-based for statement. + /// Build a new C++0x range-based for statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -2040,7 +2040,7 @@ public: Sema::BFRK_Rebuild); } - /// \brief Build a new C++0x range-based for statement. + /// Build a new C++0x range-based for statement. /// /// By default, performs semantic analysis to build the new statement. /// Subclasses may override this routine to provide different behavior. @@ -2053,7 +2053,7 @@ public: QualifierLoc, NameInfo, Nested); } - /// \brief Attach body to a C++0x range-based for statement. + /// Attach body to a C++0x range-based for statement. /// /// By default, performs semantic analysis to finish the new statement. /// Subclasses may override this routine to provide different behavior. @@ -2075,7 +2075,7 @@ public: return SEHFinallyStmt::Create(getSema().getASTContext(), Loc, Block); } - /// \brief Build a new predefined expression. + /// Build a new predefined expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2084,7 +2084,7 @@ public: return getSema().BuildPredefinedExpr(Loc, IT); } - /// \brief Build a new expression that references a declaration. + /// Build a new expression that references a declaration. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2095,7 +2095,7 @@ public: } - /// \brief Build a new expression that references a declaration. + /// Build a new expression that references a declaration. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2111,7 +2111,7 @@ public: return getSema().BuildDeclarationNameExpr(SS, NameInfo, VD); } - /// \brief Build a new expression in parentheses. + /// Build a new expression in parentheses. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2120,7 +2120,7 @@ public: return getSema().ActOnParenExpr(LParen, RParen, SubExpr); } - /// \brief Build a new pseudo-destructor expression. + /// Build a new pseudo-destructor expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2133,7 +2133,7 @@ public: SourceLocation TildeLoc, PseudoDestructorTypeStorage Destroyed); - /// \brief Build a new unary operator expression. + /// Build a new unary operator expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2143,7 +2143,7 @@ public: return getSema().BuildUnaryOp(/*Scope=*/nullptr, OpLoc, Opc, SubExpr); } - /// \brief Build a new builtin offsetof expression. + /// Build a new builtin offsetof expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2155,7 +2155,7 @@ public: RParenLoc); } - /// \brief Build a new sizeof, alignof or vec_step expression with a + /// Build a new sizeof, alignof or vec_step expression with a /// type argument. /// /// By default, performs semantic analysis to build the new expression. @@ -2167,7 +2167,7 @@ public: return getSema().CreateUnaryExprOrTypeTraitExpr(TInfo, OpLoc, ExprKind, R); } - /// \brief Build a new sizeof, alignof or vec step expression with an + /// Build a new sizeof, alignof or vec step expression with an /// expression argument. /// /// By default, performs semantic analysis to build the new expression. @@ -2183,7 +2183,7 @@ public: return Result; } - /// \brief Build a new array subscript expression. + /// Build a new array subscript expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2196,7 +2196,7 @@ public: RBracketLoc); } - /// \brief Build a new array section expression. + /// Build a new array section expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2208,7 +2208,7 @@ public: ColonLoc, Length, RBracketLoc); } - /// \brief Build a new call expression. + /// Build a new call expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2220,7 +2220,7 @@ public: Args, RParenLoc, ExecConfig); } - /// \brief Build a new member access expression. + /// Build a new member access expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2278,7 +2278,7 @@ public: /*S*/nullptr); } - /// \brief Build a new binary operator expression. + /// Build a new binary operator expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2288,7 +2288,7 @@ public: return getSema().BuildBinOp(/*Scope=*/nullptr, OpLoc, Opc, LHS, RHS); } - /// \brief Build a new conditional operator expression. + /// Build a new conditional operator expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2301,7 +2301,7 @@ public: LHS, RHS); } - /// \brief Build a new C-style cast expression. + /// Build a new C-style cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2313,7 +2313,7 @@ public: SubExpr); } - /// \brief Build a new compound literal expression. + /// Build a new compound literal expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2325,7 +2325,7 @@ public: Init); } - /// \brief Build a new extended vector element access expression. + /// Build a new extended vector element access expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2345,7 +2345,7 @@ public: /*S*/ nullptr); } - /// \brief Build a new initializer list expression. + /// Build a new initializer list expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2355,7 +2355,7 @@ public: return SemaRef.ActOnInitList(LBraceLoc, Inits, RBraceLoc); } - /// \brief Build a new designated initializer expression. + /// Build a new designated initializer expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2373,7 +2373,7 @@ public: return Result; } - /// \brief Build a new value-initialized expression. + /// Build a new value-initialized expression. /// /// By default, builds the implicit value initialization without performing /// any semantic analysis. Subclasses may override this routine to provide @@ -2382,7 +2382,7 @@ public: return new (SemaRef.Context) ImplicitValueInitExpr(T); } - /// \brief Build a new \c va_arg expression. + /// Build a new \c va_arg expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2394,7 +2394,7 @@ public: RParenLoc); } - /// \brief Build a new expression list in parentheses. + /// Build a new expression list in parentheses. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2404,7 +2404,7 @@ public: return getSema().ActOnParenListExpr(LParenLoc, RParenLoc, SubExprs); } - /// \brief Build a new address-of-label expression. + /// Build a new address-of-label expression. /// /// By default, performs semantic analysis, using the name of the label /// rather than attempting to map the label statement itself. @@ -2414,7 +2414,7 @@ public: return getSema().ActOnAddrLabel(AmpAmpLoc, LabelLoc, Label); } - /// \brief Build a new GNU statement expression. + /// Build a new GNU statement expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2424,7 +2424,7 @@ public: return getSema().ActOnStmtExpr(LParenLoc, SubStmt, RParenLoc); } - /// \brief Build a new __builtin_choose_expr expression. + /// Build a new __builtin_choose_expr expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2436,7 +2436,7 @@ public: RParenLoc); } - /// \brief Build a new generic selection expression. + /// Build a new generic selection expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2450,7 +2450,7 @@ public: ControllingExpr, Types, Exprs); } - /// \brief Build a new overloaded operator call expression. + /// Build a new overloaded operator call expression. /// /// By default, performs semantic analysis to build the new expression. /// The semantic analysis provides the behavior of template instantiation, @@ -2464,7 +2464,7 @@ public: Expr *First, Expr *Second); - /// \brief Build a new C++ "named" cast expression, such as static_cast or + /// Build a new C++ "named" cast expression, such as static_cast or /// reinterpret_cast. /// /// By default, this routine dispatches to one of the more-specific routines @@ -2505,7 +2505,7 @@ public: } } - /// \brief Build a new C++ static_cast expression. + /// Build a new C++ static_cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2522,7 +2522,7 @@ public: SourceRange(LParenLoc, RParenLoc)); } - /// \brief Build a new C++ dynamic_cast expression. + /// Build a new C++ dynamic_cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2539,7 +2539,7 @@ public: SourceRange(LParenLoc, RParenLoc)); } - /// \brief Build a new C++ reinterpret_cast expression. + /// Build a new C++ reinterpret_cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2556,7 +2556,7 @@ public: SourceRange(LParenLoc, RParenLoc)); } - /// \brief Build a new C++ const_cast expression. + /// Build a new C++ const_cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2573,7 +2573,7 @@ public: SourceRange(LParenLoc, RParenLoc)); } - /// \brief Build a new C++ functional-style cast expression. + /// Build a new C++ functional-style cast expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2587,7 +2587,7 @@ public: ListInitialization); } - /// \brief Build a new C++ typeid(type) expression. + /// Build a new C++ typeid(type) expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2600,7 +2600,7 @@ public: } - /// \brief Build a new C++ typeid(expr) expression. + /// Build a new C++ typeid(expr) expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2612,7 +2612,7 @@ public: RParenLoc); } - /// \brief Build a new C++ __uuidof(type) expression. + /// Build a new C++ __uuidof(type) expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2624,7 +2624,7 @@ public: RParenLoc); } - /// \brief Build a new C++ __uuidof(expr) expression. + /// Build a new C++ __uuidof(expr) expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2636,7 +2636,7 @@ public: RParenLoc); } - /// \brief Build a new C++ "this" expression. + /// Build a new C++ "this" expression. /// /// By default, builds a new "this" expression without performing any /// semantic analysis. Subclasses may override this routine to provide @@ -2648,7 +2648,7 @@ public: return new (getSema().Context) CXXThisExpr(ThisLoc, ThisType, isImplicit); } - /// \brief Build a new C++ throw expression. + /// Build a new C++ throw expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2657,7 +2657,7 @@ public: return getSema().BuildCXXThrow(ThrowLoc, Sub, IsThrownVariableInScope); } - /// \brief Build a new C++ default-argument expression. + /// Build a new C++ default-argument expression. /// /// By default, builds a new default-argument expression, which does not /// require any semantic analysis. Subclasses may override this routine to @@ -2667,7 +2667,7 @@ public: return CXXDefaultArgExpr::Create(getSema().Context, Loc, Param); } - /// \brief Build a new C++11 default-initialization expression. + /// Build a new C++11 default-initialization expression. /// /// By default, builds a new default field initialization expression, which /// does not require any semantic analysis. Subclasses may override this @@ -2677,7 +2677,7 @@ public: return CXXDefaultInitExpr::Create(getSema().Context, Loc, Field); } - /// \brief Build a new C++ zero-initialization expression. + /// Build a new C++ zero-initialization expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2688,7 +2688,7 @@ public: TSInfo, LParenLoc, None, RParenLoc, /*ListInitialization=*/false); } - /// \brief Build a new C++ "new" expression. + /// Build a new C++ "new" expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2715,7 +2715,7 @@ public: Initializer); } - /// \brief Build a new C++ "delete" expression. + /// Build a new C++ "delete" expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2727,7 +2727,7 @@ public: Operand); } - /// \brief Build a new type trait expression. + /// Build a new type trait expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2738,7 +2738,7 @@ public: return getSema().BuildTypeTrait(Trait, StartLoc, Args, RParenLoc); } - /// \brief Build a new array type trait expression. + /// Build a new array type trait expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2750,7 +2750,7 @@ public: return getSema().BuildArrayTypeTrait(Trait, StartLoc, TSInfo, DimExpr, RParenLoc); } - /// \brief Build a new expression trait expression. + /// Build a new expression trait expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2761,7 +2761,7 @@ public: return getSema().BuildExpressionTrait(Trait, StartLoc, Queried, RParenLoc); } - /// \brief Build a new (previously unresolved) declaration reference + /// Build a new (previously unresolved) declaration reference /// expression. /// /// By default, performs semantic analysis to build the new expression. @@ -2784,7 +2784,7 @@ public: SS, NameInfo, IsAddressOfOperand, /*S*/nullptr, RecoveryTSI); } - /// \brief Build a new template-id expression. + /// Build a new template-id expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2797,7 +2797,7 @@ public: TemplateArgs); } - /// \brief Build a new object-construction expression. + /// Build a new object-construction expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2827,7 +2827,7 @@ public: ParenRange); } - /// \brief Build a new implicit construction via inherited constructor + /// Build a new implicit construction via inherited constructor /// expression. ExprResult RebuildCXXInheritedCtorInitExpr(QualType T, SourceLocation Loc, CXXConstructorDecl *Constructor, @@ -2837,7 +2837,7 @@ public: Loc, T, Constructor, ConstructsVBase, InheritedFromVBase); } - /// \brief Build a new object-construction expression. + /// Build a new object-construction expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2850,7 +2850,7 @@ public: TSInfo, LParenOrBraceLoc, Args, RParenOrBraceLoc, ListInitialization); } - /// \brief Build a new object-construction expression. + /// Build a new object-construction expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2863,7 +2863,7 @@ public: RParenLoc, ListInitialization); } - /// \brief Build a new member reference expression. + /// Build a new member reference expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2887,7 +2887,7 @@ public: TemplateArgs, /*S*/nullptr); } - /// \brief Build a new member reference expression. + /// Build a new member reference expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2909,7 +2909,7 @@ public: R, TemplateArgs, /*S*/nullptr); } - /// \brief Build a new noexcept expression. + /// Build a new noexcept expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2917,7 +2917,7 @@ public: return SemaRef.BuildCXXNoexceptExpr(Range.getBegin(), Arg, Range.getEnd()); } - /// \brief Build a new expression to compute the length of a parameter pack. + /// Build a new expression to compute the length of a parameter pack. ExprResult RebuildSizeOfPackExpr(SourceLocation OperatorLoc, NamedDecl *Pack, SourceLocation PackLoc, @@ -2928,7 +2928,7 @@ public: RParenLoc, Length, PartialArgs); } - /// \brief Build a new Objective-C boxed expression. + /// Build a new Objective-C boxed expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2936,7 +2936,7 @@ public: return getSema().BuildObjCBoxedExpr(SR, ValueExpr); } - /// \brief Build a new Objective-C array literal. + /// Build a new Objective-C array literal. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2954,7 +2954,7 @@ public: getterMethod, setterMethod); } - /// \brief Build a new Objective-C dictionary literal. + /// Build a new Objective-C dictionary literal. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2963,7 +2963,7 @@ public: return getSema().BuildObjCDictionaryLiteral(Range, Elements); } - /// \brief Build a new Objective-C \@encode expression. + /// Build a new Objective-C \@encode expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -2973,7 +2973,7 @@ public: return SemaRef.BuildObjCEncodeExpression(AtLoc, EncodeTypeInfo, RParenLoc); } - /// \brief Build a new Objective-C class message. + /// Build a new Objective-C class message. ExprResult RebuildObjCMessageExpr(TypeSourceInfo *ReceiverTypeInfo, Selector Sel, ArrayRef<SourceLocation> SelectorLocs, @@ -2988,7 +2988,7 @@ public: RBracLoc, Args); } - /// \brief Build a new Objective-C instance message. + /// Build a new Objective-C instance message. ExprResult RebuildObjCMessageExpr(Expr *Receiver, Selector Sel, ArrayRef<SourceLocation> SelectorLocs, @@ -3003,7 +3003,7 @@ public: RBracLoc, Args); } - /// \brief Build a new Objective-C instance/class message to 'super'. + /// Build a new Objective-C instance/class message to 'super'. ExprResult RebuildObjCMessageExpr(SourceLocation SuperLoc, Selector Sel, ArrayRef<SourceLocation> SelectorLocs, @@ -3026,7 +3026,7 @@ public: } - /// \brief Build a new Objective-C ivar reference expression. + /// Build a new Objective-C ivar reference expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3046,7 +3046,7 @@ public: return Result; } - /// \brief Build a new Objective-C property reference expression. + /// Build a new Objective-C property reference expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3065,7 +3065,7 @@ public: /*S=*/nullptr); } - /// \brief Build a new Objective-C property reference expression. + /// Build a new Objective-C property reference expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3081,7 +3081,7 @@ public: PropertyLoc, Base)); } - /// \brief Build a new Objective-C "isa" expression. + /// Build a new Objective-C "isa" expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3098,7 +3098,7 @@ public: /*S=*/nullptr); } - /// \brief Build a new shuffle vector expression. + /// Build a new shuffle vector expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3130,7 +3130,7 @@ public: return SemaRef.SemaBuiltinShuffleVector(cast<CallExpr>(TheCall.get())); } - /// \brief Build a new convert vector expression. + /// Build a new convert vector expression. ExprResult RebuildConvertVectorExpr(SourceLocation BuiltinLoc, Expr *SrcExpr, TypeSourceInfo *DstTInfo, SourceLocation RParenLoc) { @@ -3138,7 +3138,7 @@ public: BuiltinLoc, RParenLoc); } - /// \brief Build a new template argument pack expansion. + /// Build a new template argument pack expansion. /// /// By default, performs semantic analysis to build a new pack expansion /// for a template argument. Subclasses may override this routine to provide @@ -3186,7 +3186,7 @@ public: return TemplateArgumentLoc(); } - /// \brief Build a new expression pack expansion. + /// Build a new expression pack expansion. /// /// By default, performs semantic analysis to build a new pack expansion /// for an expression. Subclasses may override this routine to provide @@ -3196,7 +3196,7 @@ public: return getSema().CheckPackExpansion(Pattern, EllipsisLoc, NumExpansions); } - /// \brief Build a new C++1z fold-expression. + /// Build a new C++1z fold-expression. /// /// By default, performs semantic analysis in order to build a new fold /// expression. @@ -3208,7 +3208,7 @@ public: RHS, RParenLoc); } - /// \brief Build an empty C++1z fold-expression with the given operator. + /// Build an empty C++1z fold-expression with the given operator. /// /// By default, produces the fallback value for the fold-expression, or /// produce an error if there is no fallback value. @@ -3217,7 +3217,7 @@ public: return getSema().BuildEmptyCXXFoldExpr(EllipsisLoc, Operator); } - /// \brief Build a new atomic operation expression. + /// Build a new atomic operation expression. /// /// By default, performs semantic analysis to build the new expression. /// Subclasses may override this routine to provide different behavior. @@ -3920,7 +3920,7 @@ bool TreeTransform<Derived>::TransformTemplateArgument( return true; } -/// \brief Iterator adaptor that invents template argument location information +/// Iterator adaptor that invents template argument location information /// for each of the template arguments in its underlying iterator. template<typename Derived, typename InputIterator> class TemplateArgumentLocInventIterator { @@ -5758,7 +5758,7 @@ QualType TreeTransform<Derived>::TransformPipeType(TypeLocBuilder &TLB, return Result; } - /// \brief Simple iterator that traverses the template arguments in a + /// Simple iterator that traverses the template arguments in a /// container that provides a \c getArgLoc() member function. /// /// This iterator is intended to be used with the iterator form of @@ -8962,7 +8962,7 @@ TreeTransform<Derived>::TransformParenExpr(ParenExpr *E) { E->getRParen()); } -/// \brief The operand of a unary address-of operator has special rules: it's +/// The operand of a unary address-of operator has special rules: it's /// allowed to refer to a non-static member of a class even if there's no 'this' /// object available. template<typename Derived> @@ -9661,7 +9661,7 @@ TreeTransform<Derived>::TransformParenListExpr(ParenListExpr *E) { E->getRParenLoc()); } -/// \brief Transform an address-of-label expression. +/// Transform an address-of-label expression. /// /// By default, the transformation of an address-of-label expression always /// rebuilds the expression, so that the label identifier can be resolved to @@ -10791,7 +10791,7 @@ ExprResult TreeTransform<Derived>::TransformCXXInheritedCtorInitExpr( E->constructsVBase(), E->inheritedFromVBase()); } -/// \brief Transform a C++ temporary-binding expression. +/// Transform a C++ temporary-binding expression. /// /// Since CXXBindTemporaryExpr nodes are implicitly generated, we just /// transform the subexpression and return that. @@ -10801,7 +10801,7 @@ TreeTransform<Derived>::TransformCXXBindTemporaryExpr(CXXBindTemporaryExpr *E) { return getDerived().TransformExpr(E->getSubExpr()); } -/// \brief Transform a C++ expression that contains cleanups that should +/// Transform a C++ expression that contains cleanups that should /// be run after the expression is evaluated. /// /// Since ExprWithCleanups nodes are implicitly generated, we diff --git a/lib/Sema/TypeLocBuilder.h b/lib/Sema/TypeLocBuilder.h index 9c77045d2e..a088fe9de6 100644 --- a/lib/Sema/TypeLocBuilder.h +++ b/lib/Sema/TypeLocBuilder.h @@ -83,7 +83,7 @@ class TypeLocBuilder { NumBytesAtAlign4 = NumBytesAtAlign8 = 0; } - /// \brief Tell the TypeLocBuilder that the type it is storing has been + /// Tell the TypeLocBuilder that the type it is storing has been /// modified in some safe way that doesn't affect type-location information. void TypeWasModifiedSafely(QualType T) { #ifndef NDEBUG @@ -112,7 +112,7 @@ class TypeLocBuilder { return DI; } - /// \brief Copies the type-location information to the given AST context and + /// Copies the type-location information to the given AST context and /// returns a \c TypeLoc referring into the AST context. TypeLoc getTypeLocInContext(ASTContext &Context, QualType T) { #ifndef NDEBUG @@ -132,7 +132,7 @@ private: /// Grow to the given capacity. void grow(size_t NewCapacity); - /// \brief Retrieve a temporary TypeLoc that refers into this \c TypeLocBuilder + /// Retrieve a temporary TypeLoc that refers into this \c TypeLocBuilder /// object. /// /// The resulting \c TypeLoc should only be used so long as the diff --git a/lib/Serialization/ASTCommon.h b/lib/Serialization/ASTCommon.h index 6aca453bbb..12e26c1fc2 100644 --- a/lib/Serialization/ASTCommon.h +++ b/lib/Serialization/ASTCommon.h @@ -72,7 +72,7 @@ TypeID MakeTypeID(ASTContext &Context, QualType T, IdxForTypeTy IdxForType) { unsigned ComputeHash(Selector Sel); -/// \brief Retrieve the "definitive" declaration that provides all of the +/// Retrieve the "definitive" declaration that provides all of the /// visible entries for the given declaration context, if there is one. /// /// The "definitive" declaration is the only place where we need to look to @@ -84,14 +84,14 @@ unsigned ComputeHash(Selector Sel); /// multiple definitions. const DeclContext *getDefinitiveDeclContext(const DeclContext *DC); -/// \brief Determine whether the given declaration kind is redeclarable. +/// Determine whether the given declaration kind is redeclarable. bool isRedeclarableDeclKind(unsigned Kind); -/// \brief Determine whether the given declaration needs an anonymous +/// Determine whether the given declaration needs an anonymous /// declaration number. bool needsAnonymousDeclarationNumber(const NamedDecl *D); -/// \brief Visit each declaration within \c DC that needs an anonymous +/// Visit each declaration within \c DC that needs an anonymous /// declaration number and call \p Visit with the declaration and its number. template<typename Fn> void numberAnonymousDeclsWithin(const DeclContext *DC, Fn Visit) { diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index 19c2de32a2..724702dcde 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -256,7 +256,7 @@ void ChainedASTReaderListener::readModuleFileExtension( ASTReaderListener::~ASTReaderListener() = default; -/// \brief Compare the given set of language options against an existing set of +/// Compare the given set of language options against an existing set of /// language options. /// /// \param Diags If non-NULL, diagnostics will be emitted via this engine. @@ -360,7 +360,7 @@ static bool checkLanguageOptions(const LangOptions &LangOpts, return false; } -/// \brief Compare the given set of target options against an existing set of +/// Compare the given set of target options against an existing set of /// target options. /// /// \param Diags If non-NULL, diagnostics will be emitted via this engine. @@ -575,7 +575,7 @@ bool PCHValidator::ReadDiagnosticOptions( Complain); } -/// \brief Collect the macro definitions provided by the given preprocessor +/// Collect the macro definitions provided by the given preprocessor /// options. static void collectMacroDefinitions(const PreprocessorOptions &PPOpts, @@ -613,7 +613,7 @@ collectMacroDefinitions(const PreprocessorOptions &PPOpts, } } -/// \brief Check the preprocessor options deserialized from the control block +/// Check the preprocessor options deserialized from the control block /// against the preprocessor options in an existing preprocessor. /// /// \param Diags If non-null, produce diagnostics for any mismatches incurred. @@ -889,7 +889,7 @@ ASTIdentifierLookupTraitBase::ReadKey(const unsigned char* d, unsigned n) { return StringRef((const char*) d, n-1); } -/// \brief Whether the given identifier is "interesting". +/// Whether the given identifier is "interesting". static bool isInterestingIdentifier(ASTReader &Reader, IdentifierInfo &II, bool IsModule) { return II.hadMacroDefinition() || @@ -1212,7 +1212,7 @@ void ASTReader::Error(unsigned DiagID, // Source Manager Deserialization //===----------------------------------------------------------------------===// -/// \brief Read the line table in the source manager block. +/// Read the line table in the source manager block. /// \returns true if there was an error. bool ASTReader::ParseLineTable(ModuleFile &F, const RecordData &Record) { @@ -1258,7 +1258,7 @@ bool ASTReader::ParseLineTable(ModuleFile &F, return false; } -/// \brief Read a source manager block +/// Read a source manager block bool ASTReader::ReadSourceManagerBlock(ModuleFile &F) { using namespace SrcMgr; @@ -1314,7 +1314,7 @@ bool ASTReader::ReadSourceManagerBlock(ModuleFile &F) { } } -/// \brief If a header file is not found at the path that we expect it to be +/// If a header file is not found at the path that we expect it to be /// and the PCH file was moved from its original location, try to resolve the /// file by assuming that header+PCH were moved together and the header is in /// the same place relative to the PCH. @@ -1512,7 +1512,7 @@ std::pair<SourceLocation, StringRef> ASTReader::getModuleImportLoc(int ID) { return std::make_pair(M->ImportLoc, StringRef(M->ModuleName)); } -/// \brief Find the location where the module F is imported. +/// Find the location where the module F is imported. SourceLocation ASTReader::getImportLocation(ModuleFile *F) { if (F->ImportLoc.isValid()) return F->ImportLoc; @@ -1858,7 +1858,7 @@ void ASTReader::ReadDefinedMacros() { namespace { - /// \brief Visitor class used to look up identifirs in an AST file. + /// Visitor class used to look up identifirs in an AST file. class IdentifierLookupVisitor { StringRef Name; unsigned NameHash; @@ -1902,7 +1902,7 @@ namespace { return true; } - // \brief Retrieve the identifier info found within the module + // Retrieve the identifier info found within the module // files. IdentifierInfo *getIdentifierInfo() const { return Found; } }; @@ -2210,7 +2210,7 @@ InputFile ASTReader::getInputFile(ModuleFile &F, unsigned ID, bool Complain) { return IF; } -/// \brief If we are loading a relocatable PCH or module file, and the filename +/// If we are loading a relocatable PCH or module file, and the filename /// is not an absolute path, add the system or module root to the beginning of /// the file name. void ASTReader::ResolveImportedPath(ModuleFile &M, std::string &Filename) { @@ -3668,7 +3668,7 @@ ASTReader::ReadModuleMapFileBlock(RecordData &Record, ModuleFile &F, return Success; } -/// \brief Move the given method to the back of the global list of methods. +/// Move the given method to the back of the global list of methods. static void moveMethodToBackOfGlobalList(Sema &S, ObjCMethodDecl *Method) { // Find the entry for this selector in the method pool. Sema::GlobalMethodPool::iterator Known @@ -3821,7 +3821,7 @@ static void updateModuleTimestamp(ModuleFile &MF) { OS.clear_error(); // Avoid triggering a fatal error. } -/// \brief Given a cursor at the start of an AST file, scan ahead and drop the +/// Given a cursor at the start of an AST file, scan ahead and drop the /// cursor into the start of the given block ID, returning false on success and /// true on failure. static bool SkipCursorToBlock(BitstreamCursor &Cursor, unsigned BlockID) { @@ -4088,7 +4088,7 @@ ASTReader::ASTReadResult ASTReader::ReadAST(StringRef FileName, static ASTFileSignature readASTFileSignature(StringRef PCH); -/// \brief Whether \p Stream starts with the AST/PCH file magic number 'CPCH'. +/// Whether \p Stream starts with the AST/PCH file magic number 'CPCH'. static bool startsWithASTFileMagic(BitstreamCursor &Stream) { return Stream.canSkipToPos(4) && Stream.Read(8) == 'C' && @@ -4579,7 +4579,7 @@ void ASTReader::finalizeForWriting() { // Nothing to do for now. } -/// \brief Reads and return the signature record from \p PCH's control block, or +/// Reads and return the signature record from \p PCH's control block, or /// else returns 0. static ASTFileSignature readASTFileSignature(StringRef PCH) { BitstreamCursor Stream(PCH); @@ -4605,7 +4605,7 @@ static ASTFileSignature readASTFileSignature(StringRef PCH) { } } -/// \brief Retrieve the name of the original source file name +/// Retrieve the name of the original source file name /// directly from the AST file, without actually loading the AST /// file. std::string ASTReader::getOriginalSourceFile( @@ -5213,7 +5213,7 @@ ASTReader::ReadSubmoduleBlock(ModuleFile &F, unsigned ClientLoadCapabilities) { } } -/// \brief Parse the record that corresponds to a LangOptions data +/// Parse the record that corresponds to a LangOptions data /// structure. /// /// This routine parses the language options from the AST file and then gives @@ -5512,7 +5512,7 @@ PreprocessedEntity *ASTReader::ReadPreprocessedEntity(unsigned Index) { llvm_unreachable("Invalid PreprocessorDetailRecordTypes"); } -/// \brief Find the next module that contains entities and return the ID +/// Find the next module that contains entities and return the ID /// of the first entry. /// /// \param SLocMapI points at a chunk of a module that contains no @@ -5615,7 +5615,7 @@ PreprocessedEntityID ASTReader::findPreprocessedEntity(SourceLocation Loc, return M.BasePreprocessedEntityID + (PPI - pp_begin); } -/// \brief Returns a pair of [Begin, End) indices of preallocated +/// Returns a pair of [Begin, End) indices of preallocated /// preprocessed entities that \arg Range encompasses. std::pair<unsigned, unsigned> ASTReader::findPreprocessedEntitiesInRange(SourceRange Range) { @@ -5629,7 +5629,7 @@ std::pair<unsigned, unsigned> return std::make_pair(BeginID, EndID); } -/// \brief Optionally returns true or false if the preallocated preprocessed +/// Optionally returns true or false if the preallocated preprocessed /// entity with index \arg Index came from file \arg FID. Optional<bool> ASTReader::isPreprocessedEntityInFileID(unsigned Index, FileID FID) { @@ -5653,7 +5653,7 @@ Optional<bool> ASTReader::isPreprocessedEntityInFileID(unsigned Index, namespace { - /// \brief Visitor used to search for information about a header file. + /// Visitor used to search for information about a header file. class HeaderFileInfoVisitor { const FileEntry *FE; Optional<HeaderFileInfo> HFI; @@ -5833,7 +5833,7 @@ void ASTReader::ReadPragmaDiagnosticMappings(DiagnosticsEngine &Diag) { } } -/// \brief Get the correct cursor and offset for loading a type. +/// Get the correct cursor and offset for loading a type. ASTReader::RecordLocation ASTReader::TypeCursorForIndex(unsigned Index) { GlobalTypeMapType::iterator I = GlobalTypeMap.find(Index); assert(I != GlobalTypeMap.end() && "Corrupted global type map"); @@ -5841,7 +5841,7 @@ ASTReader::RecordLocation ASTReader::TypeCursorForIndex(unsigned Index) { return RecordLocation(M, M->TypeOffsets[Index - M->BaseTypeIndex]); } -/// \brief Read and return the type with the given index.. +/// Read and return the type with the given index.. /// /// The index is the type ID, shifted and minus the number of predefs. This /// routine actually reads the record corresponding to the type at the given @@ -7285,7 +7285,7 @@ serialization::DeclID ASTReader::ReadDeclID(ModuleFile &F, return getGlobalDeclID(F, Record[Idx++]); } -/// \brief Resolve the offset of a statement into a statement. +/// Resolve the offset of a statement into a statement. /// /// This operation will read a new statement from the external /// source each time it is called, and is meant to be used via a @@ -7478,7 +7478,7 @@ ASTReader::getLoadedLookupTables(DeclContext *Primary) const { return I == Lookups.end() ? nullptr : &I->second; } -/// \brief Under non-PCH compilation the consumer receives the objc methods +/// Under non-PCH compilation the consumer receives the objc methods /// before receiving the implementation, and codegen depends on this. /// We simulate this by deserializing and passing to consumer the methods of the /// implementation before passing the deserialized implementation decl. @@ -7781,25 +7781,25 @@ IdentifierInfo *ASTReader::get(StringRef Name) { namespace clang { - /// \brief An identifier-lookup iterator that enumerates all of the + /// An identifier-lookup iterator that enumerates all of the /// identifiers stored within a set of AST files. class ASTIdentifierIterator : public IdentifierIterator { - /// \brief The AST reader whose identifiers are being enumerated. + /// The AST reader whose identifiers are being enumerated. const ASTReader &Reader; - /// \brief The current index into the chain of AST files stored in + /// The current index into the chain of AST files stored in /// the AST reader. unsigned Index; - /// \brief The current position within the identifier lookup table + /// The current position within the identifier lookup table /// of the current AST file. ASTIdentifierLookupTable::key_iterator Current; - /// \brief The end position within the identifier lookup table of + /// The end position within the identifier lookup table of /// the current AST file. ASTIdentifierLookupTable::key_iterator End; - /// \brief Whether to skip any modules in the ASTReader. + /// Whether to skip any modules in the ASTReader. bool SkipModules; public: @@ -7935,12 +7935,12 @@ namespace serialization { return true; } - /// \brief Retrieve the instance methods found by this visitor. + /// Retrieve the instance methods found by this visitor. ArrayRef<ObjCMethodDecl *> getInstanceMethods() const { return InstanceMethods; } - /// \brief Retrieve the instance methods found by this visitor. + /// Retrieve the instance methods found by this visitor. ArrayRef<ObjCMethodDecl *> getFactoryMethods() const { return FactoryMethods; } @@ -7958,7 +7958,7 @@ namespace serialization { } // namespace serialization } // namespace clang -/// \brief Add the given set of methods to the method list. +/// Add the given set of methods to the method list. static void addMethodsToPool(Sema &S, ArrayRef<ObjCMethodDecl *> Methods, ObjCMethodList &List) { for (unsigned I = 0, N = Methods.size(); I != N; ++I) { @@ -8197,7 +8197,7 @@ void ASTReader::SetIdentifierInfo(IdentifierID ID, IdentifierInfo *II) { DeserializationListener->IdentifierRead(ID, II); } -/// \brief Set the globally-visible declarations associated with the given +/// Set the globally-visible declarations associated with the given /// identifier. /// /// If the AST reader is currently in a state where the given declaration IDs @@ -8728,7 +8728,7 @@ ReadTemplateArgumentList(SmallVectorImpl<TemplateArgument> &TemplArgs, TemplArgs.push_back(ReadTemplateArgument(F, Record, Idx, Canonicalize)); } -/// \brief Read a UnresolvedSet structure. +/// Read a UnresolvedSet structure. void ASTReader::ReadUnresolvedSet(ModuleFile &F, LazyASTUnresolvedSet &Set, const RecordData &Record, unsigned &Idx) { unsigned NumDecls = Record[Idx++]; @@ -8949,7 +8949,7 @@ ASTReader::ReadSourceRange(ModuleFile &F, const RecordData &Record, return SourceRange(beg, end); } -/// \brief Read an integral value +/// Read an integral value llvm::APInt ASTReader::ReadAPInt(const RecordData &Record, unsigned &Idx) { unsigned BitWidth = Record[Idx++]; unsigned NumWords = llvm::APInt::getNumWords(BitWidth); @@ -8958,20 +8958,20 @@ llvm::APInt ASTReader::ReadAPInt(const RecordData &Record, unsigned &Idx) { return Result; } -/// \brief Read a signed integral value +/// Read a signed integral value llvm::APSInt ASTReader::ReadAPSInt(const RecordData &Record, unsigned &Idx) { bool isUnsigned = Record[Idx++]; return llvm::APSInt(ReadAPInt(Record, Idx), isUnsigned); } -/// \brief Read a floating-point value +/// Read a floating-point value llvm::APFloat ASTReader::ReadAPFloat(const RecordData &Record, const llvm::fltSemantics &Sem, unsigned &Idx) { return llvm::APFloat(Sem, ReadAPInt(Record, Idx)); } -// \brief Read a string +// Read a string std::string ASTReader::ReadString(const RecordData &Record, unsigned &Idx) { unsigned Len = Record[Idx++]; std::string Result(Record.data() + Idx, Record.data() + Idx + Len); @@ -9013,13 +9013,13 @@ DiagnosticBuilder ASTReader::Diag(SourceLocation Loc, unsigned DiagID) const { return Diags.Report(Loc, DiagID); } -/// \brief Retrieve the identifier table associated with the +/// Retrieve the identifier table associated with the /// preprocessor. IdentifierTable &ASTReader::getIdentifierTable() { return PP.getIdentifierTable(); } -/// \brief Record that the given ID maps to the given switch-case +/// Record that the given ID maps to the given switch-case /// statement. void ASTReader::RecordSwitchCaseID(SwitchCase *SC, unsigned ID) { assert((*CurrSwitchCaseStmts)[ID] == nullptr && @@ -9027,7 +9027,7 @@ void ASTReader::RecordSwitchCaseID(SwitchCase *SC, unsigned ID) { (*CurrSwitchCaseStmts)[ID] = SC; } -/// \brief Retrieve the switch-case statement with the given ID. +/// Retrieve the switch-case statement with the given ID. SwitchCase *ASTReader::getSwitchCaseWithID(unsigned ID) { assert((*CurrSwitchCaseStmts)[ID] != nullptr && "No SwitchCase with this ID"); return (*CurrSwitchCaseStmts)[ID]; diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp index 5b86c0a777..79465b5c88 100644 --- a/lib/Serialization/ASTReaderDecl.cpp +++ b/lib/Serialization/ASTReaderDecl.cpp @@ -94,7 +94,7 @@ namespace clang { bool HasPendingBody = false; - ///\brief A flag to carry the information for a decl from the entity is + ///A flag to carry the information for a decl from the entity is /// used. We use it to delay the marking of the canonical decl as used until /// the entire declaration is deserialized and merged. bool IsDeclMarkedUsed = false; @@ -193,18 +193,18 @@ namespace clang { RedeclarableResult(Decl *MergeWith, GlobalDeclID FirstID, bool IsKeyDecl) : MergeWith(MergeWith), FirstID(FirstID), IsKeyDecl(IsKeyDecl) {} - /// \brief Retrieve the first ID. + /// Retrieve the first ID. GlobalDeclID getFirstID() const { return FirstID; } - /// \brief Is this declaration a key declaration? + /// Is this declaration a key declaration? bool isKeyDecl() const { return IsKeyDecl; } - /// \brief Get a known declaration that this should be merged with, if + /// Get a known declaration that this should be merged with, if /// any. Decl *getKnownMergeTarget() const { return MergeWith; } }; - /// \brief Class used to capture the result of searching for an existing + /// Class used to capture the result of searching for an existing /// declaration of a specific kind and name, along with the ability /// to update the place where this result was found (the declaration /// chain hanging off an identifier or the DeclContext we searched in) @@ -238,7 +238,7 @@ namespace clang { FindExistingResult &operator=(FindExistingResult &&) = delete; ~FindExistingResult(); - /// \brief Suppress the addition of this result into the known set of + /// Suppress the addition of this result into the known set of /// names. void suppress() { AddResult = false; } @@ -305,7 +305,7 @@ namespace clang { static void markIncompleteDeclChainImpl(Redeclarable<DeclT> *D); static void markIncompleteDeclChainImpl(...); - /// \brief Determine whether this declaration has a pending body. + /// Determine whether this declaration has a pending body. bool hasPendingBody() const { return HasPendingBody; } void ReadFunctionDefinition(FunctionDecl *FD); @@ -2433,7 +2433,7 @@ ASTDeclReader::VisitRedeclarable(Redeclarable<T> *D) { return RedeclarableResult(MergeWith, FirstDeclID, IsKeyDecl); } -/// \brief Attempts to merge the given declaration (D) with another declaration +/// Attempts to merge the given declaration (D) with another declaration /// of the same entity. template<typename T> void ASTDeclReader::mergeRedeclarable(Redeclarable<T> *DBase, @@ -2457,7 +2457,7 @@ void ASTDeclReader::mergeRedeclarable(Redeclarable<T> *DBase, mergeRedeclarable(D, Existing, Redecl, TemplatePatternID); } -/// \brief "Cast" to type T, asserting if we don't have an implicit conversion. +/// "Cast" to type T, asserting if we don't have an implicit conversion. /// We use this to put code in a template that will only be valid for certain /// instantiations. template<typename T> static T assert_cast(T t) { return t; } @@ -2465,7 +2465,7 @@ template<typename T> static T assert_cast(...) { llvm_unreachable("bad assert_cast"); } -/// \brief Merge together the pattern declarations from two template +/// Merge together the pattern declarations from two template /// declarations. void ASTDeclReader::mergeTemplatePattern(RedeclarableTemplateDecl *D, RedeclarableTemplateDecl *Existing, @@ -2507,7 +2507,7 @@ void ASTDeclReader::mergeTemplatePattern(RedeclarableTemplateDecl *D, llvm_unreachable("merged an unknown kind of redeclarable template"); } -/// \brief Attempts to merge the given declaration (D) with another declaration +/// Attempts to merge the given declaration (D) with another declaration /// of the same entity. template<typename T> void ASTDeclReader::mergeRedeclarable(Redeclarable<T> *DBase, T *Existing, @@ -2561,7 +2561,7 @@ bool allowODRLikeMergeInC(NamedDecl *ND) { return false; } -/// \brief Attempts to merge the given declaration (D) with another declaration +/// Attempts to merge the given declaration (D) with another declaration /// of the same entity, for the case where the entity is not actually /// redeclarable. This happens, for instance, when merging the fields of /// identical class definitions from two different modules. @@ -2614,7 +2614,7 @@ void ASTDeclReader::VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D) { // Attribute Reading //===----------------------------------------------------------------------===// -/// \brief Reads attributes from the current stream position. +/// Reads attributes from the current stream position. void ASTReader::ReadAttributes(ASTRecordReader &Record, AttrVec &Attrs) { for (unsigned i = 0, e = Record.readInt(); i != e; ++i) { Attr *New = nullptr; @@ -2633,7 +2633,7 @@ void ASTReader::ReadAttributes(ASTRecordReader &Record, AttrVec &Attrs) { // ASTReader Implementation //===----------------------------------------------------------------------===// -/// \brief Note that we have loaded the declaration with the given +/// Note that we have loaded the declaration with the given /// Index. /// /// This routine notes that this declaration has already been loaded, @@ -2644,7 +2644,7 @@ inline void ASTReader::LoadedDecl(unsigned Index, Decl *D) { DeclsLoaded[Index] = D; } -/// \brief Determine whether the consumer will be interested in seeing +/// Determine whether the consumer will be interested in seeing /// this declaration (via HandleTopLevelDecl). /// /// This routine should return true for anything that might affect @@ -2685,7 +2685,7 @@ static bool isConsumerInterestedIn(ASTContext &Ctx, Decl *D, bool HasBody) { return false; } -/// \brief Get the correct cursor and offset for loading a declaration. +/// Get the correct cursor and offset for loading a declaration. ASTReader::RecordLocation ASTReader::DeclCursorForID(DeclID ID, SourceLocation &Loc) { GlobalDeclMapType::iterator I = GlobalDeclMap.find(ID); @@ -2711,7 +2711,7 @@ uint64_t ASTReader::getGlobalBitOffset(ModuleFile &M, uint32_t LocalOffset) { static bool isSameTemplateParameterList(const TemplateParameterList *X, const TemplateParameterList *Y); -/// \brief Determine whether two template parameters are similar enough +/// Determine whether two template parameters are similar enough /// that they may be used in declarations of the same template. static bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y) { @@ -2783,7 +2783,7 @@ static bool isSameQualifier(const NestedNameSpecifier *X, return !PX && !PY; } -/// \brief Determine whether two template parameter lists are similar enough +/// Determine whether two template parameter lists are similar enough /// that they may be used in declarations of the same template. static bool isSameTemplateParameterList(const TemplateParameterList *X, const TemplateParameterList *Y) { @@ -2836,7 +2836,7 @@ static bool hasSameOverloadableAttrs(const FunctionDecl *A, return true; } -/// \brief Determine whether the two declarations refer to the same entity. +/// Determine whether the two declarations refer to the same entity. static bool isSameEntity(NamedDecl *X, NamedDecl *Y) { assert(X->getDeclName() == Y->getDeclName() && "Declaration name mismatch!"); @@ -3463,7 +3463,7 @@ void ASTReader::markIncompleteDeclChain(Decl *D) { } } -/// \brief Read the declaration at the given offset from the AST file. +/// Read the declaration at the given offset from the AST file. Decl *ASTReader::ReadDeclRecord(DeclID ID) { unsigned Index = ID - NUM_PREDEF_DECL_IDS; SourceLocation DeclLoc; @@ -3905,7 +3905,7 @@ void ASTReader::loadPendingDeclChain(Decl *FirstLocal, uint64_t LocalOffset) { namespace { - /// \brief Given an ObjC interface, goes through the modules and links to the + /// Given an ObjC interface, goes through the modules and links to the /// interface all the categories for it. class ObjCCategoriesVisitor { ASTReader &Reader; diff --git a/lib/Serialization/ASTReaderInternals.h b/lib/Serialization/ASTReaderInternals.h index 2b92ae65ea..b5a1493a4f 100644 --- a/lib/Serialization/ASTReaderInternals.h +++ b/lib/Serialization/ASTReaderInternals.h @@ -40,7 +40,7 @@ class ModuleFile; namespace reader { -/// \brief Class that performs name lookup into a DeclContext stored +/// Class that performs name lookup into a DeclContext stored /// in an AST file. class ASTDeclContextNameLookupTrait { ASTReader &Reader; @@ -121,7 +121,7 @@ struct DeclContextLookupTable { MultiOnDiskHashTable<ASTDeclContextNameLookupTrait> Table; }; -/// \brief Base class for the trait describing the on-disk hash table for the +/// Base class for the trait describing the on-disk hash table for the /// identifiers in an AST file. /// /// This class is not useful by itself; rather, it provides common @@ -156,7 +156,7 @@ public: static internal_key_type ReadKey(const unsigned char* d, unsigned n); }; -/// \brief Class that performs lookup for an identifier stored in an AST file. +/// Class that performs lookup for an identifier stored in an AST file. class ASTIdentifierLookupTrait : public ASTIdentifierLookupTraitBase { ASTReader &Reader; ModuleFile &F; @@ -182,12 +182,12 @@ public: ASTReader &getReader() const { return Reader; } }; -/// \brief The on-disk hash table used to contain information about +/// The on-disk hash table used to contain information about /// all of the identifiers in the program. using ASTIdentifierLookupTable = llvm::OnDiskIterableChainedHashTable<ASTIdentifierLookupTrait>; -/// \brief Class that performs lookup for a selector's entries in the global +/// Class that performs lookup for a selector's entries in the global /// method pool stored in an AST file. class ASTSelectorLookupTrait { ASTReader &Reader; @@ -229,11 +229,11 @@ public: data_type ReadData(Selector, const unsigned char* d, unsigned DataLen); }; -/// \brief The on-disk hash table used for the global method pool. +/// The on-disk hash table used for the global method pool. using ASTSelectorLookupTable = llvm::OnDiskChainedHashTable<ASTSelectorLookupTrait>; -/// \brief Trait class used to search the on-disk hash table containing all of +/// Trait class used to search the on-disk hash table containing all of /// the header search information. /// /// The on-disk hash table contains a mapping from each header path to @@ -280,7 +280,7 @@ public: data_type ReadData(internal_key_ref,const unsigned char *d, unsigned DataLen); }; -/// \brief The on-disk hash table used for known header files. +/// The on-disk hash table used for known header files. using HeaderFileInfoLookupTable = llvm::OnDiskChainedHashTable<HeaderFileInfoTrait>; diff --git a/lib/Serialization/ASTReaderStmt.cpp b/lib/Serialization/ASTReaderStmt.cpp index 8b07940c59..62d8cd088e 100644 --- a/lib/Serialization/ASTReaderStmt.cpp +++ b/lib/Serialization/ASTReaderStmt.cpp @@ -110,20 +110,20 @@ namespace clang { ASTStmtReader(ASTRecordReader &Record, llvm::BitstreamCursor &Cursor) : Record(Record), DeclsCursor(Cursor) {} - /// \brief The number of record fields required for the Stmt class + /// The number of record fields required for the Stmt class /// itself. static const unsigned NumStmtFields = 0; - /// \brief The number of record fields required for the Expr class + /// The number of record fields required for the Expr class /// itself. static const unsigned NumExprFields = NumStmtFields + 7; - /// \brief Read and initialize a ExplicitTemplateArgumentList structure. + /// Read and initialize a ExplicitTemplateArgumentList structure. void ReadTemplateKWAndArgsInfo(ASTTemplateKWAndArgsInfo &Args, TemplateArgumentLoc *ArgsLocArray, unsigned NumTemplateArgs); - /// \brief Read and initialize a ExplicitTemplateArgumentList structure. + /// Read and initialize a ExplicitTemplateArgumentList structure. void ReadExplicitTemplateArgumentList(ASTTemplateArgumentListInfo &ArgList, unsigned NumTemplateArgs); diff --git a/lib/Serialization/ASTWriter.cpp b/lib/Serialization/ASTWriter.cpp index c60b4b2eb7..a143b956fc 100644 --- a/lib/Serialization/ASTWriter.cpp +++ b/lib/Serialization/ASTWriter.cpp @@ -138,10 +138,10 @@ namespace clang { ASTWriter &Writer; ASTRecordWriter Record; - /// \brief Type code that corresponds to the record generated. + /// Type code that corresponds to the record generated. TypeCode Code = static_cast<TypeCode>(0); - /// \brief Abbreviation to use for the record, if any. + /// Abbreviation to use for the record, if any. unsigned AbbrevToUse = 0; public: @@ -1319,7 +1319,7 @@ void ASTWriter::WriteBlockInfoBlock() { Stream.ExitBlock(); } -/// \brief Prepares a path for being written to an AST file by converting it +/// Prepares a path for being written to an AST file by converting it /// to an absolute path and removing nested './'s. /// /// \return \c true if the path was changed. @@ -1329,7 +1329,7 @@ static bool cleanPathForOutput(FileManager &FileMgr, return Changed | llvm::sys::path::remove_dots(Path); } -/// \brief Adjusts the given filename to only write out the portion of the +/// Adjusts the given filename to only write out the portion of the /// filename that is not part of the system root directory. /// /// \param Filename the file name to adjust. @@ -1439,7 +1439,7 @@ ASTFileSignature ASTWriter::writeUnhashedControlBlock(Preprocessor &PP, return Signature; } -/// \brief Write the control block. +/// Write the control block. void ASTWriter::WriteControlBlock(Preprocessor &PP, ASTContext &Context, StringRef isysroot, const std::string &OutputFile) { @@ -1735,7 +1735,7 @@ void ASTWriter::WriteControlBlock(Preprocessor &PP, ASTContext &Context, namespace { -/// \brief An input file. +/// An input file. struct InputFileEntry { const FileEntry *File; bool IsSystemFile; @@ -1845,7 +1845,7 @@ void ASTWriter::WriteInputFiles(SourceManager &SourceMgr, // Source Manager Serialization //===----------------------------------------------------------------------===// -/// \brief Create an abbreviation for the SLocEntry that refers to a +/// Create an abbreviation for the SLocEntry that refers to a /// file. static unsigned CreateSLocFileAbbrev(llvm::BitstreamWriter &Stream) { using namespace llvm; @@ -1864,7 +1864,7 @@ static unsigned CreateSLocFileAbbrev(llvm::BitstreamWriter &Stream) { return Stream.EmitAbbrev(std::move(Abbrev)); } -/// \brief Create an abbreviation for the SLocEntry that refers to a +/// Create an abbreviation for the SLocEntry that refers to a /// buffer. static unsigned CreateSLocBufferAbbrev(llvm::BitstreamWriter &Stream) { using namespace llvm; @@ -1879,7 +1879,7 @@ static unsigned CreateSLocBufferAbbrev(llvm::BitstreamWriter &Stream) { return Stream.EmitAbbrev(std::move(Abbrev)); } -/// \brief Create an abbreviation for the SLocEntry that refers to a +/// Create an abbreviation for the SLocEntry that refers to a /// buffer's blob. static unsigned CreateSLocBufferBlobAbbrev(llvm::BitstreamWriter &Stream, bool Compressed) { @@ -1894,7 +1894,7 @@ static unsigned CreateSLocBufferBlobAbbrev(llvm::BitstreamWriter &Stream, return Stream.EmitAbbrev(std::move(Abbrev)); } -/// \brief Create an abbreviation for the SLocEntry that refers to a macro +/// Create an abbreviation for the SLocEntry that refers to a macro /// expansion. static unsigned CreateSLocExpansionAbbrev(llvm::BitstreamWriter &Stream) { using namespace llvm; @@ -2038,7 +2038,7 @@ namespace { } // namespace -/// \brief Write the header search block for the list of files that +/// Write the header search block for the list of files that /// /// \param HS The header search structure to save. void ASTWriter::WriteHeaderSearch(const HeaderSearch &HS) { @@ -2202,7 +2202,7 @@ static void emitBlob(llvm::BitstreamWriter &Stream, StringRef Blob, Stream.EmitRecordWithBlob(SLocBufferBlobAbbrv, Record, Blob); } -/// \brief Writes the block containing the serialized form of the +/// Writes the block containing the serialized form of the /// source manager. /// /// TODO: We should probably use an on-disk hash table (stored in a @@ -2425,7 +2425,7 @@ static bool shouldIgnoreMacro(MacroDirective *MD, bool IsModule, return false; } -/// \brief Writes the block containing the serialized form of the +/// Writes the block containing the serialized form of the /// preprocessor. void ASTWriter::WritePreprocessor(const Preprocessor &PP, bool IsModule) { PreprocessingRecord *PPRec = PP.getPreprocessingRecord(); @@ -2545,7 +2545,7 @@ void ASTWriter::WritePreprocessor(const Preprocessor &PP, bool IsModule) { Record.clear(); } - /// \brief Offsets of each of the macros into the bitstream, indexed by + /// Offsets of each of the macros into the bitstream, indexed by /// the local macro ID /// /// For each identifier that is associated with a macro, this map @@ -2780,7 +2780,7 @@ unsigned ASTWriter::getSubmoduleID(Module *Mod) { return ID; } -/// \brief Compute the number of modules within the given tree (including the +/// Compute the number of modules within the given tree (including the /// given module). static unsigned getNumberOfModules(Module *Mod) { unsigned ChildModules = 0; @@ -3129,7 +3129,7 @@ void ASTWriter::WritePragmaDiagnosticMappings(const DiagnosticsEngine &Diag, // Type Serialization //===----------------------------------------------------------------------===// -/// \brief Write the representation of a type to the AST stream. +/// Write the representation of a type to the AST stream. void ASTWriter::WriteType(QualType T) { TypeIdx &IdxRef = TypeIdxs[T]; if (IdxRef.getIndex() == 0) // we haven't seen this type before. @@ -3161,7 +3161,7 @@ void ASTWriter::WriteType(QualType T) { // Declaration Serialization //===----------------------------------------------------------------------===// -/// \brief Write the block containing all of the declaration IDs +/// Write the block containing all of the declaration IDs /// lexically declared within the given DeclContext. /// /// \returns the offset of the DECL_CONTEXT_LEXICAL block within the @@ -3373,7 +3373,7 @@ public: } // namespace -/// \brief Write ObjC data: selectors and the method pool. +/// Write ObjC data: selectors and the method pool. /// /// The method pool contains both instance and factory methods, stored /// in an on-disk hash table indexed by the selector. The hash table also @@ -3477,7 +3477,7 @@ void ASTWriter::WriteSelectors(Sema &SemaRef) { } } -/// \brief Write the selectors referenced in @selector expression into AST file. +/// Write the selectors referenced in @selector expression into AST file. void ASTWriter::WriteReferencedSelectorsPool(Sema &SemaRef) { using namespace llvm; @@ -3553,7 +3553,7 @@ class ASTIdentifierTableTrait { bool NeedDecls; ASTWriter::RecordData *InterestingIdentifierOffsets; - /// \brief Determines whether this is an "interesting" identifier that needs a + /// Determines whether this is an "interesting" identifier that needs a /// full IdentifierInfo structure written into the hash table. Notably, this /// doesn't check whether the name has macros defined; use PublicMacroIterator /// to check that. @@ -3695,7 +3695,7 @@ public: } // namespace -/// \brief Write the identifier table into the AST file. +/// Write the identifier table into the AST file. /// /// The identifier table consists of a blob containing string data /// (the actual identifiers themselves) and a separate "offsets" index @@ -4126,7 +4126,7 @@ ASTWriter::GenerateNameLookupTable(const DeclContext *ConstDC, Generator.emit(LookupTable, Trait, Lookups ? &Lookups->Table : nullptr); } -/// \brief Write the block containing all of the declaration IDs +/// Write the block containing all of the declaration IDs /// visible from the given DeclContext. /// /// \returns the offset of the DECL_CONTEXT_VISIBLE block within the @@ -4216,7 +4216,7 @@ uint64_t ASTWriter::WriteDeclContextVisibleBlock(ASTContext &Context, return Offset; } -/// \brief Write an UPDATE_VISIBLE block for the given context. +/// Write an UPDATE_VISIBLE block for the given context. /// /// UPDATE_VISIBLE blocks contain the declarations that are added to an existing /// DeclContext in a dependent AST file. As such, they only exist for the TU @@ -4241,13 +4241,13 @@ void ASTWriter::WriteDeclContextVisibleUpdate(const DeclContext *DC) { Stream.EmitRecordWithBlob(UpdateVisibleAbbrev, Record, LookupTable); } -/// \brief Write an FP_PRAGMA_OPTIONS block for the given FPOptions. +/// Write an FP_PRAGMA_OPTIONS block for the given FPOptions. void ASTWriter::WriteFPPragmaOptions(const FPOptions &Opts) { RecordData::value_type Record[] = {Opts.getInt()}; Stream.EmitRecord(FP_PRAGMA_OPTIONS, Record); } -/// \brief Write an OPENCL_EXTENSIONS block for the given OpenCLOptions. +/// Write an OPENCL_EXTENSIONS block for the given OpenCLOptions. void ASTWriter::WriteOpenCLExtensions(Sema &SemaRef) { if (!SemaRef.Context.getLangOpts().OpenCL) return; @@ -4374,7 +4374,7 @@ void ASTWriter::WriteLateParsedTemplates(Sema &SemaRef) { Stream.EmitRecord(LATE_PARSED_TEMPLATE, Record); } -/// \brief Write the state of 'pragma clang optimize' at the end of the module. +/// Write the state of 'pragma clang optimize' at the end of the module. void ASTWriter::WriteOptimizePragmaOptions(Sema &SemaRef) { RecordData Record; SourceLocation PragmaLoc = SemaRef.getOptimizeOffPragmaLocation(); @@ -4382,14 +4382,14 @@ void ASTWriter::WriteOptimizePragmaOptions(Sema &SemaRef) { Stream.EmitRecord(OPTIMIZE_PRAGMA_OPTIONS, Record); } -/// \brief Write the state of 'pragma ms_struct' at the end of the module. +/// Write the state of 'pragma ms_struct' at the end of the module. void ASTWriter::WriteMSStructPragmaOptions(Sema &SemaRef) { RecordData Record; Record.push_back(SemaRef.MSStructPragmaOn ? PMSST_ON : PMSST_OFF); Stream.EmitRecord(MSSTRUCT_PRAGMA_OPTIONS, Record); } -/// \brief Write the state of 'pragma pointers_to_members' at the end of the +/// Write the state of 'pragma pointers_to_members' at the end of the //module. void ASTWriter::WriteMSPointersToMembersPragmaOptions(Sema &SemaRef) { RecordData Record; @@ -4398,7 +4398,7 @@ void ASTWriter::WriteMSPointersToMembersPragmaOptions(Sema &SemaRef) { Stream.EmitRecord(POINTERS_TO_MEMBERS_PRAGMA_OPTIONS, Record); } -/// \brief Write the state of 'pragma pack' at the end of the module. +/// Write the state of 'pragma pack' at the end of the module. void ASTWriter::WritePackPragmaOptions(Sema &SemaRef) { // Don't serialize pragma pack state for modules, since it should only take // effect on a per-submodule basis. @@ -4457,7 +4457,7 @@ void ASTWriter::WriteModuleFileExtension(Sema &SemaRef, // General Serialization Routines //===----------------------------------------------------------------------===// -/// \brief Emit the list of attributes to the specified record. +/// Emit the list of attributes to the specified record. void ASTRecordWriter::AddAttributes(ArrayRef<const Attr *> Attrs) { auto &Record = *this; Record.push_back(Attrs.size()); @@ -4531,7 +4531,7 @@ void ASTWriter::AddVersionTuple(const VersionTuple &Version, Record.push_back(0); } -/// \brief Note that the identifier II occurs at the given offset +/// Note that the identifier II occurs at the given offset /// within the identifier table. void ASTWriter::SetIdentifierOffset(const IdentifierInfo *II, uint32_t Offset) { IdentID ID = IdentifierIDs[II]; @@ -4541,7 +4541,7 @@ void ASTWriter::SetIdentifierOffset(const IdentifierInfo *II, uint32_t Offset) { IdentifierOffsets[ID - FirstIdentID] = Offset; } -/// \brief Note that the selector Sel occurs at the given offset +/// Note that the selector Sel occurs at the given offset /// within the method pool/selector table. void ASTWriter::SetSelectorOffset(Selector Sel, uint32_t Offset) { unsigned ID = SelectorIDs[Sel]; @@ -5889,7 +5889,7 @@ void ASTRecordWriter::AddTemplateParameterList( AddDeclRef(P); } -/// \brief Emit a template argument list. +/// Emit a template argument list. void ASTRecordWriter::AddTemplateArgumentList( const TemplateArgumentList *TemplateArgs) { assert(TemplateArgs && "No TemplateArgs!"); diff --git a/lib/Serialization/ASTWriterDecl.cpp b/lib/Serialization/ASTWriterDecl.cpp index 189de14cff..cf35a2bc1f 100644 --- a/lib/Serialization/ASTWriterDecl.cpp +++ b/lib/Serialization/ASTWriterDecl.cpp @@ -1635,7 +1635,7 @@ void ASTDeclWriter::VisitStaticAssertDecl(StaticAssertDecl *D) { Code = serialization::DECL_STATIC_ASSERT; } -/// \brief Emit the DeclContext part of a declaration context decl. +/// Emit the DeclContext part of a declaration context decl. void ASTDeclWriter::VisitDeclContext(DeclContext *DC) { Record.AddOffset(Writer.WriteDeclContextLexicalBlock(Context, DC)); Record.AddOffset(Writer.WriteDeclContextVisibleBlock(Context, DC)); diff --git a/lib/Serialization/ASTWriterStmt.cpp b/lib/Serialization/ASTWriterStmt.cpp index 5d288f91e9..665b87961d 100644 --- a/lib/Serialization/ASTWriterStmt.cpp +++ b/lib/Serialization/ASTWriterStmt.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Implements serialization for Statements and Expressions. +/// Implements serialization for Statements and Expressions. /// //===----------------------------------------------------------------------===// @@ -2677,7 +2677,7 @@ void ASTWriter::ClearSwitchCaseIDs() { SwitchCaseIDs.clear(); } -/// \brief Write the given substatement or subexpression to the +/// Write the given substatement or subexpression to the /// bitstream. void ASTWriter::WriteSubStmt(Stmt *S) { RecordData Record; @@ -2721,7 +2721,7 @@ void ASTWriter::WriteSubStmt(Stmt *S) { SubStmtEntries[S] = Offset; } -/// \brief Flush all of the statements that have been added to the +/// Flush all of the statements that have been added to the /// queue via AddStmt(). void ASTRecordWriter::FlushStmts() { // We expect to be the only consumer of the two temporary statement maps, diff --git a/lib/Serialization/GlobalModuleIndex.cpp b/lib/Serialization/GlobalModuleIndex.cpp index 8083631a5c..00cd182d85 100644 --- a/lib/Serialization/GlobalModuleIndex.cpp +++ b/lib/Serialization/GlobalModuleIndex.cpp @@ -38,26 +38,26 @@ using namespace serialization; //----------------------------------------------------------------------------// namespace { enum { - /// \brief The block containing the index. + /// The block containing the index. GLOBAL_INDEX_BLOCK_ID = llvm::bitc::FIRST_APPLICATION_BLOCKID }; - /// \brief Describes the record types in the index. + /// Describes the record types in the index. enum IndexRecordTypes { - /// \brief Contains version information and potentially other metadata, + /// Contains version information and potentially other metadata, /// used to determine if we can read this global index file. INDEX_METADATA, - /// \brief Describes a module, including its file name and dependencies. + /// Describes a module, including its file name and dependencies. MODULE, - /// \brief The index for identifiers. + /// The index for identifiers. IDENTIFIER_INDEX }; } -/// \brief The name of the global index file. +/// The name of the global index file. static const char * const IndexFileName = "modules.idx"; -/// \brief The global index file version. +/// The global index file version. static const unsigned CurrentVersion = 1; //----------------------------------------------------------------------------// @@ -66,7 +66,7 @@ static const unsigned CurrentVersion = 1; namespace { -/// \brief Trait used to read the identifier index from the on-disk hash +/// Trait used to read the identifier index from the on-disk hash /// table. class IdentifierIndexReaderTrait { public: @@ -245,7 +245,7 @@ GlobalModuleIndex::readIndex(StringRef Path) { return std::make_pair(nullptr, EC_NotFound); std::unique_ptr<llvm::MemoryBuffer> Buffer = std::move(BufferOrErr.get()); - /// \brief The main bitstream cursor for the main block. + /// The main bitstream cursor for the main block. llvm::BitstreamCursor Cursor(*Buffer); // Sniff for the signature. @@ -368,12 +368,12 @@ LLVM_DUMP_METHOD void GlobalModuleIndex::dump() { //----------------------------------------------------------------------------// namespace { - /// \brief Provides information about a specific module file. + /// Provides information about a specific module file. struct ModuleFileInfo { - /// \brief The numberic ID for this module file. + /// The numberic ID for this module file. unsigned ID; - /// \brief The set of modules on which this module depends. Each entry is + /// The set of modules on which this module depends. Each entry is /// a module ID. SmallVector<unsigned, 4> Dependencies; ASTFileSignature Signature; @@ -387,7 +387,7 @@ namespace { : StoredSize(Size), StoredModTime(ModTime), StoredSignature(Sig) {} }; - /// \brief Builder that generates the global module index file. + /// Builder that generates the global module index file. class GlobalModuleIndexBuilder { FileManager &FileMgr; const PCHContainerReader &PCHContainerRdr; @@ -398,26 +398,26 @@ namespace { /// Information about each of the known module files. ModuleFilesMap ModuleFiles; - /// \brief Mapping from the imported module file to the imported + /// Mapping from the imported module file to the imported /// information. typedef std::multimap<const FileEntry *, ImportedModuleFileInfo> ImportedModuleFilesMap; - /// \brief Information about each importing of a module file. + /// Information about each importing of a module file. ImportedModuleFilesMap ImportedModuleFiles; - /// \brief Mapping from identifiers to the list of module file IDs that + /// Mapping from identifiers to the list of module file IDs that /// consider this identifier to be interesting. typedef llvm::StringMap<SmallVector<unsigned, 2> > InterestingIdentifierMap; - /// \brief A mapping from all interesting identifiers to the set of module + /// A mapping from all interesting identifiers to the set of module /// files in which those identifiers are considered interesting. InterestingIdentifierMap InterestingIdentifiers; - /// \brief Write the block-info block for the global module index file. + /// Write the block-info block for the global module index file. void emitBlockInfoBlock(llvm::BitstreamWriter &Stream); - /// \brief Retrieve the module file information for the given file. + /// Retrieve the module file information for the given file. ModuleFileInfo &getModuleFileInfo(const FileEntry *File) { llvm::MapVector<const FileEntry *, ModuleFileInfo>::iterator Known = ModuleFiles.find(File); @@ -435,12 +435,12 @@ namespace { FileManager &FileMgr, const PCHContainerReader &PCHContainerRdr) : FileMgr(FileMgr), PCHContainerRdr(PCHContainerRdr) {} - /// \brief Load the contents of the given module file into the builder. + /// Load the contents of the given module file into the builder. /// /// \returns true if an error occurred, false otherwise. bool loadModuleFile(const FileEntry *File); - /// \brief Write the index to the given bitstream. + /// Write the index to the given bitstream. /// \returns true if an error occurred, false otherwise. bool writeIndex(llvm::BitstreamWriter &Stream); }; @@ -493,7 +493,7 @@ namespace { : public serialization::reader::ASTIdentifierLookupTraitBase { public: - /// \brief The identifier and whether it is "interesting". + /// The identifier and whether it is "interesting". typedef std::pair<StringRef, bool> data_type; data_type ReadData(const internal_key_type& k, @@ -685,7 +685,7 @@ bool GlobalModuleIndexBuilder::loadModuleFile(const FileEntry *File) { namespace { -/// \brief Trait used to generate the identifier index as an on-disk hash +/// Trait used to generate the identifier index as an on-disk hash /// table. class IdentifierIndexWriterTrait { public: @@ -913,10 +913,10 @@ GlobalModuleIndex::writeIndex(FileManager &FileMgr, namespace { class GlobalIndexIdentifierIterator : public IdentifierIterator { - /// \brief The current position within the identifier lookup table. + /// The current position within the identifier lookup table. IdentifierIndexTable::key_iterator Current; - /// \brief The end position within the identifier lookup table. + /// The end position within the identifier lookup table. IdentifierIndexTable::key_iterator End; public: diff --git a/lib/Serialization/MultiOnDiskHashTable.h b/lib/Serialization/MultiOnDiskHashTable.h index 44d1616a01..4ad8521731 100644 --- a/lib/Serialization/MultiOnDiskHashTable.h +++ b/lib/Serialization/MultiOnDiskHashTable.h @@ -37,7 +37,7 @@ namespace clang { namespace serialization { -/// \brief A collection of on-disk hash tables, merged when relevant for performance. +/// A collection of on-disk hash tables, merged when relevant for performance. template<typename Info> class MultiOnDiskHashTable { public: /// A handle to a file, used when overriding tables. @@ -57,7 +57,7 @@ private: template<typename ReaderInfo, typename WriterInfo> friend class MultiOnDiskHashTableGenerator; - /// \brief A hash table stored on disk. + /// A hash table stored on disk. struct OnDiskTable { using HashTable = llvm::OnDiskIterableChainedHashTable<Info>; @@ -79,14 +79,14 @@ private: using Table = llvm::PointerUnion<OnDiskTable *, MergedTable *>; using TableVector = llvm::TinyPtrVector<void *>; - /// \brief The current set of on-disk and merged tables. + /// The current set of on-disk and merged tables. /// We manually store the opaque value of the Table because TinyPtrVector /// can't cope with holding a PointerUnion directly. /// There can be at most one MergedTable in this vector, and if present, /// it is the first table. TableVector Tables; - /// \brief Files corresponding to overridden tables that we've not yet + /// Files corresponding to overridden tables that we've not yet /// discarded. llvm::TinyPtrVector<file_type> PendingOverrides; @@ -102,7 +102,7 @@ private: llvm::mapped_iterator<TableVector::iterator, AsOnDiskTable>; using table_range = llvm::iterator_range<table_iterator>; - /// \brief The current set of on-disk tables. + /// The current set of on-disk tables. table_range tables() { auto Begin = Tables.begin(), End = Tables.end(); if (getMergedTable()) @@ -117,7 +117,7 @@ private: .template dyn_cast<MergedTable*>(); } - /// \brief Delete all our current on-disk tables. + /// Delete all our current on-disk tables. void clear() { for (auto *T : tables()) delete T; @@ -194,7 +194,7 @@ public: ~MultiOnDiskHashTable() { clear(); } - /// \brief Add the table \p Data loaded from file \p File. + /// Add the table \p Data loaded from file \p File. void add(file_type File, storage_type Data, Info InfoObj = Info()) { using namespace llvm::support; @@ -225,7 +225,7 @@ public: Tables.push_back(NewTable.getOpaqueValue()); } - /// \brief Find and read the lookup results for \p EKey. + /// Find and read the lookup results for \p EKey. data_type find(const external_key_type &EKey) { data_type Result; @@ -257,7 +257,7 @@ public: return Result; } - /// \brief Read all the lookup results into a single value. This only makes + /// Read all the lookup results into a single value. This only makes /// sense if merging values across keys is meaningful. data_type findAll() { data_type Result; @@ -288,7 +288,7 @@ public: } }; -/// \brief Writer for the on-disk hash table. +/// Writer for the on-disk hash table. template<typename ReaderInfo, typename WriterInfo> class MultiOnDiskHashTableGenerator { using BaseTable = MultiOnDiskHashTable<ReaderInfo>; diff --git a/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h b/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h index 048418ef62..62b7fab073 100644 --- a/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h +++ b/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h @@ -18,7 +18,7 @@ namespace clang { namespace ento { -/// \brief Returns true if leak diagnostics should directly reference +/// Returns true if leak diagnostics should directly reference /// the allocatin site (where possible). /// /// The default is false. diff --git a/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp b/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp index b16e32ecdf..7d6358acbb 100644 --- a/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp +++ b/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp @@ -1164,7 +1164,7 @@ void ObjCLoopChecker::checkDeadSymbols(SymbolReaper &SymReaper, namespace { /// \class ObjCNonNilReturnValueChecker -/// \brief The checker restricts the return values of APIs known to +/// The checker restricts the return values of APIs known to /// never (or almost never) return 'nil'. class ObjCNonNilReturnValueChecker : public Checker<check::PostObjCMessage, diff --git a/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp b/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp index ab1e2ec1f5..495486bf39 100644 --- a/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp +++ b/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp @@ -59,7 +59,7 @@ class CheckerDocumentation : public Checker< check::PreStmt<ReturnStmt>, check::Event<ImplicitNullDerefEvent>, check::ASTDecl<FunctionDecl> > { public: - /// \brief Pre-visit the Statement. + /// Pre-visit the Statement. /// /// The method will be called before the analyzer core processes the /// statement. The notification is performed for every explored CFGElement, @@ -72,7 +72,7 @@ public: /// check::PreStmt<ReturnStmt> void checkPreStmt(const ReturnStmt *DS, CheckerContext &C) const {} - /// \brief Post-visit the Statement. + /// Post-visit the Statement. /// /// The method will be called after the analyzer core processes the /// statement. The notification is performed for every explored CFGElement, @@ -82,7 +82,7 @@ public: /// check::PostStmt<DeclStmt> void checkPostStmt(const DeclStmt *DS, CheckerContext &C) const; - /// \brief Pre-visit the Objective C message. + /// Pre-visit the Objective C message. /// /// This will be called before the analyzer core processes the method call. /// This is called for any action which produces an Objective-C message send, @@ -91,13 +91,13 @@ public: /// check::PreObjCMessage void checkPreObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const {} - /// \brief Post-visit the Objective C message. + /// Post-visit the Objective C message. /// \sa checkPreObjCMessage() /// /// check::PostObjCMessage void checkPostObjCMessage(const ObjCMethodCall &M, CheckerContext &C) const {} - /// \brief Visit an Objective-C message whose receiver is nil. + /// Visit an Objective-C message whose receiver is nil. /// /// This will be called when the analyzer core processes a method call whose /// receiver is definitely nil. In this case, check{Pre/Post}ObjCMessage and @@ -106,7 +106,7 @@ public: /// check::ObjCMessageNil void checkObjCMessageNil(const ObjCMethodCall &M, CheckerContext &C) const {} - /// \brief Pre-visit an abstract "call" event. + /// Pre-visit an abstract "call" event. /// /// This is used for checkers that want to check arguments or attributed /// behavior for functions and methods no matter how they are being invoked. @@ -118,16 +118,16 @@ public: /// check::PreCall void checkPreCall(const CallEvent &Call, CheckerContext &C) const {} - /// \brief Post-visit an abstract "call" event. + /// Post-visit an abstract "call" event. /// \sa checkPreObjCMessage() /// /// check::PostCall void checkPostCall(const CallEvent &Call, CheckerContext &C) const {} - /// \brief Pre-visit of the condition statement of a branch (such as IfStmt). + /// Pre-visit of the condition statement of a branch (such as IfStmt). void checkBranchCondition(const Stmt *Condition, CheckerContext &Ctx) const {} - /// \brief Post-visit the C++ operator new's allocation call. + /// Post-visit the C++ operator new's allocation call. /// /// Execution of C++ operator new consists of the following phases: (1) call /// default or overridden operator new() to allocate memory (2) cast the @@ -143,7 +143,7 @@ public: void checkNewAllocator(const CXXNewExpr *NE, SVal Target, CheckerContext &) const {} - /// \brief Called on a load from and a store to a location. + /// Called on a load from and a store to a location. /// /// The method will be called each time a location (pointer) value is /// accessed. @@ -155,7 +155,7 @@ public: void checkLocation(SVal Loc, bool IsLoad, const Stmt *S, CheckerContext &) const {} - /// \brief Called on binding of a value to a location. + /// Called on binding of a value to a location. /// /// \param Loc The value of the location (pointer). /// \param Val The value which will be stored at the location Loc. @@ -164,7 +164,7 @@ public: /// check::Bind void checkBind(SVal Loc, SVal Val, const Stmt *S, CheckerContext &) const {} - /// \brief Called whenever a symbol becomes dead. + /// Called whenever a symbol becomes dead. /// /// This callback should be used by the checkers to aggressively clean /// up/reduce the checker state, which is important for reducing the overall @@ -181,20 +181,20 @@ public: void checkDeadSymbols(SymbolReaper &SR, CheckerContext &C) const {} - /// \brief Called when the analyzer core starts analyzing a function, + /// Called when the analyzer core starts analyzing a function, /// regardless of whether it is analyzed at the top level or is inlined. /// /// check::BeginFunction void checkBeginFunction(CheckerContext &Ctx) const {} - /// \brief Called when the analyzer core reaches the end of a + /// Called when the analyzer core reaches the end of a /// function being analyzed regardless of whether it is analyzed at the top /// level or is inlined. /// /// check::EndFunction void checkEndFunction(CheckerContext &Ctx) const {} - /// \brief Called after all the paths in the ExplodedGraph reach end of path + /// Called after all the paths in the ExplodedGraph reach end of path /// - the symbolic execution graph is fully explored. /// /// This callback should be used in cases when a checker needs to have a @@ -207,14 +207,14 @@ public: BugReporter &BR, ExprEngine &Eng) const {} - /// \brief Called after analysis of a TranslationUnit is complete. + /// Called after analysis of a TranslationUnit is complete. /// /// check::EndOfTranslationUnit void checkEndOfTranslationUnit(const TranslationUnitDecl *TU, AnalysisManager &Mgr, BugReporter &BR) const {} - /// \brief Evaluates function call. + /// Evaluates function call. /// /// The analysis core threats all function calls in the same way. However, some /// functions have special meaning, which should be reflected in the program @@ -229,7 +229,7 @@ public: /// eval::Call bool evalCall(const CallExpr *CE, CheckerContext &C) const { return true; } - /// \brief Handles assumptions on symbolic values. + /// Handles assumptions on symbolic values. /// /// This method is called when a symbolic expression is assumed to be true or /// false. For example, the assumptions are performed when evaluating a @@ -248,7 +248,7 @@ public: /// check::LiveSymbols void checkLiveSymbols(ProgramStateRef State, SymbolReaper &SR) const {} - /// \brief Called when the contents of one or more regions change. + /// Called when the contents of one or more regions change. /// /// This can occur in many different ways: an explicit bind, a blanket /// invalidation of the region contents, or by passing a region to a function @@ -280,7 +280,7 @@ public: return State; } - /// \brief Called when pointers escape. + /// Called when pointers escape. /// /// This notifies the checkers about pointer escape, which occurs whenever /// the analyzer cannot track the symbol any more. For example, as a @@ -300,7 +300,7 @@ public: return State; } - /// \brief Called when const pointers escape. + /// Called when const pointers escape. /// /// Note: in most cases checkPointerEscape callback is sufficient. /// \sa checkPointerEscape @@ -314,7 +314,7 @@ public: /// check::Event<ImplicitNullDerefEvent> void checkEvent(ImplicitNullDerefEvent Event) const {} - /// \brief Check every declaration in the AST. + /// Check every declaration in the AST. /// /// An AST traversal callback, which should only be used when the checker is /// not path sensitive. It will be called for every Declaration in the AST and diff --git a/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp b/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp index 61449aca8a..71dbe2f4b7 100644 --- a/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp +++ b/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp @@ -59,7 +59,7 @@ class DynamicTypePropagation: const ObjCObjectType *getObjectTypeForAllocAndNew(const ObjCMessageExpr *MsgE, CheckerContext &C) const; - /// \brief Return a better dynamic type if one can be derived from the cast. + /// Return a better dynamic type if one can be derived from the cast. const ObjCObjectPointerType *getBetterObjCType(const Expr *CastE, CheckerContext &C) const; diff --git a/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp b/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp index bf321f01b3..899586745a 100644 --- a/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp @@ -48,24 +48,24 @@ private: BT.reset(new BugType(this, "Use of Untrusted Data", "Untrusted Data")); } - /// \brief Catch taint related bugs. Check if tainted data is passed to a + /// Catch taint related bugs. Check if tainted data is passed to a /// system call etc. bool checkPre(const CallExpr *CE, CheckerContext &C) const; - /// \brief Add taint sources on a pre-visit. + /// Add taint sources on a pre-visit. void addSourcesPre(const CallExpr *CE, CheckerContext &C) const; - /// \brief Propagate taint generated at pre-visit. + /// Propagate taint generated at pre-visit. bool propagateFromPre(const CallExpr *CE, CheckerContext &C) const; - /// \brief Add taint sources on a post visit. + /// Add taint sources on a post visit. void addSourcesPost(const CallExpr *CE, CheckerContext &C) const; /// Check if the region the expression evaluates to is the standard input, /// and thus, is tainted. static bool isStdin(const Expr *E, CheckerContext &C); - /// \brief Given a pointer argument, return the value it points to. + /// Given a pointer argument, return the value it points to. static Optional<SVal> getPointedToSVal(CheckerContext &C, const Expr *Arg); /// Functions defining the attack surface. @@ -102,7 +102,7 @@ private: typedef SmallVector<unsigned, 2> ArgVector; - /// \brief A struct used to specify taint propagation rules for a function. + /// A struct used to specify taint propagation rules for a function. /// /// If any of the possible taint source arguments is tainted, all of the /// destination arguments should also be tainted. Use InvalidArgIndex in the @@ -166,7 +166,7 @@ private: return (V && State->isTainted(*V)); } - /// \brief Pre-process a function which propagates taint according to the + /// Pre-process a function which propagates taint according to the /// taint rule. ProgramStateRef process(const CallExpr *CE, CheckerContext &C) const; diff --git a/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp b/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp index cf57b8dca0..f102ca96a5 100644 --- a/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This defines IdenticalExprChecker, a check that warns about +/// This defines IdenticalExprChecker, a check that warns about /// unintended use of identical expressions. /// /// It checks for use of identical expressions with comparison operators and @@ -296,7 +296,7 @@ bool FindIdenticalExprVisitor::VisitConditionalOperator( return true; } -/// \brief Determines whether two statement trees are identical regarding +/// Determines whether two statement trees are identical regarding /// operators and symbols. /// /// Exceptions: expressions containing macros or functions with possible side diff --git a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp index 31fd70ed44..341fdd2e88 100644 --- a/lib/StaticAnalyzer/Checkers/MallocChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/MallocChecker.cpp @@ -134,10 +134,10 @@ enum ReallocPairKind { }; /// \class ReallocPair -/// \brief Stores information about the symbol being reallocated by a call to +/// Stores information about the symbol being reallocated by a call to /// 'realloc' to allow modeling failed reallocation later in the path. struct ReallocPair { - // \brief The symbol which realloc reallocated. + // The symbol which realloc reallocated. SymbolRef ReallocatedSym; ReallocPairKind Kind; @@ -256,20 +256,20 @@ private: void initIdentifierInfo(ASTContext &C) const; - /// \brief Determine family of a deallocation expression. + /// Determine family of a deallocation expression. AllocationFamily getAllocationFamily(CheckerContext &C, const Stmt *S) const; - /// \brief Print names of allocators and deallocators. + /// Print names of allocators and deallocators. /// /// \returns true on success. bool printAllocDeallocName(raw_ostream &os, CheckerContext &C, const Expr *E) const; - /// \brief Print expected name of an allocator based on the deallocator's + /// Print expected name of an allocator based on the deallocator's /// family derived from the DeallocExpr. void printExpectedAllocName(raw_ostream &os, CheckerContext &C, const Expr *DeallocExpr) const; - /// \brief Print expected name of a deallocator based on the allocator's + /// Print expected name of a deallocator based on the allocator's /// family. void printExpectedDeallocName(raw_ostream &os, AllocationFamily Family) const; @@ -284,12 +284,12 @@ private: bool isStandardNewDelete(const FunctionDecl *FD, ASTContext &C) const; ///@} - /// \brief Process C++ operator new()'s allocation, which is the part of C++ + /// Process C++ operator new()'s allocation, which is the part of C++ /// new-expression that goes before the constructor. void processNewAllocation(const CXXNewExpr *NE, CheckerContext &C, SVal Target) const; - /// \brief Perform a zero-allocation check. + /// Perform a zero-allocation check. /// The optional \p RetVal parameter specifies the newly allocated pointer /// value; if unspecified, the value of expression \p E is used. ProgramStateRef ProcessZeroAllocation(CheckerContext &C, const Expr *E, @@ -351,7 +351,7 @@ private: static ProgramStateRef CallocMem(CheckerContext &C, const CallExpr *CE, ProgramStateRef State); - ///\brief Check if the memory associated with this symbol was released. + ///Check if the memory associated with this symbol was released. bool isReleased(SymbolRef Sym, CheckerContext &C) const; bool checkUseAfterFree(SymbolRef Sym, CheckerContext &C, const Stmt *S) const; diff --git a/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp b/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp index 32a1adb587..d01c6ae6e0 100644 --- a/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp @@ -81,7 +81,7 @@ private: } -/// \brief Determine whether the given class has a superclass that we want +/// Determine whether the given class has a superclass that we want /// to check. The name of the found superclass is stored in SuperclassName. /// /// \param D The declaration to check for superclasses. diff --git a/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp b/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp index 6184de9600..6295204373 100644 --- a/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp @@ -86,11 +86,11 @@ public: namespace { enum SelfFlagEnum { - /// \brief No flag set. + /// No flag set. SelfFlag_None = 0x0, - /// \brief Value came from 'self'. + /// Value came from 'self'. SelfFlag_Self = 0x1, - /// \brief Value came from the result of an initializer (e.g. [super init]). + /// Value came from the result of an initializer (e.g. [super init]). SelfFlag_InitRes = 0x2 }; } @@ -98,7 +98,7 @@ enum SelfFlagEnum { REGISTER_MAP_WITH_PROGRAMSTATE(SelfFlag, SymbolRef, unsigned) REGISTER_TRAIT_WITH_PROGRAMSTATE(CalledInit, bool) -/// \brief A call receiving a reference to 'self' invalidates the object that +/// A call receiving a reference to 'self' invalidates the object that /// 'self' contains. This keeps the "self flags" assigned to the 'self' /// object before the call so we can assign them to the new object that 'self' /// points to after the call. @@ -128,7 +128,7 @@ static bool hasSelfFlag(SVal val, SelfFlagEnum flag, CheckerContext &C) { return getSelfFlags(val, C) & flag; } -/// \brief Returns true of the value of the expression is the object that 'self' +/// Returns true of the value of the expression is the object that 'self' /// points to and is an object that did not come from the result of calling /// an initializer. static bool isInvalidSelf(const Expr *E, CheckerContext &C) { @@ -407,7 +407,7 @@ static bool shouldRunOnFunctionOrMethod(const NamedDecl *ND) { return ID != nullptr; } -/// \brief Returns true if the location is 'self'. +/// Returns true if the location is 'self'. static bool isSelfVar(SVal location, CheckerContext &C) { AnalysisDeclContext *analCtx = C.getCurrentAnalysisDeclContext(); if (!analCtx->getSelfDecl()) diff --git a/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp b/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp index d463b907a2..f69f3492ed 100644 --- a/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp @@ -67,7 +67,7 @@ public: visitor.TraverseDecl(const_cast<TranslationUnitDecl *>(TUD)); } - /// \brief Look for records of overly padded types. If padding * + /// Look for records of overly padded types. If padding * /// PadMultiplier exceeds AllowedPad, then generate a report. /// PadMultiplier is used to share code with the array padding /// checker. @@ -97,7 +97,7 @@ public: reportRecord(RD, BaselinePad, OptimalPad, OptimalFieldsOrder); } - /// \brief Look for arrays of overly padded types. If the padding of the + /// Look for arrays of overly padded types. If the padding of the /// array type exceeds AllowedPad, then generate a report. void visitVariable(const VarDecl *VD) const { const ArrayType *ArrTy = VD->getType()->getAsArrayTypeUnsafe(); diff --git a/lib/StaticAnalyzer/Core/BugReporter.cpp b/lib/StaticAnalyzer/Core/BugReporter.cpp index 3a909564b2..91d601b360 100644 --- a/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -1636,7 +1636,7 @@ static bool GenerateExtensivePathDiagnostic( return PDB.getBugReport()->isValid(); } -/// \brief Adds a sanitized control-flow diagnostic edge to a path. +/// Adds a sanitized control-flow diagnostic edge to a path. static void addEdgeToPath(PathPieces &path, PathDiagnosticLocation &PrevLoc, PathDiagnosticLocation NewLoc, @@ -2095,7 +2095,7 @@ static void addContextEdges(PathPieces &pieces, SourceManager &SM, } } -/// \brief Move edges from a branch condition to a branch target +/// Move edges from a branch condition to a branch target /// when the condition is simple. /// /// This restructures some of the work of addContextEdges. That function @@ -2281,7 +2281,7 @@ static void removeContextCycles(PathPieces &Path, SourceManager &SM, } } -/// \brief Return true if X is contained by Y. +/// Return true if X is contained by Y. static bool lexicalContains(ParentMap &PM, const Stmt *X, const Stmt *Y) { while (X) { if (X == Y) diff --git a/lib/StaticAnalyzer/Core/CallEvent.cpp b/lib/StaticAnalyzer/Core/CallEvent.cpp index 20fa63ef66..8d1b6c307b 100644 --- a/lib/StaticAnalyzer/Core/CallEvent.cpp +++ b/lib/StaticAnalyzer/Core/CallEvent.cpp @@ -166,7 +166,7 @@ bool CallEvent::isGlobalCFunction(StringRef FunctionName) const { return CheckerContext::isCLibraryFunction(FD, FunctionName); } -/// \brief Returns true if a type is a pointer-to-const or reference-to-const +/// Returns true if a type is a pointer-to-const or reference-to-const /// with no further indirection. static bool isPointerToConst(QualType Ty) { QualType PointeeTy = Ty->getPointeeType(); diff --git a/lib/StaticAnalyzer/Core/CheckerManager.cpp b/lib/StaticAnalyzer/Core/CheckerManager.cpp index 882e4f9e35..e355fa28ea 100644 --- a/lib/StaticAnalyzer/Core/CheckerManager.cpp +++ b/lib/StaticAnalyzer/Core/CheckerManager.cpp @@ -170,7 +170,7 @@ namespace { } // namespace -/// \brief Run checkers for visiting Stmts. +/// Run checkers for visiting Stmts. void CheckerManager::runCheckersForStmt(bool isPreVisit, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, @@ -226,7 +226,7 @@ namespace { } // namespace -/// \brief Run checkers for visiting obj-c messages. +/// Run checkers for visiting obj-c messages. void CheckerManager::runCheckersForObjCMessage(ObjCMessageVisitKind visitKind, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, @@ -284,7 +284,7 @@ namespace { } // namespace -/// \brief Run checkers for visiting an abstract call event. +/// Run checkers for visiting an abstract call event. void CheckerManager::runCheckersForCallEvent(bool isPreVisit, ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, @@ -335,7 +335,7 @@ namespace { } // namespace -/// \brief Run checkers for load/store of a location. +/// Run checkers for load/store of a location. void CheckerManager::runCheckersForLocation(ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, @@ -379,7 +379,7 @@ namespace { } // namespace -/// \brief Run checkers for binding of a value to a location. +/// Run checkers for binding of a value to a location. void CheckerManager::runCheckersForBind(ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, SVal location, SVal val, @@ -433,7 +433,7 @@ void CheckerManager::runCheckersForBeginFunction(ExplodedNodeSet &Dst, expandGraphWithCheckers(C, Dst, Src); } -/// \brief Run checkers for end of path. +/// Run checkers for end of path. // Note, We do not chain the checker output (like in expandGraphWithCheckers) // for this callback since end of path nodes are expected to be final. void CheckerManager::runCheckersForEndFunction(NodeBuilderContext &BC, @@ -480,7 +480,7 @@ namespace { } // namespace -/// \brief Run checkers for branch condition. +/// Run checkers for branch condition. void CheckerManager::runCheckersForBranchCondition(const Stmt *Condition, ExplodedNodeSet &Dst, ExplodedNode *Pred, @@ -529,7 +529,7 @@ void CheckerManager::runCheckersForNewAllocator( expandGraphWithCheckers(C, Dst, Src); } -/// \brief Run checkers for live symbols. +/// Run checkers for live symbols. void CheckerManager::runCheckersForLiveSymbols(ProgramStateRef state, SymbolReaper &SymReaper) { for (const auto LiveSymbolsChecker : LiveSymbolsCheckers) @@ -570,7 +570,7 @@ namespace { } // namespace -/// \brief Run checkers for dead symbols. +/// Run checkers for dead symbols. void CheckerManager::runCheckersForDeadSymbols(ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, SymbolReaper &SymReaper, @@ -581,7 +581,7 @@ void CheckerManager::runCheckersForDeadSymbols(ExplodedNodeSet &Dst, expandGraphWithCheckers(C, Dst, Src); } -/// \brief Run checkers for region changes. +/// Run checkers for region changes. ProgramStateRef CheckerManager::runCheckersForRegionChanges(ProgramStateRef state, const InvalidatedSymbols *invalidated, @@ -600,7 +600,7 @@ CheckerManager::runCheckersForRegionChanges(ProgramStateRef state, return state; } -/// \brief Run checkers to process symbol escape event. +/// Run checkers to process symbol escape event. ProgramStateRef CheckerManager::runCheckersForPointerEscape(ProgramStateRef State, const InvalidatedSymbols &Escaped, @@ -621,7 +621,7 @@ CheckerManager::runCheckersForPointerEscape(ProgramStateRef State, return State; } -/// \brief Run checkers for handling assumptions on symbolic values. +/// Run checkers for handling assumptions on symbolic values. ProgramStateRef CheckerManager::runCheckersForEvalAssume(ProgramStateRef state, SVal Cond, bool Assumption) { @@ -635,7 +635,7 @@ CheckerManager::runCheckersForEvalAssume(ProgramStateRef state, return state; } -/// \brief Run checkers for evaluating a call. +/// Run checkers for evaluating a call. /// Only one checker will evaluate the call. void CheckerManager::runCheckersForEvalCall(ExplodedNodeSet &Dst, const ExplodedNodeSet &Src, @@ -680,7 +680,7 @@ void CheckerManager::runCheckersForEvalCall(ExplodedNodeSet &Dst, } } -/// \brief Run checkers for the entire Translation Unit. +/// Run checkers for the entire Translation Unit. void CheckerManager::runCheckersOnEndOfTranslationUnit( const TranslationUnitDecl *TU, AnalysisManager &mgr, diff --git a/lib/StaticAnalyzer/Core/ExprEngineC.cpp b/lib/StaticAnalyzer/Core/ExprEngineC.cpp index 1221ddff76..462104c1d4 100644 --- a/lib/StaticAnalyzer/Core/ExprEngineC.cpp +++ b/lib/StaticAnalyzer/Core/ExprEngineC.cpp @@ -20,7 +20,7 @@ using namespace clang; using namespace ento; using llvm::APSInt; -/// \brief Optionally conjure and return a symbol for offset when processing +/// Optionally conjure and return a symbol for offset when processing /// an expression \p Expression. /// If \p Other is a location, conjure a symbol for \p Symbol /// (offset) if it is unknown so that memory arithmetic always diff --git a/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp b/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp index 5a4031c0b4..38d37b323a 100644 --- a/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp +++ b/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp @@ -474,7 +474,7 @@ static RangeSet assumeNonZero( --IntType.getZeroValue()); } -/// \brief Apply implicit constraints for bitwise OR- and AND-. +/// Apply implicit constraints for bitwise OR- and AND-. /// For unsigned types, bitwise OR with a constant always returns /// a value greater-or-equal than the constant, and bitwise AND /// returns a value less-or-equal then the constant. diff --git a/lib/StaticAnalyzer/Core/RegionStore.cpp b/lib/StaticAnalyzer/Core/RegionStore.cpp index 8f3205675d..557a89e626 100644 --- a/lib/StaticAnalyzer/Core/RegionStore.cpp +++ b/lib/StaticAnalyzer/Core/RegionStore.cpp @@ -333,7 +333,7 @@ private: /// To disable all small-struct-dependent behavior, set the option to "0". unsigned SmallStructLimit; - /// \brief A helper used to populate the work list with the given set of + /// A helper used to populate the work list with the given set of /// regions. void populateWorkList(invalidateRegionsWorker &W, ArrayRef<SVal> Values, @@ -473,7 +473,7 @@ public: // Part of public interface to class. const TypedRegion *R, SVal DefaultVal); - /// \brief Create a new store with the specified binding removed. + /// Create a new store with the specified binding removed. /// \param ST the original store, that is the basis for the new store. /// \param L the location whose binding should be removed. StoreRef killBinding(Store ST, Loc L) override; @@ -491,7 +491,7 @@ public: // Part of public interface to class. bool includedInBindings(Store store, const MemRegion *region) const override; - /// \brief Return the value bound to specified location in a given state. + /// Return the value bound to specified location in a given state. /// /// The high level logic for this method is this: /// getBinding (L) diff --git a/lib/StaticAnalyzer/Core/SVals.cpp b/lib/StaticAnalyzer/Core/SVals.cpp index 2105bcc6fc..559ca2c984 100644 --- a/lib/StaticAnalyzer/Core/SVals.cpp +++ b/lib/StaticAnalyzer/Core/SVals.cpp @@ -75,7 +75,7 @@ const FunctionDecl *SVal::getAsFunctionDecl() const { return nullptr; } -/// \brief If this SVal is a location (subclasses Loc) and wraps a symbol, +/// If this SVal is a location (subclasses Loc) and wraps a symbol, /// return that SymbolRef. Otherwise return 0. /// /// Implicit casts (ex: void* -> char*) can turn Symbolic region into Element @@ -118,7 +118,7 @@ SymbolRef SVal::getLocSymbolInBase() const { // TODO: The next 3 functions have to be simplified. -/// \brief If this SVal wraps a symbol return that SymbolRef. +/// If this SVal wraps a symbol return that SymbolRef. /// Otherwise, return 0. /// /// Casts are ignored during lookup. diff --git a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp index eee93d74b2..f6b234867d 100644 --- a/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp +++ b/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp @@ -173,7 +173,7 @@ public: CodeInjector *Injector; cross_tu::CrossTranslationUnitContext CTU; - /// \brief Stores the declarations from the local translation unit. + /// Stores the declarations from the local translation unit. /// Note, we pre-compute the local declarations at parse time as an /// optimization to make sure we do not deserialize everything from disk. /// The local declaration to all declarations ratio might be very small when @@ -301,24 +301,24 @@ public: CreateStoreMgr, CreateConstraintMgr, checkerMgr.get(), *Opts, Injector); } - /// \brief Store the top level decls in the set to be processed later on. + /// Store the top level decls in the set to be processed later on. /// (Doing this pre-processing avoids deserialization of data from PCH.) bool HandleTopLevelDecl(DeclGroupRef D) override; void HandleTopLevelDeclInObjCContainer(DeclGroupRef D) override; void HandleTranslationUnit(ASTContext &C) override; - /// \brief Determine which inlining mode should be used when this function is + /// Determine which inlining mode should be used when this function is /// analyzed. This allows to redefine the default inlining policies when /// analyzing a given function. ExprEngine::InliningModes getInliningModeForFunction(const Decl *D, const SetOfConstDecls &Visited); - /// \brief Build the call graph for all the top level decls of this TU and + /// Build the call graph for all the top level decls of this TU and /// use it to define the order in which the functions should be visited. void HandleDeclsCallGraph(const unsigned LocalTUDeclsSize); - /// \brief Run analyzes(syntax or path sensitive) on the given function. + /// Run analyzes(syntax or path sensitive) on the given function. /// \param Mode - determines if we are requesting syntax only or path /// sensitive only analysis. /// \param VisitedCallees - The output parameter, which is populated with the @@ -389,7 +389,7 @@ private: void storeTopLevelDecls(DeclGroupRef DG); std::string getFunctionName(const Decl *D); - /// \brief Check if we should skip (not analyze) the given function. + /// Check if we should skip (not analyze) the given function. AnalysisMode getModeForDecl(Decl *D, AnalysisMode Mode); void runAnalysisOnTranslationUnit(ASTContext &C); diff --git a/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp b/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp index a65a5ee0a4..60825ef741 100644 --- a/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp +++ b/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file implements an ASTConsumer for consuming model files. +/// This file implements an ASTConsumer for consuming model files. /// /// This ASTConsumer handles the AST of a parsed model file. All top level /// function definitions will be collected from that model file for later diff --git a/lib/StaticAnalyzer/Frontend/ModelInjector.h b/lib/StaticAnalyzer/Frontend/ModelInjector.h index 98a5f69d68..b1b6de9ef9 100644 --- a/lib/StaticAnalyzer/Frontend/ModelInjector.h +++ b/lib/StaticAnalyzer/Frontend/ModelInjector.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief This file defines the clang::ento::ModelInjector class which implements the +/// This file defines the clang::ento::ModelInjector class which implements the /// clang::CodeInjector interface. This class is responsible for injecting /// function definitions that were synthesized from model files. /// @@ -43,7 +43,7 @@ public: Stmt *getBody(const ObjCMethodDecl *D) override; private: - /// \brief Synthesize a body for a declaration + /// Synthesize a body for a declaration /// /// This method first looks up the appropriate model file based on the /// model-path configuration option and the name of the declaration that is diff --git a/lib/Tooling/CompilationDatabase.cpp b/lib/Tooling/CompilationDatabase.cpp index 3464a26d1a..31a769fa21 100644 --- a/lib/Tooling/CompilationDatabase.cpp +++ b/lib/Tooling/CompilationDatabase.cpp @@ -220,7 +220,7 @@ private: } // namespace -/// \brief Strips any positional args and possible argv[0] from a command-line +/// Strips any positional args and possible argv[0] from a command-line /// provided by the user to construct a FixedCompilationDatabase. /// /// FixedCompilationDatabase requires a command line to be in this format as it diff --git a/lib/Tooling/FileMatchTrie.cpp b/lib/Tooling/FileMatchTrie.cpp index 3e7c70e195..202b3f00f3 100644 --- a/lib/Tooling/FileMatchTrie.cpp +++ b/lib/Tooling/FileMatchTrie.cpp @@ -25,7 +25,7 @@ using namespace tooling; namespace { -/// \brief Default \c PathComparator using \c llvm::sys::fs::equivalent(). +/// Default \c PathComparator using \c llvm::sys::fs::equivalent(). struct DefaultPathComparator : public PathComparator { bool equivalent(StringRef FileA, StringRef FileB) const override { return FileA == FileB || llvm::sys::fs::equivalent(FileA, FileB); @@ -37,13 +37,13 @@ struct DefaultPathComparator : public PathComparator { namespace clang { namespace tooling { -/// \brief A node of the \c FileMatchTrie. +/// A node of the \c FileMatchTrie. /// /// Each node has storage for up to one path and a map mapping a path segment to /// child nodes. The trie starts with an empty root node. class FileMatchTrieNode { public: - /// \brief Inserts 'NewPath' into this trie. \c ConsumedLength denotes + /// Inserts 'NewPath' into this trie. \c ConsumedLength denotes /// the number of \c NewPath's trailing characters already consumed during /// recursion. /// @@ -81,7 +81,7 @@ public: Children[Element].insert(NewPath, ConsumedLength + Element.size() + 1); } - /// \brief Tries to find the node under this \c FileMatchTrieNode that best + /// Tries to find the node under this \c FileMatchTrieNode that best /// matches 'FileName'. /// /// If multiple paths fit 'FileName' equally well, \c IsAmbiguous is set to @@ -139,7 +139,7 @@ public: } private: - /// \brief Gets all paths under this FileMatchTrieNode. + /// Gets all paths under this FileMatchTrieNode. void getAll(std::vector<StringRef> &Results, llvm::StringMap<FileMatchTrieNode>::const_iterator Except) const { if (Path.empty()) diff --git a/lib/Tooling/JSONCompilationDatabase.cpp b/lib/Tooling/JSONCompilationDatabase.cpp index 67c1f5b220..2fa5fce279 100644 --- a/lib/Tooling/JSONCompilationDatabase.cpp +++ b/lib/Tooling/JSONCompilationDatabase.cpp @@ -43,7 +43,7 @@ using namespace tooling; namespace { -/// \brief A parser for escaped strings of command line arguments. +/// A parser for escaped strings of command line arguments. /// /// Assumes \-escaping for quoted arguments (see the documentation of /// unescapeCommandLine(...)). diff --git a/lib/Tooling/Refactoring/AtomicChange.cpp b/lib/Tooling/Refactoring/AtomicChange.cpp index e4cc6a5617..e8b0fdbeb6 100644 --- a/lib/Tooling/Refactoring/AtomicChange.cpp +++ b/lib/Tooling/Refactoring/AtomicChange.cpp @@ -15,7 +15,7 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(clang::tooling::AtomicChange) namespace { -/// \brief Helper to (de)serialize an AtomicChange since we don't have direct +/// Helper to (de)serialize an AtomicChange since we don't have direct /// access to its data members. /// Data members of a normalized AtomicChange can be directly mapped from/to /// YAML string. @@ -50,7 +50,7 @@ struct NormalizedAtomicChange { namespace llvm { namespace yaml { -/// \brief Specialized MappingTraits to describe how an AtomicChange is +/// Specialized MappingTraits to describe how an AtomicChange is /// (de)serialized. template <> struct MappingTraits<NormalizedAtomicChange> { static void mapping(IO &Io, NormalizedAtomicChange &Doc) { @@ -63,7 +63,7 @@ template <> struct MappingTraits<NormalizedAtomicChange> { } }; -/// \brief Specialized MappingTraits to describe how an AtomicChange is +/// Specialized MappingTraits to describe how an AtomicChange is /// (de)serialized. template <> struct MappingTraits<clang::tooling::AtomicChange> { static void mapping(IO &Io, clang::tooling::AtomicChange &Doc) { diff --git a/lib/Tooling/Refactoring/Extract/Extract.cpp b/lib/Tooling/Refactoring/Extract/Extract.cpp index b0847a7400..a12454cd29 100644 --- a/lib/Tooling/Refactoring/Extract/Extract.cpp +++ b/lib/Tooling/Refactoring/Extract/Extract.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Implements the "extract" refactoring that can pull code into +/// Implements the "extract" refactoring that can pull code into /// new functions, methods or declare new variables. /// //===----------------------------------------------------------------------===// diff --git a/lib/Tooling/Refactoring/Rename/RenamingAction.cpp b/lib/Tooling/Refactoring/Rename/RenamingAction.cpp index c8ed9dd19a..44ffae90ef 100644 --- a/lib/Tooling/Refactoring/Rename/RenamingAction.cpp +++ b/lib/Tooling/Refactoring/Rename/RenamingAction.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Provides an action to rename every symbol at a point. +/// Provides an action to rename every symbol at a point. /// //===----------------------------------------------------------------------===// diff --git a/lib/Tooling/Refactoring/Rename/USRFinder.cpp b/lib/Tooling/Refactoring/Rename/USRFinder.cpp index 3bfb5bbe35..63f536c72a 100644 --- a/lib/Tooling/Refactoring/Rename/USRFinder.cpp +++ b/lib/Tooling/Refactoring/Rename/USRFinder.cpp @@ -32,7 +32,7 @@ namespace { class NamedDeclOccurrenceFindingVisitor : public RecursiveSymbolVisitor<NamedDeclOccurrenceFindingVisitor> { public: - // \brief Finds the NamedDecl at a point in the source. + // Finds the NamedDecl at a point in the source. // \param Point the location in the source to search for the NamedDecl. explicit NamedDeclOccurrenceFindingVisitor(const SourceLocation Point, const ASTContext &Context) @@ -58,7 +58,7 @@ public: const NamedDecl *getNamedDecl() const { return Result; } private: - // \brief Determines if the Point is within Start and End. + // Determines if the Point is within Start and End. bool isPointWithin(const SourceLocation Start, const SourceLocation End) { // FIXME: Add tests for Point == End. return Point == Start || Point == End || diff --git a/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp b/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp index 40b70d8a05..2e7c9b0cc3 100644 --- a/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp +++ b/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Provides an action to find USR for the symbol at <offset>, as well as +/// Provides an action to find USR for the symbol at <offset>, as well as /// all additional USRs. /// //===----------------------------------------------------------------------===// @@ -55,7 +55,7 @@ const NamedDecl *getCanonicalSymbolDeclaration(const NamedDecl *FoundDecl) { } namespace { -// \brief NamedDeclFindingConsumer should delegate finding USRs of given Decl to +// NamedDeclFindingConsumer should delegate finding USRs of given Decl to // AdditionalUSRFinder. AdditionalUSRFinder adds USRs of ctor and dtor if given // Decl refers to class and adds USRs of all overridden methods if Decl refers // to virtual method. diff --git a/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp b/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp index 56f32dd2ec..fb06b91118 100644 --- a/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp +++ b/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// /// /// \file -/// \brief Methods for finding all instances of a USR. Our strategy is very +/// Methods for finding all instances of a USR. Our strategy is very /// simple; we just compare the USR at every relevant AST node with the one /// provided. /// @@ -50,7 +50,7 @@ bool IsValidEditLoc(const clang::SourceManager& SM, clang::SourceLocation Loc) { return SM.getFileEntryForID(FileIdAndOffset.first) != nullptr; } -// \brief This visitor recursively searches for all instances of a USR in a +// This visitor recursively searches for all instances of a USR in a // translation unit and stores them for later usage. class USRLocFindingASTVisitor : public RecursiveSymbolVisitor<USRLocFindingASTVisitor> { @@ -80,7 +80,7 @@ public: // Non-visitors: - /// \brief Returns a set of unique symbol occurrences. Duplicate or + /// Returns a set of unique symbol occurrences. Duplicate or /// overlapping occurrences are erroneous and should be reported! SymbolOccurrences takeOccurrences() { return std::move(Occurrences); } diff --git a/lib/Tooling/Tooling.cpp b/lib/Tooling/Tooling.cpp index f6bce4807f..d40112f72e 100644 --- a/lib/Tooling/Tooling.cpp +++ b/lib/Tooling/Tooling.cpp @@ -73,7 +73,7 @@ FrontendActionFactory::~FrontendActionFactory() = default; // code that sets up a compiler to run tools on it, and we should refactor // it to be based on the same framework. -/// \brief Builds a clang driver initialized for running clang tools. +/// Builds a clang driver initialized for running clang tools. static driver::Driver *newDriver( DiagnosticsEngine *Diagnostics, const char *BinaryName, IntrusiveRefCntPtr<vfs::FileSystem> VFS) { @@ -84,7 +84,7 @@ static driver::Driver *newDriver( return CompilerDriver; } -/// \brief Retrieves the clang CC1 specific flags out of the compilation's jobs. +/// Retrieves the clang CC1 specific flags out of the compilation's jobs. /// /// Returns nullptr on error. static const llvm::opt::ArgStringList *getCC1Arguments( @@ -114,7 +114,7 @@ static const llvm::opt::ArgStringList *getCC1Arguments( namespace clang { namespace tooling { -/// \brief Returns a clang build invocation initialized from the CC1 flags. +/// Returns a clang build invocation initialized from the CC1 flags. CompilerInvocation *newInvocation( DiagnosticsEngine *Diagnostics, const llvm::opt::ArgStringList &CC1Args) { assert(!CC1Args.empty() && "Must at least contain the program name!"); |