r331834 - Remove \brief commands from doxygen comments.

Adrian Prantl via cfe-commits cfe-commits at lists.llvm.org
Tue May 8 18:00:03 PDT 2018


Author: adrian
Date: Tue May  8 18:00:01 2018
New Revision: 331834

URL: http://llvm.org/viewvc/llvm-project?rev=331834&view=rev
Log:
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

Modified:
    cfe/trunk/docs/LibFormat.rst
    cfe/trunk/docs/doxygen.cfg.in
    cfe/trunk/include/clang-c/BuildSystem.h
    cfe/trunk/include/clang-c/CXCompilationDatabase.h
    cfe/trunk/include/clang-c/CXErrorCode.h
    cfe/trunk/include/clang-c/CXString.h
    cfe/trunk/include/clang-c/Documentation.h
    cfe/trunk/include/clang-c/Index.h
    cfe/trunk/include/clang/ARCMigrate/ARCMT.h
    cfe/trunk/include/clang/ARCMigrate/ARCMTActions.h
    cfe/trunk/include/clang/AST/APValue.h
    cfe/trunk/include/clang/AST/ASTConsumer.h
    cfe/trunk/include/clang/AST/ASTContext.h
    cfe/trunk/include/clang/AST/ASTDiagnostic.h
    cfe/trunk/include/clang/AST/ASTFwd.h
    cfe/trunk/include/clang/AST/ASTImporter.h
    cfe/trunk/include/clang/AST/ASTLambda.h
    cfe/trunk/include/clang/AST/ASTMutationListener.h
    cfe/trunk/include/clang/AST/ASTTypeTraits.h
    cfe/trunk/include/clang/AST/ASTUnresolvedSet.h
    cfe/trunk/include/clang/AST/Attr.h
    cfe/trunk/include/clang/AST/Availability.h
    cfe/trunk/include/clang/AST/CXXInheritance.h
    cfe/trunk/include/clang/AST/CanonicalType.h
    cfe/trunk/include/clang/AST/CommentBriefParser.h
    cfe/trunk/include/clang/AST/CommentCommandTraits.h
    cfe/trunk/include/clang/AST/CommentLexer.h
    cfe/trunk/include/clang/AST/CommentSema.h
    cfe/trunk/include/clang/AST/ComparisonCategories.h
    cfe/trunk/include/clang/AST/DataCollection.h
    cfe/trunk/include/clang/AST/Decl.h
    cfe/trunk/include/clang/AST/DeclBase.h
    cfe/trunk/include/clang/AST/DeclCXX.h
    cfe/trunk/include/clang/AST/DeclContextInternals.h
    cfe/trunk/include/clang/AST/DeclObjC.h
    cfe/trunk/include/clang/AST/DeclOpenMP.h
    cfe/trunk/include/clang/AST/DeclTemplate.h
    cfe/trunk/include/clang/AST/DeclVisitor.h
    cfe/trunk/include/clang/AST/DeclarationName.h
    cfe/trunk/include/clang/AST/EvaluatedExprVisitor.h
    cfe/trunk/include/clang/AST/Expr.h
    cfe/trunk/include/clang/AST/ExprCXX.h
    cfe/trunk/include/clang/AST/ExprObjC.h
    cfe/trunk/include/clang/AST/ExprOpenMP.h
    cfe/trunk/include/clang/AST/ExternalASTSource.h
    cfe/trunk/include/clang/AST/LambdaCapture.h
    cfe/trunk/include/clang/AST/LocInfoType.h
    cfe/trunk/include/clang/AST/Mangle.h
    cfe/trunk/include/clang/AST/MangleNumberingContext.h
    cfe/trunk/include/clang/AST/NSAPI.h
    cfe/trunk/include/clang/AST/NestedNameSpecifier.h
    cfe/trunk/include/clang/AST/OpenMPClause.h
    cfe/trunk/include/clang/AST/OperationKinds.def
    cfe/trunk/include/clang/AST/OperationKinds.h
    cfe/trunk/include/clang/AST/ParentMap.h
    cfe/trunk/include/clang/AST/PrettyPrinter.h
    cfe/trunk/include/clang/AST/QualTypeNames.h
    cfe/trunk/include/clang/AST/RawCommentList.h
    cfe/trunk/include/clang/AST/RecordLayout.h
    cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
    cfe/trunk/include/clang/AST/Redeclarable.h
    cfe/trunk/include/clang/AST/SelectorLocationsKind.h
    cfe/trunk/include/clang/AST/Stmt.h
    cfe/trunk/include/clang/AST/StmtCXX.h
    cfe/trunk/include/clang/AST/StmtObjC.h
    cfe/trunk/include/clang/AST/StmtOpenMP.h
    cfe/trunk/include/clang/AST/StmtVisitor.h
    cfe/trunk/include/clang/AST/TemplateBase.h
    cfe/trunk/include/clang/AST/TemplateName.h
    cfe/trunk/include/clang/AST/Type.h
    cfe/trunk/include/clang/AST/TypeLoc.h
    cfe/trunk/include/clang/AST/TypeOrdering.h
    cfe/trunk/include/clang/AST/TypeVisitor.h
    cfe/trunk/include/clang/AST/UnresolvedSet.h
    cfe/trunk/include/clang/AST/VTTBuilder.h
    cfe/trunk/include/clang/AST/VTableBuilder.h
    cfe/trunk/include/clang/ASTMatchers/ASTMatchFinder.h
    cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
    cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h
    cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h
    cfe/trunk/include/clang/ASTMatchers/Dynamic/Diagnostics.h
    cfe/trunk/include/clang/ASTMatchers/Dynamic/Parser.h
    cfe/trunk/include/clang/ASTMatchers/Dynamic/Registry.h
    cfe/trunk/include/clang/ASTMatchers/Dynamic/VariantValue.h
    cfe/trunk/include/clang/Analysis/Analyses/Consumed.h
    cfe/trunk/include/clang/Analysis/Analyses/Dominators.h
    cfe/trunk/include/clang/Analysis/Analyses/FormatString.h
    cfe/trunk/include/clang/Analysis/Analyses/PostOrderCFGView.h
    cfe/trunk/include/clang/Analysis/Analyses/ThreadSafety.h
    cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
    cfe/trunk/include/clang/Analysis/AnalysisDeclContext.h
    cfe/trunk/include/clang/Analysis/CFG.h
    cfe/trunk/include/clang/Analysis/CallGraph.h
    cfe/trunk/include/clang/Analysis/CodeInjector.h
    cfe/trunk/include/clang/Analysis/ProgramPoint.h
    cfe/trunk/include/clang/Basic/ABI.h
    cfe/trunk/include/clang/Basic/AddressSpaces.h
    cfe/trunk/include/clang/Basic/AlignedAllocation.h
    cfe/trunk/include/clang/Basic/AllDiagnostics.h
    cfe/trunk/include/clang/Basic/AttrKinds.h
    cfe/trunk/include/clang/Basic/AttrSubjectMatchRules.h
    cfe/trunk/include/clang/Basic/Attributes.h
    cfe/trunk/include/clang/Basic/Builtins.h
    cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def
    cfe/trunk/include/clang/Basic/CapturedStmt.h
    cfe/trunk/include/clang/Basic/CommentOptions.h
    cfe/trunk/include/clang/Basic/Diagnostic.h
    cfe/trunk/include/clang/Basic/DiagnosticError.h
    cfe/trunk/include/clang/Basic/DiagnosticIDs.h
    cfe/trunk/include/clang/Basic/DiagnosticOptions.h
    cfe/trunk/include/clang/Basic/ExceptionSpecificationType.h
    cfe/trunk/include/clang/Basic/ExpressionTraits.h
    cfe/trunk/include/clang/Basic/FileManager.h
    cfe/trunk/include/clang/Basic/FileSystemOptions.h
    cfe/trunk/include/clang/Basic/FileSystemStatCache.h
    cfe/trunk/include/clang/Basic/IdentifierTable.h
    cfe/trunk/include/clang/Basic/LLVM.h
    cfe/trunk/include/clang/Basic/Lambda.h
    cfe/trunk/include/clang/Basic/LangOptions.def
    cfe/trunk/include/clang/Basic/LangOptions.h
    cfe/trunk/include/clang/Basic/Linkage.h
    cfe/trunk/include/clang/Basic/MacroBuilder.h
    cfe/trunk/include/clang/Basic/Module.h
    cfe/trunk/include/clang/Basic/ObjCRuntime.h
    cfe/trunk/include/clang/Basic/OpenCLOptions.h
    cfe/trunk/include/clang/Basic/OpenMPKinds.def
    cfe/trunk/include/clang/Basic/OpenMPKinds.h
    cfe/trunk/include/clang/Basic/OperatorKinds.h
    cfe/trunk/include/clang/Basic/OperatorPrecedence.h
    cfe/trunk/include/clang/Basic/PartialDiagnostic.h
    cfe/trunk/include/clang/Basic/PrettyStackTrace.h
    cfe/trunk/include/clang/Basic/Sanitizers.h
    cfe/trunk/include/clang/Basic/SourceLocation.h
    cfe/trunk/include/clang/Basic/SourceManager.h
    cfe/trunk/include/clang/Basic/SourceManagerInternals.h
    cfe/trunk/include/clang/Basic/Specifiers.h
    cfe/trunk/include/clang/Basic/SyncScope.h
    cfe/trunk/include/clang/Basic/TargetBuiltins.h
    cfe/trunk/include/clang/Basic/TargetCXXABI.h
    cfe/trunk/include/clang/Basic/TargetInfo.h
    cfe/trunk/include/clang/Basic/TargetOptions.h
    cfe/trunk/include/clang/Basic/TemplateKinds.h
    cfe/trunk/include/clang/Basic/TokenKinds.h
    cfe/trunk/include/clang/Basic/TypeTraits.h
    cfe/trunk/include/clang/Basic/Version.h
    cfe/trunk/include/clang/Basic/VersionTuple.h
    cfe/trunk/include/clang/Basic/VirtualFileSystem.h
    cfe/trunk/include/clang/Basic/Visibility.h
    cfe/trunk/include/clang/Basic/XRayInstr.h
    cfe/trunk/include/clang/CodeGen/CGFunctionInfo.h
    cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.h
    cfe/trunk/include/clang/Driver/Action.h
    cfe/trunk/include/clang/Driver/Driver.h
    cfe/trunk/include/clang/Driver/Job.h
    cfe/trunk/include/clang/Driver/Multilib.h
    cfe/trunk/include/clang/Driver/Tool.h
    cfe/trunk/include/clang/Driver/ToolChain.h
    cfe/trunk/include/clang/Edit/EditsReceiver.h
    cfe/trunk/include/clang/Format/Format.h
    cfe/trunk/include/clang/Frontend/ASTUnit.h
    cfe/trunk/include/clang/Frontend/ChainedDiagnosticConsumer.h
    cfe/trunk/include/clang/Frontend/CodeGenOptions.def
    cfe/trunk/include/clang/Frontend/CodeGenOptions.h
    cfe/trunk/include/clang/Frontend/CommandLineSourceLoc.h
    cfe/trunk/include/clang/Frontend/CompilerInstance.h
    cfe/trunk/include/clang/Frontend/CompilerInvocation.h
    cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h
    cfe/trunk/include/clang/Frontend/DiagnosticRenderer.h
    cfe/trunk/include/clang/Frontend/FrontendAction.h
    cfe/trunk/include/clang/Frontend/FrontendActions.h
    cfe/trunk/include/clang/Frontend/FrontendOptions.h
    cfe/trunk/include/clang/Frontend/LayoutOverrideSource.h
    cfe/trunk/include/clang/Frontend/PrecompiledPreamble.h
    cfe/trunk/include/clang/Frontend/SerializedDiagnosticPrinter.h
    cfe/trunk/include/clang/Frontend/SerializedDiagnosticReader.h
    cfe/trunk/include/clang/Frontend/SerializedDiagnostics.h
    cfe/trunk/include/clang/Frontend/TextDiagnostic.h
    cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h
    cfe/trunk/include/clang/Frontend/VerifyDiagnosticConsumer.h
    cfe/trunk/include/clang/Index/USRGeneration.h
    cfe/trunk/include/clang/Lex/CodeCompletionHandler.h
    cfe/trunk/include/clang/Lex/DirectoryLookup.h
    cfe/trunk/include/clang/Lex/ExternalPreprocessorSource.h
    cfe/trunk/include/clang/Lex/HeaderSearch.h
    cfe/trunk/include/clang/Lex/HeaderSearchOptions.h
    cfe/trunk/include/clang/Lex/Lexer.h
    cfe/trunk/include/clang/Lex/LiteralSupport.h
    cfe/trunk/include/clang/Lex/MacroInfo.h
    cfe/trunk/include/clang/Lex/ModuleLoader.h
    cfe/trunk/include/clang/Lex/ModuleMap.h
    cfe/trunk/include/clang/Lex/MultipleIncludeOpt.h
    cfe/trunk/include/clang/Lex/PPCallbacks.h
    cfe/trunk/include/clang/Lex/PPConditionalDirectiveRecord.h
    cfe/trunk/include/clang/Lex/Pragma.h
    cfe/trunk/include/clang/Lex/PreprocessingRecord.h
    cfe/trunk/include/clang/Lex/Preprocessor.h
    cfe/trunk/include/clang/Lex/PreprocessorLexer.h
    cfe/trunk/include/clang/Lex/PreprocessorOptions.h
    cfe/trunk/include/clang/Lex/Token.h
    cfe/trunk/include/clang/Lex/TokenLexer.h
    cfe/trunk/include/clang/Lex/VariadicMacroSupport.h
    cfe/trunk/include/clang/Parse/ParseAST.h
    cfe/trunk/include/clang/Parse/Parser.h
    cfe/trunk/include/clang/Parse/RAIIObjectsForParser.h
    cfe/trunk/include/clang/Rewrite/Core/RewriteBuffer.h
    cfe/trunk/include/clang/Rewrite/Core/Rewriter.h
    cfe/trunk/include/clang/Rewrite/Frontend/FixItRewriter.h
    cfe/trunk/include/clang/Rewrite/Frontend/FrontendActions.h
    cfe/trunk/include/clang/Sema/AnalysisBasedWarnings.h
    cfe/trunk/include/clang/Sema/AttributeList.h
    cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
    cfe/trunk/include/clang/Sema/DeclSpec.h
    cfe/trunk/include/clang/Sema/DelayedDiagnostic.h
    cfe/trunk/include/clang/Sema/ExternalSemaSource.h
    cfe/trunk/include/clang/Sema/IdentifierResolver.h
    cfe/trunk/include/clang/Sema/Initialization.h
    cfe/trunk/include/clang/Sema/Lookup.h
    cfe/trunk/include/clang/Sema/LoopHint.h
    cfe/trunk/include/clang/Sema/MultiplexExternalSemaSource.h
    cfe/trunk/include/clang/Sema/ObjCMethodList.h
    cfe/trunk/include/clang/Sema/Overload.h
    cfe/trunk/include/clang/Sema/Ownership.h
    cfe/trunk/include/clang/Sema/ParsedTemplate.h
    cfe/trunk/include/clang/Sema/Scope.h
    cfe/trunk/include/clang/Sema/ScopeInfo.h
    cfe/trunk/include/clang/Sema/Sema.h
    cfe/trunk/include/clang/Sema/SemaConsumer.h
    cfe/trunk/include/clang/Sema/SemaInternal.h
    cfe/trunk/include/clang/Sema/SemaLambda.h
    cfe/trunk/include/clang/Sema/Template.h
    cfe/trunk/include/clang/Sema/TemplateDeduction.h
    cfe/trunk/include/clang/Sema/TemplateInstCallback.h
    cfe/trunk/include/clang/Sema/TypoCorrection.h
    cfe/trunk/include/clang/Sema/Weak.h
    cfe/trunk/include/clang/Serialization/ASTBitCodes.h
    cfe/trunk/include/clang/Serialization/ASTDeserializationListener.h
    cfe/trunk/include/clang/Serialization/ASTReader.h
    cfe/trunk/include/clang/Serialization/ASTWriter.h
    cfe/trunk/include/clang/Serialization/ContinuousRangeMap.h
    cfe/trunk/include/clang/Serialization/GlobalModuleIndex.h
    cfe/trunk/include/clang/Serialization/Module.h
    cfe/trunk/include/clang/Serialization/ModuleManager.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/Checker.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/CheckerManager.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/IssueHash.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
    cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
    cfe/trunk/include/clang/StaticAnalyzer/Frontend/FrontendActions.h
    cfe/trunk/include/clang/StaticAnalyzer/Frontend/ModelConsumer.h
    cfe/trunk/include/clang/Tooling/AllTUsExecution.h
    cfe/trunk/include/clang/Tooling/ArgumentsAdjusters.h
    cfe/trunk/include/clang/Tooling/CommonOptionsParser.h
    cfe/trunk/include/clang/Tooling/CompilationDatabase.h
    cfe/trunk/include/clang/Tooling/Core/Diagnostic.h
    cfe/trunk/include/clang/Tooling/Core/Replacement.h
    cfe/trunk/include/clang/Tooling/DiagnosticsYaml.h
    cfe/trunk/include/clang/Tooling/Execution.h
    cfe/trunk/include/clang/Tooling/FileMatchTrie.h
    cfe/trunk/include/clang/Tooling/FixIt.h
    cfe/trunk/include/clang/Tooling/JSONCompilationDatabase.h
    cfe/trunk/include/clang/Tooling/Refactoring.h
    cfe/trunk/include/clang/Tooling/Refactoring/AtomicChange.h
    cfe/trunk/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
    cfe/trunk/include/clang/Tooling/Refactoring/Rename/RenamingAction.h
    cfe/trunk/include/clang/Tooling/Refactoring/Rename/USRFinder.h
    cfe/trunk/include/clang/Tooling/Refactoring/Rename/USRFindingAction.h
    cfe/trunk/include/clang/Tooling/Refactoring/Rename/USRLocFinder.h
    cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h
    cfe/trunk/include/clang/Tooling/ReplacementsYaml.h
    cfe/trunk/include/clang/Tooling/StandaloneExecution.h
    cfe/trunk/include/clang/Tooling/Tooling.h
    cfe/trunk/lib/ARCMigrate/ARCMT.cpp
    cfe/trunk/lib/ARCMigrate/ObjCMT.cpp
    cfe/trunk/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
    cfe/trunk/lib/ARCMigrate/TransGCAttrs.cpp
    cfe/trunk/lib/ARCMigrate/TransProperties.cpp
    cfe/trunk/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
    cfe/trunk/lib/ARCMigrate/TransformActions.cpp
    cfe/trunk/lib/ARCMigrate/Transforms.cpp
    cfe/trunk/lib/ARCMigrate/Transforms.h
    cfe/trunk/lib/AST/ASTContext.cpp
    cfe/trunk/lib/AST/ASTDiagnostic.cpp
    cfe/trunk/lib/AST/ASTImporter.cpp
    cfe/trunk/lib/AST/CXXInheritance.cpp
    cfe/trunk/lib/AST/CommentBriefParser.cpp
    cfe/trunk/lib/AST/CommentSema.cpp
    cfe/trunk/lib/AST/Decl.cpp
    cfe/trunk/lib/AST/DeclBase.cpp
    cfe/trunk/lib/AST/DeclCXX.cpp
    cfe/trunk/lib/AST/DeclObjC.cpp
    cfe/trunk/lib/AST/DeclOpenMP.cpp
    cfe/trunk/lib/AST/Expr.cpp
    cfe/trunk/lib/AST/ExprConstant.cpp
    cfe/trunk/lib/AST/ItaniumCXXABI.cpp
    cfe/trunk/lib/AST/MicrosoftCXXABI.cpp
    cfe/trunk/lib/AST/MicrosoftMangle.cpp
    cfe/trunk/lib/AST/NSAPI.cpp
    cfe/trunk/lib/AST/NestedNameSpecifier.cpp
    cfe/trunk/lib/AST/QualTypeNames.cpp
    cfe/trunk/lib/AST/RawCommentList.cpp
    cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
    cfe/trunk/lib/AST/Stmt.cpp
    cfe/trunk/lib/AST/StmtPrinter.cpp
    cfe/trunk/lib/AST/StmtProfile.cpp
    cfe/trunk/lib/AST/TemplateBase.cpp
    cfe/trunk/lib/AST/Type.cpp
    cfe/trunk/lib/AST/TypeLoc.cpp
    cfe/trunk/lib/AST/TypePrinter.cpp
    cfe/trunk/lib/AST/VTableBuilder.cpp
    cfe/trunk/lib/ASTMatchers/ASTMatchFinder.cpp
    cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp
    cfe/trunk/lib/ASTMatchers/Dynamic/Marshallers.h
    cfe/trunk/lib/ASTMatchers/Dynamic/Parser.cpp
    cfe/trunk/lib/ASTMatchers/Dynamic/Registry.cpp
    cfe/trunk/lib/ASTMatchers/Dynamic/VariantValue.cpp
    cfe/trunk/lib/Analysis/CFG.cpp
    cfe/trunk/lib/Analysis/ThreadSafety.cpp
    cfe/trunk/lib/Analysis/ThreadSafetyCommon.cpp
    cfe/trunk/lib/Analysis/UninitializedValues.cpp
    cfe/trunk/lib/Basic/Diagnostic.cpp
    cfe/trunk/lib/Basic/DiagnosticIDs.cpp
    cfe/trunk/lib/Basic/FileManager.cpp
    cfe/trunk/lib/Basic/IdentifierTable.cpp
    cfe/trunk/lib/Basic/Module.cpp
    cfe/trunk/lib/Basic/OpenMPKinds.cpp
    cfe/trunk/lib/Basic/OperatorPrecedence.cpp
    cfe/trunk/lib/Basic/SourceManager.cpp
    cfe/trunk/lib/Basic/Targets/AMDGPU.h
    cfe/trunk/lib/Basic/Targets/PPC.h
    cfe/trunk/lib/Basic/Targets/X86.h
    cfe/trunk/lib/Basic/VirtualFileSystem.cpp
    cfe/trunk/lib/CodeGen/CGAtomic.cpp
    cfe/trunk/lib/CodeGen/CGBuilder.h
    cfe/trunk/lib/CodeGen/CGBuiltin.cpp
    cfe/trunk/lib/CodeGen/CGCXXABI.h
    cfe/trunk/lib/CodeGen/CGCall.h
    cfe/trunk/lib/CodeGen/CGClass.cpp
    cfe/trunk/lib/CodeGen/CGDebugInfo.h
    cfe/trunk/lib/CodeGen/CGDecl.cpp
    cfe/trunk/lib/CodeGen/CGExpr.cpp
    cfe/trunk/lib/CodeGen/CGExprAgg.cpp
    cfe/trunk/lib/CodeGen/CGExprComplex.cpp
    cfe/trunk/lib/CodeGen/CGExprScalar.cpp
    cfe/trunk/lib/CodeGen/CGLoopInfo.h
    cfe/trunk/lib/CodeGen/CGObjC.cpp
    cfe/trunk/lib/CodeGen/CGObjCMac.cpp
    cfe/trunk/lib/CodeGen/CGOpenCLRuntime.h
    cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp
    cfe/trunk/lib/CodeGen/CGOpenMPRuntime.h
    cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
    cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
    cfe/trunk/lib/CodeGen/CGRecordLayout.h
    cfe/trunk/lib/CodeGen/CGRecordLayoutBuilder.cpp
    cfe/trunk/lib/CodeGen/CGValue.h
    cfe/trunk/lib/CodeGen/CodeGenAction.cpp
    cfe/trunk/lib/CodeGen/CodeGenFunction.h
    cfe/trunk/lib/CodeGen/CodeGenModule.cpp
    cfe/trunk/lib/CodeGen/CodeGenModule.h
    cfe/trunk/lib/CodeGen/CodeGenPGO.cpp
    cfe/trunk/lib/CodeGen/CodeGenTypes.h
    cfe/trunk/lib/CodeGen/CoverageMappingGen.cpp
    cfe/trunk/lib/CodeGen/CoverageMappingGen.h
    cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp
    cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp
    cfe/trunk/lib/CodeGen/TargetInfo.cpp
    cfe/trunk/lib/Driver/Driver.cpp
    cfe/trunk/lib/Driver/Job.cpp
    cfe/trunk/lib/Driver/ToolChain.cpp
    cfe/trunk/lib/Driver/ToolChains/Clang.cpp
    cfe/trunk/lib/Driver/ToolChains/Clang.h
    cfe/trunk/lib/Driver/ToolChains/CommonArgs.cpp
    cfe/trunk/lib/Driver/ToolChains/Cuda.h
    cfe/trunk/lib/Driver/ToolChains/Darwin.cpp
    cfe/trunk/lib/Driver/ToolChains/Gnu.cpp
    cfe/trunk/lib/Driver/ToolChains/Gnu.h
    cfe/trunk/lib/Driver/ToolChains/Linux.cpp
    cfe/trunk/lib/Driver/ToolChains/MSVC.cpp
    cfe/trunk/lib/Driver/ToolChains/MSVC.h
    cfe/trunk/lib/Edit/EditedSource.cpp
    cfe/trunk/lib/Edit/RewriteObjCFoundationAPI.cpp
    cfe/trunk/lib/Format/AffectedRangeManager.cpp
    cfe/trunk/lib/Format/AffectedRangeManager.h
    cfe/trunk/lib/Format/BreakableToken.cpp
    cfe/trunk/lib/Format/BreakableToken.h
    cfe/trunk/lib/Format/ContinuationIndenter.cpp
    cfe/trunk/lib/Format/ContinuationIndenter.h
    cfe/trunk/lib/Format/Encoding.h
    cfe/trunk/lib/Format/Format.cpp
    cfe/trunk/lib/Format/FormatInternal.h
    cfe/trunk/lib/Format/FormatToken.cpp
    cfe/trunk/lib/Format/FormatToken.h
    cfe/trunk/lib/Format/FormatTokenLexer.cpp
    cfe/trunk/lib/Format/FormatTokenLexer.h
    cfe/trunk/lib/Format/NamespaceEndCommentsFixer.cpp
    cfe/trunk/lib/Format/NamespaceEndCommentsFixer.h
    cfe/trunk/lib/Format/SortJavaScriptImports.cpp
    cfe/trunk/lib/Format/SortJavaScriptImports.h
    cfe/trunk/lib/Format/TokenAnalyzer.cpp
    cfe/trunk/lib/Format/TokenAnalyzer.h
    cfe/trunk/lib/Format/TokenAnnotator.cpp
    cfe/trunk/lib/Format/TokenAnnotator.h
    cfe/trunk/lib/Format/UnwrappedLineFormatter.cpp
    cfe/trunk/lib/Format/UnwrappedLineFormatter.h
    cfe/trunk/lib/Format/UnwrappedLineParser.cpp
    cfe/trunk/lib/Format/UnwrappedLineParser.h
    cfe/trunk/lib/Format/UsingDeclarationsSorter.cpp
    cfe/trunk/lib/Format/UsingDeclarationsSorter.h
    cfe/trunk/lib/Format/WhitespaceManager.cpp
    cfe/trunk/lib/Format/WhitespaceManager.h
    cfe/trunk/lib/Frontend/ASTUnit.cpp
    cfe/trunk/lib/Frontend/CompilerInstance.cpp
    cfe/trunk/lib/Frontend/CompilerInvocation.cpp
    cfe/trunk/lib/Frontend/DiagnosticRenderer.cpp
    cfe/trunk/lib/Frontend/FrontendAction.cpp
    cfe/trunk/lib/Frontend/FrontendActions.cpp
    cfe/trunk/lib/Frontend/InitPreprocessor.cpp
    cfe/trunk/lib/Frontend/LayoutOverrideSource.cpp
    cfe/trunk/lib/Frontend/PCHContainerOperations.cpp
    cfe/trunk/lib/Frontend/Rewrite/FixItRewriter.cpp
    cfe/trunk/lib/Frontend/SerializedDiagnosticPrinter.cpp
    cfe/trunk/lib/Frontend/TextDiagnostic.cpp
    cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp
    cfe/trunk/lib/Frontend/VerifyDiagnosticConsumer.cpp
    cfe/trunk/lib/Headers/__wmmintrin_aes.h
    cfe/trunk/lib/Headers/__wmmintrin_pclmul.h
    cfe/trunk/lib/Headers/ammintrin.h
    cfe/trunk/lib/Headers/avx512fintrin.h
    cfe/trunk/lib/Headers/avxintrin.h
    cfe/trunk/lib/Headers/bmiintrin.h
    cfe/trunk/lib/Headers/clwbintrin.h
    cfe/trunk/lib/Headers/clzerointrin.h
    cfe/trunk/lib/Headers/emmintrin.h
    cfe/trunk/lib/Headers/f16cintrin.h
    cfe/trunk/lib/Headers/fxsrintrin.h
    cfe/trunk/lib/Headers/immintrin.h
    cfe/trunk/lib/Headers/lwpintrin.h
    cfe/trunk/lib/Headers/lzcntintrin.h
    cfe/trunk/lib/Headers/mmintrin.h
    cfe/trunk/lib/Headers/pmmintrin.h
    cfe/trunk/lib/Headers/popcntintrin.h
    cfe/trunk/lib/Headers/prfchwintrin.h
    cfe/trunk/lib/Headers/smmintrin.h
    cfe/trunk/lib/Headers/tmmintrin.h
    cfe/trunk/lib/Headers/xmmintrin.h
    cfe/trunk/lib/Index/IndexDecl.cpp
    cfe/trunk/lib/Index/SimpleFormatContext.h
    cfe/trunk/lib/Lex/HeaderSearch.cpp
    cfe/trunk/lib/Lex/Lexer.cpp
    cfe/trunk/lib/Lex/LiteralSupport.cpp
    cfe/trunk/lib/Lex/MacroInfo.cpp
    cfe/trunk/lib/Lex/ModuleMap.cpp
    cfe/trunk/lib/Lex/PPDirectives.cpp
    cfe/trunk/lib/Lex/PPLexerChange.cpp
    cfe/trunk/lib/Lex/PPMacroExpansion.cpp
    cfe/trunk/lib/Lex/Pragma.cpp
    cfe/trunk/lib/Lex/PreprocessingRecord.cpp
    cfe/trunk/lib/Lex/Preprocessor.cpp
    cfe/trunk/lib/Lex/PreprocessorLexer.cpp
    cfe/trunk/lib/Lex/TokenLexer.cpp
    cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp
    cfe/trunk/lib/Parse/ParseDecl.cpp
    cfe/trunk/lib/Parse/ParseDeclCXX.cpp
    cfe/trunk/lib/Parse/ParseExpr.cpp
    cfe/trunk/lib/Parse/ParseExprCXX.cpp
    cfe/trunk/lib/Parse/ParseObjc.cpp
    cfe/trunk/lib/Parse/ParseOpenMP.cpp
    cfe/trunk/lib/Parse/ParsePragma.cpp
    cfe/trunk/lib/Parse/ParseStmt.cpp
    cfe/trunk/lib/Parse/ParseTemplate.cpp
    cfe/trunk/lib/Parse/ParseTentative.cpp
    cfe/trunk/lib/Parse/Parser.cpp
    cfe/trunk/lib/Rewrite/Rewriter.cpp
    cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp
    cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp
    cfe/trunk/lib/Sema/CoroutineStmtBuilder.h
    cfe/trunk/lib/Sema/IdentifierResolver.cpp
    cfe/trunk/lib/Sema/JumpDiagnostics.cpp
    cfe/trunk/lib/Sema/MultiplexExternalSemaSource.cpp
    cfe/trunk/lib/Sema/Sema.cpp
    cfe/trunk/lib/Sema/SemaAccess.cpp
    cfe/trunk/lib/Sema/SemaAttr.cpp
    cfe/trunk/lib/Sema/SemaCUDA.cpp
    cfe/trunk/lib/Sema/SemaCXXScopeSpec.cpp
    cfe/trunk/lib/Sema/SemaChecking.cpp
    cfe/trunk/lib/Sema/SemaCodeComplete.cpp
    cfe/trunk/lib/Sema/SemaCoroutine.cpp
    cfe/trunk/lib/Sema/SemaDecl.cpp
    cfe/trunk/lib/Sema/SemaDeclAttr.cpp
    cfe/trunk/lib/Sema/SemaDeclCXX.cpp
    cfe/trunk/lib/Sema/SemaDeclObjC.cpp
    cfe/trunk/lib/Sema/SemaExpr.cpp
    cfe/trunk/lib/Sema/SemaExprCXX.cpp
    cfe/trunk/lib/Sema/SemaExprMember.cpp
    cfe/trunk/lib/Sema/SemaExprObjC.cpp
    cfe/trunk/lib/Sema/SemaInit.cpp
    cfe/trunk/lib/Sema/SemaLambda.cpp
    cfe/trunk/lib/Sema/SemaLookup.cpp
    cfe/trunk/lib/Sema/SemaObjCProperty.cpp
    cfe/trunk/lib/Sema/SemaOpenMP.cpp
    cfe/trunk/lib/Sema/SemaOverload.cpp
    cfe/trunk/lib/Sema/SemaPseudoObject.cpp
    cfe/trunk/lib/Sema/SemaStmt.cpp
    cfe/trunk/lib/Sema/SemaStmtAsm.cpp
    cfe/trunk/lib/Sema/SemaTemplate.cpp
    cfe/trunk/lib/Sema/SemaTemplateDeduction.cpp
    cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp
    cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp
    cfe/trunk/lib/Sema/SemaTemplateVariadic.cpp
    cfe/trunk/lib/Sema/SemaType.cpp
    cfe/trunk/lib/Sema/TreeTransform.h
    cfe/trunk/lib/Sema/TypeLocBuilder.h
    cfe/trunk/lib/Serialization/ASTCommon.h
    cfe/trunk/lib/Serialization/ASTReader.cpp
    cfe/trunk/lib/Serialization/ASTReaderDecl.cpp
    cfe/trunk/lib/Serialization/ASTReaderInternals.h
    cfe/trunk/lib/Serialization/ASTReaderStmt.cpp
    cfe/trunk/lib/Serialization/ASTWriter.cpp
    cfe/trunk/lib/Serialization/ASTWriterDecl.cpp
    cfe/trunk/lib/Serialization/ASTWriterStmt.cpp
    cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp
    cfe/trunk/lib/Serialization/MultiOnDiskHashTable.h
    cfe/trunk/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h
    cfe/trunk/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/CallEvent.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/CheckerManager.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/RegionStore.cpp
    cfe/trunk/lib/StaticAnalyzer/Core/SVals.cpp
    cfe/trunk/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
    cfe/trunk/lib/StaticAnalyzer/Frontend/ModelConsumer.cpp
    cfe/trunk/lib/StaticAnalyzer/Frontend/ModelInjector.h
    cfe/trunk/lib/Tooling/CompilationDatabase.cpp
    cfe/trunk/lib/Tooling/FileMatchTrie.cpp
    cfe/trunk/lib/Tooling/JSONCompilationDatabase.cpp
    cfe/trunk/lib/Tooling/Refactoring/AtomicChange.cpp
    cfe/trunk/lib/Tooling/Refactoring/Extract/Extract.cpp
    cfe/trunk/lib/Tooling/Refactoring/Rename/RenamingAction.cpp
    cfe/trunk/lib/Tooling/Refactoring/Rename/USRFinder.cpp
    cfe/trunk/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
    cfe/trunk/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
    cfe/trunk/lib/Tooling/Tooling.cpp
    cfe/trunk/tools/c-index-test/c-index-test.c
    cfe/trunk/tools/clang-check/ClangCheck.cpp
    cfe/trunk/tools/clang-format/ClangFormat.cpp
    cfe/trunk/tools/clang-format/fuzzer/ClangFormatFuzzer.cpp
    cfe/trunk/tools/clang-fuzzer/ClangFuzzer.cpp
    cfe/trunk/tools/clang-fuzzer/ExampleClangProtoFuzzer.cpp
    cfe/trunk/tools/clang-fuzzer/cxx_proto.proto
    cfe/trunk/tools/clang-offload-bundler/ClangOffloadBundler.cpp
    cfe/trunk/tools/clang-refactor/ClangRefactor.cpp
    cfe/trunk/tools/clang-refactor/TestSupport.cpp
    cfe/trunk/tools/clang-refactor/TestSupport.h
    cfe/trunk/tools/clang-rename/ClangRename.cpp
    cfe/trunk/tools/diagtool/DiagnosticNames.h
    cfe/trunk/tools/driver/cc1as_main.cpp
    cfe/trunk/tools/libclang/CIndex.cpp
    cfe/trunk/tools/libclang/CIndexCodeCompletion.cpp
    cfe/trunk/tools/libclang/CIndexDiagnostic.h
    cfe/trunk/tools/libclang/CIndexHigh.cpp
    cfe/trunk/tools/libclang/CIndexer.h
    cfe/trunk/tools/libclang/CLog.h
    cfe/trunk/tools/libclang/CXCursor.cpp
    cfe/trunk/tools/libclang/CXCursor.h
    cfe/trunk/tools/libclang/CXIndexDataConsumer.h
    cfe/trunk/tools/libclang/CXLoadedDiagnostic.cpp
    cfe/trunk/tools/libclang/CXLoadedDiagnostic.h
    cfe/trunk/tools/libclang/CXSourceLocation.h
    cfe/trunk/tools/libclang/CXString.h
    cfe/trunk/tools/libclang/CursorVisitor.h
    cfe/trunk/tools/libclang/Index_Internal.h
    cfe/trunk/tools/libclang/Indexing.cpp
    cfe/trunk/utils/TableGen/ClangAttrEmitter.cpp
    cfe/trunk/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
    cfe/trunk/utils/TableGen/ClangDiagnosticsEmitter.cpp
    cfe/trunk/utils/TableGen/ClangSACheckersEmitter.cpp

Modified: cfe/trunk/docs/LibFormat.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LibFormat.rst?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/docs/LibFormat.rst (original)
+++ cfe/trunk/docs/LibFormat.rst Tue May  8 18:00:01 2018
@@ -44,11 +44,11 @@ two style guides are hard-coded:
 
 .. code-block:: c++
 
-  /// \brief Returns a format style complying with the LLVM coding standards:
+  /// Returns a format style complying with the LLVM coding standards:
   /// http://llvm.org/docs/CodingStandards.html.
   FormatStyle getLLVMStyle();
 
-  /// \brief Returns a format style complying with Google's C++ style guide:
+  /// Returns a format style complying with Google's C++ style guide:
   /// http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.
   FormatStyle getGoogleStyle();
 

Modified: cfe/trunk/docs/doxygen.cfg.in
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/doxygen.cfg.in?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/docs/doxygen.cfg.in (original)
+++ cfe/trunk/docs/doxygen.cfg.in Tue May  8 18:00:01 2018
@@ -174,7 +174,7 @@ JAVADOC_AUTOBRIEF      = YES
 # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
 # line (until the first dot) of a Qt-style comment as the brief description. If
 # set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
+# requiring an explicit command for a brief description.)
 # The default value is: NO.
 
 QT_AUTOBRIEF           = YES

Modified: cfe/trunk/include/clang-c/BuildSystem.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/BuildSystem.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/BuildSystem.h (original)
+++ cfe/trunk/include/clang-c/BuildSystem.h Tue May  8 18:00:01 2018
@@ -28,19 +28,19 @@ extern "C" {
  */
 
 /**
- * \brief Return the timestamp for use with Clang's
+ * Return the timestamp for use with Clang's
  * \c -fbuild-session-timestamp= option.
  */
 CINDEX_LINKAGE unsigned long long clang_getBuildSessionTimestamp(void);
 
 /**
- * \brief Object encapsulating information about overlaying virtual
+ * Object encapsulating information about overlaying virtual
  * file/directories over the real file system.
  */
 typedef struct CXVirtualFileOverlayImpl *CXVirtualFileOverlay;
 
 /**
- * \brief Create a \c CXVirtualFileOverlay object.
+ * Create a \c CXVirtualFileOverlay object.
  * Must be disposed with \c clang_VirtualFileOverlay_dispose().
  *
  * \param options is reserved, always pass 0.
@@ -49,7 +49,7 @@ CINDEX_LINKAGE CXVirtualFileOverlay
 clang_VirtualFileOverlay_create(unsigned options);
 
 /**
- * \brief Map an absolute virtual file path to an absolute real one.
+ * Map an absolute virtual file path to an absolute real one.
  * The virtual path must be canonicalized (not contain "."/"..").
  * \returns 0 for success, non-zero to indicate an error.
  */
@@ -59,7 +59,7 @@ clang_VirtualFileOverlay_addFileMapping(
                                         const char *realPath);
 
 /**
- * \brief Set the case sensitivity for the \c CXVirtualFileOverlay object.
+ * Set the case sensitivity for the \c CXVirtualFileOverlay object.
  * The \c CXVirtualFileOverlay object is case-sensitive by default, this
  * option can be used to override the default.
  * \returns 0 for success, non-zero to indicate an error.
@@ -69,7 +69,7 @@ clang_VirtualFileOverlay_setCaseSensitiv
 											int caseSensitive);
 
 /**
- * \brief Write out the \c CXVirtualFileOverlay object to a char buffer.
+ * Write out the \c CXVirtualFileOverlay object to a char buffer.
  *
  * \param options is reserved, always pass 0.
  * \param out_buffer_ptr pointer to receive the buffer pointer, which should be
@@ -83,7 +83,7 @@ clang_VirtualFileOverlay_writeToBuffer(C
                                        unsigned *out_buffer_size);
 
 /**
- * \brief free memory allocated by libclang, such as the buffer returned by
+ * free memory allocated by libclang, such as the buffer returned by
  * \c CXVirtualFileOverlay() or \c clang_ModuleMapDescriptor_writeToBuffer().
  *
  * \param buffer memory pointer to free.
@@ -91,17 +91,17 @@ clang_VirtualFileOverlay_writeToBuffer(C
 CINDEX_LINKAGE void clang_free(void *buffer);
 
 /**
- * \brief Dispose a \c CXVirtualFileOverlay object.
+ * Dispose a \c CXVirtualFileOverlay object.
  */
 CINDEX_LINKAGE void clang_VirtualFileOverlay_dispose(CXVirtualFileOverlay);
 
 /**
- * \brief Object encapsulating information about a module.map file.
+ * Object encapsulating information about a module.map file.
  */
 typedef struct CXModuleMapDescriptorImpl *CXModuleMapDescriptor;
 
 /**
- * \brief Create a \c CXModuleMapDescriptor object.
+ * Create a \c CXModuleMapDescriptor object.
  * Must be disposed with \c clang_ModuleMapDescriptor_dispose().
  *
  * \param options is reserved, always pass 0.
@@ -110,7 +110,7 @@ CINDEX_LINKAGE CXModuleMapDescriptor
 clang_ModuleMapDescriptor_create(unsigned options);
 
 /**
- * \brief Sets the framework module name that the module.map describes.
+ * Sets the framework module name that the module.map describes.
  * \returns 0 for success, non-zero to indicate an error.
  */
 CINDEX_LINKAGE enum CXErrorCode
@@ -118,7 +118,7 @@ clang_ModuleMapDescriptor_setFrameworkMo
                                                  const char *name);
 
 /**
- * \brief Sets the umbrealla header name that the module.map describes.
+ * Sets the umbrealla header name that the module.map describes.
  * \returns 0 for success, non-zero to indicate an error.
  */
 CINDEX_LINKAGE enum CXErrorCode
@@ -126,7 +126,7 @@ clang_ModuleMapDescriptor_setUmbrellaHea
                                             const char *name);
 
 /**
- * \brief Write out the \c CXModuleMapDescriptor object to a char buffer.
+ * Write out the \c CXModuleMapDescriptor object to a char buffer.
  *
  * \param options is reserved, always pass 0.
  * \param out_buffer_ptr pointer to receive the buffer pointer, which should be
@@ -140,7 +140,7 @@ clang_ModuleMapDescriptor_writeToBuffer(
                                        unsigned *out_buffer_size);
 
 /**
- * \brief Dispose a \c CXModuleMapDescriptor object.
+ * Dispose a \c CXModuleMapDescriptor object.
  */
 CINDEX_LINKAGE void clang_ModuleMapDescriptor_dispose(CXModuleMapDescriptor);
 

Modified: cfe/trunk/include/clang-c/CXCompilationDatabase.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/CXCompilationDatabase.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/CXCompilationDatabase.h (original)
+++ cfe/trunk/include/clang-c/CXCompilationDatabase.h Tue May  8 18:00:01 2018
@@ -38,7 +38,7 @@ extern "C" {
 typedef void * CXCompilationDatabase;
 
 /**
- * \brief Contains the results of a search in the compilation database
+ * Contains the results of a search in the compilation database
  *
  * When searching for the compile command for a file, the compilation db can
  * return several commands, as the file may have been compiled with
@@ -49,28 +49,28 @@ typedef void * CXCompilationDatabase;
 typedef void * CXCompileCommands;
 
 /**
- * \brief Represents the command line invocation to compile a specific file.
+ * Represents the command line invocation to compile a specific file.
  */
 typedef void * CXCompileCommand;
 
 /**
- * \brief Error codes for Compilation Database
+ * Error codes for Compilation Database
  */
 typedef enum  {
   /*
-   * \brief No error occurred
+   * No error occurred
    */
   CXCompilationDatabase_NoError = 0,
 
   /*
-   * \brief Database can not be loaded
+   * Database can not be loaded
    */
   CXCompilationDatabase_CanNotLoadDatabase = 1
 
 } CXCompilationDatabase_Error;
 
 /**
- * \brief Creates a compilation database from the database found in directory
+ * Creates a compilation database from the database found in directory
  * buildDir. For example, CMake can output a compile_commands.json which can
  * be used to build the database.
  *
@@ -81,13 +81,13 @@ clang_CompilationDatabase_fromDirectory(
                                         CXCompilationDatabase_Error *ErrorCode);
 
 /**
- * \brief Free the given compilation database
+ * Free the given compilation database
  */
 CINDEX_LINKAGE void
 clang_CompilationDatabase_dispose(CXCompilationDatabase);
 
 /**
- * \brief Find the compile commands used for a file. The compile commands
+ * Find the compile commands used for a file. The compile commands
  * must be freed by \c clang_CompileCommands_dispose.
  */
 CINDEX_LINKAGE CXCompileCommands
@@ -95,24 +95,24 @@ clang_CompilationDatabase_getCompileComm
                                              const char *CompleteFileName);
 
 /**
- * \brief Get all the compile commands in the given compilation database.
+ * Get all the compile commands in the given compilation database.
  */
 CINDEX_LINKAGE CXCompileCommands
 clang_CompilationDatabase_getAllCompileCommands(CXCompilationDatabase);
 
 /**
- * \brief Free the given CompileCommands
+ * Free the given CompileCommands
  */
 CINDEX_LINKAGE void clang_CompileCommands_dispose(CXCompileCommands);
 
 /**
- * \brief Get the number of CompileCommand we have for a file
+ * Get the number of CompileCommand we have for a file
  */
 CINDEX_LINKAGE unsigned
 clang_CompileCommands_getSize(CXCompileCommands);
 
 /**
- * \brief Get the I'th CompileCommand for a file
+ * Get the I'th CompileCommand for a file
  *
  * Note : 0 <= i < clang_CompileCommands_getSize(CXCompileCommands)
  */
@@ -120,26 +120,26 @@ CINDEX_LINKAGE CXCompileCommand
 clang_CompileCommands_getCommand(CXCompileCommands, unsigned I);
 
 /**
- * \brief Get the working directory where the CompileCommand was executed from
+ * Get the working directory where the CompileCommand was executed from
  */
 CINDEX_LINKAGE CXString
 clang_CompileCommand_getDirectory(CXCompileCommand);
 
 /**
- * \brief Get the filename associated with the CompileCommand.
+ * Get the filename associated with the CompileCommand.
  */
 CINDEX_LINKAGE CXString
 clang_CompileCommand_getFilename(CXCompileCommand);
 
 /**
- * \brief Get the number of arguments in the compiler invocation.
+ * Get the number of arguments in the compiler invocation.
  *
  */
 CINDEX_LINKAGE unsigned
 clang_CompileCommand_getNumArgs(CXCompileCommand);
 
 /**
- * \brief Get the I'th argument value in the compiler invocations
+ * Get the I'th argument value in the compiler invocations
  *
  * Invariant :
  *  - argument 0 is the compiler executable
@@ -148,19 +148,19 @@ CINDEX_LINKAGE CXString
 clang_CompileCommand_getArg(CXCompileCommand, unsigned I);
 
 /**
- * \brief Get the number of source mappings for the compiler invocation.
+ * Get the number of source mappings for the compiler invocation.
  */
 CINDEX_LINKAGE unsigned
 clang_CompileCommand_getNumMappedSources(CXCompileCommand);
 
 /**
- * \brief Get the I'th mapped source path for the compiler invocation.
+ * Get the I'th mapped source path for the compiler invocation.
  */
 CINDEX_LINKAGE CXString
 clang_CompileCommand_getMappedSourcePath(CXCompileCommand, unsigned I);
 
 /**
- * \brief Get the I'th mapped source content for the compiler invocation.
+ * Get the I'th mapped source content for the compiler invocation.
  */
 CINDEX_LINKAGE CXString
 clang_CompileCommand_getMappedSourceContent(CXCompileCommand, unsigned I);

Modified: cfe/trunk/include/clang-c/CXErrorCode.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/CXErrorCode.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/CXErrorCode.h (original)
+++ cfe/trunk/include/clang-c/CXErrorCode.h Tue May  8 18:00:01 2018
@@ -21,19 +21,19 @@ extern "C" {
 #endif
 
 /**
- * \brief Error codes returned by libclang routines.
+ * Error codes returned by libclang routines.
  *
  * Zero (\c CXError_Success) is the only error code indicating success.  Other
  * error codes, including not yet assigned non-zero values, indicate errors.
  */
 enum CXErrorCode {
   /**
-   * \brief No error.
+   * No error.
    */
   CXError_Success = 0,
 
   /**
-   * \brief A generic error code, no further details are available.
+   * A generic error code, no further details are available.
    *
    * Errors of this kind can get their own specific error codes in future
    * libclang versions.
@@ -41,18 +41,18 @@ enum CXErrorCode {
   CXError_Failure = 1,
 
   /**
-   * \brief libclang crashed while performing the requested operation.
+   * libclang crashed while performing the requested operation.
    */
   CXError_Crashed = 2,
 
   /**
-   * \brief The function detected that the arguments violate the function
+   * The function detected that the arguments violate the function
    * contract.
    */
   CXError_InvalidArguments = 3,
 
   /**
-   * \brief An AST deserialization error has occurred.
+   * An AST deserialization error has occurred.
    */
   CXError_ASTReadError = 4
 };

Modified: cfe/trunk/include/clang-c/CXString.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/CXString.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/CXString.h (original)
+++ cfe/trunk/include/clang-c/CXString.h Tue May  8 18:00:01 2018
@@ -28,7 +28,7 @@ extern "C" {
  */
 
 /**
- * \brief A character string.
+ * A character string.
  *
  * The \c CXString type is used to return strings from the interface when
  * the ownership of that string might differ from one call to the next.
@@ -46,17 +46,17 @@ typedef struct {
 } CXStringSet;
 
 /**
- * \brief Retrieve the character data associated with the given string.
+ * Retrieve the character data associated with the given string.
  */
 CINDEX_LINKAGE const char *clang_getCString(CXString string);
 
 /**
- * \brief Free the given string.
+ * Free the given string.
  */
 CINDEX_LINKAGE void clang_disposeString(CXString string);
 
 /**
- * \brief Free the given string set.
+ * Free the given string set.
  */
 CINDEX_LINKAGE void clang_disposeStringSet(CXStringSet *set);
 

Modified: cfe/trunk/include/clang-c/Documentation.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Documentation.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Documentation.h (original)
+++ cfe/trunk/include/clang-c/Documentation.h Tue May  8 18:00:01 2018
@@ -32,7 +32,7 @@ extern "C" {
  */
 
 /**
- * \brief A parsed comment.
+ * A parsed comment.
  */
 typedef struct {
   const void *ASTNode;
@@ -40,38 +40,38 @@ typedef struct {
 } CXComment;
 
 /**
- * \brief Given a cursor that represents a documentable entity (e.g.,
+ * Given a cursor that represents a documentable entity (e.g.,
  * declaration), return the associated parsed comment as a
  * \c CXComment_FullComment AST node.
  */
 CINDEX_LINKAGE CXComment clang_Cursor_getParsedComment(CXCursor C);
 
 /**
- * \brief Describes the type of the comment AST node (\c CXComment).  A comment
+ * Describes the type of the comment AST node (\c CXComment).  A comment
  * node can be considered block content (e. g., paragraph), inline content
  * (plain text) or neither (the root AST node).
  */
 enum CXCommentKind {
   /**
-   * \brief Null comment.  No AST node is constructed at the requested location
+   * Null comment.  No AST node is constructed at the requested location
    * because there is no text or a syntax error.
    */
   CXComment_Null = 0,
 
   /**
-   * \brief Plain text.  Inline content.
+   * Plain text.  Inline content.
    */
   CXComment_Text = 1,
 
   /**
-   * \brief A command with word-like arguments that is considered inline content.
+   * A command with word-like arguments that is considered inline content.
    *
    * For example: \\c command.
    */
   CXComment_InlineCommand = 2,
 
   /**
-   * \brief HTML start tag with attributes (name-value pairs).  Considered
+   * HTML start tag with attributes (name-value pairs).  Considered
    * inline content.
    *
    * For example:
@@ -82,7 +82,7 @@ enum CXCommentKind {
   CXComment_HTMLStartTag = 3,
 
   /**
-   * \brief HTML end tag.  Considered inline content.
+   * HTML end tag.  Considered inline content.
    *
    * For example:
    * \verbatim
@@ -92,19 +92,19 @@ enum CXCommentKind {
   CXComment_HTMLEndTag = 4,
 
   /**
-   * \brief A paragraph, contains inline comment.  The paragraph itself is
+   * A paragraph, contains inline comment.  The paragraph itself is
    * block content.
    */
   CXComment_Paragraph = 5,
 
   /**
-   * \brief A command that has zero or more word-like arguments (number of
+   * A command that has zero or more word-like arguments (number of
    * word-like arguments depends on command name) and a paragraph as an
    * argument.  Block command is block content.
    *
    * Paragraph argument is also a child of the block command.
    *
-   * For example: \\brief has 0 word-like arguments and a paragraph argument.
+   * For example: \has 0 word-like arguments and a paragraph argument.
    *
    * AST nodes of special kinds that parser knows about (e. g., \\param
    * command) have their own node kinds.
@@ -112,7 +112,7 @@ enum CXCommentKind {
   CXComment_BlockCommand = 6,
 
   /**
-   * \brief A \\param or \\arg command that describes the function parameter
+   * A \\param or \\arg command that describes the function parameter
    * (name, passing direction, description).
    *
    * For example: \\param [in] ParamName description.
@@ -120,7 +120,7 @@ enum CXCommentKind {
   CXComment_ParamCommand = 7,
 
   /**
-   * \brief A \\tparam command that describes a template parameter (name and
+   * A \\tparam command that describes a template parameter (name and
    * description).
    *
    * For example: \\tparam T description.
@@ -128,7 +128,7 @@ enum CXCommentKind {
   CXComment_TParamCommand = 8,
 
   /**
-   * \brief A verbatim block command (e. g., preformatted code).  Verbatim
+   * A verbatim block command (e. g., preformatted code).  Verbatim
    * block has an opening and a closing command and contains multiple lines of
    * text (\c CXComment_VerbatimBlockLine child nodes).
    *
@@ -140,67 +140,67 @@ enum CXCommentKind {
   CXComment_VerbatimBlockCommand = 9,
 
   /**
-   * \brief A line of text that is contained within a
+   * A line of text that is contained within a
    * CXComment_VerbatimBlockCommand node.
    */
   CXComment_VerbatimBlockLine = 10,
 
   /**
-   * \brief A verbatim line command.  Verbatim line has an opening command,
+   * A verbatim line command.  Verbatim line has an opening command,
    * a single line of text (up to the newline after the opening command) and
    * has no closing command.
    */
   CXComment_VerbatimLine = 11,
 
   /**
-   * \brief A full comment attached to a declaration, contains block content.
+   * A full comment attached to a declaration, contains block content.
    */
   CXComment_FullComment = 12
 };
 
 /**
- * \brief The most appropriate rendering mode for an inline command, chosen on
+ * The most appropriate rendering mode for an inline command, chosen on
  * command semantics in Doxygen.
  */
 enum CXCommentInlineCommandRenderKind {
   /**
-   * \brief Command argument should be rendered in a normal font.
+   * Command argument should be rendered in a normal font.
    */
   CXCommentInlineCommandRenderKind_Normal,
 
   /**
-   * \brief Command argument should be rendered in a bold font.
+   * Command argument should be rendered in a bold font.
    */
   CXCommentInlineCommandRenderKind_Bold,
 
   /**
-   * \brief Command argument should be rendered in a monospaced font.
+   * Command argument should be rendered in a monospaced font.
    */
   CXCommentInlineCommandRenderKind_Monospaced,
 
   /**
-   * \brief Command argument should be rendered emphasized (typically italic
+   * Command argument should be rendered emphasized (typically italic
    * font).
    */
   CXCommentInlineCommandRenderKind_Emphasized
 };
 
 /**
- * \brief Describes parameter passing direction for \\param or \\arg command.
+ * Describes parameter passing direction for \\param or \\arg command.
  */
 enum CXCommentParamPassDirection {
   /**
-   * \brief The parameter is an input parameter.
+   * The parameter is an input parameter.
    */
   CXCommentParamPassDirection_In,
 
   /**
-   * \brief The parameter is an output parameter.
+   * The parameter is an output parameter.
    */
   CXCommentParamPassDirection_Out,
 
   /**
-   * \brief The parameter is an input and output parameter.
+   * The parameter is an input and output parameter.
    */
   CXCommentParamPassDirection_InOut
 };
@@ -230,7 +230,7 @@ CINDEX_LINKAGE
 CXComment clang_Comment_getChild(CXComment Comment, unsigned ChildIdx);
 
 /**
- * \brief A \c CXComment_Paragraph node is considered whitespace if it contains
+ * A \c CXComment_Paragraph node is considered whitespace if it contains
  * only \c CXComment_Text nodes that are empty or whitespace.
  *
  * Other AST nodes (except \c CXComment_Paragraph and \c CXComment_Text) are
@@ -487,7 +487,7 @@ CXString clang_VerbatimBlockLineComment_
 CINDEX_LINKAGE CXString clang_VerbatimLineComment_getText(CXComment Comment);
 
 /**
- * \brief Convert an HTML tag AST node to string.
+ * Convert an HTML tag AST node to string.
  *
  * \param Comment a \c CXComment_HTMLStartTag or \c CXComment_HTMLEndTag AST
  * node.
@@ -497,13 +497,13 @@ CINDEX_LINKAGE CXString clang_VerbatimLi
 CINDEX_LINKAGE CXString clang_HTMLTagComment_getAsString(CXComment Comment);
 
 /**
- * \brief Convert a given full parsed comment to an HTML fragment.
+ * Convert a given full parsed comment to an HTML fragment.
  *
  * Specific details of HTML layout are subject to change.  Don't try to parse
  * this HTML back into an AST, use other APIs instead.
  *
  * Currently the following CSS classes are used:
- * \li "para-brief" for \\brief paragraph and equivalent commands;
+ * \li "para-brief" for \paragraph and equivalent commands;
  * \li "para-returns" for \\returns paragraph and equivalent commands;
  * \li "word-returns" for the "Returns" word in \\returns paragraph.
  *
@@ -530,7 +530,7 @@ CINDEX_LINKAGE CXString clang_HTMLTagCom
 CINDEX_LINKAGE CXString clang_FullComment_getAsHTML(CXComment Comment);
 
 /**
- * \brief Convert a given full parsed comment to an XML document.
+ * Convert a given full parsed comment to an XML document.
  *
  * A Relax NG schema for the XML can be found in comment-xml-schema.rng file
  * inside clang source tree.

Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@
 #include "clang-c/BuildSystem.h"
 
 /**
- * \brief The version constants for the libclang API.
+ * The version constants for the libclang API.
  * CINDEX_VERSION_MINOR should increase when there are API additions.
  * CINDEX_VERSION_MAJOR is intended for "major" source/ABI breaking changes.
  *
@@ -75,30 +75,30 @@ extern "C" {
  */
 
 /**
- * \brief An "index" that consists of a set of translation units that would
+ * An "index" that consists of a set of translation units that would
  * typically be linked together into an executable or library.
  */
 typedef void *CXIndex;
 
 /**
- * \brief An opaque type representing target information for a given translation
+ * An opaque type representing target information for a given translation
  * unit.
  */
 typedef struct CXTargetInfoImpl *CXTargetInfo;
 
 /**
- * \brief A single translation unit, which resides in an index.
+ * A single translation unit, which resides in an index.
  */
 typedef struct CXTranslationUnitImpl *CXTranslationUnit;
 
 /**
- * \brief Opaque pointer representing client data that will be passed through
+ * Opaque pointer representing client data that will be passed through
  * to various callbacks and visitors.
  */
 typedef void *CXClientData;
 
 /**
- * \brief Provides the contents of a file that has not yet been saved to disk.
+ * Provides the contents of a file that has not yet been saved to disk.
  *
  * Each CXUnsavedFile instance provides the name of a file on the
  * system along with the current contents of that file that have not
@@ -106,66 +106,66 @@ typedef void *CXClientData;
  */
 struct CXUnsavedFile {
   /**
-   * \brief The file whose contents have not yet been saved.
+   * The file whose contents have not yet been saved.
    *
    * This file must already exist in the file system.
    */
   const char *Filename;
 
   /**
-   * \brief A buffer containing the unsaved contents of this file.
+   * A buffer containing the unsaved contents of this file.
    */
   const char *Contents;
 
   /**
-   * \brief The length of the unsaved contents of this buffer.
+   * The length of the unsaved contents of this buffer.
    */
   unsigned long Length;
 };
 
 /**
- * \brief Describes the availability of a particular entity, which indicates
+ * Describes the availability of a particular entity, which indicates
  * whether the use of this entity will result in a warning or error due to
  * it being deprecated or unavailable.
  */
 enum CXAvailabilityKind {
   /**
-   * \brief The entity is available.
+   * The entity is available.
    */
   CXAvailability_Available,
   /**
-   * \brief The entity is available, but has been deprecated (and its use is
+   * The entity is available, but has been deprecated (and its use is
    * not recommended).
    */
   CXAvailability_Deprecated,
   /**
-   * \brief The entity is not available; any use of it will be an error.
+   * The entity is not available; any use of it will be an error.
    */
   CXAvailability_NotAvailable,
   /**
-   * \brief The entity is available, but not accessible; any use of it will be
+   * The entity is available, but not accessible; any use of it will be
    * an error.
    */
   CXAvailability_NotAccessible
 };
 
 /**
- * \brief Describes a version number of the form major.minor.subminor.
+ * Describes a version number of the form major.minor.subminor.
  */
 typedef struct CXVersion {
   /**
-   * \brief The major version number, e.g., the '10' in '10.7.3'. A negative
+   * The major version number, e.g., the '10' in '10.7.3'. A negative
    * value indicates that there is no version number at all.
    */
   int Major;
   /**
-   * \brief The minor version number, e.g., the '7' in '10.7.3'. This value
+   * The minor version number, e.g., the '7' in '10.7.3'. This value
    * will be negative if no minor version number was provided, e.g., for 
    * version '10'.
    */
   int Minor;
   /**
-   * \brief The subminor version number, e.g., the '3' in '10.7.3'. This value
+   * The subminor version number, e.g., the '3' in '10.7.3'. This value
    * will be negative if no minor or subminor version number was provided,
    * e.g., in version '10' or '10.7'.
    */
@@ -173,60 +173,60 @@ typedef struct CXVersion {
 } CXVersion;
 
 /**
- * \brief Describes the exception specification of a cursor.
+ * Describes the exception specification of a cursor.
  *
  * A negative value indicates that the cursor is not a function declaration.
  */
 enum CXCursor_ExceptionSpecificationKind {
 
   /**
-   * \brief The cursor has no exception specification.
+   * The cursor has no exception specification.
    */
   CXCursor_ExceptionSpecificationKind_None,
 
   /**
-   * \brief The cursor has exception specification throw()
+   * The cursor has exception specification throw()
    */
   CXCursor_ExceptionSpecificationKind_DynamicNone,
 
   /**
-   * \brief The cursor has exception specification throw(T1, T2)
+   * The cursor has exception specification throw(T1, T2)
    */
   CXCursor_ExceptionSpecificationKind_Dynamic,
 
   /**
-   * \brief The cursor has exception specification throw(...).
+   * The cursor has exception specification throw(...).
    */
   CXCursor_ExceptionSpecificationKind_MSAny,
 
   /**
-   * \brief The cursor has exception specification basic noexcept.
+   * The cursor has exception specification basic noexcept.
    */
   CXCursor_ExceptionSpecificationKind_BasicNoexcept,
 
   /**
-   * \brief The cursor has exception specification computed noexcept.
+   * The cursor has exception specification computed noexcept.
    */
   CXCursor_ExceptionSpecificationKind_ComputedNoexcept,
 
   /**
-   * \brief The exception specification has not yet been evaluated.
+   * The exception specification has not yet been evaluated.
    */
   CXCursor_ExceptionSpecificationKind_Unevaluated,
 
   /**
-   * \brief The exception specification has not yet been instantiated.
+   * The exception specification has not yet been instantiated.
    */
   CXCursor_ExceptionSpecificationKind_Uninstantiated,
 
   /**
-   * \brief The exception specification has not been parsed yet.
+   * The exception specification has not been parsed yet.
    */
   CXCursor_ExceptionSpecificationKind_Unparsed
 };
 
 /**
- * \brief Provides a shared context for creating translation units.
+ * Provides a shared context for creating translation units.
  *
  * It provides two options:
  *
@@ -269,7 +269,7 @@ CINDEX_LINKAGE CXIndex clang_createIndex
                                          int displayDiagnostics);
 
 /**
- * \brief Destroy the given index.
+ * Destroy the given index.
  *
  * The index must not be destroyed until all of the translation units created
  * within that index have been destroyed.
@@ -278,12 +278,12 @@ CINDEX_LINKAGE void clang_disposeIndex(C
 
 typedef enum {
   /**
-   * \brief Used to indicate that no special CXIndex options are needed.
+   * Used to indicate that no special CXIndex options are needed.
    */
   CXGlobalOpt_None = 0x0,
 
   /**
-   * \brief Used to indicate that threads that libclang creates for indexing
+   * Used to indicate that threads that libclang creates for indexing
    * purposes should use background priority.
    *
    * Affects #clang_indexSourceFile, #clang_indexTranslationUnit,
@@ -292,7 +292,7 @@ typedef enum {
   CXGlobalOpt_ThreadBackgroundPriorityForIndexing = 0x1,
 
   /**
-   * \brief Used to indicate that threads that libclang creates for editing
+   * Used to indicate that threads that libclang creates for editing
    * purposes should use background priority.
    *
    * Affects #clang_reparseTranslationUnit, #clang_codeCompleteAt,
@@ -301,7 +301,7 @@ typedef enum {
   CXGlobalOpt_ThreadBackgroundPriorityForEditing = 0x2,
 
   /**
-   * \brief Used to indicate that all threads that libclang creates should use
+   * Used to indicate that all threads that libclang creates should use
    * background priority.
    */
   CXGlobalOpt_ThreadBackgroundPriorityForAll =
@@ -311,7 +311,7 @@ typedef enum {
 } CXGlobalOptFlags;
 
 /**
- * \brief Sets general options associated with a CXIndex.
+ * Sets general options associated with a CXIndex.
  *
  * For example:
  * \code
@@ -326,7 +326,7 @@ typedef enum {
 CINDEX_LINKAGE void clang_CXIndex_setGlobalOptions(CXIndex, unsigned options);
 
 /**
- * \brief Gets the general options associated with a CXIndex.
+ * Gets the general options associated with a CXIndex.
  *
  * \returns A bitmask of options, a bitwise OR of CXGlobalOpt_XXX flags that
  * are associated with the given CXIndex object.
@@ -334,7 +334,7 @@ CINDEX_LINKAGE void clang_CXIndex_setGlo
 CINDEX_LINKAGE unsigned clang_CXIndex_getGlobalOptions(CXIndex);
 
 /**
- * \brief Sets the invocation emission path option in a CXIndex.
+ * Sets the invocation emission path option in a CXIndex.
  *
  * The invocation emission path specifies a path which will contain log
  * files for certain libclang invocations. A null value (default) implies that
@@ -350,22 +350,22 @@ clang_CXIndex_setInvocationEmissionPathO
  */
 
 /**
- * \brief A particular source file that is part of a translation unit.
+ * A particular source file that is part of a translation unit.
  */
 typedef void *CXFile;
 
 /**
- * \brief Retrieve the complete file and path name of the given file.
+ * Retrieve the complete file and path name of the given file.
  */
 CINDEX_LINKAGE CXString clang_getFileName(CXFile SFile);
 
 /**
- * \brief Retrieve the last modification time of the given file.
+ * Retrieve the last modification time of the given file.
  */
 CINDEX_LINKAGE time_t clang_getFileTime(CXFile SFile);
 
 /**
- * \brief Uniquely identifies a CXFile, that refers to the same underlying file,
+ * Uniquely identifies a CXFile, that refers to the same underlying file,
  * across an indexing session.
  */
 typedef struct {
@@ -373,7 +373,7 @@ typedef struct {
 } CXFileUniqueID;
 
 /**
- * \brief Retrieve the unique ID for the given \c file.
+ * Retrieve the unique ID for the given \c file.
  *
  * \param file the file to get the ID for.
  * \param outID stores the returned CXFileUniqueID.
@@ -383,7 +383,7 @@ typedef struct {
 CINDEX_LINKAGE int clang_getFileUniqueID(CXFile file, CXFileUniqueID *outID);
 
 /**
- * \brief Determine whether the given header is guarded against
+ * Determine whether the given header is guarded against
  * multiple inclusions, either with the conventional
  * \#ifndef/\#define/\#endif macro guards or with \#pragma once.
  */
@@ -391,7 +391,7 @@ CINDEX_LINKAGE unsigned
 clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file);
 
 /**
- * \brief Retrieve a file handle within the given translation unit.
+ * Retrieve a file handle within the given translation unit.
  *
  * \param tu the translation unit
  *
@@ -404,7 +404,7 @@ CINDEX_LINKAGE CXFile clang_getFile(CXTr
                                     const char *file_name);
 
 /**
- * \brief Retrieve the buffer associated with the given file.
+ * Retrieve the buffer associated with the given file.
  *
  * \param tu the translation unit
  *
@@ -419,13 +419,13 @@ CINDEX_LINKAGE const char *clang_getFile
                                                  CXFile file, size_t *size);
 
 /**
- * \brief Returns non-zero if the \c file1 and \c file2 point to the same file,
+ * Returns non-zero if the \c file1 and \c file2 point to the same file,
  * or they are both NULL.
  */
 CINDEX_LINKAGE int clang_File_isEqual(CXFile file1, CXFile file2);
 
 /**
- * \brief Returns the real path name of \c file.
+ * Returns the real path name of \c file.
  *
  * An empty string may be returned. Use \c clang_getFileName() in that case.
  */
@@ -449,7 +449,7 @@ CINDEX_LINKAGE CXString clang_File_tryGe
  */
 
 /**
- * \brief Identifies a specific source location within a translation
+ * Identifies a specific source location within a translation
  * unit.
  *
  * Use clang_getExpansionLocation() or clang_getSpellingLocation()
@@ -461,7 +461,7 @@ typedef struct {
 } CXSourceLocation;
 
 /**
- * \brief Identifies a half-open character range in the source code.
+ * Identifies a half-open character range in the source code.
  *
  * Use clang_getRangeStart() and clang_getRangeEnd() to retrieve the
  * starting and end locations from a source range, respectively.
@@ -473,12 +473,12 @@ typedef struct {
 } CXSourceRange;
 
 /**
- * \brief Retrieve a NULL (invalid) source location.
+ * Retrieve a NULL (invalid) source location.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getNullLocation(void);
 
 /**
- * \brief Determine whether two source locations, which must refer into
+ * Determine whether two source locations, which must refer into
  * the same translation unit, refer to exactly the same point in the source
  * code.
  *
@@ -489,7 +489,7 @@ CINDEX_LINKAGE unsigned clang_equalLocat
                                              CXSourceLocation loc2);
 
 /**
- * \brief Retrieves the source location associated with a given file/line/column
+ * Retrieves the source location associated with a given file/line/column
  * in a particular translation unit.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getLocation(CXTranslationUnit tu,
@@ -497,7 +497,7 @@ CINDEX_LINKAGE CXSourceLocation clang_ge
                                                   unsigned line,
                                                   unsigned column);
 /**
- * \brief Retrieves the source location associated with a given character offset
+ * Retrieves the source location associated with a given character offset
  * in a particular translation unit.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getLocationForOffset(CXTranslationUnit tu,
@@ -505,30 +505,30 @@ CINDEX_LINKAGE CXSourceLocation clang_ge
                                                            unsigned offset);
 
 /**
- * \brief Returns non-zero if the given source location is in a system header.
+ * Returns non-zero if the given source location is in a system header.
  */
 CINDEX_LINKAGE int clang_Location_isInSystemHeader(CXSourceLocation location);
 
 /**
- * \brief Returns non-zero if the given source location is in the main file of
+ * Returns non-zero if the given source location is in the main file of
  * the corresponding translation unit.
  */
 CINDEX_LINKAGE int clang_Location_isFromMainFile(CXSourceLocation location);
 
 /**
- * \brief Retrieve a NULL (invalid) source range.
+ * Retrieve a NULL (invalid) source range.
  */
 CINDEX_LINKAGE CXSourceRange clang_getNullRange(void);
 
 /**
- * \brief Retrieve a source range given the beginning and ending source
+ * Retrieve a source range given the beginning and ending source
  * locations.
  */
 CINDEX_LINKAGE CXSourceRange clang_getRange(CXSourceLocation begin,
                                             CXSourceLocation end);
 
 /**
- * \brief Determine whether two ranges are equivalent.
+ * Determine whether two ranges are equivalent.
  *
  * \returns non-zero if the ranges are the same, zero if they differ.
  */
@@ -536,12 +536,12 @@ CINDEX_LINKAGE unsigned clang_equalRange
                                           CXSourceRange range2);
 
 /**
- * \brief Returns non-zero if \p range is null.
+ * Returns non-zero if \p range is null.
  */
 CINDEX_LINKAGE int clang_Range_isNull(CXSourceRange range);
 
 /**
- * \brief Retrieve the file, line, column, and offset represented by
+ * Retrieve the file, line, column, and offset represented by
  * the given source location.
  *
  * If the location refers into a macro expansion, retrieves the
@@ -569,7 +569,7 @@ CINDEX_LINKAGE void clang_getExpansionLo
                                                unsigned *offset);
 
 /**
- * \brief Retrieve the file, line and column represented by the given source
+ * Retrieve the file, line and column represented by the given source
  * location, as specified in a # line directive.
  *
  * Example: given the following source code in a file somefile.c
@@ -614,7 +614,7 @@ CINDEX_LINKAGE void clang_getPresumedLoc
                                               unsigned *column);
 
 /**
- * \brief Legacy API to retrieve the file, line, column, and offset represented
+ * Legacy API to retrieve the file, line, column, and offset represented
  * by the given source location.
  *
  * This interface has been replaced by the newer interface
@@ -628,7 +628,7 @@ CINDEX_LINKAGE void clang_getInstantiati
                                                    unsigned *offset);
 
 /**
- * \brief Retrieve the file, line, column, and offset represented by
+ * Retrieve the file, line, column, and offset represented by
  * the given source location.
  *
  * If the location refers into a macro instantiation, return where the
@@ -656,7 +656,7 @@ CINDEX_LINKAGE void clang_getSpellingLoc
                                               unsigned *offset);
 
 /**
- * \brief Retrieve the file, line, column, and offset represented by
+ * Retrieve the file, line, column, and offset represented by
  * the given source location.
  *
  * If the location refers into a macro expansion, return where the macro was
@@ -685,31 +685,31 @@ CINDEX_LINKAGE void clang_getFileLocatio
                                           unsigned *offset);
 
 /**
- * \brief Retrieve a source location representing the first character within a
+ * Retrieve a source location representing the first character within a
  * source range.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getRangeStart(CXSourceRange range);
 
 /**
- * \brief Retrieve a source location representing the last character within a
+ * Retrieve a source location representing the last character within a
  * source range.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getRangeEnd(CXSourceRange range);
 
 /**
- * \brief Identifies an array of ranges.
+ * Identifies an array of ranges.
  */
 typedef struct {
-  /** \brief The number of ranges in the \c ranges array. */
+  /** The number of ranges in the \c ranges array. */
   unsigned count;
   /**
-   * \brief An array of \c CXSourceRanges.
+   * An array of \c CXSourceRanges.
    */
   CXSourceRange *ranges;
 } CXSourceRangeList;
 
 /**
- * \brief Retrieve all ranges that were skipped by the preprocessor.
+ * Retrieve all ranges that were skipped by the preprocessor.
  *
  * The preprocessor will skip lines when they are surrounded by an
  * if/ifdef/ifndef directive whose condition does not evaluate to true.
@@ -718,7 +718,7 @@ CINDEX_LINKAGE CXSourceRangeList *clang_
                                                          CXFile file);
 
 /**
- * \brief Retrieve all ranges from all files that were skipped by the
+ * Retrieve all ranges from all files that were skipped by the
  * preprocessor.
  *
  * The preprocessor will skip lines when they are surrounded by an
@@ -727,7 +727,7 @@ CINDEX_LINKAGE CXSourceRangeList *clang_
 CINDEX_LINKAGE CXSourceRangeList *clang_getAllSkippedRanges(CXTranslationUnit tu);
 
 /**
- * \brief Destroy the given \c CXSourceRangeList.
+ * Destroy the given \c CXSourceRangeList.
  */
 CINDEX_LINKAGE void clang_disposeSourceRangeList(CXSourceRangeList *ranges);
 
@@ -742,34 +742,34 @@ CINDEX_LINKAGE void clang_disposeSourceR
  */
 
 /**
- * \brief Describes the severity of a particular diagnostic.
+ * Describes the severity of a particular diagnostic.
  */
 enum CXDiagnosticSeverity {
   /**
-   * \brief A diagnostic that has been suppressed, e.g., by a command-line
+   * A diagnostic that has been suppressed, e.g., by a command-line
    * option.
    */
   CXDiagnostic_Ignored = 0,
 
   /**
-   * \brief This diagnostic is a note that should be attached to the
+   * This diagnostic is a note that should be attached to the
    * previous (non-note) diagnostic.
    */
   CXDiagnostic_Note    = 1,
 
   /**
-   * \brief This diagnostic indicates suspicious code that may not be
+   * This diagnostic indicates suspicious code that may not be
    * wrong.
    */
   CXDiagnostic_Warning = 2,
 
   /**
-   * \brief This diagnostic indicates that the code is ill-formed.
+   * This diagnostic indicates that the code is ill-formed.
    */
   CXDiagnostic_Error   = 3,
 
   /**
-   * \brief This diagnostic indicates that the code is ill-formed such
+   * This diagnostic indicates that the code is ill-formed such
    * that future parser recovery is unlikely to produce useful
    * results.
    */
@@ -777,23 +777,23 @@ enum CXDiagnosticSeverity {
 };
 
 /**
- * \brief A single diagnostic, containing the diagnostic's severity,
+ * A single diagnostic, containing the diagnostic's severity,
  * location, text, source ranges, and fix-it hints.
  */
 typedef void *CXDiagnostic;
 
 /**
- * \brief A group of CXDiagnostics.
+ * A group of CXDiagnostics.
  */
 typedef void *CXDiagnosticSet;
   
 /**
- * \brief Determine the number of diagnostics in a CXDiagnosticSet.
+ * Determine the number of diagnostics in a CXDiagnosticSet.
  */
 CINDEX_LINKAGE unsigned clang_getNumDiagnosticsInSet(CXDiagnosticSet Diags);
 
 /**
- * \brief Retrieve a diagnostic associated with the given CXDiagnosticSet.
+ * Retrieve a diagnostic associated with the given CXDiagnosticSet.
  *
  * \param Diags the CXDiagnosticSet to query.
  * \param Index the zero-based diagnostic number to retrieve.
@@ -805,36 +805,36 @@ CINDEX_LINKAGE CXDiagnostic clang_getDia
                                                      unsigned Index);  
 
 /**
- * \brief Describes the kind of error that occurred (if any) in a call to
+ * Describes the kind of error that occurred (if any) in a call to
  * \c clang_loadDiagnostics.
  */
 enum CXLoadDiag_Error {
   /**
-   * \brief Indicates that no error occurred.
+   * Indicates that no error occurred.
    */
   CXLoadDiag_None = 0,
   
   /**
-   * \brief Indicates that an unknown error occurred while attempting to
+   * Indicates that an unknown error occurred while attempting to
    * deserialize diagnostics.
    */
   CXLoadDiag_Unknown = 1,
   
   /**
-   * \brief Indicates that the file containing the serialized diagnostics
+   * Indicates that the file containing the serialized diagnostics
    * could not be opened.
    */
   CXLoadDiag_CannotLoad = 2,
   
   /**
-   * \brief Indicates that the serialized diagnostics file is invalid or
+   * Indicates that the serialized diagnostics file is invalid or
    * corrupt.
    */
   CXLoadDiag_InvalidFile = 3
 };
   
 /**
- * \brief Deserialize a set of diagnostics from a Clang diagnostics bitcode
+ * Deserialize a set of diagnostics from a Clang diagnostics bitcode
  * file.
  *
  * \param file The name of the file to deserialize.
@@ -851,12 +851,12 @@ CINDEX_LINKAGE CXDiagnosticSet clang_loa
                                                   CXString *errorString);
 
 /**
- * \brief Release a CXDiagnosticSet and all of its contained diagnostics.
+ * Release a CXDiagnosticSet and all of its contained diagnostics.
  */
 CINDEX_LINKAGE void clang_disposeDiagnosticSet(CXDiagnosticSet Diags);
 
 /**
- * \brief Retrieve the child diagnostics of a CXDiagnostic. 
+ * Retrieve the child diagnostics of a CXDiagnostic. 
  *
  * This CXDiagnosticSet does not need to be released by
  * clang_disposeDiagnosticSet.
@@ -864,13 +864,13 @@ CINDEX_LINKAGE void clang_disposeDiagnos
 CINDEX_LINKAGE CXDiagnosticSet clang_getChildDiagnostics(CXDiagnostic D);
 
 /**
- * \brief Determine the number of diagnostics produced for the given
+ * Determine the number of diagnostics produced for the given
  * translation unit.
  */
 CINDEX_LINKAGE unsigned clang_getNumDiagnostics(CXTranslationUnit Unit);
 
 /**
- * \brief Retrieve a diagnostic associated with the given translation unit.
+ * Retrieve a diagnostic associated with the given translation unit.
  *
  * \param Unit the translation unit to query.
  * \param Index the zero-based diagnostic number to retrieve.
@@ -882,7 +882,7 @@ CINDEX_LINKAGE CXDiagnostic clang_getDia
                                                 unsigned Index);
 
 /**
- * \brief Retrieve the complete set of diagnostics associated with a
+ * Retrieve the complete set of diagnostics associated with a
  *        translation unit.
  *
  * \param Unit the translation unit to query.
@@ -891,19 +891,19 @@ CINDEX_LINKAGE CXDiagnosticSet
   clang_getDiagnosticSetFromTU(CXTranslationUnit Unit);  
 
 /**
- * \brief Destroy a diagnostic.
+ * Destroy a diagnostic.
  */
 CINDEX_LINKAGE void clang_disposeDiagnostic(CXDiagnostic Diagnostic);
 
 /**
- * \brief Options to control the display of diagnostics.
+ * Options to control the display of diagnostics.
  *
  * The values in this enum are meant to be combined to customize the
  * behavior of \c clang_formatDiagnostic().
  */
 enum CXDiagnosticDisplayOptions {
   /**
-   * \brief Display the source-location information where the
+   * Display the source-location information where the
    * diagnostic was located.
    *
    * When set, diagnostics will be prefixed by the file, line, and
@@ -918,7 +918,7 @@ enum CXDiagnosticDisplayOptions {
   CXDiagnostic_DisplaySourceLocation = 0x01,
 
   /**
-   * \brief If displaying the source-location information of the
+   * If displaying the source-location information of the
    * diagnostic, also include the column number.
    *
    * This option corresponds to the clang flag \c -fshow-column.
@@ -926,7 +926,7 @@ enum CXDiagnosticDisplayOptions {
   CXDiagnostic_DisplayColumn = 0x02,
 
   /**
-   * \brief If displaying the source-location information of the
+   * If displaying the source-location information of the
    * diagnostic, also include information about source ranges in a
    * machine-parsable format.
    *
@@ -936,7 +936,7 @@ enum CXDiagnosticDisplayOptions {
   CXDiagnostic_DisplaySourceRanges = 0x04,
   
   /**
-   * \brief Display the option name associated with this diagnostic, if any.
+   * Display the option name associated with this diagnostic, if any.
    *
    * The option name displayed (e.g., -Wconversion) will be placed in brackets
    * after the diagnostic text. This option corresponds to the clang flag
@@ -945,7 +945,7 @@ enum CXDiagnosticDisplayOptions {
   CXDiagnostic_DisplayOption = 0x08,
   
   /**
-   * \brief Display the category number associated with this diagnostic, if any.
+   * Display the category number associated with this diagnostic, if any.
    *
    * The category number is displayed within brackets after the diagnostic text.
    * This option corresponds to the clang flag 
@@ -954,7 +954,7 @@ enum CXDiagnosticDisplayOptions {
   CXDiagnostic_DisplayCategoryId = 0x10,
 
   /**
-   * \brief Display the category name associated with this diagnostic, if any.
+   * Display the category name associated with this diagnostic, if any.
    *
    * The category name is displayed within brackets after the diagnostic text.
    * This option corresponds to the clang flag 
@@ -964,7 +964,7 @@ enum CXDiagnosticDisplayOptions {
 };
 
 /**
- * \brief Format the given diagnostic in a manner that is suitable for display.
+ * Format the given diagnostic in a manner that is suitable for display.
  *
  * This routine will format the given diagnostic to a string, rendering
  * the diagnostic according to the various options given. The
@@ -982,7 +982,7 @@ CINDEX_LINKAGE CXString clang_formatDiag
                                                unsigned Options);
 
 /**
- * \brief Retrieve the set of display options most similar to the
+ * Retrieve the set of display options most similar to the
  * default behavior of the clang compiler.
  *
  * \returns A set of display options suitable for use with \c
@@ -991,13 +991,13 @@ CINDEX_LINKAGE CXString clang_formatDiag
 CINDEX_LINKAGE unsigned clang_defaultDiagnosticDisplayOptions(void);
 
 /**
- * \brief Determine the severity of the given diagnostic.
+ * Determine the severity of the given diagnostic.
  */
 CINDEX_LINKAGE enum CXDiagnosticSeverity
 clang_getDiagnosticSeverity(CXDiagnostic);
 
 /**
- * \brief Retrieve the source location of the given diagnostic.
+ * Retrieve the source location of the given diagnostic.
  *
  * This location is where Clang would print the caret ('^') when
  * displaying the diagnostic on the command line.
@@ -1005,12 +1005,12 @@ clang_getDiagnosticSeverity(CXDiagnostic
 CINDEX_LINKAGE CXSourceLocation clang_getDiagnosticLocation(CXDiagnostic);
 
 /**
- * \brief Retrieve the text of the given diagnostic.
+ * Retrieve the text of the given diagnostic.
  */
 CINDEX_LINKAGE CXString clang_getDiagnosticSpelling(CXDiagnostic);
 
 /**
- * \brief Retrieve the name of the command-line option that enabled this
+ * Retrieve the name of the command-line option that enabled this
  * diagnostic.
  *
  * \param Diag The diagnostic to be queried.
@@ -1025,7 +1025,7 @@ CINDEX_LINKAGE CXString clang_getDiagnos
                                                   CXString *Disable);
 
 /**
- * \brief Retrieve the category number for this diagnostic.
+ * Retrieve the category number for this diagnostic.
  *
  * Diagnostics can be categorized into groups along with other, related
  * diagnostics (e.g., diagnostics under the same warning flag). This routine 
@@ -1037,7 +1037,7 @@ CINDEX_LINKAGE CXString clang_getDiagnos
 CINDEX_LINKAGE unsigned clang_getDiagnosticCategory(CXDiagnostic);
 
 /**
- * \brief Retrieve the name of a particular diagnostic category.  This
+ * Retrieve the name of a particular diagnostic category.  This
  *  is now deprecated.  Use clang_getDiagnosticCategoryText()
  *  instead.
  *
@@ -1050,20 +1050,20 @@ CINDEX_DEPRECATED CINDEX_LINKAGE
 CXString clang_getDiagnosticCategoryName(unsigned Category);
 
 /**
- * \brief Retrieve the diagnostic category text for a given diagnostic.
+ * Retrieve the diagnostic category text for a given diagnostic.
  *
  * \returns The text of the given diagnostic category.
  */
 CINDEX_LINKAGE CXString clang_getDiagnosticCategoryText(CXDiagnostic);
   
 /**
- * \brief Determine the number of source ranges associated with the given
+ * Determine the number of source ranges associated with the given
  * diagnostic.
  */
 CINDEX_LINKAGE unsigned clang_getDiagnosticNumRanges(CXDiagnostic);
 
 /**
- * \brief Retrieve a source range associated with the diagnostic.
+ * Retrieve a source range associated with the diagnostic.
  *
  * A diagnostic's source ranges highlight important elements in the source
  * code. On the command line, Clang displays source ranges by
@@ -1079,13 +1079,13 @@ CINDEX_LINKAGE CXSourceRange clang_getDi
                                                       unsigned Range);
 
 /**
- * \brief Determine the number of fix-it hints associated with the
+ * Determine the number of fix-it hints associated with the
  * given diagnostic.
  */
 CINDEX_LINKAGE unsigned clang_getDiagnosticNumFixIts(CXDiagnostic Diagnostic);
 
 /**
- * \brief Retrieve the replacement information for a given fix-it.
+ * Retrieve the replacement information for a given fix-it.
  *
  * Fix-its are described in terms of a source range whose contents
  * should be replaced by a string. This approach generalizes over
@@ -1128,13 +1128,13 @@ CINDEX_LINKAGE CXString clang_getDiagnos
  */
 
 /**
- * \brief Get the original translation unit source file name.
+ * Get the original translation unit source file name.
  */
 CINDEX_LINKAGE CXString
 clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit);
 
 /**
- * \brief Return the CXTranslationUnit for a given source file and the provided
+ * Return the CXTranslationUnit for a given source file and the provided
  * command line arguments one would pass to the compiler.
  *
  * Note: The 'source_filename' argument is optional.  If the caller provides a
@@ -1182,7 +1182,7 @@ CINDEX_LINKAGE CXTranslationUnit clang_c
                                          struct CXUnsavedFile *unsaved_files);
 
 /**
- * \brief Same as \c clang_createTranslationUnit2, but returns
+ * Same as \c clang_createTranslationUnit2, but returns
  * the \c CXTranslationUnit instead of an error code.  In case of an error this
  * routine returns a \c NULL \c CXTranslationUnit, without further detailed
  * error codes.
@@ -1192,7 +1192,7 @@ CINDEX_LINKAGE CXTranslationUnit clang_c
     const char *ast_filename);
 
 /**
- * \brief Create a translation unit from an AST file (\c -emit-ast).
+ * Create a translation unit from an AST file (\c -emit-ast).
  *
  * \param[out] out_TU A non-NULL pointer to store the created
  * \c CXTranslationUnit.
@@ -1205,7 +1205,7 @@ CINDEX_LINKAGE enum CXErrorCode clang_cr
     CXTranslationUnit *out_TU);
 
 /**
- * \brief Flags that control the creation of translation units.
+ * Flags that control the creation of translation units.
  *
  * The enumerators in this enumeration type are meant to be bitwise
  * ORed together to specify which options should be used when
@@ -1213,13 +1213,13 @@ CINDEX_LINKAGE enum CXErrorCode clang_cr
  */
 enum CXTranslationUnit_Flags {
   /**
-   * \brief Used to indicate that no special translation-unit options are
+   * Used to indicate that no special translation-unit options are
    * needed.
    */
   CXTranslationUnit_None = 0x0,
 
   /**
-   * \brief Used to indicate that the parser should construct a "detailed"
+   * Used to indicate that the parser should construct a "detailed"
    * preprocessing record, including all macro definitions and instantiations.
    *
    * Constructing a detailed preprocessing record requires more memory
@@ -1231,7 +1231,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_DetailedPreprocessingRecord = 0x01,
 
   /**
-   * \brief Used to indicate that the translation unit is incomplete.
+   * Used to indicate that the translation unit is incomplete.
    *
    * When a translation unit is considered "incomplete", semantic
    * analysis that is typically performed at the end of the
@@ -1244,7 +1244,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_Incomplete = 0x02,
   
   /**
-   * \brief Used to indicate that the translation unit should be built with an 
+   * Used to indicate that the translation unit should be built with an 
    * implicit precompiled header for the preamble.
    *
    * An implicit precompiled header is used as an optimization when a
@@ -1260,7 +1260,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_PrecompiledPreamble = 0x04,
   
   /**
-   * \brief Used to indicate that the translation unit should cache some
+   * Used to indicate that the translation unit should cache some
    * code-completion results with each reparse of the source file.
    *
    * Caching of code-completion results is a performance optimization that
@@ -1270,7 +1270,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_CacheCompletionResults = 0x08,
 
   /**
-   * \brief Used to indicate that the translation unit will be serialized with
+   * Used to indicate that the translation unit will be serialized with
    * \c clang_saveTranslationUnit.
    *
    * This option is typically used when parsing a header with the intent of
@@ -1279,7 +1279,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_ForSerialization = 0x10,
 
   /**
-   * \brief DEPRECATED: Enabled chained precompiled preambles in C++.
+   * DEPRECATED: Enabled chained precompiled preambles in C++.
    *
    * Note: this is a *temporary* option that is available only while
    * we are testing C++ precompiled preamble support. It is deprecated.
@@ -1287,7 +1287,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_CXXChainedPCH = 0x20,
 
   /**
-   * \brief Used to indicate that function/method bodies should be skipped while
+   * Used to indicate that function/method bodies should be skipped while
    * parsing.
    *
    * This option can be used to search for declarations/definitions while
@@ -1296,14 +1296,14 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_SkipFunctionBodies = 0x40,
 
   /**
-   * \brief Used to indicate that brief documentation comments should be
+   * Used to indicate that brief documentation comments should be
    * included into the set of code completions returned from this translation
    * unit.
    */
   CXTranslationUnit_IncludeBriefCommentsInCodeCompletion = 0x80,
 
   /**
-   * \brief Used to indicate that the precompiled preamble should be created on
+   * Used to indicate that the precompiled preamble should be created on
    * the first parse. Otherwise it will be created on the first reparse. This
    * trades runtime on the first parse (serializing the preamble takes time) for
    * reduced runtime on the second parse (can now reuse the preamble).
@@ -1311,7 +1311,7 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_CreatePreambleOnFirstParse = 0x100,
 
   /**
-   * \brief Do not stop processing when fatal errors are encountered.
+   * Do not stop processing when fatal errors are encountered.
    *
    * When fatal errors are encountered while parsing a translation unit,
    * semantic analysis is typically stopped early when compiling code. A common
@@ -1322,13 +1322,13 @@ enum CXTranslationUnit_Flags {
   CXTranslationUnit_KeepGoing = 0x200,
 
   /**
-   * \brief Sets the preprocessor in a mode for parsing a single file only.
+   * Sets the preprocessor in a mode for parsing a single file only.
    */
   CXTranslationUnit_SingleFileParse = 0x400
 };
 
 /**
- * \brief Returns the set of flags that is suitable for parsing a translation
+ * Returns the set of flags that is suitable for parsing a translation
  * unit that is being edited.
  *
  * The set of flags returned provide options for \c clang_parseTranslationUnit()
@@ -1342,7 +1342,7 @@ enum CXTranslationUnit_Flags {
 CINDEX_LINKAGE unsigned clang_defaultEditingTranslationUnitOptions(void);
 
 /**
- * \brief Same as \c clang_parseTranslationUnit2, but returns
+ * Same as \c clang_parseTranslationUnit2, but returns
  * the \c CXTranslationUnit instead of an error code.  In case of an error this
  * routine returns a \c NULL \c CXTranslationUnit, without further detailed
  * error codes.
@@ -1357,7 +1357,7 @@ clang_parseTranslationUnit(CXIndex CIdx,
                            unsigned options);
 
 /**
- * \brief Parse the given source file and the translation unit corresponding
+ * Parse the given source file and the translation unit corresponding
  * to that file.
  *
  * This routine is the main entry point for the Clang C API, providing the
@@ -1411,7 +1411,7 @@ clang_parseTranslationUnit2(CXIndex CIdx
                             CXTranslationUnit *out_TU);
 
 /**
- * \brief Same as clang_parseTranslationUnit2 but requires a full command line
+ * Same as clang_parseTranslationUnit2 but requires a full command line
  * for \c command_line_args including argv[0]. This is useful if the standard
  * library paths are relative to the binary.
  */
@@ -1422,7 +1422,7 @@ CINDEX_LINKAGE enum CXErrorCode clang_pa
     unsigned options, CXTranslationUnit *out_TU);
 
 /**
- * \brief Flags that control how translation units are saved.
+ * Flags that control how translation units are saved.
  *
  * The enumerators in this enumeration type are meant to be bitwise
  * ORed together to specify which options should be used when
@@ -1430,13 +1430,13 @@ CINDEX_LINKAGE enum CXErrorCode clang_pa
  */
 enum CXSaveTranslationUnit_Flags {
   /**
-   * \brief Used to indicate that no special saving options are needed.
+   * Used to indicate that no special saving options are needed.
    */
   CXSaveTranslationUnit_None = 0x0
 };
 
 /**
- * \brief Returns the set of flags that is suitable for saving a translation
+ * Returns the set of flags that is suitable for saving a translation
  * unit.
  *
  * The set of flags returned provide options for
@@ -1447,17 +1447,17 @@ enum CXSaveTranslationUnit_Flags {
 CINDEX_LINKAGE unsigned clang_defaultSaveOptions(CXTranslationUnit TU);
 
 /**
- * \brief Describes the kind of error that occurred (if any) in a call to
+ * Describes the kind of error that occurred (if any) in a call to
  * \c clang_saveTranslationUnit().
  */
 enum CXSaveError {
   /**
-   * \brief Indicates that no error occurred while saving a translation unit.
+   * Indicates that no error occurred while saving a translation unit.
    */
   CXSaveError_None = 0,
   
   /**
-   * \brief Indicates that an unknown error occurred while attempting to save
+   * Indicates that an unknown error occurred while attempting to save
    * the file.
    *
    * This error typically indicates that file I/O failed when attempting to 
@@ -1466,7 +1466,7 @@ enum CXSaveError {
   CXSaveError_Unknown = 1,
   
   /**
-   * \brief Indicates that errors during translation prevented this attempt
+   * Indicates that errors during translation prevented this attempt
    * to save the translation unit.
    * 
    * Errors that prevent the translation unit from being saved can be
@@ -1475,14 +1475,14 @@ enum CXSaveError {
   CXSaveError_TranslationErrors = 2,
   
   /**
-   * \brief Indicates that the translation unit to be saved was somehow
+   * Indicates that the translation unit to be saved was somehow
    * invalid (e.g., NULL).
    */
   CXSaveError_InvalidTU = 3
 };
   
 /**
- * \brief Saves a translation unit into a serialized representation of
+ * Saves a translation unit into a serialized representation of
  * that translation unit on disk.
  *
  * Any translation unit that was parsed without error can be saved
@@ -1509,7 +1509,7 @@ CINDEX_LINKAGE int clang_saveTranslation
                                              unsigned options);
 
 /**
- * \brief Suspend a translation unit in order to free memory associated with it.
+ * Suspend a translation unit in order to free memory associated with it.
  *
  * A suspended translation unit uses significantly less memory but on the other
  * side does not support any other calls than \c clang_reparseTranslationUnit
@@ -1518,12 +1518,12 @@ CINDEX_LINKAGE int clang_saveTranslation
 CINDEX_LINKAGE unsigned clang_suspendTranslationUnit(CXTranslationUnit);
 
 /**
- * \brief Destroy the specified CXTranslationUnit object.
+ * Destroy the specified CXTranslationUnit object.
  */
 CINDEX_LINKAGE void clang_disposeTranslationUnit(CXTranslationUnit);
 
 /**
- * \brief Flags that control the reparsing of translation units.
+ * Flags that control the reparsing of translation units.
  *
  * The enumerators in this enumeration type are meant to be bitwise
  * ORed together to specify which options should be used when
@@ -1531,13 +1531,13 @@ CINDEX_LINKAGE void clang_disposeTransla
  */
 enum CXReparse_Flags {
   /**
-   * \brief Used to indicate that no special reparsing options are needed.
+   * Used to indicate that no special reparsing options are needed.
    */
   CXReparse_None = 0x0
 };
  
 /**
- * \brief Returns the set of flags that is suitable for reparsing a translation
+ * Returns the set of flags that is suitable for reparsing a translation
  * unit.
  *
  * The set of flags returned provide options for
@@ -1549,7 +1549,7 @@ enum CXReparse_Flags {
 CINDEX_LINKAGE unsigned clang_defaultReparseOptions(CXTranslationUnit TU);
 
 /**
- * \brief Reparse the source files that produced this translation unit.
+ * Reparse the source files that produced this translation unit.
  *
  * This routine can be used to re-parse the source files that originally
  * created the given translation unit, for example because those source files
@@ -1593,7 +1593,7 @@ CINDEX_LINKAGE int clang_reparseTranslat
                                                 unsigned options);
 
 /**
-  * \brief Categorizes how memory is being used by a translation unit.
+  * Categorizes how memory is being used by a translation unit.
   */
 enum CXTUResourceUsageKind {
   CXTUResourceUsage_AST = 1,
@@ -1619,38 +1619,38 @@ enum CXTUResourceUsageKind {
 };
 
 /**
-  * \brief Returns the human-readable null-terminated C string that represents
+  * Returns the human-readable null-terminated C string that represents
   *  the name of the memory category.  This string should never be freed.
   */
 CINDEX_LINKAGE
 const char *clang_getTUResourceUsageName(enum CXTUResourceUsageKind kind);
 
 typedef struct CXTUResourceUsageEntry {
-  /* \brief The memory usage category. */
+  /* The memory usage category. */
   enum CXTUResourceUsageKind kind;  
-  /* \brief Amount of resources used. 
+  /* Amount of resources used. 
       The units will depend on the resource kind. */
   unsigned long amount;
 } CXTUResourceUsageEntry;
 
 /**
-  * \brief The memory usage of a CXTranslationUnit, broken into categories.
+  * The memory usage of a CXTranslationUnit, broken into categories.
   */
 typedef struct CXTUResourceUsage {
-  /* \brief Private data member, used for queries. */
+  /* Private data member, used for queries. */
   void *data;
 
-  /* \brief The number of entries in the 'entries' array. */
+  /* The number of entries in the 'entries' array. */
   unsigned numEntries;
 
-  /* \brief An array of key-value pairs, representing the breakdown of memory
+  /* An array of key-value pairs, representing the breakdown of memory
             usage. */
   CXTUResourceUsageEntry *entries;
 
 } CXTUResourceUsage;
 
 /**
-  * \brief Return the memory usage of a translation unit.  This object
+  * Return the memory usage of a translation unit.  This object
   *  should be released with clang_disposeCXTUResourceUsage().
   */
 CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU);
@@ -1658,7 +1658,7 @@ CINDEX_LINKAGE CXTUResourceUsage clang_g
 CINDEX_LINKAGE void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage);
 
 /**
- * \brief Get target information for this translation unit.
+ * Get target information for this translation unit.
  *
  * The CXTargetInfo object cannot outlive the CXTranslationUnit object.
  */
@@ -1666,13 +1666,13 @@ CINDEX_LINKAGE CXTargetInfo
 clang_getTranslationUnitTargetInfo(CXTranslationUnit CTUnit);
 
 /**
- * \brief Destroy the CXTargetInfo object.
+ * Destroy the CXTargetInfo object.
  */
 CINDEX_LINKAGE void
 clang_TargetInfo_dispose(CXTargetInfo Info);
 
 /**
- * \brief Get the normalized target triple as a string.
+ * Get the normalized target triple as a string.
  *
  * Returns the empty string in case of any error.
  */
@@ -1680,7 +1680,7 @@ CINDEX_LINKAGE CXString
 clang_TargetInfo_getTriple(CXTargetInfo Info);
 
 /**
- * \brief Get the pointer width of the target in bits.
+ * Get the pointer width of the target in bits.
  *
  * Returns -1 in case of error.
  */
@@ -1692,12 +1692,12 @@ clang_TargetInfo_getPointerWidth(CXTarge
  */
 
 /**
- * \brief Describes the kind of entity that a cursor refers to.
+ * Describes the kind of entity that a cursor refers to.
  */
 enum CXCursorKind {
   /* Declarations */
   /**
-   * \brief A declaration whose specific kind is not exposed via this
+   * A declaration whose specific kind is not exposed via this
    * interface.
    *
    * Unexposed declarations have the same operations as any other kind
@@ -1706,84 +1706,84 @@ enum CXCursorKind {
    * of the declaration is not reported.
    */
   CXCursor_UnexposedDecl                 = 1,
-  /** \brief A C or C++ struct. */
+  /** A C or C++ struct. */
   CXCursor_StructDecl                    = 2,
-  /** \brief A C or C++ union. */
+  /** A C or C++ union. */
   CXCursor_UnionDecl                     = 3,
-  /** \brief A C++ class. */
+  /** A C++ class. */
   CXCursor_ClassDecl                     = 4,
-  /** \brief An enumeration. */
+  /** An enumeration. */
   CXCursor_EnumDecl                      = 5,
   /**
-   * \brief A field (in C) or non-static data member (in C++) in a
+   * A field (in C) or non-static data member (in C++) in a
    * struct, union, or C++ class.
    */
   CXCursor_FieldDecl                     = 6,
-  /** \brief An enumerator constant. */
+  /** An enumerator constant. */
   CXCursor_EnumConstantDecl              = 7,
-  /** \brief A function. */
+  /** A function. */
   CXCursor_FunctionDecl                  = 8,
-  /** \brief A variable. */
+  /** A variable. */
   CXCursor_VarDecl                       = 9,
-  /** \brief A function or method parameter. */
+  /** A function or method parameter. */
   CXCursor_ParmDecl                      = 10,
-  /** \brief An Objective-C \@interface. */
+  /** An Objective-C \@interface. */
   CXCursor_ObjCInterfaceDecl             = 11,
-  /** \brief An Objective-C \@interface for a category. */
+  /** An Objective-C \@interface for a category. */
   CXCursor_ObjCCategoryDecl              = 12,
-  /** \brief An Objective-C \@protocol declaration. */
+  /** An Objective-C \@protocol declaration. */
   CXCursor_ObjCProtocolDecl              = 13,
-  /** \brief An Objective-C \@property declaration. */
+  /** An Objective-C \@property declaration. */
   CXCursor_ObjCPropertyDecl              = 14,
-  /** \brief An Objective-C instance variable. */
+  /** An Objective-C instance variable. */
   CXCursor_ObjCIvarDecl                  = 15,
-  /** \brief An Objective-C instance method. */
+  /** An Objective-C instance method. */
   CXCursor_ObjCInstanceMethodDecl        = 16,
-  /** \brief An Objective-C class method. */
+  /** An Objective-C class method. */
   CXCursor_ObjCClassMethodDecl           = 17,
-  /** \brief An Objective-C \@implementation. */
+  /** An Objective-C \@implementation. */
   CXCursor_ObjCImplementationDecl        = 18,
-  /** \brief An Objective-C \@implementation for a category. */
+  /** An Objective-C \@implementation for a category. */
   CXCursor_ObjCCategoryImplDecl          = 19,
-  /** \brief A typedef. */
+  /** A typedef. */
   CXCursor_TypedefDecl                   = 20,
-  /** \brief A C++ class method. */
+  /** A C++ class method. */
   CXCursor_CXXMethod                     = 21,
-  /** \brief A C++ namespace. */
+  /** A C++ namespace. */
   CXCursor_Namespace                     = 22,
-  /** \brief A linkage specification, e.g. 'extern "C"'. */
+  /** A linkage specification, e.g. 'extern "C"'. */
   CXCursor_LinkageSpec                   = 23,
-  /** \brief A C++ constructor. */
+  /** A C++ constructor. */
   CXCursor_Constructor                   = 24,
-  /** \brief A C++ destructor. */
+  /** A C++ destructor. */
   CXCursor_Destructor                    = 25,
-  /** \brief A C++ conversion function. */
+  /** A C++ conversion function. */
   CXCursor_ConversionFunction            = 26,
-  /** \brief A C++ template type parameter. */
+  /** A C++ template type parameter. */
   CXCursor_TemplateTypeParameter         = 27,
-  /** \brief A C++ non-type template parameter. */
+  /** A C++ non-type template parameter. */
   CXCursor_NonTypeTemplateParameter      = 28,
-  /** \brief A C++ template template parameter. */
+  /** A C++ template template parameter. */
   CXCursor_TemplateTemplateParameter     = 29,
-  /** \brief A C++ function template. */
+  /** A C++ function template. */
   CXCursor_FunctionTemplate              = 30,
-  /** \brief A C++ class template. */
+  /** A C++ class template. */
   CXCursor_ClassTemplate                 = 31,
-  /** \brief A C++ class template partial specialization. */
+  /** A C++ class template partial specialization. */
   CXCursor_ClassTemplatePartialSpecialization = 32,
-  /** \brief A C++ namespace alias declaration. */
+  /** A C++ namespace alias declaration. */
   CXCursor_NamespaceAlias                = 33,
-  /** \brief A C++ using directive. */
+  /** A C++ using directive. */
   CXCursor_UsingDirective                = 34,
-  /** \brief A C++ using declaration. */
+  /** A C++ using declaration. */
   CXCursor_UsingDeclaration              = 35,
-  /** \brief A C++ alias declaration */
+  /** A C++ alias declaration */
   CXCursor_TypeAliasDecl                 = 36,
-  /** \brief An Objective-C \@synthesize definition. */
+  /** An Objective-C \@synthesize definition. */
   CXCursor_ObjCSynthesizeDecl            = 37,
-  /** \brief An Objective-C \@dynamic definition. */
+  /** An Objective-C \@dynamic definition. */
   CXCursor_ObjCDynamicDecl               = 38,
-  /** \brief An access specifier. */
+  /** An access specifier. */
   CXCursor_CXXAccessSpecifier            = 39,
 
   CXCursor_FirstDecl                     = CXCursor_UnexposedDecl,
@@ -1795,7 +1795,7 @@ enum CXCursorKind {
   CXCursor_ObjCProtocolRef               = 41,
   CXCursor_ObjCClassRef                  = 42,
   /**
-   * \brief A reference to a type declaration.
+   * A reference to a type declaration.
    *
    * A type reference occurs anywhere where a type is named but not
    * declared. For example, given:
@@ -1812,21 +1812,21 @@ enum CXCursorKind {
   CXCursor_TypeRef                       = 43,
   CXCursor_CXXBaseSpecifier              = 44,
   /** 
-   * \brief A reference to a class template, function template, template
+   * A reference to a class template, function template, template
    * template parameter, or class template partial specialization.
    */
   CXCursor_TemplateRef                   = 45,
   /**
-   * \brief A reference to a namespace or namespace alias.
+   * A reference to a namespace or namespace alias.
    */
   CXCursor_NamespaceRef                  = 46,
   /**
-   * \brief A reference to a member of a struct, union, or class that occurs in 
+   * A reference to a member of a struct, union, or class that occurs in 
    * some non-expression context, e.g., a designated initializer.
    */
   CXCursor_MemberRef                     = 47,
   /**
-   * \brief A reference to a labeled statement.
+   * A reference to a labeled statement.
    *
    * This cursor kind is used to describe the jump to "start_over" in the 
    * goto statement in the following example:
@@ -1843,7 +1843,7 @@ enum CXCursorKind {
   CXCursor_LabelRef                      = 48,
   
   /**
-   * \brief A reference to a set of overloaded functions or function templates
+   * A reference to a set of overloaded functions or function templates
    * that has not yet been resolved to a specific function or function template.
    *
    * An overloaded declaration reference cursor occurs in C++ templates where
@@ -1881,7 +1881,7 @@ enum CXCursorKind {
   CXCursor_OverloadedDeclRef             = 49,
   
   /**
-   * \brief A reference to a variable that occurs in some non-expression 
+   * A reference to a variable that occurs in some non-expression 
    * context, e.g., a C++ lambda capture list.
    */
   CXCursor_VariableRef                   = 50,
@@ -1900,7 +1900,7 @@ enum CXCursorKind {
   CXCursor_FirstExpr                     = 100,
 
   /**
-   * \brief An expression whose specific kind is not exposed via this
+   * An expression whose specific kind is not exposed via this
    * interface.
    *
    * Unexposed expressions have the same operations as any other kind
@@ -1911,103 +1911,103 @@ enum CXCursorKind {
   CXCursor_UnexposedExpr                 = 100,
 
   /**
-   * \brief An expression that refers to some value declaration, such
+   * An expression that refers to some value declaration, such
    * as a function, variable, or enumerator.
    */
   CXCursor_DeclRefExpr                   = 101,
 
   /**
-   * \brief An expression that refers to a member of a struct, union,
+   * An expression that refers to a member of a struct, union,
    * class, Objective-C class, etc.
    */
   CXCursor_MemberRefExpr                 = 102,
 
-  /** \brief An expression that calls a function. */
+  /** An expression that calls a function. */
   CXCursor_CallExpr                      = 103,
 
-  /** \brief An expression that sends a message to an Objective-C
+  /** An expression that sends a message to an Objective-C
    object or class. */
   CXCursor_ObjCMessageExpr               = 104,
 
-  /** \brief An expression that represents a block literal. */
+  /** An expression that represents a block literal. */
   CXCursor_BlockExpr                     = 105,
 
-  /** \brief An integer literal.
+  /** An integer literal.
    */
   CXCursor_IntegerLiteral                = 106,
 
-  /** \brief A floating point number literal.
+  /** A floating point number literal.
    */
   CXCursor_FloatingLiteral               = 107,
 
-  /** \brief An imaginary number literal.
+  /** An imaginary number literal.
    */
   CXCursor_ImaginaryLiteral              = 108,
 
-  /** \brief A string literal.
+  /** A string literal.
    */
   CXCursor_StringLiteral                 = 109,
 
-  /** \brief A character literal.
+  /** A character literal.
    */
   CXCursor_CharacterLiteral              = 110,
 
-  /** \brief A parenthesized expression, e.g. "(1)".
+  /** A parenthesized expression, e.g. "(1)".
    *
    * This AST node is only formed if full location information is requested.
    */
   CXCursor_ParenExpr                     = 111,
 
-  /** \brief This represents the unary-expression's (except sizeof and
+  /** This represents the unary-expression's (except sizeof and
    * alignof).
    */
   CXCursor_UnaryOperator                 = 112,
 
-  /** \brief [C99 6.5.2.1] Array Subscripting.
+  /** [C99 6.5.2.1] Array Subscripting.
    */
   CXCursor_ArraySubscriptExpr            = 113,
 
-  /** \brief A builtin binary operation expression such as "x + y" or
+  /** A builtin binary operation expression such as "x + y" or
    * "x <= y".
    */
   CXCursor_BinaryOperator                = 114,
 
-  /** \brief Compound assignment such as "+=".
+  /** Compound assignment such as "+=".
    */
   CXCursor_CompoundAssignOperator        = 115,
 
-  /** \brief The ?: ternary operator.
+  /** The ?: ternary operator.
    */
   CXCursor_ConditionalOperator           = 116,
 
-  /** \brief An explicit cast in C (C99 6.5.4) or a C-style cast in C++
+  /** An explicit cast in C (C99 6.5.4) or a C-style cast in C++
    * (C++ [expr.cast]), which uses the syntax (Type)expr.
    *
    * For example: (int)f.
    */
   CXCursor_CStyleCastExpr                = 117,
 
-  /** \brief [C99 6.5.2.5]
+  /** [C99 6.5.2.5]
    */
   CXCursor_CompoundLiteralExpr           = 118,
 
-  /** \brief Describes an C or C++ initializer list.
+  /** Describes an C or C++ initializer list.
    */
   CXCursor_InitListExpr                  = 119,
 
-  /** \brief The GNU address of label extension, representing &&label.
+  /** The GNU address of label extension, representing &&label.
    */
   CXCursor_AddrLabelExpr                 = 120,
 
-  /** \brief This is the GNU Statement Expression extension: ({int X=4; X;})
+  /** This is the GNU Statement Expression extension: ({int X=4; X;})
    */
   CXCursor_StmtExpr                      = 121,
 
-  /** \brief Represents a C11 generic selection.
+  /** Represents a C11 generic selection.
    */
   CXCursor_GenericSelectionExpr          = 122,
 
-  /** \brief Implements the GNU __null extension, which is a name for a null
+  /** Implements the GNU __null extension, which is a name for a null
    * pointer constant that has integral type (e.g., int or long) and is the same
    * size and alignment as a pointer.
    *
@@ -2017,23 +2017,23 @@ enum CXCursorKind {
    */
   CXCursor_GNUNullExpr                   = 123,
 
-  /** \brief C++'s static_cast<> expression.
+  /** C++'s static_cast<> expression.
    */
   CXCursor_CXXStaticCastExpr             = 124,
 
-  /** \brief C++'s dynamic_cast<> expression.
+  /** C++'s dynamic_cast<> expression.
    */
   CXCursor_CXXDynamicCastExpr            = 125,
 
-  /** \brief C++'s reinterpret_cast<> expression.
+  /** C++'s reinterpret_cast<> expression.
    */
   CXCursor_CXXReinterpretCastExpr        = 126,
 
-  /** \brief C++'s const_cast<> expression.
+  /** C++'s const_cast<> expression.
    */
   CXCursor_CXXConstCastExpr              = 127,
 
-  /** \brief Represents an explicit C++ type conversion that uses "functional"
+  /** Represents an explicit C++ type conversion that uses "functional"
    * notion (C++ [expr.type.conv]).
    *
    * Example:
@@ -2043,60 +2043,60 @@ enum CXCursorKind {
    */
   CXCursor_CXXFunctionalCastExpr         = 128,
 
-  /** \brief A C++ typeid expression (C++ [expr.typeid]).
+  /** A C++ typeid expression (C++ [expr.typeid]).
    */
   CXCursor_CXXTypeidExpr                 = 129,
 
-  /** \brief [C++ 2.13.5] C++ Boolean Literal.
+  /** [C++ 2.13.5] C++ Boolean Literal.
    */
   CXCursor_CXXBoolLiteralExpr            = 130,
 
-  /** \brief [C++0x 2.14.7] C++ Pointer Literal.
+  /** [C++0x 2.14.7] C++ Pointer Literal.
    */
   CXCursor_CXXNullPtrLiteralExpr         = 131,
 
-  /** \brief Represents the "this" expression in C++
+  /** Represents the "this" expression in C++
    */
   CXCursor_CXXThisExpr                   = 132,
 
-  /** \brief [C++ 15] C++ Throw Expression.
+  /** [C++ 15] C++ Throw Expression.
    *
    * This handles 'throw' and 'throw' assignment-expression. When
    * assignment-expression isn't present, Op will be null.
    */
   CXCursor_CXXThrowExpr                  = 133,
 
-  /** \brief A new expression for memory allocation and constructor calls, e.g:
+  /** A new expression for memory allocation and constructor calls, e.g:
    * "new CXXNewExpr(foo)".
    */
   CXCursor_CXXNewExpr                    = 134,
 
-  /** \brief A delete expression for memory deallocation and destructor calls,
+  /** A delete expression for memory deallocation and destructor calls,
    * e.g. "delete[] pArray".
    */
   CXCursor_CXXDeleteExpr                 = 135,
 
-  /** \brief A unary expression. (noexcept, sizeof, or other traits)
+  /** A unary expression. (noexcept, sizeof, or other traits)
    */
   CXCursor_UnaryExpr                     = 136,
 
-  /** \brief An Objective-C string literal i.e. @"foo".
+  /** An Objective-C string literal i.e. @"foo".
    */
   CXCursor_ObjCStringLiteral             = 137,
 
-  /** \brief An Objective-C \@encode expression.
+  /** An Objective-C \@encode expression.
    */
   CXCursor_ObjCEncodeExpr                = 138,
 
-  /** \brief An Objective-C \@selector expression.
+  /** An Objective-C \@selector expression.
    */
   CXCursor_ObjCSelectorExpr              = 139,
 
-  /** \brief An Objective-C \@protocol expression.
+  /** An Objective-C \@protocol expression.
    */
   CXCursor_ObjCProtocolExpr              = 140,
 
-  /** \brief An Objective-C "bridged" cast expression, which casts between
+  /** An Objective-C "bridged" cast expression, which casts between
    * Objective-C pointers and C pointers, transferring ownership in the process.
    *
    * \code
@@ -2105,7 +2105,7 @@ enum CXCursorKind {
    */
   CXCursor_ObjCBridgedCastExpr           = 141,
 
-  /** \brief Represents a C++0x pack expansion that produces a sequence of
+  /** Represents a C++0x pack expansion that produces a sequence of
    * expressions.
    *
    * A pack expansion expression contains a pattern (which itself is an
@@ -2120,7 +2120,7 @@ enum CXCursorKind {
    */
   CXCursor_PackExpansionExpr             = 142,
 
-  /** \brief Represents an expression that computes the length of a parameter
+  /** Represents an expression that computes the length of a parameter
    * pack.
    *
    * \code
@@ -2132,7 +2132,7 @@ enum CXCursorKind {
    */
   CXCursor_SizeOfPackExpr                = 143,
 
-  /* \brief Represents a C++ lambda expression that produces a local function
+  /* Represents a C++ lambda expression that produces a local function
    * object.
    *
    * \code
@@ -2146,19 +2146,19 @@ enum CXCursorKind {
    */
   CXCursor_LambdaExpr                    = 144,
   
-  /** \brief Objective-c Boolean Literal.
+  /** Objective-c Boolean Literal.
    */
   CXCursor_ObjCBoolLiteralExpr           = 145,
 
-  /** \brief Represents the "self" expression in an Objective-C method.
+  /** Represents the "self" expression in an Objective-C method.
    */
   CXCursor_ObjCSelfExpr                  = 146,
 
-  /** \brief OpenMP 4.0 [2.4, Array Section].
+  /** OpenMP 4.0 [2.4, Array Section].
    */
   CXCursor_OMPArraySectionExpr           = 147,
 
-  /** \brief Represents an @available(...) check.
+  /** Represents an @available(...) check.
    */
   CXCursor_ObjCAvailabilityCheckExpr     = 148,
 
@@ -2167,7 +2167,7 @@ enum CXCursorKind {
   /* Statements */
   CXCursor_FirstStmt                     = 200,
   /**
-   * \brief A statement whose specific kind is not exposed via this
+   * A statement whose specific kind is not exposed via this
    * interface.
    *
    * Unexposed statements have the same operations as any other kind of
@@ -2177,7 +2177,7 @@ enum CXCursorKind {
    */
   CXCursor_UnexposedStmt                 = 200,
   
-  /** \brief A labelled statement in a function. 
+  /** A labelled statement in a function. 
    *
    * This cursor kind is used to describe the "start_over:" label statement in 
    * the following example:
@@ -2190,329 +2190,329 @@ enum CXCursorKind {
    */
   CXCursor_LabelStmt                     = 201,
 
-  /** \brief A group of statements like { stmt stmt }.
+  /** A group of statements like { stmt stmt }.
    *
    * This cursor kind is used to describe compound statements, e.g. function
    * bodies.
    */
   CXCursor_CompoundStmt                  = 202,
 
-  /** \brief A case statement.
+  /** A case statement.
    */
   CXCursor_CaseStmt                      = 203,
 
-  /** \brief A default statement.
+  /** A default statement.
    */
   CXCursor_DefaultStmt                   = 204,
 
-  /** \brief An if statement
+  /** An if statement
    */
   CXCursor_IfStmt                        = 205,
 
-  /** \brief A switch statement.
+  /** A switch statement.
    */
   CXCursor_SwitchStmt                    = 206,
 
-  /** \brief A while statement.
+  /** A while statement.
    */
   CXCursor_WhileStmt                     = 207,
 
-  /** \brief A do statement.
+  /** A do statement.
    */
   CXCursor_DoStmt                        = 208,
 
-  /** \brief A for statement.
+  /** A for statement.
    */
   CXCursor_ForStmt                       = 209,
 
-  /** \brief A goto statement.
+  /** A goto statement.
    */
   CXCursor_GotoStmt                      = 210,
 
-  /** \brief An indirect goto statement.
+  /** An indirect goto statement.
    */
   CXCursor_IndirectGotoStmt              = 211,
 
-  /** \brief A continue statement.
+  /** A continue statement.
    */
   CXCursor_ContinueStmt                  = 212,
 
-  /** \brief A break statement.
+  /** A break statement.
    */
   CXCursor_BreakStmt                     = 213,
 
-  /** \brief A return statement.
+  /** A return statement.
    */
   CXCursor_ReturnStmt                    = 214,
 
-  /** \brief A GCC inline assembly statement extension.
+  /** A GCC inline assembly statement extension.
    */
   CXCursor_GCCAsmStmt                    = 215,
   CXCursor_AsmStmt                       = CXCursor_GCCAsmStmt,
 
-  /** \brief Objective-C's overall \@try-\@catch-\@finally statement.
+  /** Objective-C's overall \@try-\@catch-\@finally statement.
    */
   CXCursor_ObjCAtTryStmt                 = 216,
 
-  /** \brief Objective-C's \@catch statement.
+  /** Objective-C's \@catch statement.
    */
   CXCursor_ObjCAtCatchStmt               = 217,
 
-  /** \brief Objective-C's \@finally statement.
+  /** Objective-C's \@finally statement.
    */
   CXCursor_ObjCAtFinallyStmt             = 218,
 
-  /** \brief Objective-C's \@throw statement.
+  /** Objective-C's \@throw statement.
    */
   CXCursor_ObjCAtThrowStmt               = 219,
 
-  /** \brief Objective-C's \@synchronized statement.
+  /** Objective-C's \@synchronized statement.
    */
   CXCursor_ObjCAtSynchronizedStmt        = 220,
 
-  /** \brief Objective-C's autorelease pool statement.
+  /** Objective-C's autorelease pool statement.
    */
   CXCursor_ObjCAutoreleasePoolStmt       = 221,
 
-  /** \brief Objective-C's collection statement.
+  /** Objective-C's collection statement.
    */
   CXCursor_ObjCForCollectionStmt         = 222,
 
-  /** \brief C++'s catch statement.
+  /** C++'s catch statement.
    */
   CXCursor_CXXCatchStmt                  = 223,
 
-  /** \brief C++'s try statement.
+  /** C++'s try statement.
    */
   CXCursor_CXXTryStmt                    = 224,
 
-  /** \brief C++'s for (* : *) statement.
+  /** C++'s for (* : *) statement.
    */
   CXCursor_CXXForRangeStmt               = 225,
 
-  /** \brief Windows Structured Exception Handling's try statement.
+  /** Windows Structured Exception Handling's try statement.
    */
   CXCursor_SEHTryStmt                    = 226,
 
-  /** \brief Windows Structured Exception Handling's except statement.
+  /** Windows Structured Exception Handling's except statement.
    */
   CXCursor_SEHExceptStmt                 = 227,
 
-  /** \brief Windows Structured Exception Handling's finally statement.
+  /** Windows Structured Exception Handling's finally statement.
    */
   CXCursor_SEHFinallyStmt                = 228,
 
-  /** \brief A MS inline assembly statement extension.
+  /** A MS inline assembly statement extension.
    */
   CXCursor_MSAsmStmt                     = 229,
 
-  /** \brief The null statement ";": C99 6.8.3p3.
+  /** The null statement ";": C99 6.8.3p3.
    *
    * This cursor kind is used to describe the null statement.
    */
   CXCursor_NullStmt                      = 230,
 
-  /** \brief Adaptor class for mixing declarations with statements and
+  /** Adaptor class for mixing declarations with statements and
    * expressions.
    */
   CXCursor_DeclStmt                      = 231,
 
-  /** \brief OpenMP parallel directive.
+  /** OpenMP parallel directive.
    */
   CXCursor_OMPParallelDirective          = 232,
 
-  /** \brief OpenMP SIMD directive.
+  /** OpenMP SIMD directive.
    */
   CXCursor_OMPSimdDirective              = 233,
 
-  /** \brief OpenMP for directive.
+  /** OpenMP for directive.
    */
   CXCursor_OMPForDirective               = 234,
 
-  /** \brief OpenMP sections directive.
+  /** OpenMP sections directive.
    */
   CXCursor_OMPSectionsDirective          = 235,
 
-  /** \brief OpenMP section directive.
+  /** OpenMP section directive.
    */
   CXCursor_OMPSectionDirective           = 236,
 
-  /** \brief OpenMP single directive.
+  /** OpenMP single directive.
    */
   CXCursor_OMPSingleDirective            = 237,
 
-  /** \brief OpenMP parallel for directive.
+  /** OpenMP parallel for directive.
    */
   CXCursor_OMPParallelForDirective       = 238,
 
-  /** \brief OpenMP parallel sections directive.
+  /** OpenMP parallel sections directive.
    */
   CXCursor_OMPParallelSectionsDirective  = 239,
 
-  /** \brief OpenMP task directive.
+  /** OpenMP task directive.
    */
   CXCursor_OMPTaskDirective              = 240,
 
-  /** \brief OpenMP master directive.
+  /** OpenMP master directive.
    */
   CXCursor_OMPMasterDirective            = 241,
 
-  /** \brief OpenMP critical directive.
+  /** OpenMP critical directive.
    */
   CXCursor_OMPCriticalDirective          = 242,
 
-  /** \brief OpenMP taskyield directive.
+  /** OpenMP taskyield directive.
    */
   CXCursor_OMPTaskyieldDirective         = 243,
 
-  /** \brief OpenMP barrier directive.
+  /** OpenMP barrier directive.
    */
   CXCursor_OMPBarrierDirective           = 244,
 
-  /** \brief OpenMP taskwait directive.
+  /** OpenMP taskwait directive.
    */
   CXCursor_OMPTaskwaitDirective          = 245,
 
-  /** \brief OpenMP flush directive.
+  /** OpenMP flush directive.
    */
   CXCursor_OMPFlushDirective             = 246,
 
-  /** \brief Windows Structured Exception Handling's leave statement.
+  /** Windows Structured Exception Handling's leave statement.
    */
   CXCursor_SEHLeaveStmt                  = 247,
 
-  /** \brief OpenMP ordered directive.
+  /** OpenMP ordered directive.
    */
   CXCursor_OMPOrderedDirective           = 248,
 
-  /** \brief OpenMP atomic directive.
+  /** OpenMP atomic directive.
    */
   CXCursor_OMPAtomicDirective            = 249,
 
-  /** \brief OpenMP for SIMD directive.
+  /** OpenMP for SIMD directive.
    */
   CXCursor_OMPForSimdDirective           = 250,
 
-  /** \brief OpenMP parallel for SIMD directive.
+  /** OpenMP parallel for SIMD directive.
    */
   CXCursor_OMPParallelForSimdDirective   = 251,
 
-  /** \brief OpenMP target directive.
+  /** OpenMP target directive.
    */
   CXCursor_OMPTargetDirective            = 252,
 
-  /** \brief OpenMP teams directive.
+  /** OpenMP teams directive.
    */
   CXCursor_OMPTeamsDirective             = 253,
 
-  /** \brief OpenMP taskgroup directive.
+  /** OpenMP taskgroup directive.
    */
   CXCursor_OMPTaskgroupDirective         = 254,
 
-  /** \brief OpenMP cancellation point directive.
+  /** OpenMP cancellation point directive.
    */
   CXCursor_OMPCancellationPointDirective = 255,
 
-  /** \brief OpenMP cancel directive.
+  /** OpenMP cancel directive.
    */
   CXCursor_OMPCancelDirective            = 256,
 
-  /** \brief OpenMP target data directive.
+  /** OpenMP target data directive.
    */
   CXCursor_OMPTargetDataDirective        = 257,
 
-  /** \brief OpenMP taskloop directive.
+  /** OpenMP taskloop directive.
    */
   CXCursor_OMPTaskLoopDirective          = 258,
 
-  /** \brief OpenMP taskloop simd directive.
+  /** OpenMP taskloop simd directive.
    */
   CXCursor_OMPTaskLoopSimdDirective      = 259,
 
-  /** \brief OpenMP distribute directive.
+  /** OpenMP distribute directive.
    */
   CXCursor_OMPDistributeDirective        = 260,
 
-  /** \brief OpenMP target enter data directive.
+  /** OpenMP target enter data directive.
    */
   CXCursor_OMPTargetEnterDataDirective   = 261,
 
-  /** \brief OpenMP target exit data directive.
+  /** OpenMP target exit data directive.
    */
   CXCursor_OMPTargetExitDataDirective    = 262,
 
-  /** \brief OpenMP target parallel directive.
+  /** OpenMP target parallel directive.
    */
   CXCursor_OMPTargetParallelDirective    = 263,
 
-  /** \brief OpenMP target parallel for directive.
+  /** OpenMP target parallel for directive.
    */
   CXCursor_OMPTargetParallelForDirective = 264,
 
-  /** \brief OpenMP target update directive.
+  /** OpenMP target update directive.
    */
   CXCursor_OMPTargetUpdateDirective      = 265,
 
-  /** \brief OpenMP distribute parallel for directive.
+  /** OpenMP distribute parallel for directive.
    */
   CXCursor_OMPDistributeParallelForDirective = 266,
 
-  /** \brief OpenMP distribute parallel for simd directive.
+  /** OpenMP distribute parallel for simd directive.
    */
   CXCursor_OMPDistributeParallelForSimdDirective = 267,
 
-  /** \brief OpenMP distribute simd directive.
+  /** OpenMP distribute simd directive.
    */
   CXCursor_OMPDistributeSimdDirective = 268,
 
-  /** \brief OpenMP target parallel for simd directive.
+  /** OpenMP target parallel for simd directive.
    */
   CXCursor_OMPTargetParallelForSimdDirective = 269,
 
-  /** \brief OpenMP target simd directive.
+  /** OpenMP target simd directive.
    */
   CXCursor_OMPTargetSimdDirective = 270,
 
-  /** \brief OpenMP teams distribute directive.
+  /** OpenMP teams distribute directive.
    */
   CXCursor_OMPTeamsDistributeDirective = 271,
 
-  /** \brief OpenMP teams distribute simd directive.
+  /** OpenMP teams distribute simd directive.
    */
   CXCursor_OMPTeamsDistributeSimdDirective = 272,
 
-  /** \brief OpenMP teams distribute parallel for simd directive.
+  /** OpenMP teams distribute parallel for simd directive.
    */
   CXCursor_OMPTeamsDistributeParallelForSimdDirective = 273,
 
-  /** \brief OpenMP teams distribute parallel for directive.
+  /** OpenMP teams distribute parallel for directive.
    */
   CXCursor_OMPTeamsDistributeParallelForDirective = 274,
 
-  /** \brief OpenMP target teams directive.
+  /** OpenMP target teams directive.
    */
   CXCursor_OMPTargetTeamsDirective = 275,
 
-  /** \brief OpenMP target teams distribute directive.
+  /** OpenMP target teams distribute directive.
    */
   CXCursor_OMPTargetTeamsDistributeDirective = 276,
 
-  /** \brief OpenMP target teams distribute parallel for directive.
+  /** OpenMP target teams distribute parallel for directive.
    */
   CXCursor_OMPTargetTeamsDistributeParallelForDirective = 277,
 
-  /** \brief OpenMP target teams distribute parallel for simd directive.
+  /** OpenMP target teams distribute parallel for simd directive.
    */
   CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective = 278,
 
-  /** \brief OpenMP target teams distribute simd directive.
+  /** OpenMP target teams distribute simd directive.
    */
   CXCursor_OMPTargetTeamsDistributeSimdDirective = 279,
 
   CXCursor_LastStmt = CXCursor_OMPTargetTeamsDistributeSimdDirective,
 
   /**
-   * \brief Cursor that represents the translation unit itself.
+   * Cursor that represents the translation unit itself.
    *
    * The translation unit cursor exists primarily to act as the root
    * cursor for traversing the contents of a translation unit.
@@ -2522,7 +2522,7 @@ enum CXCursorKind {
   /* Attributes */
   CXCursor_FirstAttr                     = 400,
   /**
-   * \brief An attribute whose specific kind is not exposed via this
+   * An attribute whose specific kind is not exposed via this
    * interface.
    */
   CXCursor_UnexposedAttr                 = 400,
@@ -2559,29 +2559,29 @@ enum CXCursorKind {
 
   /* Extra Declarations */
   /**
-   * \brief A module import declaration.
+   * A module import declaration.
    */
   CXCursor_ModuleImportDecl              = 600,
   CXCursor_TypeAliasTemplateDecl         = 601,
   /**
-   * \brief A static_assert or _Static_assert node
+   * A static_assert or _Static_assert node
    */
   CXCursor_StaticAssert                  = 602,
   /**
-   * \brief a friend declaration.
+   * a friend declaration.
    */
   CXCursor_FriendDecl                    = 603,
   CXCursor_FirstExtraDecl                = CXCursor_ModuleImportDecl,
   CXCursor_LastExtraDecl                 = CXCursor_FriendDecl,
 
   /**
-   * \brief A code completion overload candidate.
+   * A code completion overload candidate.
    */
   CXCursor_OverloadCandidate             = 700
 };
 
 /**
- * \brief A cursor representing some element in the abstract syntax tree for
+ * A cursor representing some element in the abstract syntax tree for
  * a translation unit.
  *
  * The cursor abstraction unifies the different kinds of entities in a
@@ -2611,12 +2611,12 @@ typedef struct {
  */
 
 /**
- * \brief Retrieve the NULL cursor, which represents no entity.
+ * Retrieve the NULL cursor, which represents no entity.
  */
 CINDEX_LINKAGE CXCursor clang_getNullCursor(void);
 
 /**
- * \brief Retrieve the cursor that represents the given translation unit.
+ * Retrieve the cursor that represents the given translation unit.
  *
  * The translation unit cursor can be used to start traversing the
  * various declarations within the given translation unit.
@@ -2624,32 +2624,32 @@ CINDEX_LINKAGE CXCursor clang_getNullCur
 CINDEX_LINKAGE CXCursor clang_getTranslationUnitCursor(CXTranslationUnit);
 
 /**
- * \brief Determine whether two cursors are equivalent.
+ * Determine whether two cursors are equivalent.
  */
 CINDEX_LINKAGE unsigned clang_equalCursors(CXCursor, CXCursor);
 
 /**
- * \brief Returns non-zero if \p cursor is null.
+ * Returns non-zero if \p cursor is null.
  */
 CINDEX_LINKAGE int clang_Cursor_isNull(CXCursor cursor);
 
 /**
- * \brief Compute a hash value for the given cursor.
+ * Compute a hash value for the given cursor.
  */
 CINDEX_LINKAGE unsigned clang_hashCursor(CXCursor);
   
 /**
- * \brief Retrieve the kind of the given cursor.
+ * Retrieve the kind of the given cursor.
  */
 CINDEX_LINKAGE enum CXCursorKind clang_getCursorKind(CXCursor);
 
 /**
- * \brief Determine whether the given cursor kind represents a declaration.
+ * Determine whether the given cursor kind represents a declaration.
  */
 CINDEX_LINKAGE unsigned clang_isDeclaration(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given declaration is invalid.
+ * Determine whether the given declaration is invalid.
  *
  * A declaration is invalid if it could not be parsed successfully.
  *
@@ -2659,7 +2659,7 @@ CINDEX_LINKAGE unsigned clang_isDeclarat
 CINDEX_LINKAGE unsigned clang_isInvalidDeclaration(CXCursor);
 
 /**
- * \brief Determine whether the given cursor kind represents a simple
+ * Determine whether the given cursor kind represents a simple
  * reference.
  *
  * Note that other kinds of cursors (such as expressions) can also refer to
@@ -2669,90 +2669,90 @@ CINDEX_LINKAGE unsigned clang_isInvalidD
 CINDEX_LINKAGE unsigned clang_isReference(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given cursor kind represents an expression.
+ * Determine whether the given cursor kind represents an expression.
  */
 CINDEX_LINKAGE unsigned clang_isExpression(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given cursor kind represents a statement.
+ * Determine whether the given cursor kind represents a statement.
  */
 CINDEX_LINKAGE unsigned clang_isStatement(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given cursor kind represents an attribute.
+ * Determine whether the given cursor kind represents an attribute.
  */
 CINDEX_LINKAGE unsigned clang_isAttribute(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given cursor has any attributes.
+ * Determine whether the given cursor has any attributes.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_hasAttrs(CXCursor C);
 
 /**
- * \brief Determine whether the given cursor kind represents an invalid
+ * Determine whether the given cursor kind represents an invalid
  * cursor.
  */
 CINDEX_LINKAGE unsigned clang_isInvalid(enum CXCursorKind);
 
 /**
- * \brief Determine whether the given cursor kind represents a translation
+ * Determine whether the given cursor kind represents a translation
  * unit.
  */
 CINDEX_LINKAGE unsigned clang_isTranslationUnit(enum CXCursorKind);
 
 /***
- * \brief Determine whether the given cursor represents a preprocessing
+ * Determine whether the given cursor represents a preprocessing
  * element, such as a preprocessor directive or macro instantiation.
  */
 CINDEX_LINKAGE unsigned clang_isPreprocessing(enum CXCursorKind);
   
 /***
- * \brief Determine whether the given cursor represents a currently
+ * Determine whether the given cursor represents a currently
  *  unexposed piece of the AST (e.g., CXCursor_UnexposedStmt).
  */
 CINDEX_LINKAGE unsigned clang_isUnexposed(enum CXCursorKind);
 
 /**
- * \brief Describe the linkage of the entity referred to by a cursor.
+ * Describe the linkage of the entity referred to by a cursor.
  */
 enum CXLinkageKind {
-  /** \brief This value indicates that no linkage information is available
+  /** This value indicates that no linkage information is available
    * for a provided CXCursor. */
   CXLinkage_Invalid,
   /**
-   * \brief This is the linkage for variables, parameters, and so on that
+   * This is the linkage for variables, parameters, and so on that
    *  have automatic storage.  This covers normal (non-extern) local variables.
    */
   CXLinkage_NoLinkage,
-  /** \brief This is the linkage for static variables and static functions. */
+  /** This is the linkage for static variables and static functions. */
   CXLinkage_Internal,
-  /** \brief This is the linkage for entities with external linkage that live
+  /** This is the linkage for entities with external linkage that live
    * in C++ anonymous namespaces.*/
   CXLinkage_UniqueExternal,
-  /** \brief This is the linkage for entities with true, external linkage. */
+  /** This is the linkage for entities with true, external linkage. */
   CXLinkage_External
 };
 
 /**
- * \brief Determine the linkage of the entity referred to by a given cursor.
+ * Determine the linkage of the entity referred to by a given cursor.
  */
 CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage(CXCursor cursor);
 
 enum CXVisibilityKind {
-  /** \brief This value indicates that no visibility information is available
+  /** This value indicates that no visibility information is available
    * for a provided CXCursor. */
   CXVisibility_Invalid,
 
-  /** \brief Symbol not seen by the linker. */
+  /** Symbol not seen by the linker. */
   CXVisibility_Hidden,
-  /** \brief Symbol seen by the linker but resolves to a symbol inside this object. */
+  /** Symbol seen by the linker but resolves to a symbol inside this object. */
   CXVisibility_Protected,
-  /** \brief Symbol seen by the linker and acts like a normal symbol. */
+  /** Symbol seen by the linker and acts like a normal symbol. */
   CXVisibility_Default
 };
 
 /**
- * \brief Describe the visibility of the entity referred to by a cursor.
+ * Describe the visibility of the entity referred to by a cursor.
  *
  * This returns the default visibility if not explicitly specified by
  * a visibility attribute. The default visibility may be changed by
@@ -2765,7 +2765,7 @@ enum CXVisibilityKind {
 CINDEX_LINKAGE enum CXVisibilityKind clang_getCursorVisibility(CXCursor cursor);
 
 /**
- * \brief Determine the availability of the entity that this cursor refers to,
+ * Determine the availability of the entity that this cursor refers to,
  * taking the current target platform into account.
  *
  * \param cursor The cursor to query.
@@ -2781,39 +2781,39 @@ clang_getCursorAvailability(CXCursor cur
  */
 typedef struct CXPlatformAvailability {
   /**
-   * \brief A string that describes the platform for which this structure
+   * A string that describes the platform for which this structure
    * provides availability information.
    *
    * Possible values are "ios" or "macos".
    */
   CXString Platform;
   /**
-   * \brief The version number in which this entity was introduced.
+   * The version number in which this entity was introduced.
    */
   CXVersion Introduced;
   /**
-   * \brief The version number in which this entity was deprecated (but is
+   * The version number in which this entity was deprecated (but is
    * still available).
    */
   CXVersion Deprecated;
   /**
-   * \brief The version number in which this entity was obsoleted, and therefore
+   * The version number in which this entity was obsoleted, and therefore
    * is no longer available.
    */
   CXVersion Obsoleted;
   /**
-   * \brief Whether the entity is unconditionally unavailable on this platform.
+   * Whether the entity is unconditionally unavailable on this platform.
    */
   int Unavailable;
   /**
-   * \brief An optional message to provide to a user of this API, e.g., to
+   * An optional message to provide to a user of this API, e.g., to
    * suggest replacement APIs.
    */
   CXString Message;
 } CXPlatformAvailability;
 
 /**
- * \brief Determine the availability of the entity that this cursor refers to
+ * Determine the availability of the entity that this cursor refers to
  * on any platforms for which availability information is known.
  *
  * \param cursor The cursor to query.
@@ -2858,13 +2858,13 @@ clang_getCursorPlatformAvailability(CXCu
                                     int availability_size);
 
 /**
- * \brief Free the memory associated with a \c CXPlatformAvailability structure.
+ * Free the memory associated with a \c CXPlatformAvailability structure.
  */
 CINDEX_LINKAGE void
 clang_disposeCXPlatformAvailability(CXPlatformAvailability *availability);
   
 /**
- * \brief Describe the "language" of the entity referred to by a cursor.
+ * Describe the "language" of the entity referred to by a cursor.
  */
 enum CXLanguageKind {
   CXLanguage_Invalid = 0,
@@ -2874,12 +2874,12 @@ enum CXLanguageKind {
 };
 
 /**
- * \brief Determine the "language" of the entity referred to by a given cursor.
+ * Determine the "language" of the entity referred to by a given cursor.
  */
 CINDEX_LINKAGE enum CXLanguageKind clang_getCursorLanguage(CXCursor cursor);
 
 /**
- * \brief Describe the "thread-local storage (TLS) kind" of the declaration
+ * Describe the "thread-local storage (TLS) kind" of the declaration
  * referred to by a cursor.
  */
 enum CXTLSKind {
@@ -2889,33 +2889,33 @@ enum CXTLSKind {
 };
 
 /**
- * \brief Determine the "thread-local storage (TLS) kind" of the declaration
+ * Determine the "thread-local storage (TLS) kind" of the declaration
  * referred to by a cursor.
  */
 CINDEX_LINKAGE enum CXTLSKind clang_getCursorTLSKind(CXCursor cursor);
 
 /**
- * \brief Returns the translation unit that a cursor originated from.
+ * Returns the translation unit that a cursor originated from.
  */
 CINDEX_LINKAGE CXTranslationUnit clang_Cursor_getTranslationUnit(CXCursor);
 
 /**
- * \brief A fast container representing a set of CXCursors.
+ * A fast container representing a set of CXCursors.
  */
 typedef struct CXCursorSetImpl *CXCursorSet;
 
 /**
- * \brief Creates an empty CXCursorSet.
+ * Creates an empty CXCursorSet.
  */
 CINDEX_LINKAGE CXCursorSet clang_createCXCursorSet(void);
 
 /**
- * \brief Disposes a CXCursorSet and releases its associated memory.
+ * Disposes a CXCursorSet and releases its associated memory.
  */
 CINDEX_LINKAGE void clang_disposeCXCursorSet(CXCursorSet cset);
 
 /**
- * \brief Queries a CXCursorSet to see if it contains a specific CXCursor.
+ * Queries a CXCursorSet to see if it contains a specific CXCursor.
  *
  * \returns non-zero if the set contains the specified cursor.
 */
@@ -2923,7 +2923,7 @@ CINDEX_LINKAGE unsigned clang_CXCursorSe
                                                    CXCursor cursor);
 
 /**
- * \brief Inserts a CXCursor into a CXCursorSet.
+ * Inserts a CXCursor into a CXCursorSet.
  *
  * \returns zero if the CXCursor was already in the set, and non-zero otherwise.
 */
@@ -2931,7 +2931,7 @@ CINDEX_LINKAGE unsigned clang_CXCursorSe
                                                  CXCursor cursor);
 
 /**
- * \brief Determine the semantic parent of the given cursor.
+ * Determine the semantic parent of the given cursor.
  *
  * The semantic parent of a cursor is the cursor that semantically contains
  * the given \p cursor. For many declarations, the lexical and semantic parents
@@ -2966,7 +2966,7 @@ CINDEX_LINKAGE unsigned clang_CXCursorSe
 CINDEX_LINKAGE CXCursor clang_getCursorSemanticParent(CXCursor cursor);
 
 /**
- * \brief Determine the lexical parent of the given cursor.
+ * Determine the lexical parent of the given cursor.
  *
  * The lexical parent of a cursor is the cursor in which the given \p cursor
  * was actually written. For many declarations, the lexical and semantic parents
@@ -3002,7 +3002,7 @@ CINDEX_LINKAGE CXCursor clang_getCursorS
 CINDEX_LINKAGE CXCursor clang_getCursorLexicalParent(CXCursor cursor);
 
 /**
- * \brief Determine the set of methods that are overridden by the given
+ * Determine the set of methods that are overridden by the given
  * method.
  *
  * In both Objective-C and C++, a method (aka virtual member function,
@@ -3049,13 +3049,13 @@ CINDEX_LINKAGE void clang_getOverriddenC
                                                unsigned *num_overridden);
 
 /**
- * \brief Free the set of overridden cursors returned by \c
+ * Free the set of overridden cursors returned by \c
  * clang_getOverriddenCursors().
  */
 CINDEX_LINKAGE void clang_disposeOverriddenCursors(CXCursor *overridden);
 
 /**
- * \brief Retrieve the file that is included by the given inclusion directive
+ * Retrieve the file that is included by the given inclusion directive
  * cursor.
  */
 CINDEX_LINKAGE CXFile clang_getIncludedFile(CXCursor cursor);
@@ -3076,7 +3076,7 @@ CINDEX_LINKAGE CXFile clang_getIncludedF
  */
 
 /**
- * \brief Map a source location to the cursor that describes the entity at that
+ * Map a source location to the cursor that describes the entity at that
  * location in the source code.
  *
  * clang_getCursor() maps an arbitrary source location within a translation
@@ -3093,7 +3093,7 @@ CINDEX_LINKAGE CXFile clang_getIncludedF
 CINDEX_LINKAGE CXCursor clang_getCursor(CXTranslationUnit, CXSourceLocation);
 
 /**
- * \brief Retrieve the physical location of the source constructor referenced
+ * Retrieve the physical location of the source constructor referenced
  * by the given cursor.
  *
  * The location of a declaration is typically the location of the name of that
@@ -3105,7 +3105,7 @@ CINDEX_LINKAGE CXCursor clang_getCursor(
 CINDEX_LINKAGE CXSourceLocation clang_getCursorLocation(CXCursor);
 
 /**
- * \brief Retrieve the physical extent of the source construct referenced by
+ * Retrieve the physical extent of the source construct referenced by
  * the given cursor.
  *
  * The extent of a cursor starts with the file/line/column pointing at the
@@ -3128,16 +3128,16 @@ CINDEX_LINKAGE CXSourceRange clang_getCu
  */
 
 /**
- * \brief Describes the kind of type
+ * Describes the kind of type
  */
 enum CXTypeKind {
   /**
-   * \brief Represents an invalid type (e.g., where no type is available).
+   * Represents an invalid type (e.g., where no type is available).
    */
   CXType_Invalid = 0,
 
   /**
-   * \brief A type whose specific kind is not exposed via this
+   * A type whose specific kind is not exposed via this
    * interface.
    */
   CXType_Unexposed = 1,
@@ -3198,7 +3198,7 @@ enum CXTypeKind {
   CXType_Auto = 118,
 
   /**
-   * \brief Represents a type that was referred to using an elaborated type keyword.
+   * Represents a type that was referred to using an elaborated type keyword.
    *
    * E.g., struct S, or via a qualified name, e.g., N::M::type, or both.
    */
@@ -3251,7 +3251,7 @@ enum CXTypeKind {
 };
 
 /**
- * \brief Describes the calling convention of a function type
+ * Describes the calling convention of a function type
  */
 enum CXCallingConv {
   CXCallingConv_Default = 0,
@@ -3278,7 +3278,7 @@ enum CXCallingConv {
 };
 
 /**
- * \brief The type of an element in the abstract syntax tree.
+ * The type of an element in the abstract syntax tree.
  *
  */
 typedef struct {
@@ -3287,12 +3287,12 @@ typedef struct {
 } CXType;
 
 /**
- * \brief Retrieve the type of a CXCursor (if any).
+ * Retrieve the type of a CXCursor (if any).
  */
 CINDEX_LINKAGE CXType clang_getCursorType(CXCursor C);
 
 /**
- * \brief Pretty-print the underlying type using the rules of the
+ * Pretty-print the underlying type using the rules of the
  * language of the translation unit from which it came.
  *
  * If the type is invalid, an empty string is returned.
@@ -3300,7 +3300,7 @@ CINDEX_LINKAGE CXType clang_getCursorTyp
 CINDEX_LINKAGE CXString clang_getTypeSpelling(CXType CT);
 
 /**
- * \brief Retrieve the underlying type of a typedef declaration.
+ * Retrieve the underlying type of a typedef declaration.
  *
  * If the cursor does not reference a typedef declaration, an invalid type is
  * returned.
@@ -3308,7 +3308,7 @@ CINDEX_LINKAGE CXString clang_getTypeSpe
 CINDEX_LINKAGE CXType clang_getTypedefDeclUnderlyingType(CXCursor C);
 
 /**
- * \brief Retrieve the integer type of an enum declaration.
+ * Retrieve the integer type of an enum declaration.
  *
  * If the cursor does not reference an enum declaration, an invalid type is
  * returned.
@@ -3316,7 +3316,7 @@ CINDEX_LINKAGE CXType clang_getTypedefDe
 CINDEX_LINKAGE CXType clang_getEnumDeclIntegerType(CXCursor C);
 
 /**
- * \brief Retrieve the integer value of an enum constant declaration as a signed
+ * Retrieve the integer value of an enum constant declaration as a signed
  *  long long.
  *
  * If the cursor does not reference an enum constant declaration, LLONG_MIN is returned.
@@ -3326,7 +3326,7 @@ CINDEX_LINKAGE CXType clang_getEnumDeclI
 CINDEX_LINKAGE long long clang_getEnumConstantDeclValue(CXCursor C);
 
 /**
- * \brief Retrieve the integer value of an enum constant declaration as an unsigned
+ * Retrieve the integer value of an enum constant declaration as an unsigned
  *  long long.
  *
  * If the cursor does not reference an enum constant declaration, ULLONG_MAX is returned.
@@ -3336,14 +3336,14 @@ CINDEX_LINKAGE long long clang_getEnumCo
 CINDEX_LINKAGE unsigned long long clang_getEnumConstantDeclUnsignedValue(CXCursor C);
 
 /**
- * \brief Retrieve the bit width of a bit field declaration as an integer.
+ * Retrieve the bit width of a bit field declaration as an integer.
  *
  * If a cursor that is not a bit field declaration is passed in, -1 is returned.
  */
 CINDEX_LINKAGE int clang_getFieldDeclBitWidth(CXCursor C);
 
 /**
- * \brief Retrieve the number of non-variadic arguments associated with a given
+ * Retrieve the number of non-variadic arguments associated with a given
  * cursor.
  *
  * The number of arguments can be determined for calls as well as for
@@ -3352,7 +3352,7 @@ CINDEX_LINKAGE int clang_getFieldDeclBit
 CINDEX_LINKAGE int clang_Cursor_getNumArguments(CXCursor C);
 
 /**
- * \brief Retrieve the argument cursor of a function or method.
+ * Retrieve the argument cursor of a function or method.
  *
  * The argument cursor can be determined for calls as well as for declarations
  * of functions or methods. For other cursors and for invalid indices, an
@@ -3361,7 +3361,7 @@ CINDEX_LINKAGE int clang_Cursor_getNumAr
 CINDEX_LINKAGE CXCursor clang_Cursor_getArgument(CXCursor C, unsigned i);
 
 /**
- * \brief Describes the kind of a template argument.
+ * Describes the kind of a template argument.
  *
  * See the definition of llvm::clang::TemplateArgument::ArgKind for full
  * element descriptions.
@@ -3381,7 +3381,7 @@ enum CXTemplateArgumentKind {
 };
 
 /**
- *\brief Returns the number of template args of a function decl representing a
+ *Returns the number of template args of a function decl representing a
  * template specialization.
  *
  * If the argument cursor cannot be converted into a template function
@@ -3399,7 +3399,7 @@ enum CXTemplateArgumentKind {
 CINDEX_LINKAGE int clang_Cursor_getNumTemplateArguments(CXCursor C);
 
 /**
- * \brief Retrieve the kind of the I'th template argument of the CXCursor C.
+ * Retrieve the kind of the I'th template argument of the CXCursor C.
  *
  * If the argument CXCursor does not represent a FunctionDecl, an invalid
  * template argument kind is returned.
@@ -3418,7 +3418,7 @@ CINDEX_LINKAGE enum CXTemplateArgumentKi
     CXCursor C, unsigned I);
 
 /**
- * \brief Retrieve a CXType representing the type of a TemplateArgument of a
+ * Retrieve a CXType representing the type of a TemplateArgument of a
  *  function decl representing a template specialization.
  *
  * If the argument CXCursor does not represent a FunctionDecl whose I'th
@@ -3439,7 +3439,7 @@ CINDEX_LINKAGE CXType clang_Cursor_getTe
                                                            unsigned I);
 
 /**
- * \brief Retrieve the value of an Integral TemplateArgument (of a function
+ * Retrieve the value of an Integral TemplateArgument (of a function
  *  decl representing a template specialization) as a signed long long.
  *
  * It is undefined to call this function on a CXCursor that does not represent a
@@ -3459,7 +3459,7 @@ CINDEX_LINKAGE long long clang_Cursor_ge
                                                                unsigned I);
 
 /**
- * \brief Retrieve the value of an Integral TemplateArgument (of a function
+ * Retrieve the value of an Integral TemplateArgument (of a function
  *  decl representing a template specialization) as an unsigned long long.
  *
  * It is undefined to call this function on a CXCursor that does not represent a
@@ -3479,7 +3479,7 @@ CINDEX_LINKAGE unsigned long long clang_
     CXCursor C, unsigned I);
 
 /**
- * \brief Determine whether two CXTypes represent the same type.
+ * Determine whether two CXTypes represent the same type.
  *
  * \returns non-zero if the CXTypes represent the same type and
  *          zero otherwise.
@@ -3487,7 +3487,7 @@ CINDEX_LINKAGE unsigned long long clang_
 CINDEX_LINKAGE unsigned clang_equalTypes(CXType A, CXType B);
 
 /**
- * \brief Return the canonical type for a CXType.
+ * Return the canonical type for a CXType.
  *
  * Clang's type system explicitly models typedefs and all the ways
  * a specific type can be represented.  The canonical type is the underlying
@@ -3497,61 +3497,61 @@ CINDEX_LINKAGE unsigned clang_equalTypes
 CINDEX_LINKAGE CXType clang_getCanonicalType(CXType T);
 
 /**
- * \brief Determine whether a CXType has the "const" qualifier set,
+ * Determine whether a CXType has the "const" qualifier set,
  * without looking through typedefs that may have added "const" at a
  * different level.
  */
 CINDEX_LINKAGE unsigned clang_isConstQualifiedType(CXType T);
 
 /**
- * \brief Determine whether a  CXCursor that is a macro, is
+ * Determine whether a  CXCursor that is a macro, is
  * function like.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isMacroFunctionLike(CXCursor C);
 
 /**
- * \brief Determine whether a  CXCursor that is a macro, is a
+ * Determine whether a  CXCursor that is a macro, is a
  * builtin one.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isMacroBuiltin(CXCursor C);
 
 /**
- * \brief Determine whether a  CXCursor that is a function declaration, is an
+ * Determine whether a  CXCursor that is a function declaration, is an
  * inline declaration.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isFunctionInlined(CXCursor C);
 
 /**
- * \brief Determine whether a CXType has the "volatile" qualifier set,
+ * Determine whether a CXType has the "volatile" qualifier set,
  * without looking through typedefs that may have added "volatile" at
  * a different level.
  */
 CINDEX_LINKAGE unsigned clang_isVolatileQualifiedType(CXType T);
 
 /**
- * \brief Determine whether a CXType has the "restrict" qualifier set,
+ * Determine whether a CXType has the "restrict" qualifier set,
  * without looking through typedefs that may have added "restrict" at a
  * different level.
  */
 CINDEX_LINKAGE unsigned clang_isRestrictQualifiedType(CXType T);
 
 /**
- * \brief Returns the address space of the given type.
+ * Returns the address space of the given type.
  */
 CINDEX_LINKAGE unsigned clang_getAddressSpace(CXType T);
 
 /**
- * \brief Returns the typedef name of the given type.
+ * Returns the typedef name of the given type.
  */
 CINDEX_LINKAGE CXString clang_getTypedefName(CXType CT);
 
 /**
- * \brief For pointer types, returns the type of the pointee.
+ * For pointer types, returns the type of the pointee.
  */
 CINDEX_LINKAGE CXType clang_getPointeeType(CXType T);
 
 /**
- * \brief Return the cursor for the declaration of the given type.
+ * Return the cursor for the declaration of the given type.
  */
 CINDEX_LINKAGE CXCursor clang_getTypeDeclaration(CXType T);
 
@@ -3566,33 +3566,33 @@ CINDEX_LINKAGE CXString clang_getDeclObj
 CINDEX_LINKAGE CXString clang_Type_getObjCEncoding(CXType type); 
 
 /**
- * \brief Retrieve the spelling of a given CXTypeKind.
+ * Retrieve the spelling of a given CXTypeKind.
  */
 CINDEX_LINKAGE CXString clang_getTypeKindSpelling(enum CXTypeKind K);
 
 /**
- * \brief Retrieve the calling convention associated with a function type.
+ * Retrieve the calling convention associated with a function type.
  *
  * If a non-function type is passed in, CXCallingConv_Invalid is returned.
  */
 CINDEX_LINKAGE enum CXCallingConv clang_getFunctionTypeCallingConv(CXType T);
 
 /**
- * \brief Retrieve the return type associated with a function type.
+ * Retrieve the return type associated with a function type.
  *
  * If a non-function type is passed in, an invalid type is returned.
  */
 CINDEX_LINKAGE CXType clang_getResultType(CXType T);
 
 /**
- * \brief Retrieve the exception specification type associated with a function type.
+ * Retrieve the exception specification type associated with a function type.
  *
  * If a non-function type is passed in, an error code of -1 is returned.
  */
 CINDEX_LINKAGE int clang_getExceptionSpecificationType(CXType T);
 
 /**
- * \brief Retrieve the number of non-variadic parameters associated with a
+ * Retrieve the number of non-variadic parameters associated with a
  * function type.
  *
  * If a non-function type is passed in, -1 is returned.
@@ -3600,7 +3600,7 @@ CINDEX_LINKAGE int clang_getExceptionSpe
 CINDEX_LINKAGE int clang_getNumArgTypes(CXType T);
 
 /**
- * \brief Retrieve the type of a parameter of a function type.
+ * Retrieve the type of a parameter of a function type.
  *
  * If a non-function type is passed in or the function does not have enough
  * parameters, an invalid type is returned.
@@ -3608,32 +3608,32 @@ CINDEX_LINKAGE int clang_getNumArgTypes(
 CINDEX_LINKAGE CXType clang_getArgType(CXType T, unsigned i);
 
 /**
- * \brief Return 1 if the CXType is a variadic function type, and 0 otherwise.
+ * Return 1 if the CXType is a variadic function type, and 0 otherwise.
  */
 CINDEX_LINKAGE unsigned clang_isFunctionTypeVariadic(CXType T);
 
 /**
- * \brief Retrieve the return type associated with a given cursor.
+ * Retrieve the return type associated with a given cursor.
  *
  * This only returns a valid type if the cursor refers to a function or method.
  */
 CINDEX_LINKAGE CXType clang_getCursorResultType(CXCursor C);
 
 /**
- * \brief Retrieve the exception specification type associated with a given cursor.
+ * Retrieve the exception specification type associated with a given cursor.
  *
  * This only returns a valid result if the cursor refers to a function or method.
  */
 CINDEX_LINKAGE int clang_getCursorExceptionSpecificationType(CXCursor C);
 
 /**
- * \brief Return 1 if the CXType is a POD (plain old data) type, and 0
+ * Return 1 if the CXType is a POD (plain old data) type, and 0
  *  otherwise.
  */
 CINDEX_LINKAGE unsigned clang_isPODType(CXType T);
 
 /**
- * \brief Return the element type of an array, complex, or vector type.
+ * Return the element type of an array, complex, or vector type.
  *
  * If a type is passed in that is not an array, complex, or vector type,
  * an invalid type is returned.
@@ -3641,7 +3641,7 @@ CINDEX_LINKAGE unsigned clang_isPODType(
 CINDEX_LINKAGE CXType clang_getElementType(CXType T);
 
 /**
- * \brief Return the number of elements of an array or vector type.
+ * Return the number of elements of an array or vector type.
  *
  * If a type is passed in that is not an array or vector type,
  * -1 is returned.
@@ -3649,28 +3649,28 @@ CINDEX_LINKAGE CXType clang_getElementTy
 CINDEX_LINKAGE long long clang_getNumElements(CXType T);
 
 /**
- * \brief Return the element type of an array type.
+ * Return the element type of an array type.
  *
  * If a non-array type is passed in, an invalid type is returned.
  */
 CINDEX_LINKAGE CXType clang_getArrayElementType(CXType T);
 
 /**
- * \brief Return the array size of a constant array.
+ * Return the array size of a constant array.
  *
  * If a non-array type is passed in, -1 is returned.
  */
 CINDEX_LINKAGE long long clang_getArraySize(CXType T);
 
 /**
- * \brief Retrieve the type named by the qualified-id.
+ * Retrieve the type named by the qualified-id.
  *
  * If a non-elaborated type is passed in, an invalid type is returned.
  */
 CINDEX_LINKAGE CXType clang_Type_getNamedType(CXType T);
 
 /**
- * \brief Determine if a typedef is 'transparent' tag.
+ * Determine if a typedef is 'transparent' tag.
  *
  * A typedef is considered 'transparent' if it shares a name and spelling
  * location with its underlying tag type, as is the case with the NS_ENUM macro.
@@ -3680,7 +3680,7 @@ CINDEX_LINKAGE CXType clang_Type_getName
 CINDEX_LINKAGE unsigned clang_Type_isTransparentTagTypedef(CXType T);
 
 /**
- * \brief List the possible error codes for \c clang_Type_getSizeOf,
+ * List the possible error codes for \c clang_Type_getSizeOf,
  *   \c clang_Type_getAlignOf, \c clang_Type_getOffsetOf and
  *   \c clang_Cursor_getOffsetOf.
  *
@@ -3689,29 +3689,29 @@ CINDEX_LINKAGE unsigned clang_Type_isTra
  */
 enum CXTypeLayoutError {
   /**
-   * \brief Type is of kind CXType_Invalid.
+   * Type is of kind CXType_Invalid.
    */
   CXTypeLayoutError_Invalid = -1,
   /**
-   * \brief The type is an incomplete Type.
+   * The type is an incomplete Type.
    */
   CXTypeLayoutError_Incomplete = -2,
   /**
-   * \brief The type is a dependent Type.
+   * The type is a dependent Type.
    */
   CXTypeLayoutError_Dependent = -3,
   /**
-   * \brief The type is not a constant size type.
+   * The type is not a constant size type.
    */
   CXTypeLayoutError_NotConstantSize = -4,
   /**
-   * \brief The Field name is not valid for this record.
+   * The Field name is not valid for this record.
    */
   CXTypeLayoutError_InvalidFieldName = -5
 };
 
 /**
- * \brief Return the alignment of a type in bytes as per C++[expr.alignof]
+ * Return the alignment of a type in bytes as per C++[expr.alignof]
  *   standard.
  *
  * If the type declaration is invalid, CXTypeLayoutError_Invalid is returned.
@@ -3725,14 +3725,14 @@ enum CXTypeLayoutError {
 CINDEX_LINKAGE long long clang_Type_getAlignOf(CXType T);
 
 /**
- * \brief Return the class type of an member pointer type.
+ * Return the class type of an member pointer type.
  *
  * If a non-member-pointer type is passed in, an invalid type is returned.
  */
 CINDEX_LINKAGE CXType clang_Type_getClassType(CXType T);
 
 /**
- * \brief Return the size of a type in bytes as per C++[expr.sizeof] standard.
+ * Return the size of a type in bytes as per C++[expr.sizeof] standard.
  *
  * If the type declaration is invalid, CXTypeLayoutError_Invalid is returned.
  * If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete
@@ -3743,7 +3743,7 @@ CINDEX_LINKAGE CXType clang_Type_getClas
 CINDEX_LINKAGE long long clang_Type_getSizeOf(CXType T);
 
 /**
- * \brief Return the offset of a field named S in a record of type T in bits
+ * Return the offset of a field named S in a record of type T in bits
  *   as it would be returned by __offsetof__ as per C++11[18.2p4]
  *
  * If the cursor is not a record field declaration, CXTypeLayoutError_Invalid
@@ -3758,7 +3758,7 @@ CINDEX_LINKAGE long long clang_Type_getS
 CINDEX_LINKAGE long long clang_Type_getOffsetOf(CXType T, const char *S);
 
 /**
- * \brief Return the offset of the field represented by the Cursor.
+ * Return the offset of the field represented by the Cursor.
  *
  * If the cursor is not a field declaration, -1 is returned.
  * If the cursor semantic parent is not a record field declaration,
@@ -3773,28 +3773,28 @@ CINDEX_LINKAGE long long clang_Type_getO
 CINDEX_LINKAGE long long clang_Cursor_getOffsetOfField(CXCursor C);
 
 /**
- * \brief Determine whether the given cursor represents an anonymous record
+ * Determine whether the given cursor represents an anonymous record
  * declaration.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isAnonymous(CXCursor C);
 
 enum CXRefQualifierKind {
-  /** \brief No ref-qualifier was provided. */
+  /** No ref-qualifier was provided. */
   CXRefQualifier_None = 0,
-  /** \brief An lvalue ref-qualifier was provided (\c &). */
+  /** An lvalue ref-qualifier was provided (\c &). */
   CXRefQualifier_LValue,
-  /** \brief An rvalue ref-qualifier was provided (\c &&). */
+  /** An rvalue ref-qualifier was provided (\c &&). */
   CXRefQualifier_RValue
 };
 
 /**
- * \brief Returns the number of template arguments for given template
+ * Returns the number of template arguments for given template
  * specialization, or -1 if type \c T is not a template specialization.
  */
 CINDEX_LINKAGE int clang_Type_getNumTemplateArguments(CXType T);
 
 /**
- * \brief Returns the type template argument of a template class specialization
+ * Returns the type template argument of a template class specialization
  * at given index.
  *
  * This function only returns template type arguments and does not handle
@@ -3803,7 +3803,7 @@ CINDEX_LINKAGE int clang_Type_getNumTemp
 CINDEX_LINKAGE CXType clang_Type_getTemplateArgumentAsType(CXType T, unsigned i);
 
 /**
- * \brief Retrieve the ref-qualifier kind of a function or method.
+ * Retrieve the ref-qualifier kind of a function or method.
  *
  * The ref-qualifier is returned for C++ functions or methods. For other types
  * or non-C++ declarations, CXRefQualifier_None is returned.
@@ -3811,19 +3811,19 @@ CINDEX_LINKAGE CXType clang_Type_getTemp
 CINDEX_LINKAGE enum CXRefQualifierKind clang_Type_getCXXRefQualifier(CXType T);
 
 /**
- * \brief Returns non-zero if the cursor specifies a Record member that is a
+ * Returns non-zero if the cursor specifies a Record member that is a
  *   bitfield.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isBitField(CXCursor C);
 
 /**
- * \brief Returns 1 if the base class specified by the cursor with kind
+ * Returns 1 if the base class specified by the cursor with kind
  *   CX_CXXBaseSpecifier is virtual.
  */
 CINDEX_LINKAGE unsigned clang_isVirtualBase(CXCursor);
     
 /**
- * \brief Represents the C++ access control level to a base class for a
+ * Represents the C++ access control level to a base class for a
  * cursor with kind CX_CXXBaseSpecifier.
  */
 enum CX_CXXAccessSpecifier {
@@ -3834,7 +3834,7 @@ enum CX_CXXAccessSpecifier {
 };
 
 /**
- * \brief Returns the access control level for the referenced object.
+ * Returns the access control level for the referenced object.
  *
  * If the cursor refers to a C++ declaration, its access control level within its
  * parent scope is returned. Otherwise, if the cursor refers to a base specifier or
@@ -3843,7 +3843,7 @@ enum CX_CXXAccessSpecifier {
 CINDEX_LINKAGE enum CX_CXXAccessSpecifier clang_getCXXAccessSpecifier(CXCursor);
 
 /**
- * \brief Represents the storage classes as declared in the source. CX_SC_Invalid
+ * Represents the storage classes as declared in the source. CX_SC_Invalid
  * was added for the case that the passed cursor in not a declaration.
  */
 enum CX_StorageClass {
@@ -3858,7 +3858,7 @@ enum CX_StorageClass {
 };
 
 /**
- * \brief Returns the storage class for a function or variable declaration.
+ * Returns the storage class for a function or variable declaration.
  *
  * If the passed in Cursor is not a function or variable declaration,
  * CX_SC_Invalid is returned else the storage class.
@@ -3866,7 +3866,7 @@ enum CX_StorageClass {
 CINDEX_LINKAGE enum CX_StorageClass clang_Cursor_getStorageClass(CXCursor);
 
 /**
- * \brief Determine the number of overloaded declarations referenced by a 
+ * Determine the number of overloaded declarations referenced by a 
  * \c CXCursor_OverloadedDeclRef cursor.
  *
  * \param cursor The cursor whose overloaded declarations are being queried.
@@ -3877,7 +3877,7 @@ CINDEX_LINKAGE enum CX_StorageClass clan
 CINDEX_LINKAGE unsigned clang_getNumOverloadedDecls(CXCursor cursor);
 
 /**
- * \brief Retrieve a cursor for one of the overloaded declarations referenced
+ * Retrieve a cursor for one of the overloaded declarations referenced
  * by a \c CXCursor_OverloadedDeclRef cursor.
  *
  * \param cursor The cursor whose overloaded declarations are being queried.
@@ -3904,7 +3904,7 @@ CINDEX_LINKAGE CXCursor clang_getOverloa
  */
 
 /**
- * \brief For cursors representing an iboutletcollection attribute,
+ * For cursors representing an iboutletcollection attribute,
  *  this function returns the collection element type.
  *
  */
@@ -3924,7 +3924,7 @@ CINDEX_LINKAGE CXType clang_getIBOutletC
  */
 
 /**
- * \brief Describes how the traversal of the children of a particular
+ * Describes how the traversal of the children of a particular
  * cursor should proceed after visiting a particular child cursor.
  *
  * A value of this enumeration type should be returned by each
@@ -3932,23 +3932,23 @@ CINDEX_LINKAGE CXType clang_getIBOutletC
  */
 enum CXChildVisitResult {
   /**
-   * \brief Terminates the cursor traversal.
+   * Terminates the cursor traversal.
    */
   CXChildVisit_Break,
   /**
-   * \brief Continues the cursor traversal with the next sibling of
+   * Continues the cursor traversal with the next sibling of
    * the cursor just visited, without visiting its children.
    */
   CXChildVisit_Continue,
   /**
-   * \brief Recursively traverse the children of this cursor, using
+   * Recursively traverse the children of this cursor, using
    * the same visitor and client data.
    */
   CXChildVisit_Recurse
 };
 
 /**
- * \brief Visitor invoked for each cursor found by a traversal.
+ * Visitor invoked for each cursor found by a traversal.
  *
  * This visitor function will be invoked for each cursor found by
  * clang_visitCursorChildren(). Its first argument is the cursor being
@@ -3964,7 +3964,7 @@ typedef enum CXChildVisitResult (*CXCurs
                                                    CXClientData client_data);
 
 /**
- * \brief Visit the children of a particular cursor.
+ * Visit the children of a particular cursor.
  *
  * This function visits all the direct children of the given cursor,
  * invoking the given \p visitor function with the cursors of each
@@ -3991,7 +3991,7 @@ CINDEX_LINKAGE unsigned clang_visitChild
 #ifdef __has_feature
 #  if __has_feature(blocks)
 /**
- * \brief Visitor invoked for each cursor found by a traversal.
+ * Visitor invoked for each cursor found by a traversal.
  *
  * This visitor block will be invoked for each cursor found by
  * clang_visitChildrenWithBlock(). Its first argument is the cursor being
@@ -4028,7 +4028,7 @@ CINDEX_LINKAGE unsigned clang_visitChild
  */
 
 /**
- * \brief Retrieve a Unified Symbol Resolution (USR) for the entity referenced
+ * Retrieve a Unified Symbol Resolution (USR) for the entity referenced
  * by the given cursor.
  *
  * A Unified Symbol Resolution (USR) is a string that identifies a particular
@@ -4039,32 +4039,32 @@ CINDEX_LINKAGE unsigned clang_visitChild
 CINDEX_LINKAGE CXString clang_getCursorUSR(CXCursor);
 
 /**
- * \brief Construct a USR for a specified Objective-C class.
+ * Construct a USR for a specified Objective-C class.
  */
 CINDEX_LINKAGE CXString clang_constructUSR_ObjCClass(const char *class_name);
 
 /**
- * \brief Construct a USR for a specified Objective-C category.
+ * Construct a USR for a specified Objective-C category.
  */
 CINDEX_LINKAGE CXString
   clang_constructUSR_ObjCCategory(const char *class_name,
                                  const char *category_name);
 
 /**
- * \brief Construct a USR for a specified Objective-C protocol.
+ * Construct a USR for a specified Objective-C protocol.
  */
 CINDEX_LINKAGE CXString
   clang_constructUSR_ObjCProtocol(const char *protocol_name);
 
 /**
- * \brief Construct a USR for a specified Objective-C instance variable and
+ * Construct a USR for a specified Objective-C instance variable and
  *   the USR for its containing class.
  */
 CINDEX_LINKAGE CXString clang_constructUSR_ObjCIvar(const char *name,
                                                     CXString classUSR);
 
 /**
- * \brief Construct a USR for a specified Objective-C method and
+ * Construct a USR for a specified Objective-C method and
  *   the USR for its containing class.
  */
 CINDEX_LINKAGE CXString clang_constructUSR_ObjCMethod(const char *name,
@@ -4072,19 +4072,19 @@ CINDEX_LINKAGE CXString clang_constructU
                                                       CXString classUSR);
 
 /**
- * \brief Construct a USR for a specified Objective-C property and the USR
+ * Construct a USR for a specified Objective-C property and the USR
  *  for its containing class.
  */
 CINDEX_LINKAGE CXString clang_constructUSR_ObjCProperty(const char *property,
                                                         CXString classUSR);
 
 /**
- * \brief Retrieve a name for the entity referenced by this cursor.
+ * Retrieve a name for the entity referenced by this cursor.
  */
 CINDEX_LINKAGE CXString clang_getCursorSpelling(CXCursor);
 
 /**
- * \brief Retrieve a range for a piece that forms the cursors spelling name.
+ * Retrieve a range for a piece that forms the cursors spelling name.
  * Most of the times there is only one range for the complete spelling but for
  * Objective-C methods and Objective-C message expressions, there are multiple
  * pieces for each selector identifier.
@@ -4099,13 +4099,13 @@ CINDEX_LINKAGE CXSourceRange clang_Curso
                                                           unsigned options);
 
 /**
- * \brief Opaque pointer representing a policy that controls pretty printing
+ * Opaque pointer representing a policy that controls pretty printing
  * for \c clang_getCursorPrettyPrinted.
  */
 typedef void *CXPrintingPolicy;
 
 /**
- * \brief Properties for the printing policy.
+ * Properties for the printing policy.
  *
  * See \c clang::PrintingPolicy for more information.
  */
@@ -4141,21 +4141,21 @@ enum CXPrintingPolicyProperty {
 };
 
 /**
- * \brief Get a property value for the given printing policy.
+ * Get a property value for the given printing policy.
  */
 CINDEX_LINKAGE unsigned
 clang_PrintingPolicy_getProperty(CXPrintingPolicy Policy,
                                  enum CXPrintingPolicyProperty Property);
 
 /**
- * \brief Set a property value for the given printing policy.
+ * Set a property value for the given printing policy.
  */
 CINDEX_LINKAGE void clang_PrintingPolicy_setProperty(CXPrintingPolicy Policy,
                                                      enum CXPrintingPolicyProperty Property,
                                                      unsigned Value);
 
 /**
- * \brief Retrieve the default policy for the cursor.
+ * Retrieve the default policy for the cursor.
  *
  * The policy should be released after use with \c
  * clang_PrintingPolicy_dispose.
@@ -4163,12 +4163,12 @@ CINDEX_LINKAGE void clang_PrintingPolicy
 CINDEX_LINKAGE CXPrintingPolicy clang_getCursorPrintingPolicy(CXCursor);
 
 /**
- * \brief Release a printing policy.
+ * Release a printing policy.
  */
 CINDEX_LINKAGE void clang_PrintingPolicy_dispose(CXPrintingPolicy Policy);
 
 /**
- * \brief Pretty print declarations.
+ * Pretty print declarations.
  *
  * \param Cursor The cursor representing a declaration.
  *
@@ -4182,7 +4182,7 @@ CINDEX_LINKAGE CXString clang_getCursorP
                                                      CXPrintingPolicy Policy);
 
 /**
- * \brief Retrieve the display name for the entity referenced by this cursor.
+ * Retrieve the display name for the entity referenced by this cursor.
  *
  * The display name contains extra information that helps identify the cursor,
  * such as the parameters of a function or template or the arguments of a 
@@ -4190,7 +4190,7 @@ CINDEX_LINKAGE CXString clang_getCursorP
  */
 CINDEX_LINKAGE CXString clang_getCursorDisplayName(CXCursor);
   
-/** \brief For a cursor that is a reference, retrieve a cursor representing the
+/** For a cursor that is a reference, retrieve a cursor representing the
  * entity that it references.
  *
  * Reference cursors refer to other entities in the AST. For example, an
@@ -4203,7 +4203,7 @@ CINDEX_LINKAGE CXString clang_getCursorD
 CINDEX_LINKAGE CXCursor clang_getCursorReferenced(CXCursor);
 
 /**
- *  \brief For a cursor that is either a reference to or a declaration
+ *  For a cursor that is either a reference to or a declaration
  *  of some entity, retrieve a cursor that describes the definition of
  *  that entity.
  *
@@ -4233,13 +4233,13 @@ CINDEX_LINKAGE CXCursor clang_getCursorR
 CINDEX_LINKAGE CXCursor clang_getCursorDefinition(CXCursor);
 
 /**
- * \brief Determine whether the declaration pointed to by this cursor
+ * Determine whether the declaration pointed to by this cursor
  * is also a definition of that entity.
  */
 CINDEX_LINKAGE unsigned clang_isCursorDefinition(CXCursor);
 
 /**
- * \brief Retrieve the canonical cursor corresponding to the given cursor.
+ * Retrieve the canonical cursor corresponding to the given cursor.
  *
  * In the C family of languages, many kinds of entities can be declared several
  * times within a single translation unit. For example, a structure type can
@@ -4265,7 +4265,7 @@ CINDEX_LINKAGE unsigned clang_isCursorDe
 CINDEX_LINKAGE CXCursor clang_getCanonicalCursor(CXCursor);
 
 /**
- * \brief If the cursor points to a selector identifier in an Objective-C
+ * If the cursor points to a selector identifier in an Objective-C
  * method or message expression, this returns the selector index.
  *
  * After getting a cursor with #clang_getCursor, this can be called to
@@ -4278,7 +4278,7 @@ CINDEX_LINKAGE CXCursor clang_getCanonic
 CINDEX_LINKAGE int clang_Cursor_getObjCSelectorIndex(CXCursor);
 
 /**
- * \brief Given a cursor pointing to a C++ method call or an Objective-C
+ * Given a cursor pointing to a C++ method call or an Objective-C
  * message, returns non-zero if the method/message is "dynamic", meaning:
  * 
  * For a C++ method: the call is virtual.
@@ -4291,13 +4291,13 @@ CINDEX_LINKAGE int clang_Cursor_getObjCS
 CINDEX_LINKAGE int clang_Cursor_isDynamicCall(CXCursor C);
 
 /**
- * \brief Given a cursor pointing to an Objective-C message or property
+ * Given a cursor pointing to an Objective-C message or property
  * reference, or C++ method call, returns the CXType of the receiver.
  */
 CINDEX_LINKAGE CXType clang_Cursor_getReceiverType(CXCursor C);
 
 /**
- * \brief Property attributes for a \c CXCursor_ObjCPropertyDecl.
+ * Property attributes for a \c CXCursor_ObjCPropertyDecl.
  */
 typedef enum {
   CXObjCPropertyAttr_noattr    = 0x00,
@@ -4317,7 +4317,7 @@ typedef enum {
 } CXObjCPropertyAttrKind;
 
 /**
- * \brief Given a cursor that represents a property declaration, return the
+ * Given a cursor that represents a property declaration, return the
  * associated property attributes. The bits are formed from
  * \c CXObjCPropertyAttrKind.
  *
@@ -4327,7 +4327,7 @@ CINDEX_LINKAGE unsigned clang_Cursor_get
                                                              unsigned reserved);
 
 /**
- * \brief 'Qualifiers' written next to the return and parameter types in
+ * 'Qualifiers' written next to the return and parameter types in
  * Objective-C method declarations.
  */
 typedef enum {
@@ -4341,7 +4341,7 @@ typedef enum {
 } CXObjCDeclQualifierKind;
 
 /**
- * \brief Given a cursor that represents an Objective-C method or parameter
+ * Given a cursor that represents an Objective-C method or parameter
  * declaration, return the associated Objective-C qualifiers for the return
  * type or the parameter respectively. The bits are formed from
  * CXObjCDeclQualifierKind.
@@ -4349,19 +4349,19 @@ typedef enum {
 CINDEX_LINKAGE unsigned clang_Cursor_getObjCDeclQualifiers(CXCursor C);
 
 /**
- * \brief Given a cursor that represents an Objective-C method or property
+ * Given a cursor that represents an Objective-C method or property
  * declaration, return non-zero if the declaration was affected by "\@optional".
  * Returns zero if the cursor is not such a declaration or it is "\@required".
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isObjCOptional(CXCursor C);
 
 /**
- * \brief Returns non-zero if the given cursor is a variadic function or method.
+ * Returns non-zero if the given cursor is a variadic function or method.
  */
 CINDEX_LINKAGE unsigned clang_Cursor_isVariadic(CXCursor C);
 
 /**
- * \brief Returns non-zero if the given cursor points to a symbol marked with
+ * Returns non-zero if the given cursor points to a symbol marked with
  * external_source_symbol attribute.
  *
  * \param language If non-NULL, and the attribute is present, will be set to
@@ -4378,21 +4378,21 @@ CINDEX_LINKAGE unsigned clang_Cursor_isE
                                        unsigned *isGenerated);
 
 /**
- * \brief Given a cursor that represents a declaration, return the associated
+ * Given a cursor that represents a declaration, return the associated
  * comment's source range.  The range may include multiple consecutive comments
  * with whitespace in between.
  */
 CINDEX_LINKAGE CXSourceRange clang_Cursor_getCommentRange(CXCursor C);
 
 /**
- * \brief Given a cursor that represents a declaration, return the associated
+ * Given a cursor that represents a declaration, return the associated
  * comment text, including comment markers.
  */
 CINDEX_LINKAGE CXString clang_Cursor_getRawCommentText(CXCursor C);
 
 /**
- * \brief Given a cursor that represents a documentable entity (e.g.,
- * declaration), return the associated \\brief paragraph; otherwise return the
+ * Given a cursor that represents a documentable entity (e.g.,
+ * declaration), return the associated \paragraph; otherwise return the
  * first paragraph.
  */
 CINDEX_LINKAGE CXString clang_Cursor_getBriefCommentText(CXCursor C);
@@ -4407,18 +4407,18 @@ CINDEX_LINKAGE CXString clang_Cursor_get
  */
 
 /**
- * \brief Retrieve the CXString representing the mangled name of the cursor.
+ * Retrieve the CXString representing the mangled name of the cursor.
  */
 CINDEX_LINKAGE CXString clang_Cursor_getMangling(CXCursor);
 
 /**
- * \brief Retrieve the CXStrings representing the mangled symbols of the C++
+ * Retrieve the CXStrings representing the mangled symbols of the C++
  * constructor or destructor at the cursor.
  */
 CINDEX_LINKAGE CXStringSet *clang_Cursor_getCXXManglings(CXCursor);
 
 /**
- * \brief Retrieve the CXStrings representing the mangled symbols of the ObjC
+ * Retrieve the CXStrings representing the mangled symbols of the ObjC
  * class interface or implementation at the cursor.
  */
 CINDEX_LINKAGE CXStringSet *clang_Cursor_getObjCManglings(CXCursor);
@@ -4438,12 +4438,12 @@ CINDEX_LINKAGE CXStringSet *clang_Cursor
 typedef void *CXModule;
 
 /**
- * \brief Given a CXCursor_ModuleImportDecl cursor, return the associated module.
+ * Given a CXCursor_ModuleImportDecl cursor, return the associated module.
  */
 CINDEX_LINKAGE CXModule clang_Cursor_getModule(CXCursor C);
 
 /**
- * \brief Given a CXFile header file, return the module that contains it, if one
+ * Given a CXFile header file, return the module that contains it, if one
  * exists.
  */
 CINDEX_LINKAGE CXModule clang_getModuleForFile(CXTranslationUnit, CXFile);
@@ -4518,73 +4518,73 @@ CXFile clang_Module_getTopLevelHeader(CX
  */
 
 /**
- * \brief Determine if a C++ constructor is a converting constructor.
+ * Determine if a C++ constructor is a converting constructor.
  */
 CINDEX_LINKAGE unsigned clang_CXXConstructor_isConvertingConstructor(CXCursor C);
 
 /**
- * \brief Determine if a C++ constructor is a copy constructor.
+ * Determine if a C++ constructor is a copy constructor.
  */
 CINDEX_LINKAGE unsigned clang_CXXConstructor_isCopyConstructor(CXCursor C);
 
 /**
- * \brief Determine if a C++ constructor is the default constructor.
+ * Determine if a C++ constructor is the default constructor.
  */
 CINDEX_LINKAGE unsigned clang_CXXConstructor_isDefaultConstructor(CXCursor C);
 
 /**
- * \brief Determine if a C++ constructor is a move constructor.
+ * Determine if a C++ constructor is a move constructor.
  */
 CINDEX_LINKAGE unsigned clang_CXXConstructor_isMoveConstructor(CXCursor C);
 
 /**
- * \brief Determine if a C++ field is declared 'mutable'.
+ * Determine if a C++ field is declared 'mutable'.
  */
 CINDEX_LINKAGE unsigned clang_CXXField_isMutable(CXCursor C);
 
 /**
- * \brief Determine if a C++ method is declared '= default'.
+ * Determine if a C++ method is declared '= default'.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isDefaulted(CXCursor C);
 
 /**
- * \brief Determine if a C++ member function or member function template is
+ * Determine if a C++ member function or member function template is
  * pure virtual.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isPureVirtual(CXCursor C);
 
 /**
- * \brief Determine if a C++ member function or member function template is 
+ * Determine if a C++ member function or member function template is 
  * declared 'static'.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C);
 
 /**
- * \brief Determine if a C++ member function or member function template is
+ * Determine if a C++ member function or member function template is
  * explicitly declared 'virtual' or if it overrides a virtual method from
  * one of the base classes.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual(CXCursor C);
 
 /**
- * \brief Determine if a C++ record is abstract, i.e. whether a class or struct
+ * Determine if a C++ record is abstract, i.e. whether a class or struct
  * has a pure virtual member function.
  */
 CINDEX_LINKAGE unsigned clang_CXXRecord_isAbstract(CXCursor C);
 
 /**
- * \brief Determine if an enum declaration refers to a scoped enum.
+ * Determine if an enum declaration refers to a scoped enum.
  */
 CINDEX_LINKAGE unsigned clang_EnumDecl_isScoped(CXCursor C);
 
 /**
- * \brief Determine if a C++ member function or member function template is
+ * Determine if a C++ member function or member function template is
  * declared 'const'.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isConst(CXCursor C);
 
 /**
- * \brief Given a cursor that represents a template, determine
+ * Given a cursor that represents a template, determine
  * the cursor kind of the specializations would be generated by instantiating
  * the template.
  *
@@ -4603,7 +4603,7 @@ CINDEX_LINKAGE unsigned clang_CXXMethod_
 CINDEX_LINKAGE enum CXCursorKind clang_getTemplateCursorKind(CXCursor C);
   
 /**
- * \brief Given a cursor that may represent a specialization or instantiation
+ * Given a cursor that may represent a specialization or instantiation
  * of a template, retrieve the cursor that represents the template that it
  * specializes or from which it was instantiated.
  *
@@ -4633,7 +4633,7 @@ CINDEX_LINKAGE enum CXCursorKind clang_g
 CINDEX_LINKAGE CXCursor clang_getSpecializedCursorTemplate(CXCursor C);
 
 /**
- * \brief Given a cursor that references something else, return the source range
+ * Given a cursor that references something else, return the source range
  * covering that reference.
  *
  * \param C A cursor pointing to a member reference, a declaration reference, or
@@ -4656,19 +4656,19 @@ CINDEX_LINKAGE CXSourceRange clang_getCu
 
 enum CXNameRefFlags {
   /**
-   * \brief Include the nested-name-specifier, e.g. Foo:: in x.Foo::y, in the
+   * Include the nested-name-specifier, e.g. Foo:: in x.Foo::y, in the
    * range.
    */
   CXNameRange_WantQualifier = 0x1,
   
   /**
-   * \brief Include the explicit template arguments, e.g. \<int> in x.f<int>,
+   * Include the explicit template arguments, e.g. \<int> in x.f<int>,
    * in the range.
    */
   CXNameRange_WantTemplateArgs = 0x2,
 
   /**
-   * \brief If the name is non-contiguous, return the full spanning range.
+   * If the name is non-contiguous, return the full spanning range.
    *
    * Non-contiguous names occur in Objective-C when a selector with two or more
    * parameters is used, or in C++ when using an operator:
@@ -4695,37 +4695,37 @@ enum CXNameRefFlags {
  */
 
 /**
- * \brief Describes a kind of token.
+ * Describes a kind of token.
  */
 typedef enum CXTokenKind {
   /**
-   * \brief A token that contains some kind of punctuation.
+   * A token that contains some kind of punctuation.
    */
   CXToken_Punctuation,
 
   /**
-   * \brief A language keyword.
+   * A language keyword.
    */
   CXToken_Keyword,
 
   /**
-   * \brief An identifier (that is not a keyword).
+   * An identifier (that is not a keyword).
    */
   CXToken_Identifier,
 
   /**
-   * \brief A numeric, string, or character literal.
+   * A numeric, string, or character literal.
    */
   CXToken_Literal,
 
   /**
-   * \brief A comment.
+   * A comment.
    */
   CXToken_Comment
 } CXTokenKind;
 
 /**
- * \brief Describes a single preprocessing token.
+ * Describes a single preprocessing token.
  */
 typedef struct {
   unsigned int_data[4];
@@ -4733,12 +4733,12 @@ typedef struct {
 } CXToken;
 
 /**
- * \brief Determine the kind of the given token.
+ * Determine the kind of the given token.
  */
 CINDEX_LINKAGE CXTokenKind clang_getTokenKind(CXToken);
 
 /**
- * \brief Determine the spelling of the given token.
+ * Determine the spelling of the given token.
  *
  * The spelling of a token is the textual representation of that token, e.g.,
  * the text of an identifier or keyword.
@@ -4746,18 +4746,18 @@ CINDEX_LINKAGE CXTokenKind clang_getToke
 CINDEX_LINKAGE CXString clang_getTokenSpelling(CXTranslationUnit, CXToken);
 
 /**
- * \brief Retrieve the source location of the given token.
+ * Retrieve the source location of the given token.
  */
 CINDEX_LINKAGE CXSourceLocation clang_getTokenLocation(CXTranslationUnit,
                                                        CXToken);
 
 /**
- * \brief Retrieve a source range that covers the given token.
+ * Retrieve a source range that covers the given token.
  */
 CINDEX_LINKAGE CXSourceRange clang_getTokenExtent(CXTranslationUnit, CXToken);
 
 /**
- * \brief Tokenize the source code described by the given range into raw
+ * Tokenize the source code described by the given range into raw
  * lexical tokens.
  *
  * \param TU the translation unit whose text is being tokenized.
@@ -4777,7 +4777,7 @@ CINDEX_LINKAGE void clang_tokenize(CXTra
                                    CXToken **Tokens, unsigned *NumTokens);
 
 /**
- * \brief Annotate the given set of tokens by providing cursors for each token
+ * Annotate the given set of tokens by providing cursors for each token
  * that can be mapped to a specific entity within the abstract syntax tree.
  *
  * This token-annotation routine is equivalent to invoking
@@ -4811,7 +4811,7 @@ CINDEX_LINKAGE void clang_annotateTokens
                                          CXCursor *Cursors);
 
 /**
- * \brief Free the given set of tokens.
+ * Free the given set of tokens.
  */
 CINDEX_LINKAGE void clang_disposeTokens(CXTranslationUnit TU,
                                         CXToken *Tokens, unsigned NumTokens);
@@ -4859,7 +4859,7 @@ CINDEX_LINKAGE void clang_executeOnThrea
  */
 
 /**
- * \brief A semantic string that describes a code-completion result.
+ * A semantic string that describes a code-completion result.
  *
  * A semantic string that describes the formatting of a code-completion
  * result as a single "template" of text that should be inserted into the
@@ -4874,11 +4874,11 @@ CINDEX_LINKAGE void clang_executeOnThrea
 typedef void *CXCompletionString;
 
 /**
- * \brief A single result of code completion.
+ * A single result of code completion.
  */
 typedef struct {
   /**
-   * \brief The kind of entity that this completion refers to.
+   * The kind of entity that this completion refers to.
    *
    * The cursor kind will be a macro, keyword, or a declaration (one of the
    * *Decl cursor kinds), describing the entity that the completion is
@@ -4890,14 +4890,14 @@ typedef struct {
   enum CXCursorKind CursorKind;
 
   /**
-   * \brief The code-completion string that describes how to insert this
+   * The code-completion string that describes how to insert this
    * code-completion result into the editing buffer.
    */
   CXCompletionString CompletionString;
 } CXCompletionResult;
 
 /**
- * \brief Describes a single piece of text within a code-completion string.
+ * Describes a single piece of text within a code-completion string.
  *
  * Each "chunk" within a code-completion string (\c CXCompletionString) is
  * either a piece of text with a specific "kind" that describes how that text
@@ -4905,7 +4905,7 @@ typedef struct {
  */
 enum CXCompletionChunkKind {
   /**
-   * \brief A code-completion string that describes "optional" text that
+   * A code-completion string that describes "optional" text that
    * could be a part of the template (but is not required).
    *
    * The Optional chunk is the only kind of chunk that has a code-completion
@@ -4939,7 +4939,7 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_Optional,
   /**
-   * \brief Text that a user would be expected to type to get this
+   * Text that a user would be expected to type to get this
    * code-completion result.
    *
    * There will be exactly one "typed text" chunk in a semantic string, which
@@ -4950,7 +4950,7 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_TypedText,
   /**
-   * \brief Text that should be inserted as part of a code-completion result.
+   * Text that should be inserted as part of a code-completion result.
    *
    * A "text" chunk represents text that is part of the template to be
    * inserted into user code should this particular code-completion result
@@ -4958,7 +4958,7 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_Text,
   /**
-   * \brief Placeholder text that should be replaced by the user.
+   * Placeholder text that should be replaced by the user.
    *
    * A "placeholder" chunk marks a place where the user should insert text
    * into the code-completion template. For example, placeholders might mark
@@ -4969,7 +4969,7 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_Placeholder,
   /**
-   * \brief Informative text that should be displayed but never inserted as
+   * Informative text that should be displayed but never inserted as
    * part of the template.
    *
    * An "informative" chunk contains annotations that can be displayed to
@@ -4979,7 +4979,7 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_Informative,
   /**
-   * \brief Text that describes the current parameter when code-completion is
+   * Text that describes the current parameter when code-completion is
    * referring to function call, message send, or template specialization.
    *
    * A "current parameter" chunk occurs when code-completion is providing
@@ -4999,45 +4999,45 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_CurrentParameter,
   /**
-   * \brief A left parenthesis ('('), used to initiate a function call or
+   * A left parenthesis ('('), used to initiate a function call or
    * signal the beginning of a function parameter list.
    */
   CXCompletionChunk_LeftParen,
   /**
-   * \brief A right parenthesis (')'), used to finish a function call or
+   * A right parenthesis (')'), used to finish a function call or
    * signal the end of a function parameter list.
    */
   CXCompletionChunk_RightParen,
   /**
-   * \brief A left bracket ('[').
+   * A left bracket ('[').
    */
   CXCompletionChunk_LeftBracket,
   /**
-   * \brief A right bracket (']').
+   * A right bracket (']').
    */
   CXCompletionChunk_RightBracket,
   /**
-   * \brief A left brace ('{').
+   * A left brace ('{').
    */
   CXCompletionChunk_LeftBrace,
   /**
-   * \brief A right brace ('}').
+   * A right brace ('}').
    */
   CXCompletionChunk_RightBrace,
   /**
-   * \brief A left angle bracket ('<').
+   * A left angle bracket ('<').
    */
   CXCompletionChunk_LeftAngle,
   /**
-   * \brief A right angle bracket ('>').
+   * A right angle bracket ('>').
    */
   CXCompletionChunk_RightAngle,
   /**
-   * \brief A comma separator (',').
+   * A comma separator (',').
    */
   CXCompletionChunk_Comma,
   /**
-   * \brief Text that specifies the result type of a given result.
+   * Text that specifies the result type of a given result.
    *
    * This special kind of informative chunk is not meant to be inserted into
    * the text buffer. Rather, it is meant to illustrate the type that an
@@ -5045,15 +5045,15 @@ enum CXCompletionChunkKind {
    */
   CXCompletionChunk_ResultType,
   /**
-   * \brief A colon (':').
+   * A colon (':').
    */
   CXCompletionChunk_Colon,
   /**
-   * \brief A semicolon (';').
+   * A semicolon (';').
    */
   CXCompletionChunk_SemiColon,
   /**
-   * \brief An '=' sign.
+   * An '=' sign.
    */
   CXCompletionChunk_Equal,
   /**
@@ -5068,7 +5068,7 @@ enum CXCompletionChunkKind {
 };
 
 /**
- * \brief Determine the kind of a particular chunk within a completion string.
+ * Determine the kind of a particular chunk within a completion string.
  *
  * \param completion_string the completion string to query.
  *
@@ -5081,7 +5081,7 @@ clang_getCompletionChunkKind(CXCompletio
                              unsigned chunk_number);
 
 /**
- * \brief Retrieve the text associated with a particular chunk within a
+ * Retrieve the text associated with a particular chunk within a
  * completion string.
  *
  * \param completion_string the completion string to query.
@@ -5095,7 +5095,7 @@ clang_getCompletionChunkText(CXCompletio
                              unsigned chunk_number);
 
 /**
- * \brief Retrieve the completion string associated with a particular chunk
+ * Retrieve the completion string associated with a particular chunk
  * within a completion string.
  *
  * \param completion_string the completion string to query.
@@ -5110,13 +5110,13 @@ clang_getCompletionChunkCompletionString
                                          unsigned chunk_number);
 
 /**
- * \brief Retrieve the number of chunks in the given code-completion string.
+ * Retrieve the number of chunks in the given code-completion string.
  */
 CINDEX_LINKAGE unsigned
 clang_getNumCompletionChunks(CXCompletionString completion_string);
 
 /**
- * \brief Determine the priority of this code completion.
+ * Determine the priority of this code completion.
  *
  * The priority of a code completion indicates how likely it is that this 
  * particular completion is the completion that the user will select. The
@@ -5131,7 +5131,7 @@ CINDEX_LINKAGE unsigned
 clang_getCompletionPriority(CXCompletionString completion_string);
   
 /**
- * \brief Determine the availability of the entity that this code-completion
+ * Determine the availability of the entity that this code-completion
  * string refers to.
  *
  * \param completion_string The completion string to query.
@@ -5142,7 +5142,7 @@ CINDEX_LINKAGE enum CXAvailabilityKind
 clang_getCompletionAvailability(CXCompletionString completion_string);
 
 /**
- * \brief Retrieve the number of annotations associated with the given
+ * Retrieve the number of annotations associated with the given
  * completion string.
  *
  * \param completion_string the completion string to query.
@@ -5154,7 +5154,7 @@ CINDEX_LINKAGE unsigned
 clang_getCompletionNumAnnotations(CXCompletionString completion_string);
 
 /**
- * \brief Retrieve the annotation associated with the given completion string.
+ * Retrieve the annotation associated with the given completion string.
  *
  * \param completion_string the completion string to query.
  *
@@ -5169,7 +5169,7 @@ clang_getCompletionAnnotation(CXCompleti
                               unsigned annotation_number);
 
 /**
- * \brief Retrieve the parent context of the given completion string.
+ * Retrieve the parent context of the given completion string.
  *
  * The parent context of a completion string is the semantic parent of 
  * the declaration (if any) that the code completion represents. For example,
@@ -5189,14 +5189,14 @@ clang_getCompletionParent(CXCompletionSt
                           enum CXCursorKind *kind);
 
 /**
- * \brief Retrieve the brief documentation comment attached to the declaration
+ * Retrieve the brief documentation comment attached to the declaration
  * that corresponds to the given completion string.
  */
 CINDEX_LINKAGE CXString
 clang_getCompletionBriefComment(CXCompletionString completion_string);
 
 /**
- * \brief Retrieve a completion string for an arbitrary declaration or macro
+ * Retrieve a completion string for an arbitrary declaration or macro
  * definition cursor.
  *
  * \param cursor The cursor to query.
@@ -5208,7 +5208,7 @@ CINDEX_LINKAGE CXCompletionString
 clang_getCursorCompletionString(CXCursor cursor);
   
 /**
- * \brief Contains the results of code-completion.
+ * Contains the results of code-completion.
  *
  * This data structure contains the results of code completion, as
  * produced by \c clang_codeCompleteAt(). Its contents must be freed by
@@ -5216,19 +5216,19 @@ clang_getCursorCompletionString(CXCursor
  */
 typedef struct {
   /**
-   * \brief The code-completion results.
+   * The code-completion results.
    */
   CXCompletionResult *Results;
 
   /**
-   * \brief The number of code-completion results stored in the
+   * The number of code-completion results stored in the
    * \c Results array.
    */
   unsigned NumResults;
 } CXCodeCompleteResults;
 
 /**
- * \brief Flags that can be passed to \c clang_codeCompleteAt() to
+ * Flags that can be passed to \c clang_codeCompleteAt() to
  * modify its behavior.
  *
  * The enumerators in this enumeration can be bitwise-OR'd together to
@@ -5236,19 +5236,19 @@ typedef struct {
  */
 enum CXCodeComplete_Flags {
   /**
-   * \brief Whether to include macros within the set of code
+   * Whether to include macros within the set of code
    * completions returned.
    */
   CXCodeComplete_IncludeMacros = 0x01,
 
   /**
-   * \brief Whether to include code patterns for language constructs
+   * Whether to include code patterns for language constructs
    * within the set of code completions, e.g., for loops.
    */
   CXCodeComplete_IncludeCodePatterns = 0x02,
 
   /**
-   * \brief Whether to include brief documentation within the set of code
+   * Whether to include brief documentation within the set of code
    * completions returned.
    */
   CXCodeComplete_IncludeBriefComments = 0x04,
@@ -5262,144 +5262,144 @@ enum CXCodeComplete_Flags {
 };
 
 /**
- * \brief Bits that represent the context under which completion is occurring.
+ * Bits that represent the context under which completion is occurring.
  *
  * The enumerators in this enumeration may be bitwise-OR'd together if multiple
  * contexts are occurring simultaneously.
  */
 enum CXCompletionContext {
   /**
-   * \brief The context for completions is unexposed, as only Clang results
+   * The context for completions is unexposed, as only Clang results
    * should be included. (This is equivalent to having no context bits set.)
    */
   CXCompletionContext_Unexposed = 0,
   
   /**
-   * \brief Completions for any possible type should be included in the results.
+   * Completions for any possible type should be included in the results.
    */
   CXCompletionContext_AnyType = 1 << 0,
   
   /**
-   * \brief Completions for any possible value (variables, function calls, etc.)
+   * Completions for any possible value (variables, function calls, etc.)
    * should be included in the results.
    */
   CXCompletionContext_AnyValue = 1 << 1,
   /**
-   * \brief Completions for values that resolve to an Objective-C object should
+   * Completions for values that resolve to an Objective-C object should
    * be included in the results.
    */
   CXCompletionContext_ObjCObjectValue = 1 << 2,
   /**
-   * \brief Completions for values that resolve to an Objective-C selector
+   * Completions for values that resolve to an Objective-C selector
    * should be included in the results.
    */
   CXCompletionContext_ObjCSelectorValue = 1 << 3,
   /**
-   * \brief Completions for values that resolve to a C++ class type should be
+   * Completions for values that resolve to a C++ class type should be
    * included in the results.
    */
   CXCompletionContext_CXXClassTypeValue = 1 << 4,
   
   /**
-   * \brief Completions for fields of the member being accessed using the dot
+   * Completions for fields of the member being accessed using the dot
    * operator should be included in the results.
    */
   CXCompletionContext_DotMemberAccess = 1 << 5,
   /**
-   * \brief Completions for fields of the member being accessed using the arrow
+   * Completions for fields of the member being accessed using the arrow
    * operator should be included in the results.
    */
   CXCompletionContext_ArrowMemberAccess = 1 << 6,
   /**
-   * \brief Completions for properties of the Objective-C object being accessed
+   * Completions for properties of the Objective-C object being accessed
    * using the dot operator should be included in the results.
    */
   CXCompletionContext_ObjCPropertyAccess = 1 << 7,
   
   /**
-   * \brief Completions for enum tags should be included in the results.
+   * Completions for enum tags should be included in the results.
    */
   CXCompletionContext_EnumTag = 1 << 8,
   /**
-   * \brief Completions for union tags should be included in the results.
+   * Completions for union tags should be included in the results.
    */
   CXCompletionContext_UnionTag = 1 << 9,
   /**
-   * \brief Completions for struct tags should be included in the results.
+   * Completions for struct tags should be included in the results.
    */
   CXCompletionContext_StructTag = 1 << 10,
   
   /**
-   * \brief Completions for C++ class names should be included in the results.
+   * Completions for C++ class names should be included in the results.
    */
   CXCompletionContext_ClassTag = 1 << 11,
   /**
-   * \brief Completions for C++ namespaces and namespace aliases should be
+   * Completions for C++ namespaces and namespace aliases should be
    * included in the results.
    */
   CXCompletionContext_Namespace = 1 << 12,
   /**
-   * \brief Completions for C++ nested name specifiers should be included in
+   * Completions for C++ nested name specifiers should be included in
    * the results.
    */
   CXCompletionContext_NestedNameSpecifier = 1 << 13,
   
   /**
-   * \brief Completions for Objective-C interfaces (classes) should be included
+   * Completions for Objective-C interfaces (classes) should be included
    * in the results.
    */
   CXCompletionContext_ObjCInterface = 1 << 14,
   /**
-   * \brief Completions for Objective-C protocols should be included in
+   * Completions for Objective-C protocols should be included in
    * the results.
    */
   CXCompletionContext_ObjCProtocol = 1 << 15,
   /**
-   * \brief Completions for Objective-C categories should be included in
+   * Completions for Objective-C categories should be included in
    * the results.
    */
   CXCompletionContext_ObjCCategory = 1 << 16,
   /**
-   * \brief Completions for Objective-C instance messages should be included
+   * Completions for Objective-C instance messages should be included
    * in the results.
    */
   CXCompletionContext_ObjCInstanceMessage = 1 << 17,
   /**
-   * \brief Completions for Objective-C class messages should be included in
+   * Completions for Objective-C class messages should be included in
    * the results.
    */
   CXCompletionContext_ObjCClassMessage = 1 << 18,
   /**
-   * \brief Completions for Objective-C selector names should be included in
+   * Completions for Objective-C selector names should be included in
    * the results.
    */
   CXCompletionContext_ObjCSelectorName = 1 << 19,
   
   /**
-   * \brief Completions for preprocessor macro names should be included in
+   * Completions for preprocessor macro names should be included in
    * the results.
    */
   CXCompletionContext_MacroName = 1 << 20,
   
   /**
-   * \brief Natural language completions should be included in the results.
+   * Natural language completions should be included in the results.
    */
   CXCompletionContext_NaturalLanguage = 1 << 21,
   
   /**
-   * \brief The current context is unknown, so set all contexts.
+   * The current context is unknown, so set all contexts.
    */
   CXCompletionContext_Unknown = ((1 << 22) - 1)
 };
   
 /**
- * \brief Returns a default set of code-completion options that can be
+ * Returns a default set of code-completion options that can be
  * passed to\c clang_codeCompleteAt(). 
  */
 CINDEX_LINKAGE unsigned clang_defaultCodeCompleteOptions(void);
 
 /**
- * \brief Perform code completion at a given location in a translation unit.
+ * Perform code completion at a given location in a translation unit.
  *
  * This function performs code completion at a particular file, line, and
  * column within source code, providing results that suggest potential
@@ -5476,7 +5476,7 @@ CXCodeCompleteResults *clang_codeComplet
                                             unsigned options);
 
 /**
- * \brief Sort the code-completion results in case-insensitive alphabetical 
+ * Sort the code-completion results in case-insensitive alphabetical 
  * order.
  *
  * \param Results The set of results to sort.
@@ -5487,20 +5487,20 @@ void clang_sortCodeCompletionResults(CXC
                                      unsigned NumResults);
   
 /**
- * \brief Free the given set of code-completion results.
+ * Free the given set of code-completion results.
  */
 CINDEX_LINKAGE
 void clang_disposeCodeCompleteResults(CXCodeCompleteResults *Results);
   
 /**
- * \brief Determine the number of diagnostics produced prior to the
+ * Determine the number of diagnostics produced prior to the
  * location where code completion was performed.
  */
 CINDEX_LINKAGE
 unsigned clang_codeCompleteGetNumDiagnostics(CXCodeCompleteResults *Results);
 
 /**
- * \brief Retrieve a diagnostic associated with the given code completion.
+ * Retrieve a diagnostic associated with the given code completion.
  *
  * \param Results the code completion results to query.
  * \param Index the zero-based diagnostic number to retrieve.
@@ -5513,7 +5513,7 @@ CXDiagnostic clang_codeCompleteGetDiagno
                                              unsigned Index);
 
 /**
- * \brief Determines what completions are appropriate for the context
+ * Determines what completions are appropriate for the context
  * the given code completion.
  * 
  * \param Results the code completion results to query
@@ -5526,7 +5526,7 @@ unsigned long long clang_codeCompleteGet
                                                 CXCodeCompleteResults *Results);
 
 /**
- * \brief Returns the cursor kind for the container for the current code
+ * Returns the cursor kind for the container for the current code
  * completion context. The container is only guaranteed to be set for
  * contexts where a container exists (i.e. member accesses or Objective-C
  * message sends); if there is not a container, this function will return
@@ -5547,7 +5547,7 @@ enum CXCursorKind clang_codeCompleteGetC
                                                      unsigned *IsIncomplete);
 
 /**
- * \brief Returns the USR for the container for the current code completion
+ * Returns the USR for the container for the current code completion
  * context. If there is not a container for the current context, this
  * function will return the empty string.
  *
@@ -5559,7 +5559,7 @@ CINDEX_LINKAGE
 CXString clang_codeCompleteGetContainerUSR(CXCodeCompleteResults *Results);
 
 /**
- * \brief Returns the currently-entered selector for an Objective-C message
+ * Returns the currently-entered selector for an Objective-C message
  * send, formatted like "initWithFoo:bar:". Only guaranteed to return a
  * non-empty string for CXCompletionContext_ObjCInstanceMessage and
  * CXCompletionContext_ObjCClassMessage.
@@ -5583,13 +5583,13 @@ CXString clang_codeCompleteGetObjCSelect
  */
 
 /**
- * \brief Return a version string, suitable for showing to a user, but not
+ * Return a version string, suitable for showing to a user, but not
  *        intended to be parsed (the format is not guaranteed to be stable).
  */
 CINDEX_LINKAGE CXString clang_getClangVersion(void);
 
 /**
- * \brief Enable/disable crash recovery.
+ * Enable/disable crash recovery.
  *
  * \param isEnabled Flag to indicate if crash recovery is enabled.  A non-zero
  *        value enables crash recovery, while 0 disables it.
@@ -5597,7 +5597,7 @@ CINDEX_LINKAGE CXString clang_getClangVe
 CINDEX_LINKAGE void clang_toggleCrashRecovery(unsigned isEnabled);
   
  /**
-  * \brief Visitor invoked for each file in a translation unit
+  * Visitor invoked for each file in a translation unit
   *        (used with clang_getInclusions()).
   *
   * This visitor function will be invoked by clang_getInclusions() for each
@@ -5613,7 +5613,7 @@ typedef void (*CXInclusionVisitor)(CXFil
                                    CXClientData client_data);
 
 /**
- * \brief Visit the set of preprocessor inclusions in a translation unit.
+ * Visit the set of preprocessor inclusions in a translation unit.
  *   The visitor function is called with the provided data for every included
  *   file.  This does not include headers included by the PCH file (unless one
  *   is inspecting the inclusions in the PCH file itself).
@@ -5635,55 +5635,55 @@ typedef enum {
 } CXEvalResultKind ;
 
 /**
- * \brief Evaluation result of a cursor
+ * Evaluation result of a cursor
  */
 typedef void * CXEvalResult;
 
 /**
- * \brief If cursor is a statement declaration tries to evaluate the 
+ * If cursor is a statement declaration tries to evaluate the 
  * statement and if its variable, tries to evaluate its initializer,
  * into its corresponding type.
  */
 CINDEX_LINKAGE CXEvalResult clang_Cursor_Evaluate(CXCursor C);
 
 /**
- * \brief Returns the kind of the evaluated result.
+ * Returns the kind of the evaluated result.
  */
 CINDEX_LINKAGE CXEvalResultKind clang_EvalResult_getKind(CXEvalResult E);
 
 /**
- * \brief Returns the evaluation result as integer if the
+ * Returns the evaluation result as integer if the
  * kind is Int.
  */
 CINDEX_LINKAGE int clang_EvalResult_getAsInt(CXEvalResult E);
 
 /**
- * \brief Returns the evaluation result as a long long integer if the
+ * Returns the evaluation result as a long long integer if the
  * kind is Int. This prevents overflows that may happen if the result is
  * returned with clang_EvalResult_getAsInt.
  */
 CINDEX_LINKAGE long long clang_EvalResult_getAsLongLong(CXEvalResult E);
 
 /**
- * \brief Returns a non-zero value if the kind is Int and the evaluation
+ * Returns a non-zero value if the kind is Int and the evaluation
  * result resulted in an unsigned integer.
  */
 CINDEX_LINKAGE unsigned clang_EvalResult_isUnsignedInt(CXEvalResult E);
 
 /**
- * \brief Returns the evaluation result as an unsigned integer if
+ * Returns the evaluation result as an unsigned integer if
  * the kind is Int and clang_EvalResult_isUnsignedInt is non-zero.
  */
 CINDEX_LINKAGE unsigned long long clang_EvalResult_getAsUnsigned(CXEvalResult E);
 
 /**
- * \brief Returns the evaluation result as double if the
+ * Returns the evaluation result as double if the
  * kind is double.
  */
 CINDEX_LINKAGE double clang_EvalResult_getAsDouble(CXEvalResult E);
 
 /**
- * \brief Returns the evaluation result as a constant string if the
+ * Returns the evaluation result as a constant string if the
  * kind is other than Int or float. User must not free this pointer,
  * instead call clang_EvalResult_dispose on the CXEvalResult returned
  * by clang_Cursor_Evaluate.
@@ -5691,7 +5691,7 @@ CINDEX_LINKAGE double clang_EvalResult_g
 CINDEX_LINKAGE const char* clang_EvalResult_getAsStr(CXEvalResult E);
 
 /**
- * \brief Disposes the created Eval memory.
+ * Disposes the created Eval memory.
  */
 CINDEX_LINKAGE void clang_EvalResult_dispose(CXEvalResult E);
 /**
@@ -5704,12 +5704,12 @@ CINDEX_LINKAGE void clang_EvalResult_dis
  */
 
 /**
- * \brief A remapping of original source files and their translated files.
+ * A remapping of original source files and their translated files.
  */
 typedef void *CXRemapping;
 
 /**
- * \brief Retrieve a remapping.
+ * Retrieve a remapping.
  *
  * \param path the path that contains metadata about remappings.
  *
@@ -5719,7 +5719,7 @@ typedef void *CXRemapping;
 CINDEX_LINKAGE CXRemapping clang_getRemappings(const char *path);
 
 /**
- * \brief Retrieve a remapping.
+ * Retrieve a remapping.
  *
  * \param filePaths pointer to an array of file paths containing remapping info.
  *
@@ -5733,12 +5733,12 @@ CXRemapping clang_getRemappingsFromFileL
                                             unsigned numFiles);
 
 /**
- * \brief Determine the number of remappings.
+ * Determine the number of remappings.
  */
 CINDEX_LINKAGE unsigned clang_remap_getNumFiles(CXRemapping);
 
 /**
- * \brief Get the original and the associated filename from the remapping.
+ * Get the original and the associated filename from the remapping.
  * 
  * \param original If non-NULL, will be set to the original filename.
  *
@@ -5749,7 +5749,7 @@ CINDEX_LINKAGE void clang_remap_getFilen
                                      CXString *original, CXString *transformed);
 
 /**
- * \brief Dispose the remapping.
+ * Dispose the remapping.
  */
 CINDEX_LINKAGE void clang_remap_dispose(CXRemapping);
 
@@ -5774,15 +5774,15 @@ typedef struct CXCursorAndRangeVisitor {
 
 typedef enum {
   /**
-   * \brief Function returned successfully.
+   * Function returned successfully.
    */
   CXResult_Success = 0,
   /**
-   * \brief One of the parameters was invalid for the function.
+   * One of the parameters was invalid for the function.
    */
   CXResult_Invalid = 1,
   /**
-   * \brief The function was terminated by a callback (e.g. it returned
+   * The function was terminated by a callback (e.g. it returned
    * CXVisit_Break)
    */
   CXResult_VisitBreak = 2
@@ -5790,7 +5790,7 @@ typedef enum {
 } CXResult;
 
 /**
- * \brief Find references of a declaration in a specific file.
+ * Find references of a declaration in a specific file.
  * 
  * \param cursor pointing to a declaration or a reference of one.
  *
@@ -5807,7 +5807,7 @@ CINDEX_LINKAGE CXResult clang_findRefere
                                                CXCursorAndRangeVisitor visitor);
 
 /**
- * \brief Find #import/#include directives in a specific file.
+ * Find #import/#include directives in a specific file.
  *
  * \param TU translation unit containing the file to query.
  *
@@ -5840,29 +5840,29 @@ CXResult clang_findIncludesInFileWithBlo
 #endif
 
 /**
- * \brief The client's data object that is associated with a CXFile.
+ * The client's data object that is associated with a CXFile.
  */
 typedef void *CXIdxClientFile;
 
 /**
- * \brief The client's data object that is associated with a semantic entity.
+ * The client's data object that is associated with a semantic entity.
  */
 typedef void *CXIdxClientEntity;
 
 /**
- * \brief The client's data object that is associated with a semantic container
+ * The client's data object that is associated with a semantic container
  * of entities.
  */
 typedef void *CXIdxClientContainer;
 
 /**
- * \brief The client's data object that is associated with an AST file (PCH
+ * The client's data object that is associated with an AST file (PCH
  * or module).
  */
 typedef void *CXIdxClientASTFile;
 
 /**
- * \brief Source location passed to index callbacks.
+ * Source location passed to index callbacks.
  */
 typedef struct {
   void *ptr_data[2];
@@ -5870,48 +5870,48 @@ typedef struct {
 } CXIdxLoc;
 
 /**
- * \brief Data for ppIncludedFile callback.
+ * Data for ppIncludedFile callback.
  */
 typedef struct {
   /**
-   * \brief Location of '#' in the \#include/\#import directive.
+   * Location of '#' in the \#include/\#import directive.
    */
   CXIdxLoc hashLoc;
   /**
-   * \brief Filename as written in the \#include/\#import directive.
+   * Filename as written in the \#include/\#import directive.
    */
   const char *filename;
   /**
-   * \brief The actual file that the \#include/\#import directive resolved to.
+   * The actual file that the \#include/\#import directive resolved to.
    */
   CXFile file;
   int isImport;
   int isAngled;
   /**
-   * \brief Non-zero if the directive was automatically turned into a module
+   * Non-zero if the directive was automatically turned into a module
    * import.
    */
   int isModuleImport;
 } CXIdxIncludedFileInfo;
 
 /**
- * \brief Data for IndexerCallbacks#importedASTFile.
+ * Data for IndexerCallbacks#importedASTFile.
  */
 typedef struct {
   /**
-   * \brief Top level AST file containing the imported PCH, module or submodule.
+   * Top level AST file containing the imported PCH, module or submodule.
    */
   CXFile file;
   /**
-   * \brief The imported module or NULL if the AST file is a PCH.
+   * The imported module or NULL if the AST file is a PCH.
    */
   CXModule module;
   /**
-   * \brief Location where the file is imported. Applicable only for modules.
+   * Location where the file is imported. Applicable only for modules.
    */
   CXIdxLoc loc;
   /**
-   * \brief Non-zero if an inclusion directive was automatically turned into
+   * Non-zero if an inclusion directive was automatically turned into
    * a module import. Applicable only for modules.
    */
   int isImplicit;
@@ -5962,7 +5962,7 @@ typedef enum {
 } CXIdxEntityLanguage;
 
 /**
- * \brief Extra C++ template information for an entity. This can apply to:
+ * Extra C++ template information for an entity. This can apply to:
  * CXIdxEntity_Function
  * CXIdxEntity_CXXClass
  * CXIdxEntity_CXXStaticMethod
@@ -6023,7 +6023,7 @@ typedef struct {
   CXIdxLoc loc;
   const CXIdxContainerInfo *semanticContainer;
   /**
-   * \brief Generally same as #semanticContainer but can be different in
+   * Generally same as #semanticContainer but can be different in
    * cases like out-of-line C++ member functions.
    */
   const CXIdxContainerInfo *lexicalContainer;
@@ -6032,7 +6032,7 @@ typedef struct {
   int isContainer;
   const CXIdxContainerInfo *declAsContainer;
   /**
-   * \brief Whether the declaration exists in code or was created implicitly
+   * Whether the declaration exists in code or was created implicitly
    * by the compiler, e.g. implicit Objective-C methods for properties.
    */
   int isImplicit;
@@ -6098,25 +6098,25 @@ typedef struct {
 } CXIdxCXXClassDeclInfo;
 
 /**
- * \brief Data for IndexerCallbacks#indexEntityReference.
+ * Data for IndexerCallbacks#indexEntityReference.
  *
  * This may be deprecated in a future version as this duplicates
  * the \c CXSymbolRole_Implicit bit in \c CXSymbolRole.
  */
 typedef enum {
   /**
-   * \brief The entity is referenced directly in user's code.
+   * The entity is referenced directly in user's code.
    */
   CXIdxEntityRef_Direct = 1,
   /**
-   * \brief An implicit reference, e.g. a reference of an Objective-C method
+   * An implicit reference, e.g. a reference of an Objective-C method
    * via the dot syntax.
    */
   CXIdxEntityRef_Implicit = 2
 } CXIdxEntityRefKind;
 
 /**
- * \brief Roles that are attributed to symbol occurrences.
+ * Roles that are attributed to symbol occurrences.
  *
  * Internal: this currently mirrors low 9 bits of clang::index::SymbolRole with
  * higher bits zeroed. These high bits may be exposed in the future.
@@ -6135,21 +6135,21 @@ typedef enum {
 } CXSymbolRole;
 
 /**
- * \brief Data for IndexerCallbacks#indexEntityReference.
+ * Data for IndexerCallbacks#indexEntityReference.
  */
 typedef struct {
   CXIdxEntityRefKind kind;
   /**
-   * \brief Reference cursor.
+   * Reference cursor.
    */
   CXCursor cursor;
   CXIdxLoc loc;
   /**
-   * \brief The entity that gets referenced.
+   * The entity that gets referenced.
    */
   const CXIdxEntityInfo *referencedEntity;
   /**
-   * \brief Immediate "parent" of the reference. For example:
+   * Immediate "parent" of the reference. For example:
    * 
    * \code
    * Foo *var;
@@ -6161,28 +6161,28 @@ typedef struct {
    */
   const CXIdxEntityInfo *parentEntity;
   /**
-   * \brief Lexical container context of the reference.
+   * Lexical container context of the reference.
    */
   const CXIdxContainerInfo *container;
   /**
-   * \brief Sets of symbol roles of the reference.
+   * Sets of symbol roles of the reference.
    */
   CXSymbolRole role;
 } CXIdxEntityRefInfo;
 
 /**
- * \brief A group of callbacks used by #clang_indexSourceFile and
+ * A group of callbacks used by #clang_indexSourceFile and
  * #clang_indexTranslationUnit.
  */
 typedef struct {
   /**
-   * \brief Called periodically to check whether indexing should be aborted.
+   * Called periodically to check whether indexing should be aborted.
    * Should return 0 to continue, and non-zero to abort.
    */
   int (*abortQuery)(CXClientData client_data, void *reserved);
 
   /**
-   * \brief Called at the end of indexing; passes the complete diagnostic set.
+   * Called at the end of indexing; passes the complete diagnostic set.
    */
   void (*diagnostic)(CXClientData client_data,
                      CXDiagnosticSet, void *reserved);
@@ -6191,13 +6191,13 @@ typedef struct {
                                      CXFile mainFile, void *reserved);
   
   /**
-   * \brief Called when a file gets \#included/\#imported.
+   * Called when a file gets \#included/\#imported.
    */
   CXIdxClientFile (*ppIncludedFile)(CXClientData client_data,
                                     const CXIdxIncludedFileInfo *);
   
   /**
-   * \brief Called when a AST file (PCH or module) gets imported.
+   * Called when a AST file (PCH or module) gets imported.
    * 
    * AST files will not get indexed (there will not be callbacks to index all
    * the entities in an AST file). The recommended action is that, if the AST
@@ -6208,7 +6208,7 @@ typedef struct {
                                         const CXIdxImportedASTFileInfo *);
 
   /**
-   * \brief Called at the beginning of indexing a translation unit.
+   * Called at the beginning of indexing a translation unit.
    */
   CXIdxClientContainer (*startedTranslationUnit)(CXClientData client_data,
                                                  void *reserved);
@@ -6217,7 +6217,7 @@ typedef struct {
                            const CXIdxDeclInfo *);
 
   /**
-   * \brief Called to index a reference of an entity.
+   * Called to index a reference of an entity.
    */
   void (*indexEntityReference)(CXClientData client_data,
                                const CXIdxEntityRefInfo *);
@@ -6248,39 +6248,39 @@ CINDEX_LINKAGE const CXIdxCXXClassDeclIn
 clang_index_getCXXClassDeclInfo(const CXIdxDeclInfo *);
 
 /**
- * \brief For retrieving a custom CXIdxClientContainer attached to a
+ * For retrieving a custom CXIdxClientContainer attached to a
  * container.
  */
 CINDEX_LINKAGE CXIdxClientContainer
 clang_index_getClientContainer(const CXIdxContainerInfo *);
 
 /**
- * \brief For setting a custom CXIdxClientContainer attached to a
+ * For setting a custom CXIdxClientContainer attached to a
  * container.
  */
 CINDEX_LINKAGE void
 clang_index_setClientContainer(const CXIdxContainerInfo *,CXIdxClientContainer);
 
 /**
- * \brief For retrieving a custom CXIdxClientEntity attached to an entity.
+ * For retrieving a custom CXIdxClientEntity attached to an entity.
  */
 CINDEX_LINKAGE CXIdxClientEntity
 clang_index_getClientEntity(const CXIdxEntityInfo *);
 
 /**
- * \brief For setting a custom CXIdxClientEntity attached to an entity.
+ * For setting a custom CXIdxClientEntity attached to an entity.
  */
 CINDEX_LINKAGE void
 clang_index_setClientEntity(const CXIdxEntityInfo *, CXIdxClientEntity);
 
 /**
- * \brief An indexing action/session, to be applied to one or multiple
+ * An indexing action/session, to be applied to one or multiple
  * translation units.
  */
 typedef void *CXIndexAction;
 
 /**
- * \brief An indexing action/session, to be applied to one or multiple
+ * An indexing action/session, to be applied to one or multiple
  * translation units.
  *
  * \param CIdx The index object with which the index action will be associated.
@@ -6288,7 +6288,7 @@ typedef void *CXIndexAction;
 CINDEX_LINKAGE CXIndexAction clang_IndexAction_create(CXIndex CIdx);
 
 /**
- * \brief Destroy the given index action.
+ * Destroy the given index action.
  *
  * The index action must not be destroyed until all of the translation units
  * created within that index action have been destroyed.
@@ -6297,36 +6297,36 @@ CINDEX_LINKAGE void clang_IndexAction_di
 
 typedef enum {
   /**
-   * \brief Used to indicate that no special indexing options are needed.
+   * Used to indicate that no special indexing options are needed.
    */
   CXIndexOpt_None = 0x0,
   
   /**
-   * \brief Used to indicate that IndexerCallbacks#indexEntityReference should
+   * Used to indicate that IndexerCallbacks#indexEntityReference should
    * be invoked for only one reference of an entity per source file that does
    * not also include a declaration/definition of the entity.
    */
   CXIndexOpt_SuppressRedundantRefs = 0x1,
 
   /**
-   * \brief Function-local symbols should be indexed. If this is not set
+   * Function-local symbols should be indexed. If this is not set
    * function-local symbols will be ignored.
    */
   CXIndexOpt_IndexFunctionLocalSymbols = 0x2,
 
   /**
-   * \brief Implicit function/class template instantiations should be indexed.
+   * Implicit function/class template instantiations should be indexed.
    * If this is not set, implicit instantiations will be ignored.
    */
   CXIndexOpt_IndexImplicitTemplateInstantiations = 0x4,
 
   /**
-   * \brief Suppress all compiler warnings when parsing for indexing.
+   * Suppress all compiler warnings when parsing for indexing.
    */
   CXIndexOpt_SuppressWarnings = 0x8,
 
   /**
-   * \brief Skip a function/method body that was already parsed during an
+   * Skip a function/method body that was already parsed during an
    * indexing session associated with a \c CXIndexAction object.
    * Bodies in system headers are always skipped.
    */
@@ -6335,7 +6335,7 @@ typedef enum {
 } CXIndexOptFlags;
 
 /**
- * \brief Index the given source file and the translation unit corresponding
+ * Index the given source file and the translation unit corresponding
  * to that file via callbacks implemented through #IndexerCallbacks.
  *
  * \param client_data pointer data supplied by the client, which will
@@ -6373,7 +6373,7 @@ CINDEX_LINKAGE int clang_indexSourceFile
                                          unsigned TU_options);
 
 /**
- * \brief Same as clang_indexSourceFile but requires a full command line
+ * Same as clang_indexSourceFile but requires a full command line
  * for \c command_line_args including argv[0]. This is useful if the standard
  * library paths are relative to the binary.
  */
@@ -6385,7 +6385,7 @@ CINDEX_LINKAGE int clang_indexSourceFile
     unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options);
 
 /**
- * \brief Index the given translation unit via callbacks implemented through
+ * Index the given translation unit via callbacks implemented through
  * #IndexerCallbacks.
  * 
  * The order of callback invocations is not guaranteed to be the same as
@@ -6408,7 +6408,7 @@ CINDEX_LINKAGE int clang_indexTranslatio
                                               CXTranslationUnit);
 
 /**
- * \brief Retrieve the CXIdxFile, file, line, column, and offset represented by
+ * Retrieve the CXIdxFile, file, line, column, and offset represented by
  * the given CXIdxLoc.
  *
  * If the location refers into a macro expansion, retrieves the
@@ -6423,13 +6423,13 @@ CINDEX_LINKAGE void clang_indexLoc_getFi
                                                    unsigned *offset);
 
 /**
- * \brief Retrieve the CXSourceLocation represented by the given CXIdxLoc.
+ * Retrieve the CXSourceLocation represented by the given CXIdxLoc.
  */
 CINDEX_LINKAGE
 CXSourceLocation clang_indexLoc_getCXSourceLocation(CXIdxLoc loc);
 
 /**
- * \brief Visitor invoked for each field found by a traversal.
+ * Visitor invoked for each field found by a traversal.
  *
  * This visitor function will be invoked for each field found by
  * \c clang_Type_visitFields. Its first argument is the cursor being
@@ -6443,7 +6443,7 @@ typedef enum CXVisitorResult (*CXFieldVi
                                                CXClientData client_data);
 
 /**
- * \brief Visit the fields of a particular type.
+ * Visit the fields of a particular type.
  *
  * This function visits all the direct fields of the given cursor,
  * invoking the given \p visitor function with the cursors of each

Modified: cfe/trunk/include/clang/ARCMigrate/ARCMT.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ARCMigrate/ARCMT.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ARCMigrate/ARCMT.h (original)
+++ cfe/trunk/include/clang/ARCMigrate/ARCMT.h Tue May  8 18:00:01 2018
@@ -22,7 +22,7 @@ namespace clang {
 namespace arcmt {
   class MigrationPass;
 
-/// \brief Creates an AST with the provided CompilerInvocation but with these
+/// Creates an AST with the provided CompilerInvocation but with these
 /// changes:
 ///   -if a PCH/PTH is set, the original header is used instead
 ///   -Automatic Reference Counting mode is enabled
@@ -45,7 +45,7 @@ checkForManualIssues(CompilerInvocation
                      bool emitPremigrationARCErrors = false,
                      StringRef plistOut = StringRef());
 
-/// \brief Works similar to checkForManualIssues but instead of checking, it
+/// Works similar to checkForManualIssues but instead of checking, it
 /// applies automatic modifications to source files to conform to ARC.
 ///
 /// \returns false if no error is produced, true otherwise.
@@ -55,7 +55,7 @@ applyTransformations(CompilerInvocation
                      std::shared_ptr<PCHContainerOperations> PCHContainerOps,
                      DiagnosticConsumer *DiagClient);
 
-/// \brief Applies automatic modifications and produces temporary files
+/// Applies automatic modifications and produces temporary files
 /// and metadata into the \p outputDir path.
 ///
 /// \param emitPremigrationARCErrors if true all ARC errors will get emitted
@@ -72,7 +72,7 @@ bool migrateWithTemporaryFiles(
     DiagnosticConsumer *DiagClient, StringRef outputDir,
     bool emitPremigrationARCErrors, StringRef plistOut);
 
-/// \brief Get the set of file remappings from the \p outputDir path that
+/// Get the set of file remappings from the \p outputDir path that
 /// migrateWithTemporaryFiles produced.
 ///
 /// \returns false if no error is produced, true otherwise.
@@ -80,7 +80,7 @@ bool getFileRemappings(std::vector<std::
                        StringRef outputDir,
                        DiagnosticConsumer *DiagClient);
 
-/// \brief Get the set of file remappings from a list of files with remapping
+/// Get the set of file remappings from a list of files with remapping
 /// info.
 ///
 /// \returns false if no error is produced, true otherwise.

Modified: cfe/trunk/include/clang/ARCMigrate/ARCMTActions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ARCMigrate/ARCMTActions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ARCMigrate/ARCMTActions.h (original)
+++ cfe/trunk/include/clang/ARCMigrate/ARCMTActions.h Tue May  8 18:00:01 2018
@@ -55,7 +55,7 @@ public:
                 bool emitPremigrationARCErrors);
 };
 
-/// \brief Migrates to modern ObjC syntax.
+/// Migrates to modern ObjC syntax.
 class ObjCMigrateAction : public WrapperFrontendAction {
   std::string MigrateDir;
   unsigned    ObjCMigAction;

Modified: cfe/trunk/include/clang/AST/APValue.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/APValue.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/APValue.h (original)
+++ cfe/trunk/include/clang/AST/APValue.h Tue May  8 18:00:01 2018
@@ -219,14 +219,14 @@ public:
     MakeUninit();
   }
 
-  /// \brief Returns whether the object performed allocations.
+  /// Returns whether the object performed allocations.
   ///
   /// If APValues are constructed via placement new, \c needsCleanup()
   /// indicates whether the destructor must be called in order to correctly
   /// free all allocated memory.
   bool needsCleanup() const;
 
-  /// \brief Swaps the contents of this and the given APValue.
+  /// Swaps the contents of this and the given APValue.
   void swap(APValue &RHS);
 
   ValueKind getKind() const { return Kind; }

Modified: cfe/trunk/include/clang/AST/ASTConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTConsumer.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTConsumer.h (original)
+++ cfe/trunk/include/clang/AST/ASTConsumer.h Tue May  8 18:00:01 2018
@@ -32,7 +32,7 @@ namespace clang {
 /// clients that read ASTs.  This abstraction layer allows the client to be
 /// independent of the AST producer (e.g. parser vs AST dump file reader, etc).
 class ASTConsumer {
-  /// \brief Whether this AST consumer also requires information about
+  /// Whether this AST consumer also requires information about
   /// semantic analysis.
   bool SemaConsumer;
 
@@ -53,7 +53,7 @@ public:
   /// \returns true to continue parsing, or false to abort parsing.
   virtual bool HandleTopLevelDecl(DeclGroupRef D);
 
-  /// \brief This callback is invoked each time an inline (method or friend)
+  /// This callback is invoked each time an inline (method or friend)
   /// function definition in a class is completed.
   virtual void HandleInlineFunctionDefinition(FunctionDecl *D) {}
 
@@ -72,22 +72,22 @@ public:
   /// can be defined in declspecs).
   virtual void HandleTagDeclDefinition(TagDecl *D) {}
 
-  /// \brief This callback is invoked the first time each TagDecl is required to
+  /// This callback is invoked the first time each TagDecl is required to
   /// be complete.
   virtual void HandleTagDeclRequiredDefinition(const TagDecl *D) {}
 
-  /// \brief Invoked when a function is implicitly instantiated.
+  /// Invoked when a function is implicitly instantiated.
   /// Note that at this point point it does not have a body, its body is
   /// instantiated at the end of the translation unit and passed to
   /// HandleTopLevelDecl.
   virtual void HandleCXXImplicitFunctionInstantiation(FunctionDecl *D) {}
 
-  /// \brief Handle the specified top-level declaration that occurred inside
+  /// Handle the specified top-level declaration that occurred inside
   /// and ObjC container.
   /// The default implementation ignored them.
   virtual void HandleTopLevelDeclInObjCContainer(DeclGroupRef D);
 
-  /// \brief Handle an ImportDecl that was implicitly created due to an
+  /// Handle an ImportDecl that was implicitly created due to an
   /// inclusion directive.
   /// The default implementation passes it to HandleTopLevelDecl.
   virtual void HandleImplicitImportDecl(ImportDecl *D);
@@ -103,7 +103,7 @@ public:
   /// modified by the introduction of an implicit zero initializer.
   virtual void CompleteTentativeDefinition(VarDecl *D) {}
 
-  /// \brief Callback invoked when an MSInheritanceAttr has been attached to a
+  /// Callback invoked when an MSInheritanceAttr has been attached to a
   /// CXXRecordDecl.
   virtual void AssignInheritanceModel(CXXRecordDecl *RD) {}
 
@@ -111,19 +111,19 @@ public:
   // variable has been instantiated.
   virtual void HandleCXXStaticMemberVarInstantiation(VarDecl *D) {}
 
-  /// \brief Callback involved at the end of a translation unit to
+  /// Callback involved at the end of a translation unit to
   /// notify the consumer that a vtable for the given C++ class is
   /// required.
   ///
   /// \param RD The class whose vtable was used.
   virtual void HandleVTable(CXXRecordDecl *RD) {}
 
-  /// \brief If the consumer is interested in entities getting modified after
+  /// If the consumer is interested in entities getting modified after
   /// their initial creation, it should return a pointer to
   /// an ASTMutationListener here.
   virtual ASTMutationListener *GetASTMutationListener() { return nullptr; }
 
-  /// \brief If the consumer is interested in entities being deserialized from
+  /// If the consumer is interested in entities being deserialized from
   /// AST files, it should return a pointer to a ASTDeserializationListener here
   virtual ASTDeserializationListener *GetASTDeserializationListener() {
     return nullptr;
@@ -132,7 +132,7 @@ public:
   /// PrintStats - If desired, print any statistics.
   virtual void PrintStats() {}
 
-  /// \brief This callback is called for each function if the Parser was
+  /// This callback is called for each function if the Parser was
   /// initialized with \c SkipFunctionBodies set to \c true.
   ///
   /// \return \c true if the function's body should be skipped. The function

Modified: cfe/trunk/include/clang/AST/ASTContext.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTContext.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTContext.h (original)
+++ cfe/trunk/include/clang/AST/ASTContext.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::ASTContext interface.
+/// Defines the clang::ASTContext interface.
 //
 //===----------------------------------------------------------------------===//
 
@@ -145,7 +145,7 @@ struct TypeInfo {
       : Width(Width), Align(Align), AlignIsRequired(AlignIsRequired) {}
 };
 
-/// \brief Holds long-lived AST nodes (such as types and decls) that can be
+/// Holds long-lived AST nodes (such as types and decls) that can be
 /// referred to throughout the semantic analysis of a file.
 class ASTContext : public RefCountedBase<ASTContext> {
   friend class NestedNameSpecifier;
@@ -207,13 +207,13 @@ class ASTContext : public RefCountedBase
                                      ASTContext&>
     SubstTemplateTemplateParmPacks;
 
-  /// \brief The set of nested name specifiers.
+  /// The set of nested name specifiers.
   ///
   /// This set is managed by the NestedNameSpecifier class.
   mutable llvm::FoldingSet<NestedNameSpecifier> NestedNameSpecifiers;
   mutable NestedNameSpecifier *GlobalNestedNameSpecifier = nullptr;
 
-  /// \brief A cache mapping from RecordDecls to ASTRecordLayouts.
+  /// A cache mapping from RecordDecls to ASTRecordLayouts.
   ///
   /// This is lazily created.  This is intentionally not serialized.
   mutable llvm::DenseMap<const RecordDecl*, const ASTRecordLayout*>
@@ -221,35 +221,35 @@ class ASTContext : public RefCountedBase
   mutable llvm::DenseMap<const ObjCContainerDecl*, const ASTRecordLayout*>
     ObjCLayouts;
 
-  /// \brief A cache from types to size and alignment information.
+  /// A cache from types to size and alignment information.
   using TypeInfoMap = llvm::DenseMap<const Type *, struct TypeInfo>;
   mutable TypeInfoMap MemoizedTypeInfo;
 
-  /// \brief A cache mapping from CXXRecordDecls to key functions.
+  /// A cache mapping from CXXRecordDecls to key functions.
   llvm::DenseMap<const CXXRecordDecl*, LazyDeclPtr> KeyFunctions;
 
-  /// \brief Mapping from ObjCContainers to their ObjCImplementations.
+  /// Mapping from ObjCContainers to their ObjCImplementations.
   llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*> ObjCImpls;
 
-  /// \brief Mapping from ObjCMethod to its duplicate declaration in the same
+  /// Mapping from ObjCMethod to its duplicate declaration in the same
   /// interface.
   llvm::DenseMap<const ObjCMethodDecl*,const ObjCMethodDecl*> ObjCMethodRedecls;
 
-  /// \brief Mapping from __block VarDecls to their copy initialization expr.
+  /// Mapping from __block VarDecls to their copy initialization expr.
   llvm::DenseMap<const VarDecl*, Expr*> BlockVarCopyInits;
 
-  /// \brief Mapping from class scope functions specialization to their
+  /// Mapping from class scope functions specialization to their
   /// template patterns.
   llvm::DenseMap<const FunctionDecl*, FunctionDecl*>
     ClassScopeSpecializationPattern;
 
-  /// \brief Mapping from materialized temporaries with static storage duration
+  /// Mapping from materialized temporaries with static storage duration
   /// that appear in constant initializers to their evaluated values.  These are
   /// allocated in a std::map because their address must be stable.
   llvm::DenseMap<const MaterializeTemporaryExpr *, APValue *>
     MaterializedTemporaryValues;
 
-  /// \brief Representation of a "canonical" template template parameter that
+  /// Representation of a "canonical" template template parameter that
   /// is used in canonical template names.
   class CanonicalTemplateTemplateParm : public llvm::FoldingSetNode {
     TemplateTemplateParmDecl *Parm;
@@ -271,32 +271,32 @@ class ASTContext : public RefCountedBase
   TemplateTemplateParmDecl *
     getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP) const;
 
-  /// \brief The typedef for the __int128_t type.
+  /// The typedef for the __int128_t type.
   mutable TypedefDecl *Int128Decl = nullptr;
 
-  /// \brief The typedef for the __uint128_t type.
+  /// The typedef for the __uint128_t type.
   mutable TypedefDecl *UInt128Decl = nullptr;
 
-  /// \brief The typedef for the target specific predefined
+  /// The typedef for the target specific predefined
   /// __builtin_va_list type.
   mutable TypedefDecl *BuiltinVaListDecl = nullptr;
 
   /// The typedef for the predefined \c __builtin_ms_va_list type.
   mutable TypedefDecl *BuiltinMSVaListDecl = nullptr;
 
-  /// \brief The typedef for the predefined \c id type.
+  /// The typedef for the predefined \c id type.
   mutable TypedefDecl *ObjCIdDecl = nullptr;
 
-  /// \brief The typedef for the predefined \c SEL type.
+  /// The typedef for the predefined \c SEL type.
   mutable TypedefDecl *ObjCSelDecl = nullptr;
 
-  /// \brief The typedef for the predefined \c Class type.
+  /// The typedef for the predefined \c Class type.
   mutable TypedefDecl *ObjCClassDecl = nullptr;
 
-  /// \brief The typedef for the predefined \c Protocol class in Objective-C.
+  /// The typedef for the predefined \c Protocol class in Objective-C.
   mutable ObjCInterfaceDecl *ObjCProtocolClassDecl = nullptr;
 
-  /// \brief The typedef for the predefined 'BOOL' type.
+  /// The typedef for the predefined 'BOOL' type.
   mutable TypedefDecl *BOOLDecl = nullptr;
 
   // Typedefs which may be provided defining the structure of Objective-C
@@ -328,53 +328,53 @@ class ASTContext : public RefCountedBase
 
   QualType ObjCNSStringType;
 
-  /// \brief The typedef declaration for the Objective-C "instancetype" type.
+  /// The typedef declaration for the Objective-C "instancetype" type.
   TypedefDecl *ObjCInstanceTypeDecl = nullptr;
 
-  /// \brief The type for the C FILE type.
+  /// The type for the C FILE type.
   TypeDecl *FILEDecl = nullptr;
 
-  /// \brief The type for the C jmp_buf type.
+  /// The type for the C jmp_buf type.
   TypeDecl *jmp_bufDecl = nullptr;
 
-  /// \brief The type for the C sigjmp_buf type.
+  /// The type for the C sigjmp_buf type.
   TypeDecl *sigjmp_bufDecl = nullptr;
 
-  /// \brief The type for the C ucontext_t type.
+  /// The type for the C ucontext_t type.
   TypeDecl *ucontext_tDecl = nullptr;
 
-  /// \brief Type for the Block descriptor for Blocks CodeGen.
+  /// Type for the Block descriptor for Blocks CodeGen.
   ///
   /// Since this is only used for generation of debug info, it is not
   /// serialized.
   mutable RecordDecl *BlockDescriptorType = nullptr;
 
-  /// \brief Type for the Block descriptor for Blocks CodeGen.
+  /// Type for the Block descriptor for Blocks CodeGen.
   ///
   /// Since this is only used for generation of debug info, it is not
   /// serialized.
   mutable RecordDecl *BlockDescriptorExtendedType = nullptr;
 
-  /// \brief Declaration for the CUDA cudaConfigureCall function.
+  /// Declaration for the CUDA cudaConfigureCall function.
   FunctionDecl *cudaConfigureCallDecl = nullptr;
 
-  /// \brief Keeps track of all declaration attributes.
+  /// Keeps track of all declaration attributes.
   ///
   /// Since so few decls have attrs, we keep them in a hash map instead of
   /// wasting space in the Decl class.
   llvm::DenseMap<const Decl*, AttrVec*> DeclAttrs;
 
-  /// \brief A mapping from non-redeclarable declarations in modules that were
+  /// A mapping from non-redeclarable declarations in modules that were
   /// merged with other declarations to the canonical declaration that they were
   /// merged into.
   llvm::DenseMap<Decl*, Decl*> MergedDecls;
 
-  /// \brief A mapping from a defining declaration to a list of modules (other
+  /// A mapping from a defining declaration to a list of modules (other
   /// than the owning module of the declaration) that contain merged
   /// definitions of that entity.
   llvm::DenseMap<NamedDecl*, llvm::TinyPtrVector<Module*>> MergedDefModules;
 
-  /// \brief Initializers for a module, in order. Each Decl will be either
+  /// Initializers for a module, in order. Each Decl will be either
   /// something that has a semantic effect on startup (such as a variable with
   /// a non-constant initializer), or an ImportDecl (which recursively triggers
   /// initialization of another module).
@@ -389,7 +389,7 @@ class ASTContext : public RefCountedBase
   ASTContext &this_() { return *this; }
 
 public:
-  /// \brief A type synonym for the TemplateOrInstantiation mapping.
+  /// A type synonym for the TemplateOrInstantiation mapping.
   using TemplateOrSpecializationInfo =
       llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>;
 
@@ -399,7 +399,7 @@ private:
   friend class ASTWriter;
   friend class CXXRecordDecl;
 
-  /// \brief A mapping to contain the template or declaration that
+  /// A mapping to contain the template or declaration that
   /// a variable declaration describes or was instantiated from,
   /// respectively.
   ///
@@ -432,7 +432,7 @@ private:
   llvm::DenseMap<const VarDecl *, TemplateOrSpecializationInfo>
   TemplateOrInstantiation;
 
-  /// \brief Keeps track of the declaration from which a using declaration was
+  /// Keeps track of the declaration from which a using declaration was
   /// created during instantiation.
   ///
   /// The source and target declarations are always a UsingDecl, an
@@ -462,7 +462,7 @@ private:
 
   llvm::DenseMap<FieldDecl *, FieldDecl *> InstantiatedFromUnnamedFieldDecl;
 
-  /// \brief Mapping that stores the methods overridden by a given C++
+  /// Mapping that stores the methods overridden by a given C++
   /// member function.
   ///
   /// Since most C++ member functions aren't virtual and therefore
@@ -471,18 +471,18 @@ private:
   using CXXMethodVector = llvm::TinyPtrVector<const CXXMethodDecl *>;
   llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
 
-  /// \brief Mapping from each declaration context to its corresponding
+  /// Mapping from each declaration context to its corresponding
   /// mangling numbering context (used for constructs like lambdas which
   /// need to be consistently numbered for the mangler).
   llvm::DenseMap<const DeclContext *, std::unique_ptr<MangleNumberingContext>>
       MangleNumberingContexts;
 
-  /// \brief Side-table of mangling numbers for declarations which rarely
+  /// Side-table of mangling numbers for declarations which rarely
   /// need them (like static local vars).
   llvm::MapVector<const NamedDecl *, unsigned> MangleNumbers;
   llvm::MapVector<const VarDecl *, unsigned> StaticLocalNumbers;
 
-  /// \brief Mapping that stores parameterIndex values for ParmVarDecls when
+  /// Mapping that stores parameterIndex values for ParmVarDecls when
   /// that value exceeds the bitfield size of ParmVarDeclBits.ParameterIndex.
   using ParameterIndexTable = llvm::DenseMap<const VarDecl *, unsigned>;
   ParameterIndexTable ParamIndices;
@@ -495,38 +495,38 @@ private:
   mutable BuiltinTemplateDecl *MakeIntegerSeqDecl = nullptr;
   mutable BuiltinTemplateDecl *TypePackElementDecl = nullptr;
 
-  /// \brief The associated SourceManager object.
+  /// The associated SourceManager object.
   SourceManager &SourceMgr;
 
-  /// \brief The language options used to create the AST associated with
+  /// The language options used to create the AST associated with
   ///  this ASTContext object.
   LangOptions &LangOpts;
 
-  /// \brief Blacklist object that is used by sanitizers to decide which
+  /// Blacklist object that is used by sanitizers to decide which
   /// entities should not be instrumented.
   std::unique_ptr<SanitizerBlacklist> SanitizerBL;
 
-  /// \brief Function filtering mechanism to determine whether a given function
+  /// Function filtering mechanism to determine whether a given function
   /// should be imbued with the XRay "always" or "never" attributes.
   std::unique_ptr<XRayFunctionFilter> XRayFilter;
 
-  /// \brief The allocator used to create AST objects.
+  /// The allocator used to create AST objects.
   ///
   /// AST objects are never destructed; rather, all memory associated with the
   /// AST objects will be released when the ASTContext itself is destroyed.
   mutable llvm::BumpPtrAllocator BumpAlloc;
 
-  /// \brief Allocator for partial diagnostics.
+  /// Allocator for partial diagnostics.
   PartialDiagnostic::StorageAllocator DiagAllocator;
 
-  /// \brief The current C++ ABI.
+  /// The current C++ ABI.
   std::unique_ptr<CXXABI> ABI;
   CXXABI *createCXXABI(const TargetInfo &T);
 
-  /// \brief The logical -> physical address space map.
+  /// The logical -> physical address space map.
   const LangASMap *AddrSpaceMap = nullptr;
 
-  /// \brief Address space map mangling must be used with language specific
+  /// Address space map mangling must be used with language specific
   /// address spaces (e.g. OpenCL/CUDA)
   bool AddrSpaceMapMangling;
 
@@ -542,10 +542,10 @@ public:
   IntrusiveRefCntPtr<ExternalASTSource> ExternalSource;
   ASTMutationListener *Listener = nullptr;
 
-  /// \brief Contains parents of a node.
+  /// Contains parents of a node.
   using ParentVector = llvm::SmallVector<ast_type_traits::DynTypedNode, 2>;
 
-  /// \brief Maps from a node to its parents. This is used for nodes that have
+  /// Maps from a node to its parents. This is used for nodes that have
   /// pointer identity only, which are more common and we can save space by
   /// only storing a unique pointer to them.
   using ParentMapPointers =
@@ -603,7 +603,7 @@ public:
     }
   };
 
-  /// \brief Returns the parents of the given node.
+  /// Returns the parents of the given node.
   ///
   /// Note that this will lazily compute the parents of all nodes
   /// and store them for later retrieval. Thus, the first call is O(n)
@@ -702,10 +702,10 @@ public:
     return FullSourceLoc(Loc,SourceMgr);
   }
 
-  /// \brief All comments in this translation unit.
+  /// All comments in this translation unit.
   RawCommentList Comments;
 
-  /// \brief True if comments are already loaded from ExternalASTSource.
+  /// True if comments are already loaded from ExternalASTSource.
   mutable bool CommentsLoaded = false;
 
   class RawCommentAndCacheFlags {
@@ -762,18 +762,18 @@ public:
     const Decl *OriginalDecl;
   };
 
-  /// \brief Mapping from declarations to comments attached to any
+  /// Mapping from declarations to comments attached to any
   /// redeclaration.
   ///
   /// Raw comments are owned by Comments list.  This mapping is populated
   /// lazily.
   mutable llvm::DenseMap<const Decl *, RawCommentAndCacheFlags> RedeclComments;
 
-  /// \brief Mapping from declarations to parsed comments attached to any
+  /// Mapping from declarations to parsed comments attached to any
   /// redeclaration.
   mutable llvm::DenseMap<const Decl *, comments::FullComment *> ParsedComments;
 
-  /// \brief Return the documentation comment attached to a given declaration,
+  /// Return the documentation comment attached to a given declaration,
   /// without looking into cache.
   RawComment *getRawCommentForDeclNoCache(const Decl *D) const;
 
@@ -788,7 +788,7 @@ public:
     Comments.addComment(RC, LangOpts.CommentOpts, BumpAlloc);
   }
 
-  /// \brief Return the documentation comment attached to a given declaration.
+  /// Return the documentation comment attached to a given declaration.
   /// Returns nullptr if no comment is attached.
   ///
   /// \param OriginalDecl if not nullptr, is set to declaration AST node that
@@ -816,7 +816,7 @@ public:
 private:
   mutable comments::CommandTraits CommentCommandTraits;
 
-  /// \brief Iterator that visits import declarations.
+  /// Iterator that visits import declarations.
   class import_iterator {
     ImportDecl *Import = nullptr;
 
@@ -858,13 +858,13 @@ public:
     return CommentCommandTraits;
   }
 
-  /// \brief Retrieve the attributes for the given declaration.
+  /// Retrieve the attributes for the given declaration.
   AttrVec& getDeclAttrs(const Decl *D);
 
-  /// \brief Erase the attributes corresponding to the given declaration.
+  /// Erase the attributes corresponding to the given declaration.
   void eraseDeclAttrs(const Decl *D);
 
-  /// \brief If this variable is an instantiated static data member of a
+  /// If this variable is an instantiated static data member of a
   /// class template specialization, returns the templated static data member
   /// from which it was instantiated.
   // FIXME: Remove ?
@@ -879,7 +879,7 @@ public:
   void setClassScopeSpecializationPattern(FunctionDecl *FD,
                                           FunctionDecl *Pattern);
 
-  /// \brief Note that the static data member \p Inst is an instantiation of
+  /// Note that the static data member \p Inst is an instantiation of
   /// the static data member template \p Tmpl of a class template.
   void setInstantiatedFromStaticDataMember(VarDecl *Inst, VarDecl *Tmpl,
                                            TemplateSpecializationKind TSK,
@@ -888,12 +888,12 @@ public:
   void setTemplateOrSpecializationInfo(VarDecl *Inst,
                                        TemplateOrSpecializationInfo TSI);
 
-  /// \brief If the given using decl \p Inst is an instantiation of a
+  /// If the given using decl \p Inst is an instantiation of a
   /// (possibly unresolved) using decl from a template instantiation,
   /// return it.
   NamedDecl *getInstantiatedFromUsingDecl(NamedDecl *Inst);
 
-  /// \brief Remember that the using decl \p Inst is an instantiation
+  /// Remember that the using decl \p Inst is an instantiation
   /// of the using decl \p Pattern of a class template.
   void setInstantiatedFromUsingDecl(NamedDecl *Inst, NamedDecl *Pattern);
 
@@ -920,12 +920,12 @@ public:
 
   overridden_method_range overridden_methods(const CXXMethodDecl *Method) const;
 
-  /// \brief Note that the given C++ \p Method overrides the given \p
+  /// Note that the given C++ \p Method overrides the given \p
   /// Overridden method.
   void addOverriddenMethod(const CXXMethodDecl *Method,
                            const CXXMethodDecl *Overridden);
 
-  /// \brief Return C++ or ObjC overridden methods for the given \p Method.
+  /// Return C++ or ObjC overridden methods for the given \p Method.
   ///
   /// An ObjC method is considered to override any method in the class's
   /// base classes, its protocols, or its categories' protocols, that has
@@ -936,7 +936,7 @@ public:
                         const NamedDecl *Method,
                         SmallVectorImpl<const NamedDecl *> &Overridden) const;
 
-  /// \brief Notify the AST context that a new import declaration has been
+  /// Notify the AST context that a new import declaration has been
   /// parsed or implicitly created within this translation unit.
   void addedLocalImportDecl(ImportDecl *Import);
 
@@ -958,16 +958,16 @@ public:
     MergedDecls[D] = Primary;
   }
 
-  /// \brief Note that the definition \p ND has been merged into module \p M,
+  /// Note that the definition \p ND has been merged into module \p M,
   /// and should be visible whenever \p M is visible.
   void mergeDefinitionIntoModule(NamedDecl *ND, Module *M,
                                  bool NotifyListeners = true);
 
-  /// \brief Clean up the merged definition list. Call this if you might have
+  /// Clean up the merged definition list. Call this if you might have
   /// added duplicates into the list.
   void deduplicateMergedDefinitonsFor(NamedDecl *ND);
 
-  /// \brief Get the additional modules in which the definition \p Def has
+  /// Get the additional modules in which the definition \p Def has
   /// been merged.
   ArrayRef<Module*> getModulesWithMergedDefinition(const NamedDecl *Def) {
     auto MergedIt = MergedDefModules.find(Def);
@@ -1038,20 +1038,20 @@ public:
   ASTContext &operator=(const ASTContext &) = delete;
   ~ASTContext();
 
-  /// \brief Attach an external AST source to the AST context.
+  /// Attach an external AST source to the AST context.
   ///
   /// The external AST source provides the ability to load parts of
   /// the abstract syntax tree as needed from some external storage,
   /// e.g., a precompiled header.
   void setExternalSource(IntrusiveRefCntPtr<ExternalASTSource> Source);
 
-  /// \brief Retrieve a pointer to the external AST source associated
+  /// Retrieve a pointer to the external AST source associated
   /// with this AST context, if any.
   ExternalASTSource *getExternalSource() const {
     return ExternalSource.get();
   }
 
-  /// \brief Attach an AST mutation listener to the AST context.
+  /// Attach an AST mutation listener to the AST context.
   ///
   /// The AST mutation listener provides the ability to track modifications to
   /// the abstract syntax tree entities committed after they were initially
@@ -1060,7 +1060,7 @@ public:
     this->Listener = Listener;
   }
 
-  /// \brief Retrieve a pointer to the AST mutation listener associated
+  /// Retrieve a pointer to the AST mutation listener associated
   /// with this AST context, if any.
   ASTMutationListener *getASTMutationListener() const { return Listener; }
 
@@ -1070,18 +1070,18 @@ public:
   BuiltinTemplateDecl *buildBuiltinTemplateDecl(BuiltinTemplateKind BTK,
                                                 const IdentifierInfo *II) const;
 
-  /// \brief Create a new implicit TU-level CXXRecordDecl or RecordDecl
+  /// Create a new implicit TU-level CXXRecordDecl or RecordDecl
   /// declaration.
   RecordDecl *buildImplicitRecord(StringRef Name,
                                   RecordDecl::TagKind TK = TTK_Struct) const;
 
-  /// \brief Create a new implicit TU-level typedef declaration.
+  /// Create a new implicit TU-level typedef declaration.
   TypedefDecl *buildImplicitTypedef(QualType T, StringRef Name) const;
 
-  /// \brief Retrieve the declaration for the 128-bit signed integer type.
+  /// Retrieve the declaration for the 128-bit signed integer type.
   TypedefDecl *getInt128Decl() const;
 
-  /// \brief Retrieve the declaration for the 128-bit unsigned integer type.
+  /// Retrieve the declaration for the 128-bit unsigned integer type.
   TypedefDecl *getUInt128Decl() const;
 
   //===--------------------------------------------------------------------===//
@@ -1089,7 +1089,7 @@ public:
   //===--------------------------------------------------------------------===//
 
 private:
-  /// \brief Return a type with extended qualifiers.
+  /// Return a type with extended qualifiers.
   QualType getExtQualType(const Type *Base, Qualifiers Quals) const;
 
   QualType getTypeDeclTypeSlow(const TypeDecl *Decl) const;
@@ -1097,7 +1097,7 @@ private:
   QualType getPipeType(QualType T, bool ReadOnly) const;
 
 public:
-  /// \brief Return the uniqued reference to the type for an address space
+  /// Return the uniqued reference to the type for an address space
   /// qualified type with the specified type and address space.
   ///
   /// The resulting type has a union of the qualifiers from T and the address
@@ -1105,14 +1105,14 @@ public:
   /// replaced.
   QualType getAddrSpaceQualType(QualType T, LangAS AddressSpace) const;
 
-  /// \brief Remove any existing address space on the type and returns the type
+  /// Remove any existing address space on the type and returns the type
   /// with qualifiers intact (or that's the idea anyway)
   ///
   /// The return type should be T with all prior qualifiers minus the address
   /// space.
   QualType removeAddrSpaceQualType(QualType T) const;
 
-  /// \brief Apply Objective-C protocol qualifiers to the given type.
+  /// Apply Objective-C protocol qualifiers to the given type.
   /// \param allowOnPointerType specifies if we can apply protocol
   /// qualifiers on ObjCObjectPointerType. It can be set to true when
   /// constructing the canonical type of a Objective-C type parameter.
@@ -1120,14 +1120,14 @@ public:
       ArrayRef<ObjCProtocolDecl *> protocols, bool &hasError,
       bool allowOnPointerType = false) const;
 
-  /// \brief Return the uniqued reference to the type for an Objective-C
+  /// Return the uniqued reference to the type for an Objective-C
   /// gc-qualified type.
   ///
   /// The retulting type has a union of the qualifiers from T and the gc
   /// attribute.
   QualType getObjCGCQualType(QualType T, Qualifiers::GC gcAttr) const;
 
-  /// \brief Return the uniqued reference to the type for a \c restrict
+  /// Return the uniqued reference to the type for a \c restrict
   /// qualified type.
   ///
   /// The resulting type has a union of the qualifiers from \p T and
@@ -1136,7 +1136,7 @@ public:
     return T.withFastQualifiers(Qualifiers::Restrict);
   }
 
-  /// \brief Return the uniqued reference to the type for a \c volatile
+  /// Return the uniqued reference to the type for a \c volatile
   /// qualified type.
   ///
   /// The resulting type has a union of the qualifiers from \p T and
@@ -1145,7 +1145,7 @@ public:
     return T.withFastQualifiers(Qualifiers::Volatile);
   }
 
-  /// \brief Return the uniqued reference to the type for a \c const
+  /// Return the uniqued reference to the type for a \c const
   /// qualified type.
   ///
   /// The resulting type has a union of the qualifiers from \p T and \c const.
@@ -1154,14 +1154,14 @@ public:
   /// calling T.withConst().
   QualType getConstType(QualType T) const { return T.withConst(); }
 
-  /// \brief Change the ExtInfo on a function type.
+  /// Change the ExtInfo on a function type.
   const FunctionType *adjustFunctionType(const FunctionType *Fn,
                                          FunctionType::ExtInfo EInfo);
 
   /// Adjust the given function result type.
   CanQualType getCanonicalFunctionResultType(QualType ResultType) const;
 
-  /// \brief Change the result type of a function type once it is deduced.
+  /// Change the result type of a function type once it is deduced.
   void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType);
 
   /// Get a function type and produce the equivalent function type with the
@@ -1171,11 +1171,11 @@ public:
   QualType getFunctionTypeWithExceptionSpec(
       QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI);
 
-  /// \brief Determine whether two function types are the same, ignoring
+  /// Determine whether two function types are the same, ignoring
   /// exception specifications in cases where they're part of the type.
   bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U);
 
-  /// \brief Change the exception specification on a function once it is
+  /// Change the exception specification on a function once it is
   /// delay-parsed, instantiated, or computed.
   void adjustExceptionSpec(FunctionDecl *FD,
                            const FunctionProtoType::ExceptionSpecInfo &ESI,
@@ -1185,21 +1185,21 @@ public:
   /// callee function.
   bool isParamDestroyedInCallee(QualType T) const;
 
-  /// \brief Return the uniqued reference to the type for a complex
+  /// Return the uniqued reference to the type for a complex
   /// number with the specified element type.
   QualType getComplexType(QualType T) const;
   CanQualType getComplexType(CanQualType T) const {
     return CanQualType::CreateUnsafe(getComplexType((QualType) T));
   }
 
-  /// \brief Return the uniqued reference to the type for a pointer to
+  /// Return the uniqued reference to the type for a pointer to
   /// the specified type.
   QualType getPointerType(QualType T) const;
   CanQualType getPointerType(CanQualType T) const {
     return CanQualType::CreateUnsafe(getPointerType((QualType) T));
   }
 
-  /// \brief Return the uniqued reference to a type adjusted from the original
+  /// Return the uniqued reference to a type adjusted from the original
   /// type to a new type.
   QualType getAdjustedType(QualType Orig, QualType New) const;
   CanQualType getAdjustedType(CanQualType Orig, CanQualType New) const {
@@ -1207,7 +1207,7 @@ public:
         getAdjustedType((QualType)Orig, (QualType)New));
   }
 
-  /// \brief Return the uniqued reference to the decayed version of the given
+  /// Return the uniqued reference to the decayed version of the given
   /// type.  Can only be called on array and function types which decay to
   /// pointer types.
   QualType getDecayedType(QualType T) const;
@@ -1215,11 +1215,11 @@ public:
     return CanQualType::CreateUnsafe(getDecayedType((QualType) T));
   }
 
-  /// \brief Return the uniqued reference to the atomic type for the specified
+  /// Return the uniqued reference to the atomic type for the specified
   /// type.
   QualType getAtomicType(QualType T) const;
 
-  /// \brief Return the uniqued reference to the type for a block of the
+  /// Return the uniqued reference to the type for a block of the
   /// specified type.
   QualType getBlockPointerType(QualType T) const;
 
@@ -1227,10 +1227,10 @@ public:
   /// blocks.
   QualType getBlockDescriptorType() const;
 
-  /// \brief Return a read_only pipe type for the specified type.
+  /// Return a read_only pipe type for the specified type.
   QualType getReadPipeType(QualType T) const;
 
-  /// \brief Return a write_only pipe type for the specified type.
+  /// Return a write_only pipe type for the specified type.
   QualType getWritePipeType(QualType T) const;
 
   /// Gets the struct used to keep track of the extended descriptor for
@@ -1261,29 +1261,29 @@ public:
                         Qualifiers::ObjCLifetime &Lifetime,
                         bool &HasByrefExtendedLayout) const;
 
-  /// \brief Return the uniqued reference to the type for an lvalue reference
+  /// Return the uniqued reference to the type for an lvalue reference
   /// to the specified type.
   QualType getLValueReferenceType(QualType T, bool SpelledAsLValue = true)
     const;
 
-  /// \brief Return the uniqued reference to the type for an rvalue reference
+  /// Return the uniqued reference to the type for an rvalue reference
   /// to the specified type.
   QualType getRValueReferenceType(QualType T) const;
 
-  /// \brief Return the uniqued reference to the type for a member pointer to
+  /// Return the uniqued reference to the type for a member pointer to
   /// the specified type in the specified class.
   ///
   /// The class \p Cls is a \c Type because it could be a dependent name.
   QualType getMemberPointerType(QualType T, const Type *Cls) const;
 
-  /// \brief Return a non-unique reference to the type for a variable array of
+  /// Return a non-unique reference to the type for a variable array of
   /// the specified element type.
   QualType getVariableArrayType(QualType EltTy, Expr *NumElts,
                                 ArrayType::ArraySizeModifier ASM,
                                 unsigned IndexTypeQuals,
                                 SourceRange Brackets) const;
 
-  /// \brief Return a non-unique reference to the type for a dependently-sized
+  /// Return a non-unique reference to the type for a dependently-sized
   /// array of the specified element type.
   ///
   /// FIXME: We will need these to be uniqued, or at least comparable, at some
@@ -1293,29 +1293,29 @@ public:
                                       unsigned IndexTypeQuals,
                                       SourceRange Brackets) const;
 
-  /// \brief Return a unique reference to the type for an incomplete array of
+  /// Return a unique reference to the type for an incomplete array of
   /// the specified element type.
   QualType getIncompleteArrayType(QualType EltTy,
                                   ArrayType::ArraySizeModifier ASM,
                                   unsigned IndexTypeQuals) const;
 
-  /// \brief Return the unique reference to the type for a constant array of
+  /// Return the unique reference to the type for a constant array of
   /// the specified element type.
   QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize,
                                 ArrayType::ArraySizeModifier ASM,
                                 unsigned IndexTypeQuals) const;
 
-  /// \brief Returns a vla type where known sizes are replaced with [*].
+  /// Returns a vla type where known sizes are replaced with [*].
   QualType getVariableArrayDecayedType(QualType Ty) const;
 
-  /// \brief Return the unique reference to a vector type of the specified
+  /// Return the unique reference to a vector type of the specified
   /// element type and size.
   ///
   /// \pre \p VectorType must be a built-in type.
   QualType getVectorType(QualType VectorType, unsigned NumElts,
                          VectorType::VectorKind VecKind) const;
 
-  /// \brief Return the unique reference to an extended vector type
+  /// Return the unique reference to an extended vector type
   /// of the specified element type and size.
   ///
   /// \pre \p VectorType must be a built-in type.
@@ -1334,7 +1334,7 @@ public:
                                         Expr *AddrSpaceExpr,
                                         SourceLocation AttrLoc) const;
 
-  /// \brief Return a K&R style C function type like 'int()'.
+  /// Return a K&R style C function type like 'int()'.
   QualType getFunctionNoProtoType(QualType ResultTy,
                                   const FunctionType::ExtInfo &Info) const;
 
@@ -1342,20 +1342,20 @@ public:
     return getFunctionNoProtoType(ResultTy, FunctionType::ExtInfo());
   }
 
-  /// \brief Return a normal function type with a typed argument list.
+  /// Return a normal function type with a typed argument list.
   QualType getFunctionType(QualType ResultTy, ArrayRef<QualType> Args,
                            const FunctionProtoType::ExtProtoInfo &EPI) const {
     return getFunctionTypeInternal(ResultTy, Args, EPI, false);
   }
 
 private:
-  /// \brief Return a normal function type with a typed argument list.
+  /// Return a normal function type with a typed argument list.
   QualType getFunctionTypeInternal(QualType ResultTy, ArrayRef<QualType> Args,
                                    const FunctionProtoType::ExtProtoInfo &EPI,
                                    bool OnlyWantCanonical) const;
 
 public:
-  /// \brief Return the unique reference to the type for the specified type
+  /// Return the unique reference to the type for the specified type
   /// declaration.
   QualType getTypeDeclType(const TypeDecl *Decl,
                            const TypeDecl *PrevDecl = nullptr) const {
@@ -1371,7 +1371,7 @@ public:
     return getTypeDeclTypeSlow(Decl);
   }
 
-  /// \brief Return the unique reference to the type for the specified
+  /// Return the unique reference to the type for the specified
   /// typedef-name decl.
   QualType getTypedefType(const TypedefNameDecl *Decl,
                           QualType Canon = QualType()) const;
@@ -1468,105 +1468,105 @@ public:
   bool QIdProtocolsAdoptObjCObjectProtocols(QualType QT,
                                             ObjCInterfaceDecl *IDecl);
 
-  /// \brief Return a ObjCObjectPointerType type for the given ObjCObjectType.
+  /// Return a ObjCObjectPointerType type for the given ObjCObjectType.
   QualType getObjCObjectPointerType(QualType OIT) const;
 
-  /// \brief GCC extension.
+  /// GCC extension.
   QualType getTypeOfExprType(Expr *e) const;
   QualType getTypeOfType(QualType t) const;
 
-  /// \brief C++11 decltype.
+  /// C++11 decltype.
   QualType getDecltypeType(Expr *e, QualType UnderlyingType) const;
 
-  /// \brief Unary type transforms
+  /// Unary type transforms
   QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
                                  UnaryTransformType::UTTKind UKind) const;
 
-  /// \brief C++11 deduced auto type.
+  /// C++11 deduced auto type.
   QualType getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
                        bool IsDependent) const;
 
-  /// \brief C++11 deduction pattern for 'auto' type.
+  /// C++11 deduction pattern for 'auto' type.
   QualType getAutoDeductType() const;
 
-  /// \brief C++11 deduction pattern for 'auto &&' type.
+  /// C++11 deduction pattern for 'auto &&' type.
   QualType getAutoRRefDeductType() const;
 
-  /// \brief C++17 deduced class template specialization type.
+  /// C++17 deduced class template specialization type.
   QualType getDeducedTemplateSpecializationType(TemplateName Template,
                                                 QualType DeducedType,
                                                 bool IsDependent) const;
 
-  /// \brief Return the unique reference to the type for the specified TagDecl
+  /// Return the unique reference to the type for the specified TagDecl
   /// (struct/union/class/enum) decl.
   QualType getTagDeclType(const TagDecl *Decl) const;
 
-  /// \brief Return the unique type for "size_t" (C99 7.17), defined in
+  /// Return the unique type for "size_t" (C99 7.17), defined in
   /// <stddef.h>.
   ///
   /// The sizeof operator requires this (C99 6.5.3.4p4).
   CanQualType getSizeType() const;
 
-  /// \brief Return the unique signed counterpart of 
+  /// Return the unique signed counterpart of 
   /// the integer type corresponding to size_t.
   CanQualType getSignedSizeType() const;
 
-  /// \brief Return the unique type for "intmax_t" (C99 7.18.1.5), defined in
+  /// Return the unique type for "intmax_t" (C99 7.18.1.5), defined in
   /// <stdint.h>.
   CanQualType getIntMaxType() const;
 
-  /// \brief Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in
+  /// Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in
   /// <stdint.h>.
   CanQualType getUIntMaxType() const;
 
-  /// \brief Return the unique wchar_t type available in C++ (and available as
+  /// Return the unique wchar_t type available in C++ (and available as
   /// __wchar_t as a Microsoft extension).
   QualType getWCharType() const { return WCharTy; }
 
-  /// \brief Return the type of wide characters. In C++, this returns the
+  /// Return the type of wide characters. In C++, this returns the
   /// unique wchar_t type. In C99, this returns a type compatible with the type
   /// defined in <stddef.h> as defined by the target.
   QualType getWideCharType() const { return WideCharTy; }
 
-  /// \brief Return the type of "signed wchar_t".
+  /// Return the type of "signed wchar_t".
   ///
   /// Used when in C++, as a GCC extension.
   QualType getSignedWCharType() const;
 
-  /// \brief Return the type of "unsigned wchar_t".
+  /// Return the type of "unsigned wchar_t".
   ///
   /// Used when in C++, as a GCC extension.
   QualType getUnsignedWCharType() const;
 
-  /// \brief In C99, this returns a type compatible with the type
+  /// In C99, this returns a type compatible with the type
   /// defined in <stddef.h> as defined by the target.
   QualType getWIntType() const { return WIntTy; }
 
-  /// \brief Return a type compatible with "intptr_t" (C99 7.18.1.4),
+  /// Return a type compatible with "intptr_t" (C99 7.18.1.4),
   /// as defined by the target.
   QualType getIntPtrType() const;
 
-  /// \brief Return a type compatible with "uintptr_t" (C99 7.18.1.4),
+  /// Return a type compatible with "uintptr_t" (C99 7.18.1.4),
   /// as defined by the target.
   QualType getUIntPtrType() const;
 
-  /// \brief Return the unique type for "ptrdiff_t" (C99 7.17) defined in
+  /// Return the unique type for "ptrdiff_t" (C99 7.17) defined in
   /// <stddef.h>. Pointer - pointer requires this (C99 6.5.6p9).
   QualType getPointerDiffType() const;
 
-  /// \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 getUnsignedPointerDiffType() const;
 
-  /// \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 getProcessIDType() const;
 
-  /// \brief Return the C structure type used to represent constant CFStrings.
+  /// Return the C structure type used to represent constant CFStrings.
   QualType getCFConstantStringType() const;
 
-  /// \brief Returns the C struct type for objc_super
+  /// Returns the C struct type for objc_super
   QualType getObjCSuperType() const;
   void setObjCSuperType(QualType ST) { ObjCSuperType = ST; }
 
@@ -1595,7 +1595,7 @@ public:
     ObjCNSStringType = T;
   }
 
-  /// \brief Retrieve the type that \c id has been defined to, which may be
+  /// Retrieve the type that \c id has been defined to, which may be
   /// different from the built-in \c id if \c id has been typedef'd.
   QualType getObjCIdRedefinitionType() const {
     if (ObjCIdRedefinitionType.isNull())
@@ -1603,12 +1603,12 @@ public:
     return ObjCIdRedefinitionType;
   }
 
-  /// \brief Set the user-written type that redefines \c id.
+  /// Set the user-written type that redefines \c id.
   void setObjCIdRedefinitionType(QualType RedefType) {
     ObjCIdRedefinitionType = RedefType;
   }
 
-  /// \brief Retrieve the type that \c Class has been defined to, which may be
+  /// Retrieve the type that \c Class has been defined to, which may be
   /// different from the built-in \c Class if \c Class has been typedef'd.
   QualType getObjCClassRedefinitionType() const {
     if (ObjCClassRedefinitionType.isNull())
@@ -1616,12 +1616,12 @@ public:
     return ObjCClassRedefinitionType;
   }
 
-  /// \brief Set the user-written type that redefines 'SEL'.
+  /// Set the user-written type that redefines 'SEL'.
   void setObjCClassRedefinitionType(QualType RedefType) {
     ObjCClassRedefinitionType = RedefType;
   }
 
-  /// \brief Retrieve the type that 'SEL' has been defined to, which may be
+  /// Retrieve the type that 'SEL' has been defined to, which may be
   /// different from the built-in 'SEL' if 'SEL' has been typedef'd.
   QualType getObjCSelRedefinitionType() const {
     if (ObjCSelRedefinitionType.isNull())
@@ -1629,7 +1629,7 @@ public:
     return ObjCSelRedefinitionType;
   }
 
-  /// \brief Set the user-written type that redefines 'SEL'.
+  /// Set the user-written type that redefines 'SEL'.
   void setObjCSelRedefinitionType(QualType RedefType) {
     ObjCSelRedefinitionType = RedefType;
   }
@@ -1689,68 +1689,68 @@ public:
     return TypePackElementName;
   }
 
-  /// \brief Retrieve the Objective-C "instancetype" type, if already known;
+  /// Retrieve the Objective-C "instancetype" type, if already known;
   /// otherwise, returns a NULL type;
   QualType getObjCInstanceType() {
     return getTypeDeclType(getObjCInstanceTypeDecl());
   }
 
-  /// \brief Retrieve the typedef declaration corresponding to the Objective-C
+  /// Retrieve the typedef declaration corresponding to the Objective-C
   /// "instancetype" type.
   TypedefDecl *getObjCInstanceTypeDecl();
 
-  /// \brief Set the type for the C FILE type.
+  /// Set the type for the C FILE type.
   void setFILEDecl(TypeDecl *FILEDecl) { this->FILEDecl = FILEDecl; }
 
-  /// \brief Retrieve the C FILE type.
+  /// Retrieve the C FILE type.
   QualType getFILEType() const {
     if (FILEDecl)
       return getTypeDeclType(FILEDecl);
     return QualType();
   }
 
-  /// \brief Set the type for the C jmp_buf type.
+  /// Set the type for the C jmp_buf type.
   void setjmp_bufDecl(TypeDecl *jmp_bufDecl) {
     this->jmp_bufDecl = jmp_bufDecl;
   }
 
-  /// \brief Retrieve the C jmp_buf type.
+  /// Retrieve the C jmp_buf type.
   QualType getjmp_bufType() const {
     if (jmp_bufDecl)
       return getTypeDeclType(jmp_bufDecl);
     return QualType();
   }
 
-  /// \brief Set the type for the C sigjmp_buf type.
+  /// Set the type for the C sigjmp_buf type.
   void setsigjmp_bufDecl(TypeDecl *sigjmp_bufDecl) {
     this->sigjmp_bufDecl = sigjmp_bufDecl;
   }
 
-  /// \brief Retrieve the C sigjmp_buf type.
+  /// Retrieve the C sigjmp_buf type.
   QualType getsigjmp_bufType() const {
     if (sigjmp_bufDecl)
       return getTypeDeclType(sigjmp_bufDecl);
     return QualType();
   }
 
-  /// \brief Set the type for the C ucontext_t type.
+  /// Set the type for the C ucontext_t type.
   void setucontext_tDecl(TypeDecl *ucontext_tDecl) {
     this->ucontext_tDecl = ucontext_tDecl;
   }
 
-  /// \brief Retrieve the C ucontext_t type.
+  /// Retrieve the C ucontext_t type.
   QualType getucontext_tType() const {
     if (ucontext_tDecl)
       return getTypeDeclType(ucontext_tDecl);
     return QualType();
   }
 
-  /// \brief The result type of logical operations, '<', '>', '!=', etc.
+  /// The result type of logical operations, '<', '>', '!=', etc.
   QualType getLogicalOperationType() const {
     return getLangOpts().CPlusPlus ? BoolTy : IntTy;
   }
 
-  /// \brief Emit the Objective-CC type encoding for the given type \p T into
+  /// Emit the Objective-CC type encoding for the given type \p T into
   /// \p S.
   ///
   /// If \p Field is specified then record field names are also encoded.
@@ -1758,17 +1758,17 @@ public:
                               const FieldDecl *Field=nullptr,
                               QualType *NotEncodedT=nullptr) const;
 
-  /// \brief Emit the Objective-C property type encoding for the given
+  /// Emit the Objective-C property type encoding for the given
   /// type \p T into \p S.
   void getObjCEncodingForPropertyType(QualType T, std::string &S) const;
 
   void getLegacyIntegralTypeEncoding(QualType &t) const;
 
-  /// \brief Put the string version of the type qualifiers \p QT into \p S.
+  /// Put the string version of the type qualifiers \p QT into \p S.
   void getObjCEncodingForTypeQualifier(Decl::ObjCDeclQualifier QT,
                                        std::string &S) const;
 
-  /// \brief Emit the encoded type for the function \p Decl into \p S.
+  /// Emit the encoded type for the function \p Decl into \p S.
   ///
   /// This is in the same format as Objective-C method encodings.
   ///
@@ -1776,12 +1776,12 @@ public:
   /// types is incomplete), false otherwise.
   std::string getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const;
 
-  /// \brief Emit the encoded type for the method declaration \p Decl into
+  /// Emit the encoded type for the method declaration \p Decl into
   /// \p S.
   std::string getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl,
                                            bool Extended = false) const;
 
-  /// \brief Return the encoded type for this block declaration.
+  /// Return the encoded type for this block declaration.
   std::string getObjCEncodingForBlock(const BlockExpr *blockExpr) const;
 
   /// getObjCEncodingForPropertyDecl - Return the encoded type for
@@ -1798,15 +1798,15 @@ public:
                                                   const ObjCPropertyDecl *PD,
                                                   const Decl *Container) const;
 
-  /// \brief Return the size of type \p T for Objective-C encoding purpose,
+  /// Return the size of type \p T for Objective-C encoding purpose,
   /// in characters.
   CharUnits getObjCEncodingTypeSize(QualType T) const;
 
-  /// \brief Retrieve the typedef corresponding to the predefined \c id type
+  /// Retrieve the typedef corresponding to the predefined \c id type
   /// in Objective-C.
   TypedefDecl *getObjCIdDecl() const;
 
-  /// \brief Represents the Objective-CC \c id type.
+  /// Represents the Objective-CC \c id type.
   ///
   /// This is set up lazily, by Sema.  \c id is always a (typedef for a)
   /// pointer type, a pointer to a struct.
@@ -1814,21 +1814,21 @@ public:
     return getTypeDeclType(getObjCIdDecl());
   }
 
-  /// \brief Retrieve the typedef corresponding to the predefined 'SEL' type
+  /// Retrieve the typedef corresponding to the predefined 'SEL' type
   /// in Objective-C.
   TypedefDecl *getObjCSelDecl() const;
 
-  /// \brief Retrieve the type that corresponds to the predefined Objective-C
+  /// Retrieve the type that corresponds to the predefined Objective-C
   /// 'SEL' type.
   QualType getObjCSelType() const {
     return getTypeDeclType(getObjCSelDecl());
   }
 
-  /// \brief Retrieve the typedef declaration corresponding to the predefined
+  /// Retrieve the typedef declaration corresponding to the predefined
   /// Objective-C 'Class' type.
   TypedefDecl *getObjCClassDecl() const;
 
-  /// \brief Represents the Objective-C \c Class type.
+  /// Represents the Objective-C \c Class type.
   ///
   /// This is set up lazily, by Sema.  \c Class is always a (typedef for a)
   /// pointer type, a pointer to a struct.
@@ -1836,40 +1836,40 @@ public:
     return getTypeDeclType(getObjCClassDecl());
   }
 
-  /// \brief Retrieve the Objective-C class declaration corresponding to
+  /// Retrieve the Objective-C class declaration corresponding to
   /// the predefined \c Protocol class.
   ObjCInterfaceDecl *getObjCProtocolDecl() const;
 
-  /// \brief Retrieve declaration of 'BOOL' typedef
+  /// Retrieve declaration of 'BOOL' typedef
   TypedefDecl *getBOOLDecl() const {
     return BOOLDecl;
   }
 
-  /// \brief Save declaration of 'BOOL' typedef
+  /// Save declaration of 'BOOL' typedef
   void setBOOLDecl(TypedefDecl *TD) {
     BOOLDecl = TD;
   }
 
-  /// \brief type of 'BOOL' type.
+  /// type of 'BOOL' type.
   QualType getBOOLType() const {
     return getTypeDeclType(getBOOLDecl());
   }
 
-  /// \brief Retrieve the type of the Objective-C \c Protocol class.
+  /// Retrieve the type of the Objective-C \c Protocol class.
   QualType getObjCProtoType() const {
     return getObjCInterfaceType(getObjCProtocolDecl());
   }
 
-  /// \brief Retrieve the C type declaration corresponding to the predefined
+  /// Retrieve the C type declaration corresponding to the predefined
   /// \c __builtin_va_list type.
   TypedefDecl *getBuiltinVaListDecl() const;
 
-  /// \brief Retrieve the type of the \c __builtin_va_list type.
+  /// Retrieve the type of the \c __builtin_va_list type.
   QualType getBuiltinVaListType() const {
     return getTypeDeclType(getBuiltinVaListDecl());
   }
 
-  /// \brief Retrieve the C type declaration corresponding to the predefined
+  /// Retrieve the C type declaration corresponding to the predefined
   /// \c __va_list_tag type used to help define the \c __builtin_va_list type
   /// for some targets.
   Decl *getVaListTagDecl() const;
@@ -1887,18 +1887,18 @@ public:
   /// overloaded/redeclared.
   bool canBuiltinBeRedeclared(const FunctionDecl *) const;
 
-  /// \brief Return a type with additional \c const, \c volatile, or
+  /// Return a type with additional \c const, \c volatile, or
   /// \c restrict qualifiers.
   QualType getCVRQualifiedType(QualType T, unsigned CVR) const {
     return getQualifiedType(T, Qualifiers::fromCVRMask(CVR));
   }
 
-  /// \brief Un-split a SplitQualType.
+  /// Un-split a SplitQualType.
   QualType getQualifiedType(SplitQualType split) const {
     return getQualifiedType(split.Ty, split.Quals);
   }
 
-  /// \brief Return a type with additional qualifiers.
+  /// Return a type with additional qualifiers.
   QualType getQualifiedType(QualType T, Qualifiers Qs) const {
     if (!Qs.hasNonFastQualifiers())
       return T.withFastQualifiers(Qs.getFastQualifiers());
@@ -1907,14 +1907,14 @@ public:
     return getExtQualType(Ptr, Qc);
   }
 
-  /// \brief Return a type with additional qualifiers.
+  /// Return a type with additional qualifiers.
   QualType getQualifiedType(const Type *T, Qualifiers Qs) const {
     if (!Qs.hasNonFastQualifiers())
       return QualType(T, Qs.getFastQualifiers());
     return getExtQualType(T, Qs);
   }
 
-  /// \brief Return a type with the given lifetime qualifier.
+  /// Return a type with the given lifetime qualifier.
   ///
   /// \pre Neither type.ObjCLifetime() nor \p lifetime may be \c OCL_None.
   QualType getLifetimeQualifiedType(QualType type,
@@ -1971,7 +1971,7 @@ public:
     GE_Missing_ucontext
   };
 
-  /// \brief Return the type for the specified builtin.
+  /// Return the type for the specified builtin.
   ///
   /// If \p IntegerConstantArgs is non-null, it is filled in with a bitmask of
   /// arguments to the builtin that are required to be integer constant
@@ -1992,18 +1992,18 @@ private:
   //===--------------------------------------------------------------------===//
 
 public:
-  /// \brief Return one of the GCNone, Weak or Strong Objective-C garbage
+  /// Return one of the GCNone, Weak or Strong Objective-C garbage
   /// collection attributes.
   Qualifiers::GC getObjCGCAttrKind(QualType Ty) const;
 
-  /// \brief Return true if the given vector types are of the same unqualified
+  /// Return true if the given vector types are of the same unqualified
   /// type or if they are equivalent to the same GCC vector type.
   ///
   /// \note This ignores whether they are target-specific (AltiVec or Neon)
   /// types.
   bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec);
 
-  /// \brief Return true if this is an \c NSObject object with its \c NSObject
+  /// Return true if this is an \c NSObject object with its \c NSObject
   /// attribute set.
   static bool isObjCNSObjectType(QualType Ty) {
     return Ty->isObjCNSObjectType();
@@ -2013,48 +2013,48 @@ public:
   //                         Type Sizing and Analysis
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the APFloat 'semantics' for the specified scalar floating
+  /// Return the APFloat 'semantics' for the specified scalar floating
   /// point type.
   const llvm::fltSemantics &getFloatTypeSemantics(QualType T) const;
 
-  /// \brief Get the size and alignment of the specified complete type in bits.
+  /// Get the size and alignment of the specified complete type in bits.
   TypeInfo getTypeInfo(const Type *T) const;
   TypeInfo getTypeInfo(QualType T) const { return getTypeInfo(T.getTypePtr()); }
 
-  /// \brief Get default simd alignment of the specified complete type in bits.
+  /// Get default simd alignment of the specified complete type in bits.
   unsigned getOpenMPDefaultSimdAlign(QualType T) const;
 
-  /// \brief Return the size of the specified (complete) type \p T, in bits.
+  /// Return the size of the specified (complete) type \p T, in bits.
   uint64_t getTypeSize(QualType T) const { return getTypeInfo(T).Width; }
   uint64_t getTypeSize(const Type *T) const { return getTypeInfo(T).Width; }
 
-  /// \brief Return the size of the character type, in bits.
+  /// Return the size of the character type, in bits.
   uint64_t getCharWidth() const {
     return getTypeSize(CharTy);
   }
 
-  /// \brief Convert a size in bits to a size in characters.
+  /// Convert a size in bits to a size in characters.
   CharUnits toCharUnitsFromBits(int64_t BitSize) const;
 
-  /// \brief Convert a size in characters to a size in bits.
+  /// Convert a size in characters to a size in bits.
   int64_t toBits(CharUnits CharSize) const;
 
-  /// \brief Return the size of the specified (complete) type \p T, in
+  /// Return the size of the specified (complete) type \p T, in
   /// characters.
   CharUnits getTypeSizeInChars(QualType T) const;
   CharUnits getTypeSizeInChars(const Type *T) const;
 
-  /// \brief Return the ABI-specified alignment of a (complete) type \p T, in
+  /// Return the ABI-specified alignment of a (complete) type \p T, in
   /// bits.
   unsigned getTypeAlign(QualType T) const { return getTypeInfo(T).Align; }
   unsigned getTypeAlign(const Type *T) const { return getTypeInfo(T).Align; }
 
-  /// \brief Return the ABI-specified alignment of a type, in bits, or 0 if
+  /// Return the ABI-specified alignment of a type, in bits, or 0 if
   /// the type is incomplete and we cannot determine the alignment (for
   /// example, from alignment attributes).
   unsigned getTypeAlignIfKnown(QualType T) const;
 
-  /// \brief Return the ABI-specified alignment of a (complete) type \p T, in
+  /// Return the ABI-specified alignment of a (complete) type \p T, in
   /// characters.
   CharUnits getTypeAlignInChars(QualType T) const;
   CharUnits getTypeAlignInChars(const Type *T) const;
@@ -2066,31 +2066,31 @@ public:
   std::pair<CharUnits, CharUnits> getTypeInfoInChars(const Type *T) const;
   std::pair<CharUnits, CharUnits> getTypeInfoInChars(QualType T) const;
 
-  /// \brief Determine if the alignment the type has was required using an
+  /// Determine if the alignment the type has was required using an
   /// alignment attribute.
   bool isAlignmentRequired(const Type *T) const;
   bool isAlignmentRequired(QualType T) const;
 
-  /// \brief Return the "preferred" alignment of the specified type \p T for
+  /// Return the "preferred" alignment of the specified type \p T for
   /// the current target, in bits.
   ///
   /// This can be different than the ABI alignment in cases where it is
   /// beneficial for performance to overalign a data type.
   unsigned getPreferredTypeAlign(const Type *T) const;
 
-  /// \brief Return the default alignment for __attribute__((aligned)) on
+  /// Return the default alignment for __attribute__((aligned)) on
   /// this target, to be used if no alignment value is specified.
   unsigned getTargetDefaultAlignForAttributeAligned() const;
 
-  /// \brief Return the alignment in bits that should be given to a
+  /// Return the alignment in bits that should be given to a
   /// global variable with type \p T.
   unsigned getAlignOfGlobalVar(QualType T) const;
 
-  /// \brief Return the alignment in characters that should be given to a
+  /// Return the alignment in characters that should be given to a
   /// global variable with type \p T.
   CharUnits getAlignOfGlobalVarInChars(QualType T) const;
 
-  /// \brief Return a conservative estimate of the alignment of the specified
+  /// Return a conservative estimate of the alignment of the specified
   /// decl \p D.
   ///
   /// \pre \p D must not be a bitfield type, as bitfields do not have a valid
@@ -2102,12 +2102,12 @@ public:
   /// pointers and large arrays get extra alignment.
   CharUnits getDeclAlign(const Decl *D, bool ForAlignof = false) const;
 
-  /// \brief Get or compute information about the layout of the specified
+  /// Get or compute information about the layout of the specified
   /// record (struct/union/class) \p D, which indicates its size and field
   /// position information.
   const ASTRecordLayout &getASTRecordLayout(const RecordDecl *D) const;
 
-  /// \brief Get or compute information about the layout of the specified
+  /// Get or compute information about the layout of the specified
   /// Objective-C interface.
   const ASTRecordLayout &getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D)
     const;
@@ -2115,14 +2115,14 @@ public:
   void DumpRecordLayout(const RecordDecl *RD, raw_ostream &OS,
                         bool Simple = false) const;
 
-  /// \brief Get or compute information about the layout of the specified
+  /// Get or compute information about the layout of the specified
   /// Objective-C implementation.
   ///
   /// This may differ from the interface if synthesized ivars are present.
   const ASTRecordLayout &
   getASTObjCImplementationLayout(const ObjCImplementationDecl *D) const;
 
-  /// \brief Get our current best idea for the key function of the
+  /// Get our current best idea for the key function of the
   /// given record decl, or nullptr if there isn't one.
   ///
   /// The key function is, according to the Itanium C++ ABI section 5.2.3:
@@ -2134,7 +2134,7 @@ public:
   /// the result of this computation can change.
   const CXXMethodDecl *getCurrentKeyFunction(const CXXRecordDecl *RD);
 
-  /// \brief Observe that the given method cannot be a key function.
+  /// Observe that the given method cannot be a key function.
   /// Checks the key-function cache for the method's class and clears it
   /// if matches the given declaration.
   ///
@@ -2176,7 +2176,7 @@ public:
   void CollectInheritedProtocols(const Decl *CDecl,
                           llvm::SmallPtrSet<ObjCProtocolDecl*, 8> &Protocols);
 
-  /// \brief Return true if the specified type has unique object representations
+  /// Return true if the specified type has unique object representations
   /// according to (C++17 [meta.unary.prop]p9)
   bool hasUniqueObjectRepresentations(QualType Ty) const;
 
@@ -2184,7 +2184,7 @@ public:
   //                            Type Operators
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the canonical (structural) type corresponding to the
+  /// Return the canonical (structural) type corresponding to the
   /// specified potentially non-canonical type \p T.
   ///
   /// The non-canonical version of a type may have many "decorated" versions of
@@ -2200,14 +2200,14 @@ public:
     return T->getCanonicalTypeInternal().getTypePtr();
   }
 
-  /// \brief Return the canonical parameter type corresponding to the specific
+  /// Return the canonical parameter type corresponding to the specific
   /// potentially non-canonical one.
   ///
   /// Qualifiers are stripped off, functions are turned into function
   /// pointers, and arrays decay one level into pointers.
   CanQualType getCanonicalParamType(QualType T) const;
 
-  /// \brief Determine whether the given types \p T1 and \p T2 are equivalent.
+  /// Determine whether the given types \p T1 and \p T2 are equivalent.
   bool hasSameType(QualType T1, QualType T2) const {
     return getCanonicalType(T1) == getCanonicalType(T2);
   }
@@ -2215,7 +2215,7 @@ public:
     return getCanonicalType(T1) == getCanonicalType(T2);
   }
 
-  /// \brief Return this type as a completely-unqualified array type,
+  /// Return this type as a completely-unqualified array type,
   /// capturing the qualifiers in \p Quals.
   ///
   /// This will remove the minimal amount of sugaring from the types, similar
@@ -2230,7 +2230,7 @@ public:
   /// that corresponds to it. Otherwise, returns T.getUnqualifiedType().
   QualType getUnqualifiedArrayType(QualType T, Qualifiers &Quals);
 
-  /// \brief Determine whether the given types are equivalent after
+  /// Determine whether the given types are equivalent after
   /// cvr-qualifiers have been removed.
   bool hasSameUnqualifiedType(QualType T1, QualType T2) const {
     return getCanonicalType(T1).getTypePtr() ==
@@ -2272,7 +2272,7 @@ public:
 
   bool UnwrapSimilarPointerTypes(QualType &T1, QualType &T2);
 
-  /// \brief Retrieves the "canonical" nested name specifier for a
+  /// Retrieves the "canonical" nested name specifier for a
   /// given nested name specifier.
   ///
   /// The canonical nested name specifier is a nested name specifier
@@ -2298,11 +2298,11 @@ public:
   NestedNameSpecifier *
   getCanonicalNestedNameSpecifier(NestedNameSpecifier *NNS) const;
 
-  /// \brief Retrieves the default calling convention for the current target.
+  /// Retrieves the default calling convention for the current target.
   CallingConv getDefaultCallingConvention(bool IsVariadic,
                                           bool IsCXXMethod) const;
 
-  /// \brief Retrieves the "canonical" template name that refers to a
+  /// Retrieves the "canonical" template name that refers to a
   /// given template.
   ///
   /// The canonical template name is the simplest expression that can
@@ -2322,11 +2322,11 @@ public:
   /// types, values, and templates.
   TemplateName getCanonicalTemplateName(TemplateName Name) const;
 
-  /// \brief Determine whether the given template names refer to the same
+  /// Determine whether the given template names refer to the same
   /// template.
   bool hasSameTemplateName(TemplateName X, TemplateName Y);
 
-  /// \brief Retrieve the "canonical" template argument.
+  /// Retrieve the "canonical" template argument.
   ///
   /// The canonical template argument is the simplest template argument
   /// (which may be a type, value, expression, or declaration) that
@@ -2353,33 +2353,33 @@ public:
     return dyn_cast_or_null<DependentSizedArrayType>(getAsArrayType(T));
   }
 
-  /// \brief Return the innermost element type of an array type.
+  /// Return the innermost element type of an array type.
   ///
   /// For example, will return "int" for int[m][n]
   QualType getBaseElementType(const ArrayType *VAT) const;
 
-  /// \brief Return the innermost element type of a type (which needn't
+  /// Return the innermost element type of a type (which needn't
   /// actually be an array type).
   QualType getBaseElementType(QualType QT) const;
 
-  /// \brief Return number of constant array elements.
+  /// Return number of constant array elements.
   uint64_t getConstantArrayElementCount(const ConstantArrayType *CA) const;
 
-  /// \brief Perform adjustment on the parameter type of a function.
+  /// Perform adjustment on the parameter type of a function.
   ///
   /// This routine adjusts the given parameter type @p T to the actual
   /// parameter type used by semantic analysis (C99 6.7.5.3p[7,8],
   /// C++ [dcl.fct]p3). The adjusted parameter type is returned.
   QualType getAdjustedParameterType(QualType T) const;
 
-  /// \brief Retrieve the parameter type as adjusted for use in the signature
+  /// Retrieve the parameter type as adjusted for use in the signature
   /// of a function, decaying array and function types and removing top-level
   /// cv-qualifiers.
   QualType getSignatureParameterType(QualType T) const;
 
   QualType getExceptionObjectType(QualType T) const;
 
-  /// \brief Return the properly qualified result of decaying the specified
+  /// Return the properly qualified result of decaying the specified
   /// array type to a pointer.
   ///
   /// This operation is non-trivial when handling typedefs etc.  The canonical
@@ -2389,35 +2389,35 @@ public:
   /// See C99 6.7.5.3p7 and C99 6.3.2.1p3.
   QualType getArrayDecayedType(QualType T) const;
 
-  /// \brief Return the type that \p PromotableType will promote to: C99
+  /// Return the type that \p PromotableType will promote to: C99
   /// 6.3.1.1p2, assuming that \p PromotableType is a promotable integer type.
   QualType getPromotedIntegerType(QualType PromotableType) const;
 
-  /// \brief Recurses in pointer/array types until it finds an Objective-C
+  /// Recurses in pointer/array types until it finds an Objective-C
   /// retainable type and returns its ownership.
   Qualifiers::ObjCLifetime getInnerObjCOwnership(QualType 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
   /// promotion occurs.
   QualType isPromotableBitField(Expr *E) const;
 
-  /// \brief Return the highest ranked integer type, see C99 6.3.1.8p1.
+  /// Return the highest ranked integer type, see C99 6.3.1.8p1.
   ///
   /// If \p LHS > \p RHS, returns 1.  If \p LHS == \p RHS, returns 0.  If
   /// \p LHS < \p RHS, return -1.
   int getIntegerTypeOrder(QualType LHS, QualType RHS) const;
 
-  /// \brief Compare the rank of the two specified floating point types,
+  /// Compare the rank of the two specified floating point types,
   /// ignoring the domain of the type (i.e. 'double' == '_Complex double').
   ///
   /// If \p LHS > \p RHS, returns 1.  If \p LHS == \p RHS, returns 0.  If
   /// \p LHS < \p RHS, return -1.
   int getFloatingTypeOrder(QualType LHS, QualType RHS) const;
 
-  /// \brief Return a real floating point or a complex type (based on
+  /// Return a real floating point or a complex type (based on
   /// \p typeDomain/\p typeSize).
   ///
   /// \param typeDomain a real floating point or complex type.
@@ -2548,7 +2548,7 @@ public:
   //                    Integer Values
   //===--------------------------------------------------------------------===//
 
-  /// \brief Make an APSInt of the appropriate width and signedness for the
+  /// Make an APSInt of the appropriate width and signedness for the
   /// given \p Value and integer \p Type.
   llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const {
     // If Type is a signed integer type larger than 64 bits, we need to be sure
@@ -2563,28 +2563,28 @@ public:
 
   bool isSentinelNullExpr(const Expr *E);
 
-  /// \brief Get the implementation of the ObjCInterfaceDecl \p D, or nullptr if
+  /// Get the implementation of the ObjCInterfaceDecl \p D, or nullptr if
   /// none exists.
   ObjCImplementationDecl *getObjCImplementation(ObjCInterfaceDecl *D);
 
-  /// \brief Get the implementation of the ObjCCategoryDecl \p D, or nullptr if
+  /// Get the implementation of the ObjCCategoryDecl \p D, or nullptr if
   /// none exists.
   ObjCCategoryImplDecl *getObjCImplementation(ObjCCategoryDecl *D);
 
-  /// \brief Return true if there is at least one \@implementation in the TU.
+  /// Return true if there is at least one \@implementation in the TU.
   bool AnyObjCImplementation() {
     return !ObjCImpls.empty();
   }
 
-  /// \brief Set the implementation of ObjCInterfaceDecl.
+  /// Set the implementation of ObjCInterfaceDecl.
   void setObjCImplementation(ObjCInterfaceDecl *IFaceD,
                              ObjCImplementationDecl *ImplD);
 
-  /// \brief Set the implementation of ObjCCategoryDecl.
+  /// Set the implementation of ObjCCategoryDecl.
   void setObjCImplementation(ObjCCategoryDecl *CatD,
                              ObjCCategoryImplDecl *ImplD);
 
-  /// \brief Get the duplicate declaration of a ObjCMethod in the same
+  /// Get the duplicate declaration of a ObjCMethod in the same
   /// interface, or null if none exists.
   const ObjCMethodDecl *
   getObjCMethodRedeclaration(const ObjCMethodDecl *MD) const;
@@ -2592,19 +2592,19 @@ public:
   void setObjCMethodRedeclaration(const ObjCMethodDecl *MD,
                                   const ObjCMethodDecl *Redecl);
 
-  /// \brief Returns the Objective-C interface that \p ND belongs to if it is
+  /// Returns the Objective-C interface that \p ND belongs to if it is
   /// an Objective-C method/property/ivar etc. that is part of an interface,
   /// otherwise returns null.
   const ObjCInterfaceDecl *getObjContainingInterface(const NamedDecl *ND) const;
 
-  /// \brief Set the copy inialization expression of a block var decl.
+  /// Set the copy inialization expression of a block var decl.
   void setBlockVarCopyInits(VarDecl*VD, Expr* Init);
 
-  /// \brief Get the copy initialization expression of the VarDecl \p VD, or
+  /// Get the copy initialization expression of the VarDecl \p VD, or
   /// nullptr if none exists.
   Expr *getBlockVarCopyInits(const VarDecl* VD);
 
-  /// \brief Allocate an uninitialized TypeSourceInfo.
+  /// Allocate an uninitialized TypeSourceInfo.
   ///
   /// The caller should initialize the memory held by TypeSourceInfo using
   /// the TypeLoc wrappers.
@@ -2617,14 +2617,14 @@ public:
   /// should be calculated based on the type.
   TypeSourceInfo *CreateTypeSourceInfo(QualType T, unsigned Size = 0) const;
 
-  /// \brief Allocate a TypeSourceInfo where all locations have been
+  /// Allocate a TypeSourceInfo where all locations have been
   /// initialized to a given location, which defaults to the empty
   /// location.
   TypeSourceInfo *
   getTrivialTypeSourceInfo(QualType T,
                            SourceLocation Loc = SourceLocation()) const;
 
-  /// \brief Add a deallocation callback that will be invoked when the
+  /// Add a deallocation callback that will be invoked when the
   /// ASTContext is destroyed.
   ///
   /// \param Callback A callback function that will be invoked on destruction.
@@ -2646,7 +2646,7 @@ public:
   GVALinkage GetGVALinkageForFunction(const FunctionDecl *FD) const;
   GVALinkage GetGVALinkageForVariable(const VarDecl *VD);
 
-  /// \brief Determines if the decl can be CodeGen'ed or deserialized from PCH
+  /// Determines if the decl can be CodeGen'ed or deserialized from PCH
   /// lazily, only when used; this is only relevant for function or file scoped
   /// var definitions.
   ///
@@ -2654,7 +2654,7 @@ public:
   /// it is not used.
   bool DeclMustBeEmitted(const Decl *D);
 
-  /// \brief Visits all versions of a multiversioned function with the passed
+  /// Visits all versions of a multiversioned function with the passed
   /// predicate.
   void forEachMultiversionedFunctionVersion(
       const FunctionDecl *FD,
@@ -2680,21 +2680,21 @@ public:
   void setStaticLocalNumber(const VarDecl *VD, unsigned Number);
   unsigned getStaticLocalNumber(const VarDecl *VD) const;
 
-  /// \brief Retrieve the context for computing mangling numbers in the given
+  /// Retrieve the context for computing mangling numbers in the given
   /// DeclContext.
   MangleNumberingContext &getManglingNumberContext(const DeclContext *DC);
 
   std::unique_ptr<MangleNumberingContext> createMangleNumberingContext() const;
 
-  /// \brief Used by ParmVarDecl to store on the side the
+  /// Used by ParmVarDecl to store on the side the
   /// index of the parameter when it exceeds the size of the normal bitfield.
   void setParameterIndex(const ParmVarDecl *D, unsigned index);
 
-  /// \brief Used by ParmVarDecl to retrieve on the side the
+  /// Used by ParmVarDecl to retrieve on the side the
   /// index of the parameter when it exceeds the size of the normal bitfield.
   unsigned getParameterIndex(const ParmVarDecl *D) const;
 
-  /// \brief Get the storage for the constant value of a materialized temporary
+  /// Get the storage for the constant value of a materialized temporary
   /// of static storage duration.
   APValue *getMaterializedTemporaryValue(const MaterializeTemporaryExpr *E,
                                          bool MayCreate);
@@ -2703,50 +2703,50 @@ public:
   //                    Statistics
   //===--------------------------------------------------------------------===//
 
-  /// \brief The number of implicitly-declared default constructors.
+  /// The number of implicitly-declared default constructors.
   static unsigned NumImplicitDefaultConstructors;
 
-  /// \brief The number of implicitly-declared default constructors for
+  /// The number of implicitly-declared default constructors for
   /// which declarations were built.
   static unsigned NumImplicitDefaultConstructorsDeclared;
 
-  /// \brief The number of implicitly-declared copy constructors.
+  /// The number of implicitly-declared copy constructors.
   static unsigned NumImplicitCopyConstructors;
 
-  /// \brief The number of implicitly-declared copy constructors for
+  /// The number of implicitly-declared copy constructors for
   /// which declarations were built.
   static unsigned NumImplicitCopyConstructorsDeclared;
 
-  /// \brief The number of implicitly-declared move constructors.
+  /// The number of implicitly-declared move constructors.
   static unsigned NumImplicitMoveConstructors;
 
-  /// \brief The number of implicitly-declared move constructors for
+  /// The number of implicitly-declared move constructors for
   /// which declarations were built.
   static unsigned NumImplicitMoveConstructorsDeclared;
 
-  /// \brief The number of implicitly-declared copy assignment operators.
+  /// The number of implicitly-declared copy assignment operators.
   static unsigned NumImplicitCopyAssignmentOperators;
 
-  /// \brief The number of implicitly-declared copy assignment operators for
+  /// The number of implicitly-declared copy assignment operators for
   /// which declarations were built.
   static unsigned NumImplicitCopyAssignmentOperatorsDeclared;
 
-  /// \brief The number of implicitly-declared move assignment operators.
+  /// The number of implicitly-declared move assignment operators.
   static unsigned NumImplicitMoveAssignmentOperators;
 
-  /// \brief The number of implicitly-declared move assignment operators for
+  /// The number of implicitly-declared move assignment operators for
   /// which declarations were built.
   static unsigned NumImplicitMoveAssignmentOperatorsDeclared;
 
-  /// \brief The number of implicitly-declared destructors.
+  /// The number of implicitly-declared destructors.
   static unsigned NumImplicitDestructors;
 
-  /// \brief The number of implicitly-declared destructors for which
+  /// The number of implicitly-declared destructors for which
   /// declarations were built.
   static unsigned NumImplicitDestructorsDeclared;
 
 public:
-  /// \brief Initialize built-in types.
+  /// Initialize built-in types.
   ///
   /// This routine may only be invoked once for a given ASTContext object.
   /// It is normally invoked after ASTContext construction.
@@ -2783,7 +2783,7 @@ public:
                                          QualType T, std::string& S,
                                          bool Extended) const;
 
-  /// \brief Returns true if this is an inline-initialized static data member
+  /// Returns true if this is an inline-initialized static data member
   /// which is treated as a definition for MSVC compatibility.
   bool isMSStaticDataMemberInlineDefinition(const VarDecl *VD) const;
 
@@ -2801,7 +2801,7 @@ public:
     Strong
   };
 
-  /// \brief Determine whether a definition of this inline variable should
+  /// Determine whether a definition of this inline variable should
   /// be treated as a weak or strong definition. For compatibility with
   /// C++14 and before, for a constexpr static data member, if there is an
   /// out-of-line declaration of the member, we may promote it from weak to
@@ -2817,7 +2817,7 @@ private:
   getObjCLayout(const ObjCInterfaceDecl *D,
                 const ObjCImplementationDecl *Impl) const;
 
-  /// \brief A set of deallocations that should be performed when the
+  /// A set of deallocations that should be performed when the
   /// ASTContext is destroyed.
   // FIXME: We really should have a better mechanism in the ASTContext to
   // manage running destructors for types which do variable sized allocation
@@ -2868,13 +2868,13 @@ public:
   llvm::StringMap<SectionInfo> SectionInfos;
 };
 
-/// \brief Utility function for constructing a nullary selector.
+/// Utility function for constructing a nullary selector.
 inline Selector GetNullarySelector(StringRef name, ASTContext &Ctx) {
   IdentifierInfo* II = &Ctx.Idents.get(name);
   return Ctx.Selectors.getSelector(0, &II);
 }
 
-/// \brief Utility function for constructing an unary selector.
+/// Utility function for constructing an unary selector.
 inline Selector GetUnarySelector(StringRef name, ASTContext &Ctx) {
   IdentifierInfo* II = &Ctx.Idents.get(name);
   return Ctx.Selectors.getSelector(1, &II);
@@ -2884,7 +2884,7 @@ inline Selector GetUnarySelector(StringR
 
 // operator new and delete aren't allowed inside namespaces.
 
-/// @brief Placement new for using the ASTContext's allocator.
+/// Placement new for using the ASTContext's allocator.
 ///
 /// This placement form of operator new uses the ASTContext's allocator for
 /// obtaining memory.
@@ -2917,7 +2917,7 @@ inline void *operator new(size_t Bytes,
   return C.Allocate(Bytes, Alignment);
 }
 
-/// @brief Placement delete companion to the new above.
+/// Placement delete companion to the new above.
 ///
 /// This operator is just a companion to the new above. There is no way of
 /// invoking it directly; see the new operator for more details. This operator
@@ -2955,7 +2955,7 @@ inline void *operator new[](size_t Bytes
   return C.Allocate(Bytes, Alignment);
 }
 
-/// @brief Placement delete[] companion to the new[] above.
+/// Placement delete[] companion to the new[] above.
 ///
 /// This operator is just a companion to the new[] above. There is no way of
 /// invoking it directly; see the new[] operator for more details. This operator
@@ -2965,7 +2965,7 @@ inline void operator delete[](void *Ptr,
   C.Deallocate(Ptr);
 }
 
-/// \brief Create the representation of a LazyGenerationalUpdatePtr.
+/// Create the representation of a LazyGenerationalUpdatePtr.
 template <typename Owner, typename T,
           void (clang::ExternalASTSource::*Update)(Owner)>
 typename clang::LazyGenerationalUpdatePtr<Owner, T, Update>::ValueType

Modified: cfe/trunk/include/clang/AST/ASTDiagnostic.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTDiagnostic.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTDiagnostic.h (original)
+++ cfe/trunk/include/clang/AST/ASTDiagnostic.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@ namespace clang {
     };
   }  // end namespace diag
   
-  /// \brief DiagnosticsEngine argument formatting function for diagnostics that
+  /// DiagnosticsEngine argument formatting function for diagnostics that
   /// involve AST nodes.
   ///
   /// This function formats diagnostic arguments for various AST nodes, 

Modified: cfe/trunk/include/clang/AST/ASTFwd.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTFwd.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTFwd.h (original)
+++ cfe/trunk/include/clang/AST/ASTFwd.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===--------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Forward declaration of all AST node types.
+/// Forward declaration of all AST node types.
 ///
 //===-------------------------------------------------------------===//
 

Modified: cfe/trunk/include/clang/AST/ASTImporter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTImporter.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTImporter.h (original)
+++ cfe/trunk/include/clang/AST/ASTImporter.h Tue May  8 18:00:01 2018
@@ -43,7 +43,7 @@ class TagDecl;
 class TypeSourceInfo;
 class Attr;
 
-  /// \brief Imports selected nodes from one AST context into another context,
+  /// Imports selected nodes from one AST context into another context,
   /// merging AST nodes where appropriate.
   class ASTImporter {
   public:
@@ -52,45 +52,45 @@ class Attr;
         llvm::DenseMap<const CXXBaseSpecifier *, CXXBaseSpecifier *>;
 
   private:
-    /// \brief The contexts we're importing to and from.
+    /// The contexts we're importing to and from.
     ASTContext &ToContext, &FromContext;
     
-    /// \brief The file managers we're importing to and from.
+    /// The file managers we're importing to and from.
     FileManager &ToFileManager, &FromFileManager;
 
-    /// \brief Whether to perform a minimal import.
+    /// Whether to perform a minimal import.
     bool Minimal;
 
-    /// \brief Whether the last diagnostic came from the "from" context.
+    /// Whether the last diagnostic came from the "from" context.
     bool LastDiagFromFrom = false;
     
-    /// \brief Mapping from the already-imported types in the "from" context
+    /// Mapping from the already-imported types in the "from" context
     /// to the corresponding types in the "to" context.
     llvm::DenseMap<const Type *, const Type *> ImportedTypes;
     
-    /// \brief Mapping from the already-imported declarations in the "from"
+    /// Mapping from the already-imported declarations in the "from"
     /// context to the corresponding declarations in the "to" context.
     llvm::DenseMap<Decl *, Decl *> ImportedDecls;
 
-    /// \brief Mapping from the already-imported statements in the "from"
+    /// Mapping from the already-imported statements in the "from"
     /// context to the corresponding statements in the "to" context.
     llvm::DenseMap<Stmt *, Stmt *> ImportedStmts;
 
-    /// \brief Mapping from the already-imported FileIDs in the "from" source
+    /// Mapping from the already-imported FileIDs in the "from" source
     /// manager to the corresponding FileIDs in the "to" source manager.
     llvm::DenseMap<FileID, FileID> ImportedFileIDs;
 
-    /// \brief Mapping from the already-imported CXXBasesSpecifier in
+    /// Mapping from the already-imported CXXBasesSpecifier in
     ///  the "from" source manager to the corresponding CXXBasesSpecifier
     ///  in the "to" source manager.
     ImportedCXXBaseSpecifierMap ImportedCXXBaseSpecifiers;
     
-    /// \brief Declaration (from, to) pairs that are known not to be equivalent
+    /// Declaration (from, to) pairs that are known not to be equivalent
     /// (which we have already complained about).
     NonEquivalentDeclSet NonEquivalentDecls;
     
   public:
-    /// \brief Create a new AST importer.
+    /// Create a new AST importer.
     ///
     /// \param ToContext The context we'll be importing into.
     ///
@@ -109,31 +109,31 @@ class Attr;
     
     virtual ~ASTImporter();
     
-    /// \brief Whether the importer will perform a minimal import, creating
+    /// Whether the importer will perform a minimal import, creating
     /// to-be-completed forward declarations when possible.
     bool isMinimalImport() const { return Minimal; }
     
-    /// \brief Import the given type from the "from" context into the "to"
+    /// Import the given type from the "from" context into the "to"
     /// context.
     ///
     /// \returns the equivalent type in the "to" context, or a NULL type if
     /// an error occurred.
     QualType Import(QualType FromT);
 
-    /// \brief Import the given type source information from the
+    /// Import the given type source information from the
     /// "from" context into the "to" context.
     ///
     /// \returns the equivalent type source information in the "to"
     /// context, or NULL if an error occurred.
     TypeSourceInfo *Import(TypeSourceInfo *FromTSI);
 
-    /// \brief Import the given attribute from the "from" context into the
+    /// Import the given attribute from the "from" context into the
     /// "to" context.
     ///
     /// \returns the equivalent attribute in the "to" context.
     Attr *Import(const Attr *FromAttr);
 
-    /// \brief Import the given declaration from the "from" context into the 
+    /// Import the given declaration from the "from" context into the 
     /// "to" context.
     ///
     /// \returns the equivalent declaration in the "to" context, or a NULL type 
@@ -143,110 +143,110 @@ class Attr;
       return Import(const_cast<Decl *>(FromD));
     }
 
-    /// \brief Return the copy of the given declaration in the "to" context if
+    /// Return the copy of the given declaration in the "to" context if
     /// it has already been imported from the "from" context.  Otherwise return
     /// NULL.
     Decl *GetAlreadyImportedOrNull(Decl *FromD);
 
-    /// \brief Import the given declaration context from the "from"
+    /// Import the given declaration context from the "from"
     /// AST context into the "to" AST context.
     ///
     /// \returns the equivalent declaration context in the "to"
     /// context, or a NULL type if an error occurred.
     DeclContext *ImportContext(DeclContext *FromDC);
     
-    /// \brief Import the given expression from the "from" context into the
+    /// Import the given expression from the "from" context into the
     /// "to" context.
     ///
     /// \returns the equivalent expression in the "to" context, or NULL if
     /// an error occurred.
     Expr *Import(Expr *FromE);
 
-    /// \brief Import the given statement from the "from" context into the
+    /// Import the given statement from the "from" context into the
     /// "to" context.
     ///
     /// \returns the equivalent statement in the "to" context, or NULL if
     /// an error occurred.
     Stmt *Import(Stmt *FromS);
 
-    /// \brief Import the given nested-name-specifier from the "from"
+    /// Import the given nested-name-specifier from the "from"
     /// context into the "to" context.
     ///
     /// \returns the equivalent nested-name-specifier in the "to"
     /// context, or NULL if an error occurred.
     NestedNameSpecifier *Import(NestedNameSpecifier *FromNNS);
 
-    /// \brief Import the given nested-name-specifier from the "from"
+    /// Import the given nested-name-specifier from the "from"
     /// context into the "to" context.
     ///
     /// \returns the equivalent nested-name-specifier in the "to"
     /// context.
     NestedNameSpecifierLoc Import(NestedNameSpecifierLoc FromNNS);
 
-    /// \brief Import the goven template name from the "from" context into the
+    /// Import the goven template name from the "from" context into the
     /// "to" context.
     TemplateName Import(TemplateName From);
     
-    /// \brief Import the given source location from the "from" context into
+    /// Import the given source location from the "from" context into
     /// the "to" context.
     ///
     /// \returns the equivalent source location in the "to" context, or an
     /// invalid source location if an error occurred.
     SourceLocation Import(SourceLocation FromLoc);
 
-    /// \brief Import the given source range from the "from" context into
+    /// Import the given source range from the "from" context into
     /// the "to" context.
     ///
     /// \returns the equivalent source range in the "to" context, or an
     /// invalid source location if an error occurred.
     SourceRange Import(SourceRange FromRange);
 
-    /// \brief Import the given declaration name from the "from"
+    /// Import the given declaration name from the "from"
     /// context into the "to" context.
     ///
     /// \returns the equivalent declaration name in the "to" context,
     /// or an empty declaration name if an error occurred.
     DeclarationName Import(DeclarationName FromName);
 
-    /// \brief Import the given identifier from the "from" context
+    /// Import the given identifier from the "from" context
     /// into the "to" context.
     ///
     /// \returns the equivalent identifier in the "to" context.
     IdentifierInfo *Import(const IdentifierInfo *FromId);
 
-    /// \brief Import the given Objective-C selector from the "from"
+    /// Import the given Objective-C selector from the "from"
     /// context into the "to" context.
     ///
     /// \returns the equivalent selector in the "to" context.
     Selector Import(Selector FromSel);
 
-    /// \brief Import the given file ID from the "from" context into the 
+    /// Import the given file ID from the "from" context into the 
     /// "to" context.
     ///
     /// \returns the equivalent file ID in the source manager of the "to"
     /// context.
     FileID Import(FileID);
 
-    /// \brief Import the given C++ constructor initializer from the "from"
+    /// Import the given C++ constructor initializer from the "from"
     /// context into the "to" context.
     ///
     /// \returns the equivalent initializer in the "to" context.
     CXXCtorInitializer *Import(CXXCtorInitializer *FromInit);
 
-    /// \brief Import the given CXXBaseSpecifier from the "from" context into
+    /// Import the given CXXBaseSpecifier from the "from" context into
     /// the "to" context.
     ///
     /// \returns the equivalent CXXBaseSpecifier in the source manager of the
     /// "to" context.
     CXXBaseSpecifier *Import(const CXXBaseSpecifier *FromSpec);
 
-    /// \brief Import the definition of the given declaration, including all of
+    /// Import the definition of the given declaration, including all of
     /// the declarations it contains.
     ///
     /// This routine is intended to be used 
     void ImportDefinition(Decl *From);
 
-    /// \brief Cope with a name conflict when importing a declaration into the
+    /// Cope with a name conflict when importing a declaration into the
     /// given context.
     ///
     /// This routine is invoked whenever there is a name conflict while 
@@ -278,41 +278,41 @@ class Attr;
                                                NamedDecl **Decls,
                                                unsigned NumDecls);
     
-    /// \brief Retrieve the context that AST nodes are being imported into.
+    /// Retrieve the context that AST nodes are being imported into.
     ASTContext &getToContext() const { return ToContext; }
     
-    /// \brief Retrieve the context that AST nodes are being imported from.
+    /// Retrieve the context that AST nodes are being imported from.
     ASTContext &getFromContext() const { return FromContext; }
     
-    /// \brief Retrieve the file manager that AST nodes are being imported into.
+    /// Retrieve the file manager that AST nodes are being imported into.
     FileManager &getToFileManager() const { return ToFileManager; }
 
-    /// \brief Retrieve the file manager that AST nodes are being imported from.
+    /// Retrieve the file manager that AST nodes are being imported from.
     FileManager &getFromFileManager() const { return FromFileManager; }
     
-    /// \brief Report a diagnostic in the "to" context.
+    /// Report a diagnostic in the "to" context.
     DiagnosticBuilder ToDiag(SourceLocation Loc, unsigned DiagID);
     
-    /// \brief Report a diagnostic in the "from" context.
+    /// Report a diagnostic in the "from" context.
     DiagnosticBuilder FromDiag(SourceLocation Loc, unsigned DiagID);
     
-    /// \brief Return the set of declarations that we know are not equivalent.
+    /// Return the set of declarations that we know are not equivalent.
     NonEquivalentDeclSet &getNonEquivalentDecls() { return NonEquivalentDecls; }
 
-    /// \brief Called for ObjCInterfaceDecl, ObjCProtocolDecl, and TagDecl.
+    /// Called for ObjCInterfaceDecl, ObjCProtocolDecl, and TagDecl.
     /// Mark the Decl as complete, filling it in as much as possible.
     ///
     /// \param D A declaration in the "to" context.
     virtual void CompleteDecl(Decl* D);
     
-    /// \brief Note that we have imported the "from" declaration by mapping it
+    /// Note that we have imported the "from" declaration by mapping it
     /// to the (potentially-newly-created) "to" declaration.
     ///
     /// Subclasses can override this function to observe all of the \c From ->
     /// \c To declaration mappings as they are imported.
     virtual Decl *Imported(Decl *From, Decl *To);
       
-    /// \brief Called by StructuralEquivalenceContext.  If a RecordDecl is
+    /// Called by StructuralEquivalenceContext.  If a RecordDecl is
     /// being compared to another RecordDecl as part of import, completing the
     /// other RecordDecl may trigger importation of the first RecordDecl. This
     /// happens especially for anonymous structs.  If the original of the second
@@ -320,7 +320,7 @@ class Attr;
     /// importation, eliminating this loop.
     virtual Decl *GetOriginalDecl(Decl *To) { return nullptr; }
     
-    /// \brief Determine whether the given types are structurally
+    /// Determine whether the given types are structurally
     /// equivalent.
     bool IsStructurallyEquivalent(QualType From, QualType To,
                                   bool Complain = true);

Modified: cfe/trunk/include/clang/AST/ASTLambda.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTLambda.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTLambda.h (original)
+++ cfe/trunk/include/clang/AST/ASTLambda.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief This file provides some common utility functions for processing
+/// This file provides some common utility functions for processing
 /// Lambda related AST Constructs.
 ///
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/include/clang/AST/ASTMutationListener.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTMutationListener.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTMutationListener.h (original)
+++ cfe/trunk/include/clang/AST/ASTMutationListener.h Tue May  8 18:00:01 2018
@@ -41,86 +41,86 @@ namespace clang {
   class VarTemplateDecl;
   class VarTemplateSpecializationDecl;
 
-/// \brief An abstract interface that should be implemented by listeners
+/// An abstract interface that should be implemented by listeners
 /// that want to be notified when an AST entity gets modified after its
 /// initial creation.
 class ASTMutationListener {
 public:
   virtual ~ASTMutationListener();
 
-  /// \brief A new TagDecl definition was completed.
+  /// A new TagDecl definition was completed.
   virtual void CompletedTagDefinition(const TagDecl *D) { }
 
-  /// \brief A new declaration with name has been added to a DeclContext.
+  /// A new declaration with name has been added to a DeclContext.
   virtual void AddedVisibleDecl(const DeclContext *DC, const Decl *D) {}
 
-  /// \brief An implicit member was added after the definition was completed.
+  /// An implicit member was added after the definition was completed.
   virtual void AddedCXXImplicitMember(const CXXRecordDecl *RD, const Decl *D) {}
 
-  /// \brief A template specialization (or partial one) was added to the
+  /// A template specialization (or partial one) was added to the
   /// template declaration.
   virtual void AddedCXXTemplateSpecialization(const ClassTemplateDecl *TD,
                                     const ClassTemplateSpecializationDecl *D) {}
 
-  /// \brief A template specialization (or partial one) was added to the
+  /// A template specialization (or partial one) was added to the
   /// template declaration.
   virtual void
   AddedCXXTemplateSpecialization(const VarTemplateDecl *TD,
                                  const VarTemplateSpecializationDecl *D) {}
 
-  /// \brief A template specialization (or partial one) was added to the
+  /// A template specialization (or partial one) was added to the
   /// template declaration.
   virtual void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD,
                                               const FunctionDecl *D) {}
 
-  /// \brief A function's exception specification has been evaluated or
+  /// A function's exception specification has been evaluated or
   /// instantiated.
   virtual void ResolvedExceptionSpec(const FunctionDecl *FD) {}
 
-  /// \brief A function's return type has been deduced.
+  /// A function's return type has been deduced.
   virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType);
 
-  /// \brief A virtual destructor's operator delete has been resolved.
+  /// A virtual destructor's operator delete has been resolved.
   virtual void ResolvedOperatorDelete(const CXXDestructorDecl *DD,
                                       const FunctionDecl *Delete,
                                       Expr *ThisArg) {}
 
-  /// \brief An implicit member got a definition.
+  /// An implicit member got a definition.
   virtual void CompletedImplicitDefinition(const FunctionDecl *D) {}
 
-  /// \brief The instantiation of a templated function or variable was
+  /// The instantiation of a templated function or variable was
   /// requested. In particular, the point of instantiation and template
   /// specialization kind of \p D may have changed.
   virtual void InstantiationRequested(const ValueDecl *D) {}
 
-  /// \brief A templated variable's definition was implicitly instantiated.
+  /// A templated variable's definition was implicitly instantiated.
   virtual void VariableDefinitionInstantiated(const VarDecl *D) {}
 
-  /// \brief A function template's definition was instantiated.
+  /// A function template's definition was instantiated.
   virtual void FunctionDefinitionInstantiated(const FunctionDecl *D) {}
 
-  /// \brief A default argument was instantiated.
+  /// A default argument was instantiated.
   virtual void DefaultArgumentInstantiated(const ParmVarDecl *D) {}
 
-  /// \brief A default member initializer was instantiated.
+  /// A default member initializer was instantiated.
   virtual void DefaultMemberInitializerInstantiated(const FieldDecl *D) {}
 
-  /// \brief A new objc category class was added for an interface.
+  /// A new objc category class was added for an interface.
   virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD,
                                             const ObjCInterfaceDecl *IFD) {}
 
-  /// \brief A declaration is marked used which was not previously marked used.
+  /// A declaration is marked used which was not previously marked used.
   ///
   /// \param D the declaration marked used
   virtual void DeclarationMarkedUsed(const Decl *D) {}
 
-  /// \brief A declaration is marked as OpenMP threadprivate which was not
+  /// A declaration is marked as OpenMP threadprivate which was not
   /// previously marked as threadprivate.
   ///
   /// \param D the declaration marked OpenMP threadprivate.
   virtual void DeclarationMarkedOpenMPThreadPrivate(const Decl *D) {}
 
-  /// \brief A declaration is marked as OpenMP declaretarget which was not
+  /// A declaration is marked as OpenMP declaretarget which was not
   /// previously marked as declaretarget.
   ///
   /// \param D the declaration marked OpenMP declaretarget.
@@ -128,14 +128,14 @@ public:
   virtual void DeclarationMarkedOpenMPDeclareTarget(const Decl *D,
                                                     const Attr *Attr) {}
 
-  /// \brief A definition has been made visible by being redefined locally.
+  /// A definition has been made visible by being redefined locally.
   ///
   /// \param D The definition that was previously not visible.
   /// \param M The containing module in which the definition was made visible,
   ///        if any.
   virtual void RedefinedHiddenDefinition(const NamedDecl *D, Module *M) {}
   
-  /// \brief An attribute was added to a RecordDecl
+  /// An attribute was added to a RecordDecl
   ///
   /// \param Attr The attribute that was added to the Record
   ///

Modified: cfe/trunk/include/clang/AST/ASTTypeTraits.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTTypeTraits.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTTypeTraits.h (original)
+++ cfe/trunk/include/clang/AST/ASTTypeTraits.h Tue May  8 18:00:01 2018
@@ -38,62 +38,62 @@ struct PrintingPolicy;
 
 namespace ast_type_traits {
 
-/// \brief Kind identifier.
+/// Kind identifier.
 ///
 /// It can be constructed from any node kind and allows for runtime type
 /// hierarchy checks.
 /// Use getFromNodeKind<T>() to construct them.
 class ASTNodeKind {
 public:
-  /// \brief Empty identifier. It matches nothing.
+  /// Empty identifier. It matches nothing.
   ASTNodeKind() : KindId(NKI_None) {}
 
-  /// \brief Construct an identifier for T.
+  /// Construct an identifier for T.
   template <class T>
   static ASTNodeKind getFromNodeKind() {
     return ASTNodeKind(KindToKindId<T>::Id);
   }
 
   /// \{
-  /// \brief Construct an identifier for the dynamic type of the node
+  /// Construct an identifier for the dynamic type of the node
   static ASTNodeKind getFromNode(const Decl &D);
   static ASTNodeKind getFromNode(const Stmt &S);
   static ASTNodeKind getFromNode(const Type &T);
   /// \}
 
-  /// \brief Returns \c true if \c this and \c Other represent the same kind.
+  /// Returns \c true if \c this and \c Other represent the same kind.
   bool isSame(ASTNodeKind Other) const {
     return KindId != NKI_None && KindId == Other.KindId;
   }
 
-  /// \brief Returns \c true only for the default \c ASTNodeKind()
+  /// Returns \c true only for the default \c ASTNodeKind()
   bool isNone() const { return KindId == NKI_None; }
 
-  /// \brief Returns \c true if \c this is a base kind of (or same as) \c Other.
+  /// Returns \c true if \c this is a base kind of (or same as) \c Other.
   /// \param Distance If non-null, used to return the distance between \c this
   /// and \c Other in the class hierarchy.
   bool isBaseOf(ASTNodeKind Other, unsigned *Distance = nullptr) const;
 
-  /// \brief String representation of the kind.
+  /// String representation of the kind.
   StringRef asStringRef() const;
 
-  /// \brief Strict weak ordering for ASTNodeKind.
+  /// Strict weak ordering for ASTNodeKind.
   bool operator<(const ASTNodeKind &Other) const {
     return KindId < Other.KindId;
   }
 
-  /// \brief Return the most derived type between \p Kind1 and \p Kind2.
+  /// Return the most derived type between \p Kind1 and \p Kind2.
   ///
   /// Return ASTNodeKind() if they are not related.
   static ASTNodeKind getMostDerivedType(ASTNodeKind Kind1, ASTNodeKind Kind2);
 
-  /// \brief Return the most derived common ancestor between Kind1 and Kind2.
+  /// Return the most derived common ancestor between Kind1 and Kind2.
   ///
   /// Return ASTNodeKind() if they are not related.
   static ASTNodeKind getMostDerivedCommonAncestor(ASTNodeKind Kind1,
                                                   ASTNodeKind Kind2);
 
-  /// \brief Hooks for using ASTNodeKind as a key in a DenseMap.
+  /// Hooks for using ASTNodeKind as a key in a DenseMap.
   struct DenseMapInfo {
     // ASTNodeKind() is a good empty key because it is represented as a 0.
     static inline ASTNodeKind getEmptyKey() { return ASTNodeKind(); }
@@ -115,7 +115,7 @@ public:
   }
 
 private:
-  /// \brief Kind ids.
+  /// Kind ids.
   ///
   /// Includes all possible base and derived kinds.
   enum NodeKindId {
@@ -140,16 +140,16 @@ private:
     NKI_NumberOfKinds
   };
 
-  /// \brief Use getFromNodeKind<T>() to construct the kind.
+  /// Use getFromNodeKind<T>() to construct the kind.
   ASTNodeKind(NodeKindId KindId) : KindId(KindId) {}
 
-  /// \brief Returns \c true if \c Base is a base kind of (or same as) \c
+  /// Returns \c true if \c Base is a base kind of (or same as) \c
   ///   Derived.
   /// \param Distance If non-null, used to return the distance between \c Base
   /// and \c Derived in the class hierarchy.
   static bool isBaseOf(NodeKindId Base, NodeKindId Derived, unsigned *Distance);
 
-  /// \brief Helper meta-function to convert a kind T to its enum value.
+  /// Helper meta-function to convert a kind T to its enum value.
   ///
   /// This struct is specialized below for all known kinds.
   template <class T> struct KindToKindId {
@@ -158,11 +158,11 @@ private:
   template <class T>
   struct KindToKindId<const T> : KindToKindId<T> {};
 
-  /// \brief Per kind info.
+  /// Per kind info.
   struct KindInfo {
-    /// \brief The id of the parent kind, or None if it has no parent.
+    /// The id of the parent kind, or None if it has no parent.
     NodeKindId ParentId;
-    /// \brief Name of the kind.
+    /// Name of the kind.
     const char *Name;
   };
   static const KindInfo AllKindInfo[NKI_NumberOfKinds];
@@ -197,7 +197,7 @@ inline raw_ostream &operator<<(raw_ostre
   return OS;
 }
 
-/// \brief A dynamically typed AST node container.
+/// A dynamically typed AST node container.
 ///
 /// Stores an AST node in a type safe way. This allows writing code that
 /// works with different kinds of AST nodes, despite the fact that they don't
@@ -211,13 +211,13 @@ inline raw_ostream &operator<<(raw_ostre
 /// the supported base types.
 class DynTypedNode {
 public:
-  /// \brief Creates a \c DynTypedNode from \c Node.
+  /// Creates a \c DynTypedNode from \c Node.
   template <typename T>
   static DynTypedNode create(const T &Node) {
     return BaseConverter<T>::create(Node);
   }
 
-  /// \brief Retrieve the stored node as type \c T.
+  /// Retrieve the stored node as type \c T.
   ///
   /// Returns NULL if the stored node does not have a type that is
   /// convertible to \c T.
@@ -234,7 +234,7 @@ public:
     return BaseConverter<T>::get(NodeKind, Storage.buffer);
   }
 
-  /// \brief Retrieve the stored node as type \c T.
+  /// Retrieve the stored node as type \c T.
   ///
   /// Similar to \c get(), but asserts that the type is what we are expecting.
   template <typename T>
@@ -244,7 +244,7 @@ public:
 
   ASTNodeKind getNodeKind() const { return NodeKind; }
 
-  /// \brief Returns a pointer that identifies the stored AST node.
+  /// Returns a pointer that identifies the stored AST node.
   ///
   /// Note that this is not supported by all AST nodes. For AST nodes
   /// that don't have a pointer-defined identity inside the AST, this
@@ -255,18 +255,18 @@ public:
                : nullptr;
   }
 
-  /// \brief Prints the node to the given output stream.
+  /// Prints the node to the given output stream.
   void print(llvm::raw_ostream &OS, const PrintingPolicy &PP) const;
 
-  /// \brief Dumps the node to the given output stream.
+  /// Dumps the node to the given output stream.
   void dump(llvm::raw_ostream &OS, SourceManager &SM) const;
 
-  /// \brief For nodes which represent textual entities in the source code,
+  /// For nodes which represent textual entities in the source code,
   /// return their SourceRange.  For all other nodes, return SourceRange().
   SourceRange getSourceRange() const;
 
   /// @{
-  /// \brief Imposes an order on \c DynTypedNode.
+  /// Imposes an order on \c DynTypedNode.
   ///
   /// Supports comparison of nodes that support memoization.
   /// FIXME: Implement comparison for other node types (currently
@@ -326,7 +326,7 @@ public:
   }
   /// @}
 
-  /// \brief Hooks for using DynTypedNode as a key in a DenseMap.
+  /// Hooks for using DynTypedNode as a key in a DenseMap.
   struct DenseMapInfo {
     static inline DynTypedNode getEmptyKey() {
       DynTypedNode Node;
@@ -368,10 +368,10 @@ public:
   };
 
 private:
-  /// \brief Takes care of converting from and to \c T.
+  /// Takes care of converting from and to \c T.
   template <typename T, typename EnablerT = void> struct BaseConverter;
 
-  /// \brief Converter that uses dyn_cast<T> from a stored BaseT*.
+  /// Converter that uses dyn_cast<T> from a stored BaseT*.
   template <typename T, typename BaseT> struct DynCastPtrConverter {
     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
@@ -391,7 +391,7 @@ private:
     }
   };
 
-  /// \brief Converter that stores T* (by pointer).
+  /// Converter that stores T* (by pointer).
   template <typename T> struct PtrConverter {
     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
       if (ASTNodeKind::getFromNodeKind<T>().isSame(NodeKind))
@@ -411,7 +411,7 @@ private:
     }
   };
 
-  /// \brief Converter that stores T (by value).
+  /// Converter that stores T (by value).
   template <typename T> struct ValueConverter {
     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
       if (ASTNodeKind::getFromNodeKind<T>().isSame(NodeKind))
@@ -432,7 +432,7 @@ private:
 
   ASTNodeKind NodeKind;
 
-  /// \brief Stores the data of the node.
+  /// Stores the data of the node.
   ///
   /// Note that we can store \c Decls, \c Stmts, \c Types,
   /// \c NestedNameSpecifiers and \c CXXCtorInitializer by pointer as they are

Modified: cfe/trunk/include/clang/AST/ASTUnresolvedSet.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ASTUnresolvedSet.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ASTUnresolvedSet.h (original)
+++ cfe/trunk/include/clang/AST/ASTUnresolvedSet.h Tue May  8 18:00:01 2018
@@ -26,7 +26,7 @@ namespace clang {
 
 class NamedDecl;
 
-/// \brief An UnresolvedSet-like class which uses the ASTContext's allocator.
+/// An UnresolvedSet-like class which uses the ASTContext's allocator.
 class ASTUnresolvedSet {
   friend class LazyASTUnresolvedSet;
 
@@ -89,7 +89,7 @@ public:
   const DeclAccessPair &operator[](unsigned I) const { return Decls[I]; }
 };
 
-/// \brief An UnresolvedSet-like class that might not have been loaded from the
+/// An UnresolvedSet-like class that might not have been loaded from the
 /// external AST source yet.
 class LazyASTUnresolvedSet {
   mutable ASTUnresolvedSet Impl;

Modified: cfe/trunk/include/clang/AST/Attr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Attr.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Attr.h (original)
+++ cfe/trunk/include/clang/AST/Attr.h Tue May  8 18:00:01 2018
@@ -96,7 +96,7 @@ public:
 
   bool isInherited() const { return Inherited; }
 
-  /// \brief Returns true if the attribute has been implicitly created instead
+  /// Returns true if the attribute has been implicitly created instead
   /// of explicitly written by the user.
   bool isImplicit() const { return Implicit; }
   void setImplicit(bool I) { Implicit = I; }

Modified: cfe/trunk/include/clang/AST/Availability.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Availability.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Availability.h (original)
+++ cfe/trunk/include/clang/AST/Availability.h Tue May  8 18:00:01 2018
@@ -20,7 +20,7 @@
 
 namespace clang {
 
-/// \brief One specifier in an @available expression.
+/// One specifier in an @available expression.
 ///
 /// \code
 ///   @available(macos 10.10, *)

Modified: cfe/trunk/include/clang/AST/CXXInheritance.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CXXInheritance.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CXXInheritance.h (original)
+++ cfe/trunk/include/clang/AST/CXXInheritance.h Tue May  8 18:00:01 2018
@@ -35,7 +35,7 @@ namespace clang {
 class ASTContext;
 class NamedDecl;
   
-/// \brief Represents an element in a path from a derived class to a
+/// Represents an element in a path from a derived class to a
 /// base class. 
 /// 
 /// Each step in the path references the link from a
@@ -43,15 +43,15 @@ class NamedDecl;
 /// base "number" that identifies which base subobject of the
 /// original derived class we are referencing.
 struct CXXBasePathElement {
-  /// \brief The base specifier that states the link from a derived
+  /// The base specifier that states the link from a derived
   /// class to a base class, which will be followed by this base
   /// path element.
   const CXXBaseSpecifier *Base;
   
-  /// \brief The record decl of the class that the base is a base of.
+  /// The record decl of the class that the base is a base of.
   const CXXRecordDecl *Class;
   
-  /// \brief Identifies which base class subobject (of type
+  /// Identifies which base class subobject (of type
   /// \c Base->getType()) this base path element refers to. 
   ///
   /// This value is only valid if \c !Base->isVirtual(), because there
@@ -60,7 +60,7 @@ struct CXXBasePathElement {
   int SubobjectNumber;
 };
 
-/// \brief Represents a path from a specific derived class
+/// Represents a path from a specific derived class
 /// (which is not represented as part of the path) to a particular
 /// (direct or indirect) base class subobject.
 ///
@@ -70,14 +70,14 @@ struct CXXBasePathElement {
 /// subobject is being used.
 class CXXBasePath : public SmallVector<CXXBasePathElement, 4> {
 public:
-  /// \brief The access along this inheritance path.  This is only
+  /// The access along this inheritance path.  This is only
   /// calculated when recording paths.  AS_none is a special value
   /// used to indicate a path which permits no legal access.
   AccessSpecifier Access = AS_public;
 
   CXXBasePath() = default;
 
-  /// \brief The set of declarations found inside this base class
+  /// The set of declarations found inside this base class
   /// subobject.
   DeclContext::lookup_result Decls;
 
@@ -119,7 +119,7 @@ public:
 class CXXBasePaths {
   friend class CXXRecordDecl;
 
-  /// \brief The type from which this search originated.
+  /// The type from which this search originated.
   CXXRecordDecl *Origin = nullptr;
   
   /// Paths - The actual set of paths that can be taken from the
@@ -160,7 +160,7 @@ class CXXBasePaths {
   /// DetectedVirtual - The base class that is virtual.
   const RecordType *DetectedVirtual = nullptr;
   
-  /// \brief Array of the declarations that have been found. This
+  /// Array of the declarations that have been found. This
   /// array is constructed only if needed, e.g., to iterate over the
   /// results within LookupResult.
   std::unique_ptr<NamedDecl *[]> DeclsFound;
@@ -196,53 +196,53 @@ public:
 
   decl_range found_decls();
   
-  /// \brief Determine whether the path from the most-derived type to the
+  /// Determine whether the path from the most-derived type to the
   /// given base type is ambiguous (i.e., it refers to multiple subobjects of
   /// the same base type).
   bool isAmbiguous(CanQualType BaseType);
   
-  /// \brief Whether we are finding multiple paths to detect ambiguities.
+  /// Whether we are finding multiple paths to detect ambiguities.
   bool isFindingAmbiguities() const { return FindAmbiguities; }
   
-  /// \brief Whether we are recording paths.
+  /// Whether we are recording paths.
   bool isRecordingPaths() const { return RecordPaths; }
   
-  /// \brief Specify whether we should be recording paths or not.
+  /// Specify whether we should be recording paths or not.
   void setRecordingPaths(bool RP) { RecordPaths = RP; }
   
-  /// \brief Whether we are detecting virtual bases.
+  /// Whether we are detecting virtual bases.
   bool isDetectingVirtual() const { return DetectVirtual; }
   
-  /// \brief The virtual base discovered on the path (if we are merely
+  /// The virtual base discovered on the path (if we are merely
   /// detecting virtuals).
   const RecordType* getDetectedVirtual() const {
     return DetectedVirtual;
   }
 
-  /// \brief Retrieve the type from which this base-paths search
+  /// Retrieve the type from which this base-paths search
   /// began
   CXXRecordDecl *getOrigin() const { return Origin; }
   void setOrigin(CXXRecordDecl *Rec) { Origin = Rec; }
   
-  /// \brief Clear the base-paths results.
+  /// Clear the base-paths results.
   void clear();
   
-  /// \brief Swap this data structure's contents with another CXXBasePaths 
+  /// Swap this data structure's contents with another CXXBasePaths 
   /// object.
   void swap(CXXBasePaths &Other);
 };
 
-/// \brief Uniquely identifies a virtual method within a class
+/// Uniquely identifies a virtual method within a class
 /// hierarchy by the method itself and a class subobject number.
 struct UniqueVirtualMethod {
-  /// \brief The overriding virtual method.
+  /// The overriding virtual method.
   CXXMethodDecl *Method = nullptr;
 
-  /// \brief The subobject in which the overriding virtual method
+  /// The subobject in which the overriding virtual method
   /// resides.
   unsigned Subobject = 0;
 
-  /// \brief The virtual base class subobject of which this overridden
+  /// The virtual base class subobject of which this overridden
   /// virtual method is a part. Note that this records the closest
   /// derived virtual base class subobject.
   const CXXRecordDecl *InVirtualSubobject = nullptr;
@@ -266,7 +266,7 @@ struct UniqueVirtualMethod {
   }
 };
 
-/// \brief The set of methods that override a given virtual method in
+/// The set of methods that override a given virtual method in
 /// each subobject where it occurs.
 ///
 /// The first part of the pair is the subobject in which the
@@ -310,7 +310,7 @@ public:
   void replaceAll(UniqueVirtualMethod Overriding);
 };
 
-/// \brief A mapping from each virtual member function to its set of
+/// A mapping from each virtual member function to its set of
 /// final overriders.
 ///
 /// Within a class hierarchy for a given derived class, each virtual
@@ -364,7 +364,7 @@ public:
 class CXXFinalOverriderMap
   : public llvm::MapVector<const CXXMethodDecl *, OverridingMethods> {};
 
-/// \brief A set of all the primary bases for a class.
+/// A set of all the primary bases for a class.
 class CXXIndirectPrimaryBaseSet
   : public llvm::SmallSet<const CXXRecordDecl*, 32> {};
 

Modified: cfe/trunk/include/clang/AST/CanonicalType.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CanonicalType.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CanonicalType.h (original)
+++ cfe/trunk/include/clang/AST/CanonicalType.h Tue May  8 18:00:01 2018
@@ -44,7 +44,7 @@ class TemplateTypeParmDecl;
 // Canonical, qualified type template
 //----------------------------------------------------------------------------//
 
-/// \brief Represents a canonical, potentially-qualified type.
+/// Represents a canonical, potentially-qualified type.
 ///
 /// The CanQual template is a lightweight smart pointer that provides access
 /// to the canonical representation of a type, where all typedefs and other
@@ -64,35 +64,35 @@ class TemplateTypeParmDecl;
 /// a call to ASTContext::getCanonicalType().
 template<typename T = Type>
 class CanQual {
-  /// \brief The actual, canonical type.
+  /// The actual, canonical type.
   QualType Stored;
 
 public:
-  /// \brief Constructs a NULL canonical type.
+  /// Constructs a NULL canonical type.
   CanQual() = default;
 
-  /// \brief Converting constructor that permits implicit upcasting of
+  /// Converting constructor that permits implicit upcasting of
   /// canonical type pointers.
   template <typename U>
   CanQual(const CanQual<U> &Other,
           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
 
-  /// \brief Retrieve the underlying type pointer, which refers to a
+  /// Retrieve the underlying type pointer, which refers to a
   /// canonical type.
   ///
   /// The underlying pointer must not be nullptr.
   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
 
-  /// \brief Retrieve the underlying type pointer, which refers to a
+  /// Retrieve the underlying type pointer, which refers to a
   /// canonical type, or nullptr.
   const T *getTypePtrOrNull() const { 
     return cast_or_null<T>(Stored.getTypePtrOrNull()); 
   }
 
-  /// \brief Implicit conversion to a qualified type.
+  /// Implicit conversion to a qualified type.
   operator QualType() const { return Stored; }
 
-  /// \brief Implicit conversion to bool.
+  /// Implicit conversion to bool.
   explicit operator bool() const { return !isNull(); }
   
   bool isNull() const {
@@ -101,7 +101,7 @@ public:
 
   SplitQualType split() const { return Stored.split(); }
 
-  /// \brief Retrieve a canonical type pointer with a different static type,
+  /// Retrieve a canonical type pointer with a different static type,
   /// upcasting or downcasting as needed.
   ///
   /// The getAs() function is typically used to try to downcast to a
@@ -122,17 +122,17 @@ public:
 
   template<typename U> CanProxy<U> castAs() const;
 
-  /// \brief Overloaded arrow operator that produces a canonical type
+  /// Overloaded arrow operator that produces a canonical type
   /// proxy.
   CanProxy<T> operator->() const;
 
-  /// \brief Retrieve all qualifiers.
+  /// Retrieve all qualifiers.
   Qualifiers getQualifiers() const { return Stored.getLocalQualifiers(); }
 
-  /// \brief Retrieve the const/volatile/restrict qualifiers.
+  /// Retrieve the const/volatile/restrict qualifiers.
   unsigned getCVRQualifiers() const { return Stored.getLocalCVRQualifiers(); }
 
-  /// \brief Determines whether this type has any qualifiers
+  /// Determines whether this type has any qualifiers
   bool hasQualifiers() const { return Stored.hasLocalQualifiers(); }
 
   bool isConstQualified() const {
@@ -147,45 +147,45 @@ public:
     return Stored.isLocalRestrictQualified();
   }
 
-  /// \brief Determines if this canonical type is furthermore
+  /// Determines if this canonical type is furthermore
   /// canonical as a parameter.  The parameter-canonicalization
   /// process decays arrays to pointers and drops top-level qualifiers.
   bool isCanonicalAsParam() const {
     return Stored.isCanonicalAsParam();
   }
 
-  /// \brief Retrieve the unqualified form of this type.
+  /// Retrieve the unqualified form of this type.
   CanQual<T> getUnqualifiedType() const;
 
-  /// \brief Retrieves a version of this type with const applied.
+  /// Retrieves a version of this type with const applied.
   /// Note that this does not always yield a canonical type.
   QualType withConst() const {
     return Stored.withConst();
   }
 
-  /// \brief Determines whether this canonical type is more qualified than
+  /// Determines whether this canonical type is more qualified than
   /// the @p Other canonical type.
   bool isMoreQualifiedThan(CanQual<T> Other) const {
     return Stored.isMoreQualifiedThan(Other.Stored);
   }
 
-  /// \brief Determines whether this canonical type is at least as qualified as
+  /// Determines whether this canonical type is at least as qualified as
   /// the @p Other canonical type.
   bool isAtLeastAsQualifiedAs(CanQual<T> Other) const {
     return Stored.isAtLeastAsQualifiedAs(Other.Stored);
   }
 
-  /// \brief If the canonical type is a reference type, returns the type that
+  /// If the canonical type is a reference type, returns the type that
   /// it refers to; otherwise, returns the type itself.
   CanQual<Type> getNonReferenceType() const;
 
-  /// \brief Retrieve the internal representation of this canonical type.
+  /// Retrieve the internal representation of this canonical type.
   void *getAsOpaquePtr() const { return Stored.getAsOpaquePtr(); }
 
-  /// \brief Construct a canonical type from its internal representation.
+  /// Construct a canonical type from its internal representation.
   static CanQual<T> getFromOpaquePtr(void *Ptr);
 
-  /// \brief Builds a canonical type from a QualType.
+  /// Builds a canonical type from a QualType.
   ///
   /// This routine is inherently unsafe, because it requires the user to
   /// ensure that the given type is a canonical type with the correct
@@ -209,7 +209,7 @@ inline bool operator!=(CanQual<T> x, Can
   return x.getAsOpaquePtr() != y.getAsOpaquePtr();
 }
 
-/// \brief Represents a canonical, potentially-qualified type.
+/// Represents a canonical, potentially-qualified type.
 using CanQualType = CanQual<Type>;
 
 inline CanQualType Type::getCanonicalTypeUnqualified() const {
@@ -234,7 +234,7 @@ return CanQualType::CreateUnsafe(this->g
 #define LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(Type, Accessor)             \
 Type Accessor() const { return this->getTypePtr()->Accessor(); }
 
-/// \brief Base class of all canonical proxy types, which is responsible for
+/// Base class of all canonical proxy types, which is responsible for
 /// storing the underlying canonical type and providing basic conversions.
 template<typename T>
 class CanProxyBase {
@@ -242,10 +242,10 @@ protected:
   CanQual<T> Stored;
 
 public:
-  /// \brief Retrieve the pointer to the underlying Type
+  /// Retrieve the pointer to the underlying Type
   const T *getTypePtr() const { return Stored.getTypePtr(); }
 
-  /// \brief Implicit conversion to the underlying pointer.
+  /// Implicit conversion to the underlying pointer.
   ///
   /// Also provides the ability to use canonical type proxies in a Boolean
   // context,e.g.,
@@ -254,7 +254,7 @@ public:
   /// @endcode
   operator const T*() const { return this->Stored.getTypePtrOrNull(); }
 
-  /// \brief Try to convert the given canonical type to a specific structural
+  /// Try to convert the given canonical type to a specific structural
   /// type.
   template<typename U> CanProxy<U> getAs() const {
     return this->Stored.template getAs<U>();
@@ -313,7 +313,7 @@ public:
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSpecifierType)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(CXXRecordDecl*, getAsCXXRecordDecl)
 
-  /// \brief Retrieve the proxy-adaptor type.
+  /// Retrieve the proxy-adaptor type.
   ///
   /// This arrow operator is used when CanProxyAdaptor has been specialized
   /// for the given type T. In that case, we reference members of the
@@ -324,7 +324,7 @@ public:
   }
 };
 
-/// \brief Replaceable canonical proxy adaptor class that provides the link
+/// Replaceable canonical proxy adaptor class that provides the link
 /// between a canonical type and the accessors of the type.
 ///
 /// The CanProxyAdaptor is a replaceable class template that is instantiated
@@ -337,7 +337,7 @@ public:
 template<typename T>
 struct CanProxyAdaptor : CanProxyBase<T> {};
 
-/// \brief Canonical proxy type returned when retrieving the members of a
+/// Canonical proxy type returned when retrieving the members of a
 /// canonical type or as the result of the @c CanQual<T>::getAs member
 /// function.
 ///
@@ -347,13 +347,13 @@ struct CanProxyAdaptor : CanProxyBase<T>
 template<typename T>
 class CanProxy : public CanProxyAdaptor<T> {
 public:
-  /// \brief Build a NULL proxy.
+  /// Build a NULL proxy.
   CanProxy() = default;
 
-  /// \brief Build a proxy to the given canonical type.
+  /// Build a proxy to the given canonical type.
   CanProxy(CanQual<T> Stored) { this->Stored = Stored; }
 
-  /// \brief Implicit conversion to the stored canonical type.
+  /// Implicit conversion to the stored canonical type.
   operator CanQual<T>() const { return this->Stored; }
 };
 
@@ -396,7 +396,7 @@ namespace clang {
 // Canonical proxy adaptors for canonical type nodes.
 //----------------------------------------------------------------------------//
 
-/// \brief Iterator adaptor that turns an iterator over canonical QualTypes
+/// Iterator adaptor that turns an iterator over canonical QualTypes
 /// into an iterator over CanQualTypes.
 template <typename InputIterator>
 struct CanTypeIterator

Modified: cfe/trunk/include/clang/AST/CommentBriefParser.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentBriefParser.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CommentBriefParser.h (original)
+++ cfe/trunk/include/clang/AST/CommentBriefParser.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@ namespace comments {
 ///
 /// Due to a variety of comment styles, it considers the following as "a brief
 /// description", in order of priority:
-/// \li a \\brief or \\short command,
+/// \li a \or \\short command,
 /// \li the first paragraph,
 /// \li a \\result or \\return or \\returns paragraph.
 class BriefParser {

Modified: cfe/trunk/include/clang/AST/CommentCommandTraits.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentCommandTraits.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CommentCommandTraits.h (original)
+++ cfe/trunk/include/clang/AST/CommentCommandTraits.h Tue May  8 18:00:01 2018
@@ -26,7 +26,7 @@
 namespace clang {
 namespace comments {
 
-/// \brief Information about a single command.
+/// Information about a single command.
 ///
 /// When reordering, adding or removing members please update the corresponding
 /// TableGen backend.
@@ -57,7 +57,7 @@ struct CommandInfo {
   unsigned IsBlockCommand : 1;
 
   /// True if this command is introducing a brief documentation
-  /// paragraph (\\brief or an alias).
+  /// paragraph (\or an alias).
   unsigned IsBriefCommand : 1;
 
   /// True if this command is \\returns or an alias.
@@ -77,29 +77,29 @@ struct CommandInfo {
   /// True if this command is \\deprecated or an alias.
   unsigned IsDeprecatedCommand : 1;
 
-  /// \brief True if this is a \\headerfile-like command.
+  /// True if this is a \\headerfile-like command.
   unsigned IsHeaderfileCommand : 1;
 
   /// True if we don't want to warn about this command being passed an empty
   /// paragraph.  Meaningful only for block commands.
   unsigned IsEmptyParagraphAllowed : 1;
 
-  /// \brief True if this command is a verbatim-like block command.
+  /// True if this command is a verbatim-like block command.
   ///
   /// A verbatim-like block command eats every character (except line starting
   /// decorations) until matching end command is seen or comment end is hit.
   unsigned IsVerbatimBlockCommand : 1;
 
-  /// \brief True if this command is an end command for a verbatim-like block.
+  /// True if this command is an end command for a verbatim-like block.
   unsigned IsVerbatimBlockEndCommand : 1;
 
-  /// \brief True if this command is a verbatim line command.
+  /// True if this command is a verbatim line command.
   ///
   /// A verbatim-like line command eats everything until a newline is seen or
   /// comment end is hit.
   unsigned IsVerbatimLineCommand : 1;
 
-  /// \brief True if this command contains a declaration for the entity being
+  /// True if this command contains a declaration for the entity being
   /// documented.
   ///
   /// For example:
@@ -108,17 +108,17 @@ struct CommandInfo {
   /// \endcode
   unsigned IsDeclarationCommand : 1;
   
-  /// \brief True if verbatim-like line command is a function declaration.
+  /// True if verbatim-like line command is a function declaration.
   unsigned IsFunctionDeclarationCommand : 1;
 
-  /// \brief True if block command is further describing a container API; such
+  /// True if block command is further describing a container API; such
   /// as \@coclass, \@classdesign, etc.
   unsigned IsRecordLikeDetailCommand : 1;
   
-  /// \brief True if block command is a container API; such as \@interface.
+  /// True if block command is a container API; such as \@interface.
   unsigned IsRecordLikeDeclarationCommand : 1;
   
-  /// \brief True if this command is unknown.  This \c CommandInfo object was
+  /// True if this command is unknown.  This \c CommandInfo object was
   /// created during parsing.
   unsigned IsUnknownCommand : 1;
 };

Modified: cfe/trunk/include/clang/AST/CommentLexer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentLexer.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CommentLexer.h (original)
+++ cfe/trunk/include/clang/AST/CommentLexer.h Tue May  8 18:00:01 2018
@@ -52,7 +52,7 @@ enum TokenKind {
 };
 } // end namespace tok
 
-/// \brief Comment token.
+/// Comment token.
 class Token {
   friend class Lexer;
   friend class TextTokenRetokenizer;
@@ -217,7 +217,7 @@ public:
   void dump(const Lexer &L, const SourceManager &SM) const;
 };
 
-/// \brief Comment lexer.
+/// Comment lexer.
 class Lexer {
 private:
   Lexer(const Lexer &) = delete;

Modified: cfe/trunk/include/clang/AST/CommentSema.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentSema.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/CommentSema.h (original)
+++ cfe/trunk/include/clang/AST/CommentSema.h Tue May  8 18:00:01 2018
@@ -55,7 +55,7 @@ class Sema {
   /// Contains a valid value if \c DeclInfo->IsFilled is true.
   llvm::StringMap<TParamCommandComment *> TemplateParameterDocs;
 
-  /// AST node for the \\brief command and its aliases.
+  /// AST node for the \command and its aliases.
   const BlockCommandComment *BriefCommand;
 
   /// AST node for the \\headerfile command.
@@ -187,7 +187,7 @@ public:
   void checkReturnsCommand(const BlockCommandComment *Command);
 
   /// Emit diagnostics about duplicate block commands that should be
-  /// used only once per comment, e.g., \\brief and \\returns.
+  /// used only once per comment, e.g., \and \\returns.
   void checkBlockCommandDuplicate(const BlockCommandComment *Command);
 
   void checkDeprecatedCommand(const BlockCommandComment *Comment);

Modified: cfe/trunk/include/clang/AST/ComparisonCategories.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ComparisonCategories.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ComparisonCategories.h (original)
+++ cfe/trunk/include/clang/AST/ComparisonCategories.h Tue May  8 18:00:01 2018
@@ -129,7 +129,7 @@ public:
   /// True iff the comparison category is an equality comparison.
   bool isEquality() const { return !isOrdered(); }
 
-  /// \brief True iff the comparison category is a relational comparison.
+  /// True iff the comparison category is a relational comparison.
   bool isOrdered() const {
     using CCK = ComparisonCategoryType;
     return Kind == CCK::PartialOrdering || Kind == CCK::WeakOrdering ||

Modified: cfe/trunk/include/clang/AST/DataCollection.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DataCollection.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DataCollection.h (original)
+++ cfe/trunk/include/clang/AST/DataCollection.h Tue May  8 18:00:01 2018
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 /// \file
-/// \brief This file declares helper methods for collecting data from AST nodes.
+/// This file declares helper methods for collecting data from AST nodes.
 ///
 /// To collect data from Stmt nodes, subclass ConstStmtVisitor and include
 /// StmtDataCollectors.inc after defining the macros that you need. This

Modified: cfe/trunk/include/clang/AST/Decl.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Decl.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Decl.h (original)
+++ cfe/trunk/include/clang/AST/Decl.h Tue May  8 18:00:01 2018
@@ -1232,30 +1232,30 @@ public:
 
   EvaluatedStmt *ensureEvaluatedStmt() const;
 
-  /// \brief Attempt to evaluate the value of the initializer attached to this
+  /// Attempt to evaluate the value of the initializer attached to this
   /// declaration, and produce notes explaining why it cannot be evaluated or is
   /// not a constant expression. Returns a pointer to the value if evaluation
   /// succeeded, 0 otherwise.
   APValue *evaluateValue() const;
   APValue *evaluateValue(SmallVectorImpl<PartialDiagnosticAt> &Notes) const;
 
-  /// \brief Return the already-evaluated value of this variable's
+  /// Return the already-evaluated value of this variable's
   /// initializer, or NULL if the value is not yet known. Returns pointer
   /// to untyped APValue if the value could not be evaluated.
   APValue *getEvaluatedValue() const;
 
-  /// \brief Determines whether it is already known whether the
+  /// Determines whether it is already known whether the
   /// initializer is an integral constant expression or not.
   bool isInitKnownICE() const;
 
-  /// \brief Determines whether the initializer is an integral constant
+  /// Determines whether the initializer is an integral constant
   /// expression, or in C++11, whether the initializer is a constant
   /// expression.
   ///
   /// \pre isInitKnownICE()
   bool isInitICE() const;
 
-  /// \brief Determine whether the value of the initializer attached to this
+  /// Determine whether the value of the initializer attached to this
   /// declaration is an integral constant expression.
   bool checkInitIsICE() const;
 
@@ -1263,7 +1263,7 @@ public:
     VarDeclBits.InitStyle = Style;
   }
 
-  /// \brief The style of initialization for this declaration.
+  /// The style of initialization for this declaration.
   ///
   /// C-style initialization is "int x = 1;". Call-style initialization is
   /// a C++98 direct-initializer, e.g. "int x(1);". The Init expression will be
@@ -1277,18 +1277,18 @@ public:
     return static_cast<InitializationStyle>(VarDeclBits.InitStyle);
   }
 
-  /// \brief Whether the initializer is a direct-initializer (list or call).
+  /// Whether the initializer is a direct-initializer (list or call).
   bool isDirectInit() const {
     return getInitStyle() != CInit;
   }
 
-  /// \brief If this definition should pretend to be a declaration.
+  /// If this definition should pretend to be a declaration.
   bool isThisDeclarationADemotedDefinition() const {
     return isa<ParmVarDecl>(this) ? false :
       NonParmVarDeclBits.IsThisDeclarationADemotedDefinition;
   }
 
-  /// \brief This is a definition which should be demoted to a declaration.
+  /// This is a definition which should be demoted to a declaration.
   ///
   /// In some cases (mostly module merging) we can end up with two visible
   /// definitions one of which needs to be demoted to a declaration to keep
@@ -1299,7 +1299,7 @@ public:
     NonParmVarDeclBits.IsThisDeclarationADemotedDefinition = 1;
   }
 
-  /// \brief Determine whether this variable is the exception variable in a
+  /// Determine whether this variable is the exception variable in a
   /// C++ catch statememt or an Objective-C \@catch statement.
   bool isExceptionVariable() const {
     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.ExceptionVar;
@@ -1309,7 +1309,7 @@ public:
     NonParmVarDeclBits.ExceptionVar = EV;
   }
 
-  /// \brief Determine whether this local variable can be used with the named
+  /// Determine whether this local variable can be used with the named
   /// return value optimization (NRVO).
   ///
   /// The named return value optimization (NRVO) works by marking certain
@@ -1327,7 +1327,7 @@ public:
     NonParmVarDeclBits.NRVOVariable = NRVO;
   }
 
-  /// \brief Determine whether this variable is the for-range-declaration in
+  /// Determine whether this variable is the for-range-declaration in
   /// a C++0x for-range statement.
   bool isCXXForRangeDecl() const {
     return isa<ParmVarDecl>(this) ? false : NonParmVarDeclBits.CXXForRangeDecl;
@@ -1337,7 +1337,7 @@ public:
     NonParmVarDeclBits.CXXForRangeDecl = FRD;
   }
 
-  /// \brief Determine whether this variable is a for-loop declaration for a
+  /// Determine whether this variable is a for-loop declaration for a
   /// for-in statement in Objective-C.
   bool isObjCForDecl() const {
     return NonParmVarDeclBits.ObjCForDecl;
@@ -1347,7 +1347,7 @@ public:
     NonParmVarDeclBits.ObjCForDecl = FRD;
   }
 
-  /// \brief Determine whether this variable is an ARC pseudo-__strong
+  /// Determine whether this variable is an ARC pseudo-__strong
   /// variable.  A pseudo-__strong variable has a __strong-qualified
   /// type but does not actually retain the object written into it.
   /// Generally such variables are also 'const' for safety.
@@ -1407,41 +1407,41 @@ public:
     NonParmVarDeclBits.PreviousDeclInSameBlockScope = Same;
   }
 
-  /// \brief Retrieve the variable declaration from which this variable could
+  /// Retrieve the variable declaration from which this variable could
   /// be instantiated, if it is an instantiation (rather than a non-template).
   VarDecl *getTemplateInstantiationPattern() const;
 
-  /// \brief If this variable is an instantiated static data member of a
+  /// If this variable is an instantiated static data member of a
   /// class template specialization, returns the templated static data member
   /// from which it was instantiated.
   VarDecl *getInstantiatedFromStaticDataMember() const;
 
-  /// \brief If this variable is an instantiation of a variable template or a
+  /// If this variable is an instantiation of a variable template or a
   /// static data member of a class template, determine what kind of
   /// template specialization or instantiation this is.
   TemplateSpecializationKind getTemplateSpecializationKind() const;
 
-  /// \brief If this variable is an instantiation of a variable template or a
+  /// If this variable is an instantiation of a variable template or a
   /// static data member of a class template, determine its point of
   /// instantiation.
   SourceLocation getPointOfInstantiation() const;
 
-  /// \brief If this variable is an instantiation of a static data member of a
+  /// If this variable is an instantiation of a static data member of a
   /// class template specialization, retrieves the member specialization
   /// information.
   MemberSpecializationInfo *getMemberSpecializationInfo() const;
 
-  /// \brief For a static data member that was instantiated from a static
+  /// For a static data member that was instantiated from a static
   /// data member of a class template, set the template specialiation kind.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK,
                         SourceLocation PointOfInstantiation = SourceLocation());
 
-  /// \brief Specify that this variable is an instantiation of the
+  /// Specify that this variable is an instantiation of the
   /// static data member VD.
   void setInstantiationOfStaticDataMember(VarDecl *VD,
                                           TemplateSpecializationKind TSK);
 
-  /// \brief Retrieves the variable template that is described by this
+  /// Retrieves the variable template that is described by this
   /// variable declaration.
   ///
   /// Every variable template is represented as a VarTemplateDecl and a
@@ -1613,7 +1613,7 @@ public:
 
   void setDefaultArg(Expr *defarg);
 
-  /// \brief Retrieve the source range that covers the entire default
+  /// Retrieve the source range that covers the entire default
   /// argument.
   SourceRange getDefaultArgRange() const;
   void setUninstantiatedDefaultArg(Expr *arg);
@@ -1661,7 +1661,7 @@ public:
 
   QualType getOriginalType() const;
 
-  /// \brief Determine whether this parameter is actually a function
+  /// Determine whether this parameter is actually a function
   /// parameter pack.
   bool isParameterPack() const;
 
@@ -1709,7 +1709,7 @@ private:
 class FunctionDecl : public DeclaratorDecl, public DeclContext,
                      public Redeclarable<FunctionDecl> {
 public:
-  /// \brief The kind of templated function a FunctionDecl can be.
+  /// The kind of templated function a FunctionDecl can be.
   enum TemplatedKind {
     TK_NonTemplate,
     TK_FunctionTemplate,
@@ -1757,10 +1757,10 @@ private:
   unsigned IsConstexpr : 1;
   unsigned InstantiationIsPending : 1;
 
-  /// \brief Indicates if the function uses __try.
+  /// Indicates if the function uses __try.
   unsigned UsesSEHTry : 1;
 
-  /// \brief Indicates if the function was a definition but its body was
+  /// Indicates if the function was a definition but its body was
   /// skipped.
   unsigned HasSkippedBody : 1;
 
@@ -1786,7 +1786,7 @@ private:
   unsigned HasODRHash : 1;
   unsigned ODRHash;
 
-  /// \brief End part of this FunctionDecl's source range.
+  /// End part of this FunctionDecl's source range.
   ///
   /// We could compute the full range in getSourceRange(). However, when we're
   /// dealing with a function definition deserialized from a PCH/AST file,
@@ -1795,7 +1795,7 @@ private:
   /// EndRangeLoc.
   SourceLocation EndRangeLoc;
 
-  /// \brief The template or declaration that this declaration
+  /// The template or declaration that this declaration
   /// describes or was instantiated from, respectively.
   ///
   /// For non-templates, this value will be NULL. For function
@@ -1817,7 +1817,7 @@ private:
   /// the DeclaratorDecl base class.
   DeclarationNameLoc DNLoc;
 
-  /// \brief Specify that this function declaration is actually a function
+  /// Specify that this function declaration is actually a function
   /// template specialization.
   ///
   /// \param C the ASTContext.
@@ -1846,7 +1846,7 @@ private:
                           const TemplateArgumentListInfo *TemplateArgsAsWritten,
                                          SourceLocation PointOfInstantiation);
 
-  /// \brief Specify that this record is an instantiation of the
+  /// Specify that this record is an instantiation of the
   /// member function FD.
   void setInstantiationOfMemberFunction(ASTContext &C, FunctionDecl *FD,
                                         TemplateSpecializationKind TSK);
@@ -1980,7 +1980,7 @@ public:
     return isDefined(Definition);
   }
 
-  /// \brief Get the definition for this declaration.
+  /// Get the definition for this declaration.
   FunctionDecl *getDefinition() {
     const FunctionDecl *Definition;
     if (isDefined(Definition))
@@ -2064,7 +2064,7 @@ public:
   bool hasImplicitReturnZero() const { return HasImplicitReturnZero; }
   void setHasImplicitReturnZero(bool IRZ) { HasImplicitReturnZero = IRZ; }
 
-  /// \brief Whether this function has a prototype, either because one
+  /// Whether this function has a prototype, either because one
   /// was explicitly written or because it was "inherited" by merging
   /// a declaration without a prototype with a declaration that has a
   /// prototype.
@@ -2074,7 +2074,7 @@ public:
 
   bool hasWrittenPrototype() const { return HasWrittenPrototype; }
 
-  /// \brief Whether this function inherited its prototype from a
+  /// Whether this function inherited its prototype from a
   /// previous declaration.
   bool hasInheritedPrototype() const { return HasInheritedPrototype; }
   void setHasInheritedPrototype(bool P = true) { HasInheritedPrototype = P; }
@@ -2083,7 +2083,7 @@ public:
   bool isConstexpr() const { return IsConstexpr; }
   void setConstexpr(bool IC) { IsConstexpr = IC; }
 
-  /// \brief Whether the instantiation of this function is pending.
+  /// Whether the instantiation of this function is pending.
   /// This bit is set when the decision to instantiate this function is made
   /// and unset if and when the function body is created. That leaves out
   /// cases where instantiation did not happen because the template definition
@@ -2092,11 +2092,11 @@ public:
   bool instantiationIsPending() const { return InstantiationIsPending; }
   void setInstantiationIsPending(bool IC) { InstantiationIsPending = IC; }
 
-  /// \brief Indicates the function uses __try.
+  /// Indicates the function uses __try.
   bool usesSEHTry() const { return UsesSEHTry; }
   void setUsesSEHTry(bool UST) { UsesSEHTry = UST; }
 
-  /// \brief Whether this function has been deleted.
+  /// Whether this function has been deleted.
   ///
   /// A function that is "deleted" (via the C++0x "= delete" syntax)
   /// acts like a normal function, except that it cannot actually be
@@ -2119,15 +2119,15 @@ public:
   bool isDeletedAsWritten() const { return IsDeleted && !IsDefaulted; }
   void setDeletedAsWritten(bool D = true) { IsDeleted = D; }
 
-  /// \brief Determines whether this function is "main", which is the
+  /// Determines whether this function is "main", which is the
   /// entry point into an executable program.
   bool isMain() const;
 
-  /// \brief Determines whether this function is a MSVCRT user defined entry
+  /// Determines whether this function is a MSVCRT user defined entry
   /// point.
   bool isMSVCRTEntryPoint() const;
 
-  /// \brief Determines whether this operator new or delete is one
+  /// Determines whether this operator new or delete is one
   /// of the reserved global placement operators:
   ///    void *operator new(size_t, void *);
   ///    void *operator new[](size_t, void *);
@@ -2142,7 +2142,7 @@ public:
   /// This function must be an allocation or deallocation function.
   bool isReservedGlobalPlacementOperator() const;
 
-  /// \brief Determines whether this function is one of the replaceable
+  /// Determines whether this function is one of the replaceable
   /// global allocation functions:
   ///    void *operator new(size_t);
   ///    void *operator new(size_t, const std::nothrow_t &) noexcept;
@@ -2162,32 +2162,32 @@ public:
   /// true through IsAligned.
   bool isReplaceableGlobalAllocationFunction(bool *IsAligned = nullptr) const;
 
-  /// \brief Determine whether this is a destroying operator delete.
+  /// Determine whether this is a destroying operator delete.
   bool isDestroyingOperatorDelete() const;
 
   /// Compute the language linkage.
   LanguageLinkage getLanguageLinkage() const;
 
-  /// \brief Determines whether this function is a function with
+  /// Determines whether this function is a function with
   /// external, C linkage.
   bool isExternC() const;
 
-  /// \brief Determines whether this function's context is, or is nested within,
+  /// Determines whether this function's context is, or is nested within,
   /// a C++ extern "C" linkage spec.
   bool isInExternCContext() const;
 
-  /// \brief Determines whether this function's context is, or is nested within,
+  /// Determines whether this function's context is, or is nested within,
   /// a C++ extern "C++" linkage spec.
   bool isInExternCXXContext() const;
 
-  /// \brief Determines whether this is a global function.
+  /// Determines whether this is a global function.
   bool isGlobal() const;
 
-  /// \brief Determines whether this function is known to be 'noreturn', through
+  /// Determines whether this function is known to be 'noreturn', through
   /// an attribute on its declaration or its type.
   bool isNoReturn() const;
 
-  /// \brief True if the function was a definition but its body was skipped.
+  /// True if the function was a definition but its body was skipped.
   bool hasSkippedBody() const { return HasSkippedBody; }
   void setHasSkippedBody(bool Skipped = true) { HasSkippedBody = Skipped; }
 
@@ -2259,34 +2259,34 @@ public:
     return getType()->getAs<FunctionType>()->getReturnType();
   }
 
-  /// \brief Attempt to compute an informative source range covering the
+  /// Attempt to compute an informative source range covering the
   /// function return type. This may omit qualifiers and other information with
   /// limited representation in the AST.
   SourceRange getReturnTypeSourceRange() const;
 
-  /// \brief Attempt to compute an informative source range covering the
+  /// Attempt to compute an informative source range covering the
   /// function exception specification, if any.
   SourceRange getExceptionSpecSourceRange() const;
 
-  /// \brief Determine the type of an expression that calls this function.
+  /// Determine the type of an expression that calls this function.
   QualType getCallResultType() const {
     assert(getType()->getAs<FunctionType>() && "Expected a FunctionType!");
     return getType()->getAs<FunctionType>()->getCallResultType(getASTContext());
   }
 
-  /// \brief Returns the WarnUnusedResultAttr that is either declared on this
+  /// Returns the WarnUnusedResultAttr that is either declared on this
   /// function, or its return type declaration.
   const Attr *getUnusedResultAttr() const;
 
-  /// \brief Returns true if this function or its return type has the
+  /// Returns true if this function or its return type has the
   /// warn_unused_result attribute.
   bool hasUnusedResultAttr() const { return getUnusedResultAttr() != nullptr; }
 
-  /// \brief Returns the storage class as written in the source. For the
+  /// Returns the storage class as written in the source. For the
   /// computed linkage of symbol, see getLinkage.
   StorageClass getStorageClass() const { return StorageClass(SClass); }
 
-  /// \brief Determine whether the "inline" keyword was specified for this
+  /// Determine whether the "inline" keyword was specified for this
   /// function.
   bool isInlineSpecified() const { return IsInlineSpecified; }
 
@@ -2301,7 +2301,7 @@ public:
     IsInline = true;
   }
 
-  /// \brief Determine whether this function should be inlined, because it is
+  /// Determine whether this function should be inlined, because it is
   /// either marked "inline" or "constexpr" or is a member function of a class
   /// that was defined in the class body.
   bool isInlined() const { return IsInline; }
@@ -2322,7 +2322,7 @@ public:
 
   const IdentifierInfo *getLiteralIdentifier() const;
 
-  /// \brief If this function is an instantiation of a member function
+  /// If this function is an instantiation of a member function
   /// of a class template specialization, retrieves the function from
   /// which it was instantiated.
   ///
@@ -2345,22 +2345,22 @@ public:
   /// declaration returned by getInstantiatedFromMemberFunction().
   FunctionDecl *getInstantiatedFromMemberFunction() const;
 
-  /// \brief What kind of templated function this is.
+  /// What kind of templated function this is.
   TemplatedKind getTemplatedKind() const;
 
-  /// \brief If this function is an instantiation of a member function of a
+  /// If this function is an instantiation of a member function of a
   /// class template specialization, retrieves the member specialization
   /// information.
   MemberSpecializationInfo *getMemberSpecializationInfo() const;
 
-  /// \brief Specify that this record is an instantiation of the
+  /// Specify that this record is an instantiation of the
   /// member function FD.
   void setInstantiationOfMemberFunction(FunctionDecl *FD,
                                         TemplateSpecializationKind TSK) {
     setInstantiationOfMemberFunction(getASTContext(), FD, TSK);
   }
 
-  /// \brief Retrieves the function template that is described by this
+  /// Retrieves the function template that is described by this
   /// function declaration.
   ///
   /// Every function template is represented as a FunctionTemplateDecl
@@ -2376,50 +2376,50 @@ public:
 
   void setDescribedFunctionTemplate(FunctionTemplateDecl *Template);
 
-  /// \brief Determine whether this function is a function template
+  /// Determine whether this function is a function template
   /// specialization.
   bool isFunctionTemplateSpecialization() const {
     return getPrimaryTemplate() != nullptr;
   }
 
-  /// \brief Retrieve the class scope template pattern that this function
+  /// Retrieve the class scope template pattern that this function
   ///  template specialization is instantiated from.
   FunctionDecl *getClassScopeSpecializationPattern() const;
 
-  /// \brief If this function is actually a function template specialization,
+  /// If this function is actually a function template specialization,
   /// retrieve information about this function template specialization.
   /// Otherwise, returns NULL.
   FunctionTemplateSpecializationInfo *getTemplateSpecializationInfo() const;
 
-  /// \brief Determines whether this function is a function template
+  /// Determines whether this function is a function template
   /// specialization or a member of a class template specialization that can
   /// be implicitly instantiated.
   bool isImplicitlyInstantiable() const;
 
-  /// \brief Determines if the given function was instantiated from a
+  /// Determines if the given function was instantiated from a
   /// function template.
   bool isTemplateInstantiation() const;
 
-  /// \brief Retrieve the function declaration from which this function could
+  /// Retrieve the function declaration from which this function could
   /// be instantiated, if it is an instantiation (rather than a non-template
   /// or a specialization, for example).
   FunctionDecl *getTemplateInstantiationPattern() const;
 
-  /// \brief Retrieve the primary template that this function template
+  /// Retrieve the primary template that this function template
   /// specialization either specializes or was instantiated from.
   ///
   /// If this function declaration is not a function template specialization,
   /// returns NULL.
   FunctionTemplateDecl *getPrimaryTemplate() const;
 
-  /// \brief Retrieve the template arguments used to produce this function
+  /// Retrieve the template arguments used to produce this function
   /// template specialization from the primary template.
   ///
   /// If this function declaration is not a function template specialization,
   /// returns NULL.
   const TemplateArgumentList *getTemplateSpecializationArgs() const;
 
-  /// \brief Retrieve the template argument list as written in the sources,
+  /// Retrieve the template argument list as written in the sources,
   /// if any.
   ///
   /// If this function declaration is not a function template specialization
@@ -2429,7 +2429,7 @@ public:
   const ASTTemplateArgumentListInfo*
   getTemplateSpecializationArgsAsWritten() const;
 
-  /// \brief Specify that this function declaration is actually a function
+  /// Specify that this function declaration is actually a function
   /// template specialization.
   ///
   /// \param Template the function template that this function template
@@ -2459,7 +2459,7 @@ public:
                                       PointOfInstantiation);
   }
 
-  /// \brief Specifies that this function declaration is actually a
+  /// Specifies that this function declaration is actually a
   /// dependent function template specialization.
   void setDependentTemplateSpecialization(ASTContext &Context,
                              const UnresolvedSetImpl &Templates,
@@ -2468,16 +2468,16 @@ public:
   DependentFunctionTemplateSpecializationInfo *
   getDependentSpecializationInfo() const;
 
-  /// \brief Determine what kind of template instantiation this function
+  /// Determine what kind of template instantiation this function
   /// represents.
   TemplateSpecializationKind getTemplateSpecializationKind() const;
 
-  /// \brief Determine what kind of template instantiation this function
+  /// Determine what kind of template instantiation this function
   /// represents.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK,
                         SourceLocation PointOfInstantiation = SourceLocation());
 
-  /// \brief Retrieve the (first) point of instantiation of a function template
+  /// Retrieve the (first) point of instantiation of a function template
   /// specialization or a member of a class template specialization.
   ///
   /// \returns the first point of instantiation, if this function was
@@ -2485,17 +2485,17 @@ public:
   /// location.
   SourceLocation getPointOfInstantiation() const;
 
-  /// \brief Determine whether this is or was instantiated from an out-of-line
+  /// Determine whether this is or was instantiated from an out-of-line
   /// definition of a member function.
   bool isOutOfLine() const override;
 
-  /// \brief Identify a memory copying or setting function.
+  /// Identify a memory copying or setting function.
   /// If the given function is a memory copy or setting function, returns
   /// the corresponding Builtin ID. If the function is not a memory function,
   /// returns 0.
   unsigned getMemoryFunctionKind() const;
 
-  /// \brief Returns ODRHash of the function.  This value is calculated and
+  /// Returns ODRHash of the function.  This value is calculated and
   /// stored on first call, then the stored value returned on the other calls.
   unsigned getODRHash();
 
@@ -2548,7 +2548,7 @@ class FieldDecl : public DeclaratorDecl,
     Expr *BitWidth;
   };
 
-  /// \brief Storage for either the bit-width, the in-class initializer, or
+  /// Storage for either the bit-width, the in-class initializer, or
   /// both (via InitAndBitWidth), or the captured variable length array bound.
   ///
   /// If the storage kind is ISK_InClassCopyInit or
@@ -2679,20 +2679,20 @@ public:
     InitStorage.setPointerAndInt(getBitWidth(), ISK_NoInit);
   }
 
-  /// \brief Determine whether this member captures the variable length array
+  /// Determine whether this member captures the variable length array
   /// type.
   bool hasCapturedVLAType() const {
     return InitStorage.getInt() == ISK_CapturedVLAType;
   }
 
-  /// \brief Get the captured variable length array type.
+  /// Get the captured variable length array type.
   const VariableArrayType *getCapturedVLAType() const {
     return hasCapturedVLAType() ? static_cast<const VariableArrayType *>(
                                       InitStorage.getPointer())
                                 : nullptr;
   }
 
-  /// \brief Set the captured variable length array type for this field.
+  /// Set the captured variable length array type for this field.
   void setCapturedVLAType(const VariableArrayType *VLAType);
 
   /// Returns the parent of this field declaration, which
@@ -3062,7 +3062,7 @@ private:
   // to be used for the (uncommon) case of out-of-line declarations.
   using ExtInfo = QualifierInfo;
 
-  /// \brief If the (out-of-line) tag declaration name
+  /// If the (out-of-line) tag declaration name
   /// is qualified, it points to the qualifier info (nns and range);
   /// otherwise, if the tag declaration is anonymous and it is part of
   /// a typedef or alias, it points to the TypedefNameDecl (used for mangling);
@@ -3106,7 +3106,7 @@ protected:
     return getMostRecentDecl();
   }
 
-  /// @brief Completes the definition of this tag declaration.
+  /// Completes the definition of this tag declaration.
   ///
   /// This is a helper function for derived classes.
   void completeDefinition();
@@ -3153,7 +3153,7 @@ public:
     return IsCompleteDefinition;
   }
 
-  /// \brief Return true if this complete decl is
+  /// Return true if this complete decl is
   /// required to be complete for some existing use.
   bool isCompleteDefinitionRequired() const {
     return IsCompleteDefinitionRequired;
@@ -3176,7 +3176,7 @@ public:
     IsFreeStanding = isFreeStanding;
   }
 
-  /// \brief Whether this declaration declares a type that is
+  /// Whether this declaration declares a type that is
   /// dependent, i.e., a type that somehow depends on template
   /// parameters.
   bool isDependentType() const { return isDependentContext(); }
@@ -3246,14 +3246,14 @@ public:
 
   void setTypedefNameForAnonDecl(TypedefNameDecl *TDD);
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name of this
+  /// Retrieve the nested-name-specifier that qualifies the name of this
   /// declaration, if it was present in the source.
   NestedNameSpecifier *getQualifier() const {
     return hasExtInfo() ? getExtInfo()->QualifierLoc.getNestedNameSpecifier()
                         : nullptr;
   }
 
-  /// \brief Retrieve the nested-name-specifier (with source-location
+  /// Retrieve the nested-name-specifier (with source-location
   /// information) that qualifies the name of this declaration, if it was
   /// present in the source.
   NestedNameSpecifierLoc getQualifierLoc() const {
@@ -3314,7 +3314,7 @@ class EnumDecl : public TagDecl {
   /// in C++) are of the enum type instead.
   QualType PromotionType;
 
-  /// \brief If this enumeration is an instantiation of a member enumeration
+  /// If this enumeration is an instantiation of a member enumeration
   /// of a class template specialization, this is the member specialization
   /// information.
   MemberSpecializationInfo *SpecializationInfo = nullptr;
@@ -3422,23 +3422,23 @@ public:
     return IntegerType.get<TypeSourceInfo*>()->getType().getUnqualifiedType();
   }
 
-  /// \brief Set the underlying integer type.
+  /// Set the underlying integer type.
   void setIntegerType(QualType T) { IntegerType = T.getTypePtrOrNull(); }
 
-  /// \brief Set the underlying integer type source info.
+  /// Set the underlying integer type source info.
   void setIntegerTypeSourceInfo(TypeSourceInfo *TInfo) { IntegerType = TInfo; }
 
-  /// \brief Return the type source info for the underlying integer type,
+  /// Return the type source info for the underlying integer type,
   /// if no type source info exists, return 0.
   TypeSourceInfo *getIntegerTypeSourceInfo() const {
     return IntegerType.dyn_cast<TypeSourceInfo*>();
   }
 
-  /// \brief Retrieve the source range that covers the underlying type if
+  /// Retrieve the source range that covers the underlying type if
   /// specified.
   SourceRange getIntegerTypeRange() const LLVM_READONLY;
 
-  /// \brief Returns the width in bits required to store all the
+  /// Returns the width in bits required to store all the
   /// non-negative enumerators of this enum.
   unsigned getNumPositiveBits() const {
     return NumPositiveBits;
@@ -3448,7 +3448,7 @@ public:
     assert(NumPositiveBits == Num && "can't store this bitcount");
   }
 
-  /// \brief Returns the width in bits required to store all the
+  /// Returns the width in bits required to store all the
   /// negative enumerators of this enum.  These widths include
   /// the rightmost leading 1;  that is:
   ///
@@ -3464,23 +3464,23 @@ public:
     NumNegativeBits = Num;
   }
 
-  /// \brief Returns true if this is a C++11 scoped enumeration.
+  /// Returns true if this is a C++11 scoped enumeration.
   bool isScoped() const {
     return IsScoped;
   }
 
-  /// \brief Returns true if this is a C++11 scoped enumeration.
+  /// Returns true if this is a C++11 scoped enumeration.
   bool isScopedUsingClassTag() const {
     return IsScopedUsingClassTag;
   }
 
-  /// \brief Returns true if this is an Objective-C, C++11, or
+  /// Returns true if this is an Objective-C, C++11, or
   /// Microsoft-style enumeration with a fixed underlying type.
   bool isFixed() const {
     return IsFixed;
   }
 
-  /// \brief Returns true if this can be considered a complete type.
+  /// Returns true if this can be considered a complete type.
   bool isComplete() const {
     // IntegerType is set for fixed type enums and non-fixed but implicitly
     // int-sized Microsoft enums.
@@ -3499,33 +3499,33 @@ public:
   /// enum_extensibility(open).
   bool isClosedNonFlag() const;
 
-  /// \brief Retrieve the enum definition from which this enumeration could
+  /// Retrieve the enum definition from which this enumeration could
   /// be instantiated, if it is an instantiation (rather than a non-template).
   EnumDecl *getTemplateInstantiationPattern() const;
 
-  /// \brief Returns the enumeration (declared within the template)
+  /// Returns the enumeration (declared within the template)
   /// from which this enumeration type was instantiated, or NULL if
   /// this enumeration was not instantiated from any template.
   EnumDecl *getInstantiatedFromMemberEnum() const;
 
-  /// \brief If this enumeration is a member of a specialization of a
+  /// If this enumeration is a member of a specialization of a
   /// templated class, determine what kind of template specialization
   /// or instantiation this is.
   TemplateSpecializationKind getTemplateSpecializationKind() const;
 
-  /// \brief For an enumeration member that was instantiated from a member
+  /// For an enumeration member that was instantiated from a member
   /// enumeration of a templated class, set the template specialiation kind.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK,
                         SourceLocation PointOfInstantiation = SourceLocation());
 
-  /// \brief If this enumeration is an instantiation of a member enumeration of
+  /// If this enumeration is an instantiation of a member enumeration of
   /// a class template specialization, retrieves the member specialization
   /// information.
   MemberSpecializationInfo *getMemberSpecializationInfo() const {
     return SpecializationInfo;
   }
 
-  /// \brief Specify that this enumeration is an instantiation of the
+  /// Specify that this enumeration is an instantiation of the
   /// member enumeration ED.
   void setInstantiationOfMemberEnum(EnumDecl *ED,
                                     TemplateSpecializationKind TSK) {
@@ -3713,7 +3713,7 @@ public:
     ParamDestroyedInCallee = V;
   }
 
-  /// \brief Determines whether this declaration represents the
+  /// Determines whether this declaration represents the
   /// injected class name.
   ///
   /// The injected class name in C++ is the name of the class that
@@ -3728,15 +3728,15 @@ public:
   /// \endcode
   bool isInjectedClassName() const;
 
-  /// \brief Determine whether this record is a class describing a lambda
+  /// Determine whether this record is a class describing a lambda
   /// function object.
   bool isLambda() const;
 
-  /// \brief Determine whether this record is a record for captured variables in
+  /// Determine whether this record is a record for captured variables in
   /// CapturedStmt construct.
   bool isCapturedRecord() const;
 
-  /// \brief Mark the record as a record for captured variables in CapturedStmt
+  /// Mark the record as a record for captured variables in CapturedStmt
   /// construct.
   void setCapturedRecord();
 
@@ -3778,12 +3778,12 @@ public:
     return K >= firstRecord && K <= lastRecord;
   }
 
-  /// \brief Get whether or not this is an ms_struct which can
+  /// Get whether or not this is an ms_struct which can
   /// be turned on with an attribute, pragma, or -mms-bitfields
   /// commandline option.
   bool isMsStruct(const ASTContext &C) const;
 
-  /// \brief Whether we are allowed to insert extra padding between fields.
+  /// Whether we are allowed to insert extra padding between fields.
   /// These padding are added to help AddressSanitizer detect
   /// intra-object-overflow bugs.
   bool mayInsertExtraPadding(bool EmitRemark = false) const;
@@ -3793,7 +3793,7 @@ public:
   const FieldDecl *findFirstNamedDataMember() const;  
 
 private:
-  /// \brief Deserialize just the fields.
+  /// Deserialize just the fields.
   void LoadFieldsFromExternalStorage() const;
 };
 
@@ -4019,13 +4019,13 @@ protected:
   }
 
 private:
-  /// \brief The number of parameters to the outlined function.
+  /// The number of parameters to the outlined function.
   unsigned NumParams;
 
-  /// \brief The position of context parameter in list of parameters.
+  /// The position of context parameter in list of parameters.
   unsigned ContextParam;
 
-  /// \brief The body of the outlined function.
+  /// The body of the outlined function.
   llvm::PointerIntPair<Stmt *, 1, bool> BodyAndNothrow;
 
   explicit CapturedDecl(DeclContext *DC, unsigned NumParams);
@@ -4073,7 +4073,7 @@ public:
     return {getParams(), getNumParams()};
   }
 
-  /// \brief Retrieve the parameter containing captured variables.
+  /// Retrieve the parameter containing captured variables.
   ImplicitParamDecl *getContextParam() const {
     assert(ContextParam < NumParams);
     return getParam(ContextParam);
@@ -4088,9 +4088,9 @@ public:
   using param_iterator = ImplicitParamDecl *const *;
   using param_range = llvm::iterator_range<param_iterator>;
 
-  /// \brief Retrieve an iterator pointing to the first parameter decl.
+  /// Retrieve an iterator pointing to the first parameter decl.
   param_iterator param_begin() const { return getParams(); }
-  /// \brief Retrieve an iterator one past the last parameter decl.
+  /// Retrieve an iterator one past the last parameter decl.
   param_iterator param_end() const { return getParams() + NumParams; }
 
   // Implement isa/cast/dyncast/etc.
@@ -4104,7 +4104,7 @@ public:
   }
 };
 
-/// \brief Describes a module import declaration, which makes the contents
+/// Describes a module import declaration, which makes the contents
 /// of the named module visible in the current translation unit.
 ///
 /// An import declaration imports the named module (or submodule). For example:
@@ -4121,7 +4121,7 @@ class ImportDecl final : public Decl,
   friend class ASTReader;
   friend TrailingObjects;
 
-  /// \brief The imported module, along with a bit that indicates whether
+  /// The imported module, along with a bit that indicates whether
   /// we have source-location information for each identifier in the module
   /// name. 
   ///
@@ -4129,7 +4129,7 @@ class ImportDecl final : public Decl,
   /// end of the import declaration.
   llvm::PointerIntPair<Module *, 1, bool> ImportedAndComplete;
   
-  /// \brief The next import in the list of imports local to the translation
+  /// The next import in the list of imports local to the translation
   /// unit being parsed (not loaded from an AST file).
   ImportDecl *NextLocalImport = nullptr;
   
@@ -4142,25 +4142,25 @@ class ImportDecl final : public Decl,
   ImportDecl(EmptyShell Empty) : Decl(Import, Empty) {}
   
 public:
-  /// \brief Create a new module import declaration.
+  /// Create a new module import declaration.
   static ImportDecl *Create(ASTContext &C, DeclContext *DC, 
                             SourceLocation StartLoc, Module *Imported,
                             ArrayRef<SourceLocation> IdentifierLocs);
   
-  /// \brief Create a new module import declaration for an implicitly-generated
+  /// Create a new module import declaration for an implicitly-generated
   /// import.
   static ImportDecl *CreateImplicit(ASTContext &C, DeclContext *DC, 
                                     SourceLocation StartLoc, Module *Imported, 
                                     SourceLocation EndLoc);
   
-  /// \brief Create a new, deserialized module import declaration.
+  /// Create a new, deserialized module import declaration.
   static ImportDecl *CreateDeserialized(ASTContext &C, unsigned ID, 
                                         unsigned NumLocations);
   
-  /// \brief Retrieve the module that was imported by the import declaration.
+  /// Retrieve the module that was imported by the import declaration.
   Module *getImportedModule() const { return ImportedAndComplete.getPointer(); }
   
-  /// \brief Retrieves the locations of each of the identifiers that make up
+  /// Retrieves the locations of each of the identifiers that make up
   /// the complete module name in the import declaration.
   ///
   /// This will return an empty array if the locations of the individual
@@ -4173,7 +4173,7 @@ public:
   static bool classofKind(Kind K) { return K == Import; }
 };
 
-/// \brief Represents a C++ Modules TS module export declaration.
+/// Represents a C++ Modules TS module export declaration.
 ///
 /// For example:
 /// \code
@@ -4185,7 +4185,7 @@ class ExportDecl final : public Decl, pu
 private:
   friend class ASTDeclReader;
 
-  /// \brief The source location for the right brace (if valid).
+  /// The source location for the right brace (if valid).
   SourceLocation RBraceLoc;
 
   ExportDecl(DeclContext *DC, SourceLocation ExportLoc)

Modified: cfe/trunk/include/clang/AST/DeclBase.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclBase.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclBase.h (original)
+++ cfe/trunk/include/clang/AST/DeclBase.h Tue May  8 18:00:01 2018
@@ -67,7 +67,7 @@ class TemplateDecl;
 class TranslationUnitDecl;
 class UsingDirectiveDecl;
 
-/// \brief Captures the result of checking the availability of a
+/// Captures the result of checking the availability of a
 /// declaration.
 enum AvailabilityResult {
   AR_Available = 0,
@@ -85,7 +85,7 @@ enum AvailabilityResult {
 /// asserted in DeclBase.cpp.
 class LLVM_ALIGNAS(/*alignof(uint64_t)*/ 8) Decl {
 public:
-  /// \brief Lists the kind of concrete classes of Decl.
+  /// Lists the kind of concrete classes of Decl.
   enum Kind {
 #define DECL(DERIVED, BASE) DERIVED,
 #define ABSTRACT_DECL(DECL)
@@ -96,7 +96,7 @@ public:
 #include "clang/AST/DeclNodes.inc"
   };
 
-  /// \brief A placeholder type used to construct an empty shell of a
+  /// A placeholder type used to construct an empty shell of a
   /// decl-derived type that will be filled in later (e.g., by some
   /// deserialization method).
   struct EmptyShell {};
@@ -231,7 +231,7 @@ public:
   };
 
 protected:
-  /// \brief The next declaration within the same lexical
+  /// The next declaration within the same lexical
   /// DeclContext. These pointers form the linked list that is
   /// traversed via DeclContext's decls_begin()/decls_end().
   ///
@@ -288,22 +288,22 @@ private:
   /// the implementation rather than explicitly written by the user.
   unsigned Implicit : 1;
 
-  /// \brief Whether this declaration was "used", meaning that a definition is
+  /// Whether this declaration was "used", meaning that a definition is
   /// required.
   unsigned Used : 1;
 
-  /// \brief Whether this declaration was "referenced".
+  /// Whether this declaration was "referenced".
   /// The difference with 'Used' is whether the reference appears in a
   /// evaluated context or not, e.g. functions used in uninstantiated templates
   /// are regarded as "referenced" but not "used".
   unsigned Referenced : 1;
 
-  /// \brief Whether this declaration is a top-level declaration (function,
+  /// Whether this declaration is a top-level declaration (function,
   /// global variable, etc.) that is lexically inside an objc container
   /// definition.
   unsigned TopLevelDeclInObjCContainer : 1;
   
-  /// \brief Whether statistic collection is enabled.
+  /// Whether statistic collection is enabled.
   static bool StatisticsEnabled;
 
 protected:
@@ -319,17 +319,17 @@ protected:
   // NOTE: VC++ treats enums as signed, avoid using the AccessSpecifier enum
   unsigned Access : 2;
 
-  /// \brief Whether this declaration was loaded from an AST file.
+  /// Whether this declaration was loaded from an AST file.
   unsigned FromASTFile : 1;
 
   /// IdentifierNamespace - This specifies what IDNS_* namespace this lives in.
   unsigned IdentifierNamespace : 13;
 
-  /// \brief If 0, we have not computed the linkage of this declaration.
+  /// If 0, we have not computed the linkage of this declaration.
   /// Otherwise, it is the linkage + 1.
   mutable unsigned CacheValidAndLinkage : 3;
 
-  /// \brief Allocate memory for a deserialized declaration.
+  /// Allocate memory for a deserialized declaration.
   ///
   /// This routine must be used to allocate memory for any declaration that is
   /// deserialized from a module file.
@@ -341,7 +341,7 @@ protected:
   void *operator new(std::size_t Size, const ASTContext &Ctx, unsigned ID,
                      std::size_t Extra = 0);
 
-  /// \brief Allocate memory for a non-deserialized declaration.
+  /// Allocate memory for a non-deserialized declaration.
   void *operator new(std::size_t Size, const ASTContext &Ctx,
                      DeclContext *Parent, std::size_t Extra = 0);
 
@@ -385,7 +385,7 @@ protected:
 
   virtual ~Decl();
 
-  /// \brief Update a potentially out-of-date declaration.
+  /// Update a potentially out-of-date declaration.
   void updateOutOfDate(IdentifierInfo &II) const;
 
   Linkage getCachedLinkage() const {
@@ -401,7 +401,7 @@ protected:
   }
 
 public:
-  /// \brief Source range that this declaration covers.
+  /// Source range that this declaration covers.
   virtual SourceRange getSourceRange() const LLVM_READONLY {
     return SourceRange(getLocation(), getLocation());
   }
@@ -463,7 +463,7 @@ public:
     return AccessSpecifier(Access);
   }
 
-  /// \brief Retrieve the access specifier for this declaration, even though
+  /// Retrieve the access specifier for this declaration, even though
   /// it may not yet have been properly set.
   AccessSpecifier getAccessUnsafe() const {
     return AccessSpecifier(Access);
@@ -552,7 +552,7 @@ public:
   bool isImplicit() const { return Implicit; }
   void setImplicit(bool I = true) { Implicit = I; }
 
-  /// \brief Whether *any* (re-)declaration of the entity was used, meaning that
+  /// Whether *any* (re-)declaration of the entity was used, meaning that
   /// a definition is required.
   ///
   /// \param CheckUsedAttr When true, also consider the "used" attribute
@@ -560,28 +560,28 @@ public:
   /// whether the function is used.
   bool isUsed(bool CheckUsedAttr = true) const;
 
-  /// \brief Set whether the declaration is used, in the sense of odr-use.
+  /// Set whether the declaration is used, in the sense of odr-use.
   ///
   /// This should only be used immediately after creating a declaration.
   /// It intentionally doesn't notify any listeners.
   void setIsUsed() { getCanonicalDecl()->Used = true; }
 
-  /// \brief Mark the declaration used, in the sense of odr-use.
+  /// Mark the declaration used, in the sense of odr-use.
   ///
   /// This notifies any mutation listeners in addition to setting a bit
   /// indicating the declaration is used.
   void markUsed(ASTContext &C);
 
-  /// \brief Whether any declaration of this entity was referenced.
+  /// Whether any declaration of this entity was referenced.
   bool isReferenced() const;
 
-  /// \brief Whether this declaration was referenced. This should not be relied
+  /// Whether this declaration was referenced. This should not be relied
   /// upon for anything other than debugging.
   bool isThisDeclarationReferenced() const { return Referenced; }
 
   void setReferenced(bool R = true) { Referenced = R; }
 
-  /// \brief Whether this declaration is a top-level declaration (function,
+  /// Whether this declaration is a top-level declaration (function,
   /// global variable, etc.) that is lexically inside an objc container
   /// definition.
   bool isTopLevelDeclInObjCContainer() const {
@@ -592,17 +592,17 @@ public:
     TopLevelDeclInObjCContainer = V;
   }
 
-  /// \brief Looks on this and related declarations for an applicable
+  /// Looks on this and related declarations for an applicable
   /// external source symbol attribute.
   ExternalSourceSymbolAttr *getExternalSourceSymbolAttr() const;
 
-  /// \brief Whether this declaration was marked as being private to the
+  /// Whether this declaration was marked as being private to the
   /// module in which it was defined.
   bool isModulePrivate() const {
     return getModuleOwnershipKind() == ModuleOwnershipKind::ModulePrivate;
   }
 
-  /// \brief Whether this declaration is exported (by virtue of being lexically
+  /// Whether this declaration is exported (by virtue of being lexically
   /// within an ExportDecl or by being a NamespaceDecl).
   bool isExported() const;
 
@@ -614,7 +614,7 @@ public:
   const Attr *getDefiningAttr() const;
 
 protected:
-  /// \brief Specify that this declaration was marked as being private
+  /// Specify that this declaration was marked as being private
   /// to the module in which it was defined.
   void setModulePrivate() {
     // The module-private specifier has no effect on unowned declarations.
@@ -624,14 +624,14 @@ protected:
     setModuleOwnershipKind(ModuleOwnershipKind::ModulePrivate);
   }
 
-  /// \brief Set the owning module ID.
+  /// Set the owning module ID.
   void setOwningModuleID(unsigned ID) {
     assert(isFromASTFile() && "Only works on a deserialized declaration");
     *((unsigned*)this - 2) = ID;
   }
   
 public:
-  /// \brief Determine the availability of the given declaration.
+  /// Determine the availability of the given declaration.
   ///
   /// This routine will determine the most restrictive availability of
   /// the given declaration (e.g., preferring 'unavailable' to
@@ -653,7 +653,7 @@ public:
                   VersionTuple EnclosingVersion = VersionTuple(),
                   StringRef *RealizedPlatform = nullptr) const;
 
-  /// \brief Retrieve the version of the target platform in which this
+  /// Retrieve the version of the target platform in which this
   /// declaration was introduced.
   ///
   /// \returns An empty version tuple if this declaration has no 'introduced'
@@ -661,7 +661,7 @@ public:
   /// attribute otherwise.
   VersionTuple getVersionIntroduced() const;
 
-  /// \brief Determine whether this declaration is marked 'deprecated'.
+  /// Determine whether this declaration is marked 'deprecated'.
   ///
   /// \param Message If non-NULL and the declaration is deprecated,
   /// this will be set to the message describing why the declaration
@@ -670,7 +670,7 @@ public:
     return getAvailability(Message) == AR_Deprecated;
   }
 
-  /// \brief Determine whether this declaration is marked 'unavailable'.
+  /// Determine whether this declaration is marked 'unavailable'.
   ///
   /// \param Message If non-NULL and the declaration is unavailable,
   /// this will be set to the message describing why the declaration
@@ -679,7 +679,7 @@ public:
     return getAvailability(Message) == AR_Unavailable;
   }
 
-  /// \brief Determine whether this is a weak-imported symbol.
+  /// Determine whether this is a weak-imported symbol.
   ///
   /// Weak-imported symbols are typically marked with the
   /// 'weak_import' attribute, but may also be marked with an
@@ -687,7 +687,7 @@ public:
   /// the introduction of this feature.
   bool isWeakImported() const;
 
-  /// \brief Determines whether this symbol can be weak-imported,
+  /// Determines whether this symbol can be weak-imported,
   /// e.g., whether it would be well-formed to add the weak_import
   /// attribute.
   ///
@@ -695,11 +695,11 @@ public:
   /// declaration cannot be weak-imported because it has a definition.
   bool canBeWeakImported(bool &IsDefinition) const;
 
-  /// \brief Determine whether this declaration came from an AST file (such as
+  /// Determine whether this declaration came from an AST file (such as
   /// a precompiled header or module) rather than having been parsed.
   bool isFromASTFile() const { return FromASTFile; }
 
-  /// \brief Retrieve the global declaration ID associated with this
+  /// Retrieve the global declaration ID associated with this
   /// declaration, which specifies where this Decl was loaded from.
   unsigned getGlobalID() const {
     if (isFromASTFile())
@@ -707,7 +707,7 @@ public:
     return 0;
   }
 
-  /// \brief Retrieve the global ID of the module that owns this particular
+  /// Retrieve the global ID of the module that owns this particular
   /// declaration.
   unsigned getOwningModuleID() const {
     if (isFromASTFile())
@@ -722,7 +722,7 @@ protected:
   bool hasLocalOwningModuleStorage() const;
 
 public:
-  /// \brief Get the imported owning module, if this decl is from an imported
+  /// Get the imported owning module, if this decl is from an imported
   /// (non-local) module.
   Module *getImportedOwningModule() const {
     if (!isFromASTFile() || !hasOwningModule())
@@ -731,7 +731,7 @@ public:
     return getOwningModuleSlow();
   }
 
-  /// \brief Get the local owning module, if known. Returns nullptr if owner is
+  /// Get the local owning module, if known. Returns nullptr if owner is
   /// not yet known or declaration is not from a module.
   Module *getLocalOwningModule() const {
     if (isFromASTFile() || !hasOwningModule())
@@ -765,7 +765,7 @@ public:
   /// all declarations in a global module fragment are unowned.
   Module *getOwningModuleForLinkage(bool IgnoreLinkage = false) const;
 
-  /// \brief Determine whether this declaration might be hidden from name
+  /// Determine whether this declaration might be hidden from name
   /// lookup. Note that the declaration might be visible even if this returns
   /// \c false, if the owning module is visible within the query context.
   // FIXME: Rename this to make it clearer what it does.
@@ -780,12 +780,12 @@ public:
       setModuleOwnershipKind(ModuleOwnershipKind::Visible);
   }
 
-  /// \brief Get the kind of module ownership for this declaration.
+  /// Get the kind of module ownership for this declaration.
   ModuleOwnershipKind getModuleOwnershipKind() const {
     return NextInContextAndBits.getInt();
   }
 
-  /// \brief Set whether this declaration is hidden from name lookup.
+  /// Set whether this declaration is hidden from name lookup.
   void setModuleOwnershipKind(ModuleOwnershipKind MOK) {
     assert(!(getModuleOwnershipKind() == ModuleOwnershipKind::Unowned &&
              MOK != ModuleOwnershipKind::Unowned && !isFromASTFile() &&
@@ -854,7 +854,7 @@ public:
     return getParentFunctionOrMethod() == nullptr;
   }
 
-  /// \brief Returns true if this declaration lexically is inside a function.
+  /// Returns true if this declaration lexically is inside a function.
   /// It recognizes non-defining declarations as well as members of local
   /// classes:
   /// \code
@@ -863,7 +863,7 @@ public:
   /// \endcode
   bool isLexicallyWithinFunctionOrMethod() const;
 
-  /// \brief If this decl is defined inside a function/method/block it returns
+  /// If this decl is defined inside a function/method/block it returns
   /// the corresponding DeclContext, otherwise it returns null.
   const DeclContext *getParentFunctionOrMethod() const;
   DeclContext *getParentFunctionOrMethod() {
@@ -871,32 +871,32 @@ public:
                     const_cast<const Decl*>(this)->getParentFunctionOrMethod());
   }
 
-  /// \brief Retrieves the "canonical" declaration of the given declaration.
+  /// Retrieves the "canonical" declaration of the given declaration.
   virtual Decl *getCanonicalDecl() { return this; }
   const Decl *getCanonicalDecl() const {
     return const_cast<Decl*>(this)->getCanonicalDecl();
   }
 
-  /// \brief Whether this particular Decl is a canonical one.
+  /// Whether this particular Decl is a canonical one.
   bool isCanonicalDecl() const { return getCanonicalDecl() == this; }
   
 protected:
-  /// \brief Returns the next redeclaration or itself if this is the only decl.
+  /// Returns the next redeclaration or itself if this is the only decl.
   ///
   /// Decl subclasses that can be redeclared should override this method so that
   /// Decl::redecl_iterator can iterate over them.
   virtual Decl *getNextRedeclarationImpl() { return this; }
 
-  /// \brief Implementation of getPreviousDecl(), to be overridden by any
+  /// Implementation of getPreviousDecl(), to be overridden by any
   /// subclass that has a redeclaration chain.
   virtual Decl *getPreviousDeclImpl() { return nullptr; }
 
-  /// \brief Implementation of getMostRecentDecl(), to be overridden by any
+  /// Implementation of getMostRecentDecl(), to be overridden by any
   /// subclass that has a redeclaration chain.
   virtual Decl *getMostRecentDeclImpl() { return this; }
 
 public:
-  /// \brief Iterates through all the redeclarations of the same decl.
+  /// Iterates through all the redeclarations of the same decl.
   class redecl_iterator {
     /// Current - The current declaration.
     Decl *Current = nullptr;
@@ -941,7 +941,7 @@ public:
 
   using redecl_range = llvm::iterator_range<redecl_iterator>;
 
-  /// \brief Returns an iterator range for all the redeclarations of the same
+  /// Returns an iterator range for all the redeclarations of the same
   /// decl. It will iterate at least once (when this decl is the only one).
   redecl_range redecls() const {
     return redecl_range(redecls_begin(), redecls_end());
@@ -953,26 +953,26 @@ public:
 
   redecl_iterator redecls_end() const { return redecl_iterator(); }
 
-  /// \brief Retrieve the previous declaration that declares the same entity
+  /// Retrieve the previous declaration that declares the same entity
   /// as this declaration, or NULL if there is no previous declaration.
   Decl *getPreviousDecl() { return getPreviousDeclImpl(); }
   
-  /// \brief Retrieve the most recent declaration that declares the same entity
+  /// Retrieve the most recent declaration that declares the same entity
   /// as this declaration, or NULL if there is no previous declaration.
   const Decl *getPreviousDecl() const { 
     return const_cast<Decl *>(this)->getPreviousDeclImpl();
   }
 
-  /// \brief True if this is the first declaration in its redeclaration chain.
+  /// True if this is the first declaration in its redeclaration chain.
   bool isFirstDecl() const {
     return getPreviousDecl() == nullptr;
   }
 
-  /// \brief Retrieve the most recent declaration that declares the same entity
+  /// Retrieve the most recent declaration that declares the same entity
   /// as this declaration (which may be this declaration).
   Decl *getMostRecentDecl() { return getMostRecentDeclImpl(); }
 
-  /// \brief Retrieve the most recent declaration that declares the same entity
+  /// Retrieve the most recent declaration that declares the same entity
   /// as this declaration (which may be this declaration).
   const Decl *getMostRecentDecl() const { 
     return const_cast<Decl *>(this)->getMostRecentDeclImpl();
@@ -983,7 +983,7 @@ public:
   ///  top-level Stmt* of that body.  Otherwise this method returns null.
   virtual Stmt* getBody() const { return nullptr; }
 
-  /// \brief Returns true if this \c Decl represents a declaration for a body of
+  /// Returns true if this \c Decl represents a declaration for a body of
   /// code, such as a function or method definition.
   /// Note that \c hasBody can also return true if any redeclaration of this
   /// \c Decl represents a declaration for a body of code.
@@ -1006,24 +1006,24 @@ public:
   /// template parameter pack.
   bool isTemplateParameterPack() const;
 
-  /// \brief Whether this declaration is a parameter pack.
+  /// Whether this declaration is a parameter pack.
   bool isParameterPack() const;
 
-  /// \brief returns true if this declaration is a template
+  /// returns true if this declaration is a template
   bool isTemplateDecl() const;
 
-  /// \brief Whether this declaration is a function or function template.
+  /// Whether this declaration is a function or function template.
   bool isFunctionOrFunctionTemplate() const {
     return (DeclKind >= Decl::firstFunction &&
             DeclKind <= Decl::lastFunction) ||
            DeclKind == FunctionTemplate;
   }
 
-  /// \brief If this is a declaration that describes some template, this
+  /// If this is a declaration that describes some template, this
   /// method returns that template declaration.
   TemplateDecl *getDescribedTemplate() const;
 
-  /// \brief Returns the function itself, or the templated function if this is a
+  /// Returns the function itself, or the templated function if this is a
   /// function template.
   FunctionDecl *getAsFunction() LLVM_READONLY;
 
@@ -1031,7 +1031,7 @@ public:
     return const_cast<Decl *>(this)->getAsFunction();
   }
 
-  /// \brief Changes the namespace of this declaration to reflect that it's
+  /// Changes the namespace of this declaration to reflect that it's
   /// a function-local extern declaration.
   ///
   /// These declarations appear in the lexical context of the extern
@@ -1052,14 +1052,14 @@ public:
       IdentifierNamespace |= IDNS_Ordinary;
   }
 
-  /// \brief Determine whether this is a block-scope declaration with linkage.
+  /// Determine whether this is a block-scope declaration with linkage.
   /// This will either be a local variable declaration declared 'extern', or a
   /// local function declaration.
   bool isLocalExternDecl() {
     return IdentifierNamespace & IDNS_LocalExtern;
   }
 
-  /// \brief Changes the namespace of this declaration to reflect that it's
+  /// Changes the namespace of this declaration to reflect that it's
   /// the object of a friend declaration.
   ///
   /// These declarations appear in the lexical context of the friending
@@ -1101,7 +1101,7 @@ public:
     FOK_Undeclared ///< A friend of a previously-undeclared entity.
   };
 
-  /// \brief Determines whether this declaration is the object of a
+  /// Determines whether this declaration is the object of a
   /// friend declaration and, if so, what kind.
   ///
   /// There is currently no direct way to find the associated FriendDecl.
@@ -1141,7 +1141,7 @@ public:
 
   void dump(raw_ostream &Out, bool Deserialize = false) const;
 
-  /// \brief Looks through the Decl's underlying type to extract a FunctionType
+  /// Looks through the Decl's underlying type to extract a FunctionType
   /// when possible. Will return null if the type underlying the Decl does not
   /// have a FunctionType.
   const FunctionType *getFunctionType(bool BlocksToo = true) const;
@@ -1155,7 +1155,7 @@ protected:
   ASTMutationListener *getASTMutationListener() const;
 };
 
-/// \brief Determine whether two declarations declare the same entity.
+/// Determine whether two declarations declare the same entity.
 inline bool declaresSameEntity(const Decl *D1, const Decl *D2) {
   if (!D1 || !D2)
     return false;
@@ -1182,7 +1182,7 @@ public:
   void print(raw_ostream &OS) const override;
 };
 
-/// \brief The results of name lookup within a DeclContext. This is either a
+/// The results of name lookup within a DeclContext. This is either a
 /// single result (with no stable storage) or a collection of results (with
 /// stable storage provided by the lookup table).
 class DeclContextLookupResult {
@@ -1263,36 +1263,36 @@ class DeclContext {
   /// DeclKind - This indicates which class this is.
   unsigned DeclKind : 8;
 
-  /// \brief Whether this declaration context also has some external
+  /// Whether this declaration context also has some external
   /// storage that contains additional declarations that are lexically
   /// part of this context.
   mutable bool ExternalLexicalStorage : 1;
 
-  /// \brief Whether this declaration context also has some external
+  /// Whether this declaration context also has some external
   /// storage that contains additional declarations that are visible
   /// in this context.
   mutable bool ExternalVisibleStorage : 1;
 
-  /// \brief Whether this declaration context has had external visible
+  /// Whether this declaration context has had external visible
   /// storage added since the last lookup. In this case, \c LookupPtr's
   /// invariant may not hold and needs to be fixed before we perform
   /// another lookup.
   mutable bool NeedToReconcileExternalVisibleStorage : 1;
 
-  /// \brief If \c true, this context may have local lexical declarations
+  /// If \c true, this context may have local lexical declarations
   /// that are missing from the lookup table.
   mutable bool HasLazyLocalLexicalLookups : 1;
 
-  /// \brief If \c true, the external source may have lexical declarations
+  /// If \c true, the external source may have lexical declarations
   /// that are missing from the lookup table.
   mutable bool HasLazyExternalLexicalLookups : 1;
 
-  /// \brief If \c true, lookups should only return identifier from
+  /// If \c true, lookups should only return identifier from
   /// DeclContext scope (for example TranslationUnit). Used in
   /// LookupQualifiedName()
   mutable bool UseQualifiedLookup : 1;
 
-  /// \brief Pointer to the data structure used to lookup declarations
+  /// Pointer to the data structure used to lookup declarations
   /// within this context (or a DependentStoredDeclsMap if this is a
   /// dependent context). We maintain the invariant that, if the map
   /// contains an entry for a DeclarationName (and we haven't lazily
@@ -1315,7 +1315,7 @@ protected:
   /// another pointer.
   mutable Decl *LastDecl = nullptr;
 
-  /// \brief Build up a chain of declarations.
+  /// Build up a chain of declarations.
   ///
   /// \returns the first/last pair of declarations.
   static std::pair<Decl *, Decl *>
@@ -1398,7 +1398,7 @@ public:
     }
   }
 
-  /// \brief Test whether the context supports looking up names.
+  /// Test whether the context supports looking up names.
   bool isLookupContext() const {
     return !isFunctionOrMethod() && DeclKind != Decl::LinkageSpec &&
            DeclKind != Decl::Export;
@@ -1424,7 +1424,7 @@ public:
 
   bool isInlineNamespace() const;
 
-  /// \brief Determines whether this context is dependent on a
+  /// Determines whether this context is dependent on a
   /// template parameter.
   bool isDependentContext() const;
 
@@ -1445,28 +1445,28 @@ public:
   /// C++0x scoped enums), and C++ linkage specifications.
   bool isTransparentContext() const;
 
-  /// \brief Determines whether this context or some of its ancestors is a
+  /// Determines whether this context or some of its ancestors is a
   /// linkage specification context that specifies C linkage.
   bool isExternCContext() const;
 
-  /// \brief Retrieve the nearest enclosing C linkage specification context.
+  /// Retrieve the nearest enclosing C linkage specification context.
   const LinkageSpecDecl *getExternCContext() const;
 
-  /// \brief Determines whether this context or some of its ancestors is a
+  /// Determines whether this context or some of its ancestors is a
   /// linkage specification context that specifies C++ linkage.
   bool isExternCXXContext() const;
 
-  /// \brief Determine whether this declaration context is equivalent
+  /// Determine whether this declaration context is equivalent
   /// to the declaration context DC.
   bool Equals(const DeclContext *DC) const {
     return DC && this->getPrimaryContext() == DC->getPrimaryContext();
   }
 
-  /// \brief Determine whether this declaration context encloses the
+  /// Determine whether this declaration context encloses the
   /// declaration context DC.
   bool Encloses(const DeclContext *DC) const;
 
-  /// \brief Find the nearest non-closure ancestor of this context,
+  /// Find the nearest non-closure ancestor of this context,
   /// i.e. the innermost semantic parent of this context which is not
   /// a closure.  A context may be its own non-closure ancestor.
   Decl *getNonClosureAncestor();
@@ -1493,19 +1493,19 @@ public:
     return const_cast<DeclContext *>(this)->getRedeclContext();
   }
 
-  /// \brief Retrieve the nearest enclosing namespace context.
+  /// Retrieve the nearest enclosing namespace context.
   DeclContext *getEnclosingNamespaceContext();
   const DeclContext *getEnclosingNamespaceContext() const {
     return const_cast<DeclContext *>(this)->getEnclosingNamespaceContext();
   }
 
-  /// \brief Retrieve the outermost lexically enclosing record context.
+  /// Retrieve the outermost lexically enclosing record context.
   RecordDecl *getOuterLexicalRecordContext();
   const RecordDecl *getOuterLexicalRecordContext() const {
     return const_cast<DeclContext *>(this)->getOuterLexicalRecordContext();
   }
 
-  /// \brief Test if this context is part of the enclosing namespace set of
+  /// Test if this context is part of the enclosing namespace set of
   /// the context NS, as defined in C++0x [namespace.def]p9. If either context
   /// isn't a namespace, this is equivalent to Equals().
   ///
@@ -1513,7 +1513,7 @@ public:
   /// inline, its enclosing namespace, recursively.
   bool InEnclosingNamespaceSetOf(const DeclContext *NS) const;
 
-  /// \brief Collects all of the declaration contexts that are semantically
+  /// Collects all of the declaration contexts that are semantically
   /// connected to this declaration context.
   ///
   /// For declaration contexts that have multiple semantically connected but
@@ -1669,7 +1669,7 @@ public:
     }
   };
 
-  /// \brief Iterates over a filtered subrange of declarations stored
+  /// Iterates over a filtered subrange of declarations stored
   /// in a DeclContext.
   ///
   /// This iterator visits only those declarations that are of type
@@ -1745,7 +1745,7 @@ public:
     }
   };
 
-  /// @brief Add the declaration D into this context.
+  /// Add the declaration D into this context.
   ///
   /// This routine should be invoked when the declaration D has first
   /// been declared, to place D into the context where it was
@@ -1759,7 +1759,7 @@ public:
   /// semantic context via makeDeclVisibleInContext.
   void addDecl(Decl *D);
 
-  /// @brief Add the declaration D into this context, but suppress
+  /// Add the declaration D into this context, but suppress
   /// searches for external declarations with the same name.
   ///
   /// Although analogous in function to addDecl, this removes an
@@ -1769,7 +1769,7 @@ public:
   /// See the ASTImporter for use cases.
   void addDeclInternal(Decl *D);
 
-  /// @brief Add the declaration D to this context without modifying
+  /// Add the declaration D to this context without modifying
   /// any lookup tables.
   ///
   /// This is useful for some operations in dependent contexts where
@@ -1777,10 +1777,10 @@ public:
   /// only happens with friends.
   void addHiddenDecl(Decl *D);
 
-  /// @brief Removes a declaration from this context.
+  /// Removes a declaration from this context.
   void removeDecl(Decl *D);
     
-  /// @brief Checks whether a declaration is in this context.
+  /// Checks whether a declaration is in this context.
   bool containsDecl(Decl *D) const;
 
   using lookup_result = DeclContextLookupResult;
@@ -1793,12 +1793,12 @@ public:
   /// routine will not look into parent contexts.
   lookup_result lookup(DeclarationName Name) const;
 
-  /// \brief Find the declarations with the given name that are visible
+  /// Find the declarations with the given name that are visible
   /// within this context; don't attempt to retrieve anything from an
   /// external source.
   lookup_result noload_lookup(DeclarationName Name);
 
-  /// \brief A simplistic name lookup mechanism that performs name lookup
+  /// A simplistic name lookup mechanism that performs name lookup
   /// into this declaration context without consulting the external source.
   ///
   /// This function should almost never be used, because it subverts the
@@ -1810,7 +1810,7 @@ public:
   void localUncachedLookup(DeclarationName Name,
                            SmallVectorImpl<NamedDecl *> &Results);
 
-  /// @brief Makes a declaration visible within this context.
+  /// Makes a declaration visible within this context.
   ///
   /// This routine makes the declaration D visible to name lookup
   /// within this context and, if this is a transparent context,
@@ -1837,11 +1837,11 @@ public:
   // If PreserveInternalState, avoids building lookup data structures too.
   lookups_range noload_lookups(bool PreserveInternalState) const;
 
-  /// \brief Iterators over all possible lookups within this context.
+  /// Iterators over all possible lookups within this context.
   all_lookups_iterator lookups_begin() const;
   all_lookups_iterator lookups_end() const;
 
-  /// \brief Iterators over all possible lookups within this context that are
+  /// Iterators over all possible lookups within this context that are
   /// currently loaded; don't attempt to retrieve anything from an external
   /// source.
   all_lookups_iterator noload_lookups_begin() const;
@@ -1873,7 +1873,7 @@ public:
 
   // Low-level accessors
 
-  /// \brief Mark that there are external lexical declarations that we need
+  /// Mark that there are external lexical declarations that we need
   /// to include in our lookup table (and that are not available as external
   /// visible lookups). These extra lookup results will be found by walking
   /// the lexical declarations of this context. This should be used only if
@@ -1885,28 +1885,28 @@ public:
     HasLazyExternalLexicalLookups = true;
   }
 
-  /// \brief Retrieve the internal representation of the lookup structure.
+  /// Retrieve the internal representation of the lookup structure.
   /// This may omit some names if we are lazily building the structure.
   StoredDeclsMap *getLookupPtr() const { return LookupPtr; }
 
-  /// \brief Ensure the lookup structure is fully-built and return it.
+  /// Ensure the lookup structure is fully-built and return it.
   StoredDeclsMap *buildLookup();
 
-  /// \brief Whether this DeclContext has external storage containing
+  /// Whether this DeclContext has external storage containing
   /// additional declarations that are lexically in this context.
   bool hasExternalLexicalStorage() const { return ExternalLexicalStorage; }
 
-  /// \brief State whether this DeclContext has external storage for
+  /// State whether this DeclContext has external storage for
   /// declarations lexically in this context.
   void setHasExternalLexicalStorage(bool ES = true) {
     ExternalLexicalStorage = ES;
   }
 
-  /// \brief Whether this DeclContext has external storage containing
+  /// Whether this DeclContext has external storage containing
   /// additional declarations that are visible in this context.
   bool hasExternalVisibleStorage() const { return ExternalVisibleStorage; }
 
-  /// \brief State whether this DeclContext has external storage for
+  /// State whether this DeclContext has external storage for
   /// declarations visible in this context.
   void setHasExternalVisibleStorage(bool ES = true) {
     ExternalVisibleStorage = ES;
@@ -1914,7 +1914,7 @@ public:
       NeedToReconcileExternalVisibleStorage = true;
   }
 
-  /// \brief Determine whether the given declaration is stored in the list of
+  /// Determine whether the given declaration is stored in the list of
   /// declarations lexically within this context.
   bool isDeclInLexicalTraversal(const Decl *D) const {
     return D && (D->NextInContextAndBits.getPointer() || D == FirstDecl || 
@@ -1945,7 +1945,7 @@ private:
   void reconcileExternalVisibleStorage() const;
   bool LoadLexicalDeclsFromExternalStorage() const;
 
-  /// @brief Makes a declaration visible within this context, but
+  /// Makes a declaration visible within this context, but
   /// suppresses searches for external declarations with the same
   /// name.
   ///

Modified: cfe/trunk/include/clang/AST/DeclCXX.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclCXX.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclCXX.h (original)
+++ cfe/trunk/include/clang/AST/DeclCXX.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the C++ Decl subclasses, other than those for templates
+/// Defines the C++ Decl subclasses, other than those for templates
 /// (found in DeclTemplate.h) and friends (in DeclFriend.h).
 //
 //===----------------------------------------------------------------------===//
@@ -73,7 +73,7 @@ class TemplateDecl;
 class TemplateParameterList;
 class UsingDecl;
 
-/// \brief Represents any kind of function declaration, whether it is a
+/// Represents any kind of function declaration, whether it is a
 /// concrete function or a function template.
 class AnyFunctionDecl {
   NamedDecl *Function;
@@ -84,11 +84,11 @@ public:
   AnyFunctionDecl(FunctionDecl *FD) : Function(FD) {}
   AnyFunctionDecl(FunctionTemplateDecl *FTD);
 
-  /// \brief Implicily converts any function or function template into a
+  /// Implicily converts any function or function template into a
   /// named declaration.
   operator NamedDecl *() const { return Function; }
 
-  /// \brief Retrieve the underlying function or function template.
+  /// Retrieve the underlying function or function template.
   NamedDecl *get() const { return Function; }
 
   static AnyFunctionDecl getFromNamedDecl(NamedDecl *ND) {
@@ -119,7 +119,7 @@ namespace llvm {
 
 namespace clang {
 
-/// \brief Represents an access specifier followed by colon ':'.
+/// Represents an access specifier followed by colon ':'.
 ///
 /// An objects of this class represents sugar for the syntactic occurrence
 /// of an access specifier followed by a colon in the list of member
@@ -130,7 +130,7 @@ namespace clang {
 /// Also note that this class has nothing to do with so-called
 /// "access declarations" (C++98 11.3 [class.access.dcl]).
 class AccessSpecDecl : public Decl {
-  /// \brief The location of the ':'.
+  /// The location of the ':'.
   SourceLocation ColonLoc;
 
   AccessSpecDecl(AccessSpecifier AS, DeclContext *DC,
@@ -144,16 +144,16 @@ class AccessSpecDecl : public Decl {
   virtual void anchor();
 
 public:
-  /// \brief The location of the access specifier.
+  /// The location of the access specifier.
   SourceLocation getAccessSpecifierLoc() const { return getLocation(); }
 
-  /// \brief Sets the location of the access specifier.
+  /// Sets the location of the access specifier.
   void setAccessSpecifierLoc(SourceLocation ASLoc) { setLocation(ASLoc); }
 
-  /// \brief The location of the colon following the access specifier.
+  /// The location of the colon following the access specifier.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
-  /// \brief Sets the location of the colon.
+  /// Sets the location of the colon.
   void setColonLoc(SourceLocation CLoc) { ColonLoc = CLoc; }
 
   SourceRange getSourceRange() const override LLVM_READONLY {
@@ -173,7 +173,7 @@ public:
   static bool classofKind(Kind K) { return K == AccessSpec; }
 };
 
-/// \brief Represents a base class of a C++ class.
+/// Represents a base class of a C++ class.
 ///
 /// Each CXXBaseSpecifier represents a single, direct base class (or
 /// struct) of a C++ class (or struct). It specifies the type of that
@@ -190,35 +190,35 @@ public:
 /// In this code, C will have two CXXBaseSpecifiers, one for "public
 /// virtual A" and the other for "protected B".
 class CXXBaseSpecifier {
-  /// \brief The source code range that covers the full base
+  /// The source code range that covers the full base
   /// specifier, including the "virtual" (if present) and access
   /// specifier (if present).
   SourceRange Range;
 
-  /// \brief The source location of the ellipsis, if this is a pack
+  /// The source location of the ellipsis, if this is a pack
   /// expansion.
   SourceLocation EllipsisLoc;
 
-  /// \brief Whether this is a virtual base class or not.
+  /// Whether this is a virtual base class or not.
   unsigned Virtual : 1;
 
-  /// \brief Whether this is the base of a class (true) or of a struct (false).
+  /// Whether this is the base of a class (true) or of a struct (false).
   ///
   /// This determines the mapping from the access specifier as written in the
   /// source code to the access specifier used for semantic analysis.
   unsigned BaseOfClass : 1;
 
-  /// \brief Access specifier as written in the source code (may be AS_none).
+  /// Access specifier as written in the source code (may be AS_none).
   ///
   /// The actual type of data stored here is an AccessSpecifier, but we use
   /// "unsigned" here to work around a VC++ bug.
   unsigned Access : 2;
 
-  /// \brief Whether the class contains a using declaration
+  /// Whether the class contains a using declaration
   /// to inherit the named class's constructors.
   unsigned InheritConstructors : 1;
 
-  /// \brief The type of the base class.
+  /// The type of the base class.
   ///
   /// This will be a class or struct (or a typedef of such). The source code
   /// range does not include the \c virtual or the access specifier.
@@ -231,40 +231,40 @@ public:
     : Range(R), EllipsisLoc(EllipsisLoc), Virtual(V), BaseOfClass(BC),
       Access(A), InheritConstructors(false), BaseTypeInfo(TInfo) {}
 
-  /// \brief Retrieves the source range that contains the entire base specifier.
+  /// Retrieves the source range that contains the entire base specifier.
   SourceRange getSourceRange() const LLVM_READONLY { return Range; }
   SourceLocation getLocStart() const LLVM_READONLY { return Range.getBegin(); }
   SourceLocation getLocEnd() const LLVM_READONLY { return Range.getEnd(); }
 
-  /// \brief Get the location at which the base class type was written.
+  /// Get the location at which the base class type was written.
   SourceLocation getBaseTypeLoc() const LLVM_READONLY {
     return BaseTypeInfo->getTypeLoc().getLocStart();
   }
 
-  /// \brief Determines whether the base class is a virtual base class (or not).
+  /// Determines whether the base class is a virtual base class (or not).
   bool isVirtual() const { return Virtual; }
 
-  /// \brief Determine whether this base class is a base of a class declared
+  /// Determine whether this base class is a base of a class declared
   /// with the 'class' keyword (vs. one declared with the 'struct' keyword).
   bool isBaseOfClass() const { return BaseOfClass; }
 
-  /// \brief Determine whether this base specifier is a pack expansion.
+  /// Determine whether this base specifier is a pack expansion.
   bool isPackExpansion() const { return EllipsisLoc.isValid(); }
 
-  /// \brief Determine whether this base class's constructors get inherited.
+  /// Determine whether this base class's constructors get inherited.
   bool getInheritConstructors() const { return InheritConstructors; }
 
-  /// \brief Set that this base class's constructors should be inherited.
+  /// Set that this base class's constructors should be inherited.
   void setInheritConstructors(bool Inherit = true) {
     InheritConstructors = Inherit;
   }
 
-  /// \brief For a pack expansion, determine the location of the ellipsis.
+  /// For a pack expansion, determine the location of the ellipsis.
   SourceLocation getEllipsisLoc() const {
     return EllipsisLoc;
   }
 
-  /// \brief Returns the access specifier for this base specifier. 
+  /// Returns the access specifier for this base specifier. 
   ///
   /// This is the actual base specifier as used for semantic analysis, so
   /// the result can never be AS_none. To retrieve the access specifier as
@@ -276,7 +276,7 @@ public:
       return (AccessSpecifier)Access;
   }
 
-  /// \brief Retrieves the access specifier as written in the source code
+  /// Retrieves the access specifier as written in the source code
   /// (which may mean that no access specifier was explicitly written).
   ///
   /// Use getAccessSpecifier() to retrieve the access specifier for use in
@@ -285,18 +285,18 @@ public:
     return (AccessSpecifier)Access;
   }
 
-  /// \brief Retrieves the type of the base class.
+  /// Retrieves the type of the base class.
   ///
   /// This type will always be an unqualified class type.
   QualType getType() const {
     return BaseTypeInfo->getType().getUnqualifiedType();
   }
 
-  /// \brief Retrieves the type and source location of the base class.
+  /// Retrieves the type and source location of the base class.
   TypeSourceInfo *getTypeSourceInfo() const { return BaseTypeInfo; }
 };
 
-/// \brief Represents a C++ struct/union/class.
+/// Represents a C++ struct/union/class.
 class CXXRecordDecl : public RecordDecl {
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
@@ -322,16 +322,16 @@ class CXXRecordDecl : public RecordDecl
   };
 
   struct DefinitionData {
-    /// \brief True if this class has any user-declared constructors.
+    /// True if this class has any user-declared constructors.
     unsigned UserDeclaredConstructor : 1;
 
-    /// \brief The user-declared special members which this class has.
+    /// The user-declared special members which this class has.
     unsigned UserDeclaredSpecialMembers : 6;
 
-    /// \brief True when this class is an aggregate.
+    /// True when this class is an aggregate.
     unsigned Aggregate : 1;
 
-    /// \brief True when this class is a POD-type.
+    /// True when this class is a POD-type.
     unsigned PlainOldData : 1;
 
     /// true when this class is empty for traits purposes,
@@ -340,19 +340,19 @@ class CXXRecordDecl : public RecordDecl
     /// class. Doesn't take union-ness into account.
     unsigned Empty : 1;
 
-    /// \brief True when this class is polymorphic, i.e., has at
+    /// True when this class is polymorphic, i.e., has at
     /// least one virtual member or derives from a polymorphic class.
     unsigned Polymorphic : 1;
 
-    /// \brief True when this class is abstract, i.e., has at least
+    /// True when this class is abstract, i.e., has at least
     /// one pure virtual function, (that can come from a base class).
     unsigned Abstract : 1;
 
-    /// \brief True when this class is standard-layout, per the applicable
+    /// True when this class is standard-layout, per the applicable
     /// language rules (including DRs).
     unsigned IsStandardLayout : 1;
 
-    /// \brief True when this class was standard-layout under the C++11
+    /// True when this class was standard-layout under the C++11
     /// definition.
     ///
     /// C++11 [class]p7.  A standard-layout class is a class that:
@@ -369,61 +369,61 @@ class CXXRecordDecl : public RecordDecl
     ///   member.
     unsigned IsCXX11StandardLayout : 1;
 
-    /// \brief True when any base class has any declared non-static data
+    /// True when any base class has any declared non-static data
     /// members or bit-fields.
     /// This is a helper bit of state used to implement IsStandardLayout more
     /// efficiently.
     unsigned HasBasesWithFields : 1;
 
-    /// \brief True when any base class has any declared non-static data
+    /// True when any base class has any declared non-static data
     /// members.
     /// This is a helper bit of state used to implement IsCXX11StandardLayout
     /// more efficiently.
     unsigned HasBasesWithNonStaticDataMembers : 1;
 
-    /// \brief True when there are private non-static data members.
+    /// True when there are private non-static data members.
     unsigned HasPrivateFields : 1;
 
-    /// \brief True when there are protected non-static data members.
+    /// True when there are protected non-static data members.
     unsigned HasProtectedFields : 1;
 
-    /// \brief True when there are private non-static data members.
+    /// True when there are private non-static data members.
     unsigned HasPublicFields : 1;
 
-    /// \brief True if this class (or any subobject) has mutable fields.
+    /// True if this class (or any subobject) has mutable fields.
     unsigned HasMutableFields : 1;
 
-    /// \brief True if this class (or any nested anonymous struct or union)
+    /// True if this class (or any nested anonymous struct or union)
     /// has variant members.
     unsigned HasVariantMembers : 1;
 
-    /// \brief True if there no non-field members declared by the user.
+    /// True if there no non-field members declared by the user.
     unsigned HasOnlyCMembers : 1;
 
-    /// \brief True if any field has an in-class initializer, including those
+    /// True if any field has an in-class initializer, including those
     /// within anonymous unions or structs.
     unsigned HasInClassInitializer : 1;
 
-    /// \brief True if any field is of reference type, and does not have an
+    /// True if any field is of reference type, and does not have an
     /// in-class initializer.
     ///
     /// In this case, value-initialization of this class is illegal in C++98
     /// even if the class has a trivial default constructor.
     unsigned HasUninitializedReferenceMember : 1;
 
-    /// \brief True if any non-mutable field whose type doesn't have a user-
+    /// True if any non-mutable field whose type doesn't have a user-
     /// provided default ctor also doesn't have an in-class initializer.
     unsigned HasUninitializedFields : 1;
 
-    /// \brief True if there are any member using-declarations that inherit
+    /// True if there are any member using-declarations that inherit
     /// constructors from a base class.
     unsigned HasInheritedConstructor : 1;
 
-    /// \brief True if there are any member using-declarations named
+    /// True if there are any member using-declarations named
     /// 'operator='.
     unsigned HasInheritedAssignment : 1;
 
-    /// \brief These flags are \c true if a defaulted corresponding special
+    /// These flags are \c true if a defaulted corresponding special
     /// member can't be fully analyzed without performing overload resolution.
     /// @{
     unsigned NeedOverloadResolutionForCopyConstructor : 1;
@@ -432,7 +432,7 @@ class CXXRecordDecl : public RecordDecl
     unsigned NeedOverloadResolutionForDestructor : 1;
     /// @}
 
-    /// \brief These flags are \c true if an implicit defaulted corresponding
+    /// These flags are \c true if an implicit defaulted corresponding
     /// special member would be defined as deleted.
     /// @{
     unsigned DefaultedCopyConstructorIsDeleted : 1;
@@ -441,7 +441,7 @@ class CXXRecordDecl : public RecordDecl
     unsigned DefaultedDestructorIsDeleted : 1;
     /// @}
 
-    /// \brief The trivial special members which this class has, per
+    /// The trivial special members which this class has, per
     /// C++11 [class.ctor]p5, C++11 [class.copy]p12, C++11 [class.copy]p25,
     /// C++11 [class.dtor]p5, or would have if the member were not suppressed.
     ///
@@ -454,7 +454,7 @@ class CXXRecordDecl : public RecordDecl
     /// SMF_MoveConstructor, and SMF_Destructor are meaningful here.
     unsigned HasTrivialSpecialMembersForCall : 6;
 
-    /// \brief The declared special members of this class which are known to be
+    /// The declared special members of this class which are known to be
     /// non-trivial.
     ///
     /// This excludes any user-declared but not user-provided special members
@@ -468,102 +468,102 @@ class CXXRecordDecl : public RecordDecl
     /// SMF_MoveConstructor, and SMF_Destructor are meaningful here.
     unsigned DeclaredNonTrivialSpecialMembersForCall : 6;
 
-    /// \brief True when this class has a destructor with no semantic effect.
+    /// True when this class has a destructor with no semantic effect.
     unsigned HasIrrelevantDestructor : 1;
 
-    /// \brief True when this class has at least one user-declared constexpr
+    /// True when this class has at least one user-declared constexpr
     /// constructor which is neither the copy nor move constructor.
     unsigned HasConstexprNonCopyMoveConstructor : 1;
 
-    /// \brief True if this class has a (possibly implicit) defaulted default
+    /// True if this class has a (possibly implicit) defaulted default
     /// constructor.
     unsigned HasDefaultedDefaultConstructor : 1;
 
-    /// \brief True if a defaulted default constructor for this class would
+    /// True if a defaulted default constructor for this class would
     /// be constexpr.
     unsigned DefaultedDefaultConstructorIsConstexpr : 1;
 
-    /// \brief True if this class has a constexpr default constructor.
+    /// True if this class has a constexpr default constructor.
     ///
     /// This is true for either a user-declared constexpr default constructor
     /// or an implicitly declared constexpr default constructor.
     unsigned HasConstexprDefaultConstructor : 1;
 
-    /// \brief True when this class contains at least one non-static data
+    /// True when this class contains at least one non-static data
     /// member or base class of non-literal or volatile type.
     unsigned HasNonLiteralTypeFieldsOrBases : 1;
 
-    /// \brief True when visible conversion functions are already computed
+    /// True when visible conversion functions are already computed
     /// and are available.
     unsigned ComputedVisibleConversions : 1;
 
-    /// \brief Whether we have a C++11 user-provided default constructor (not
+    /// Whether we have a C++11 user-provided default constructor (not
     /// explicitly deleted or defaulted).
     unsigned UserProvidedDefaultConstructor : 1;
 
-    /// \brief The special members which have been declared for this class,
+    /// The special members which have been declared for this class,
     /// either by the user or implicitly.
     unsigned DeclaredSpecialMembers : 6;
 
-    /// \brief Whether an implicit copy constructor could have a const-qualified
+    /// Whether an implicit copy constructor could have a const-qualified
     /// parameter, for initializing virtual bases and for other subobjects.
     unsigned ImplicitCopyConstructorCanHaveConstParamForVBase : 1;
     unsigned ImplicitCopyConstructorCanHaveConstParamForNonVBase : 1;
 
-    /// \brief Whether an implicit copy assignment operator would have a
+    /// Whether an implicit copy assignment operator would have a
     /// const-qualified parameter.
     unsigned ImplicitCopyAssignmentHasConstParam : 1;
 
-    /// \brief Whether any declared copy constructor has a const-qualified
+    /// Whether any declared copy constructor has a const-qualified
     /// parameter.
     unsigned HasDeclaredCopyConstructorWithConstParam : 1;
 
-    /// \brief Whether any declared copy assignment operator has either a
+    /// Whether any declared copy assignment operator has either a
     /// const-qualified reference parameter or a non-reference parameter.
     unsigned HasDeclaredCopyAssignmentWithConstParam : 1;
 
-    /// \brief Whether this class describes a C++ lambda.
+    /// Whether this class describes a C++ lambda.
     unsigned IsLambda : 1;
 
-    /// \brief Whether we are currently parsing base specifiers.
+    /// Whether we are currently parsing base specifiers.
     unsigned IsParsingBaseSpecifiers : 1;
 
     unsigned HasODRHash : 1;
 
-    /// \brief A hash of parts of the class to help in ODR checking.
+    /// A hash of parts of the class to help in ODR checking.
     unsigned ODRHash = 0;
 
-    /// \brief The number of base class specifiers in Bases.
+    /// The number of base class specifiers in Bases.
     unsigned NumBases = 0;
 
-    /// \brief The number of virtual base class specifiers in VBases.
+    /// The number of virtual base class specifiers in VBases.
     unsigned NumVBases = 0;
 
-    /// \brief Base classes of this class.
+    /// Base classes of this class.
     ///
     /// FIXME: This is wasted space for a union.
     LazyCXXBaseSpecifiersPtr Bases;
 
-    /// \brief direct and indirect virtual base classes of this class.
+    /// direct and indirect virtual base classes of this class.
     LazyCXXBaseSpecifiersPtr VBases;
 
-    /// \brief The conversion functions of this C++ class (but not its
+    /// The conversion functions of this C++ class (but not its
     /// inherited conversion functions).
     ///
     /// Each of the entries in this overload set is a CXXConversionDecl.
     LazyASTUnresolvedSet Conversions;
 
-    /// \brief The conversion functions of this C++ class and all those
+    /// The conversion functions of this C++ class and all those
     /// inherited conversion functions that are visible in this class.
     ///
     /// Each of the entries in this overload set is a CXXConversionDecl or a
     /// FunctionTemplateDecl.
     LazyASTUnresolvedSet VisibleConversions;
 
-    /// \brief The declaration which defines this record.
+    /// The declaration which defines this record.
     CXXRecordDecl *Definition;
 
-    /// \brief The first friend declaration in this class, or null if there
+    /// The first friend declaration in this class, or null if there
     /// aren't any. 
     ///
     /// This is actually currently stored in reverse order.
@@ -571,14 +571,14 @@ class CXXRecordDecl : public RecordDecl
 
     DefinitionData(CXXRecordDecl *D);
 
-    /// \brief Retrieve the set of direct base classes.
+    /// Retrieve the set of direct base classes.
     CXXBaseSpecifier *getBases() const {
       if (!Bases.isOffset())
         return Bases.get(nullptr);
       return getBasesSlowCase();
     }
 
-    /// \brief Retrieve the set of virtual base classes.
+    /// Retrieve the set of virtual base classes.
     CXXBaseSpecifier *getVBases() const {
       if (!VBases.isOffset())
         return VBases.get(nullptr);
@@ -600,11 +600,11 @@ class CXXRecordDecl : public RecordDecl
 
   struct DefinitionData *DefinitionData;
 
-  /// \brief Describes a C++ closure type (generated by a lambda expression).
+  /// Describes a C++ closure type (generated by a lambda expression).
   struct LambdaDefinitionData : public DefinitionData {
     using Capture = LambdaCapture;
 
-    /// \brief Whether this lambda is known to be dependent, even if its
+    /// Whether this lambda is known to be dependent, even if its
     /// context isn't dependent.
     /// 
     /// A lambda with a non-dependent context can be dependent if it occurs
@@ -614,33 +614,33 @@ class CXXRecordDecl : public RecordDecl
     /// artifact of having to parse the default arguments before. 
     unsigned Dependent : 1;
     
-    /// \brief Whether this lambda is a generic lambda.
+    /// Whether this lambda is a generic lambda.
     unsigned IsGenericLambda : 1;
 
-    /// \brief The Default Capture.
+    /// The Default Capture.
     unsigned CaptureDefault : 2;
 
-    /// \brief The number of captures in this lambda is limited 2^NumCaptures.
+    /// The number of captures in this lambda is limited 2^NumCaptures.
     unsigned NumCaptures : 15;
 
-    /// \brief The number of explicit captures in this lambda.
+    /// The number of explicit captures in this lambda.
     unsigned NumExplicitCaptures : 13;
 
-    /// \brief The number used to indicate this lambda expression for name 
+    /// The number used to indicate this lambda expression for name 
     /// mangling in the Itanium C++ ABI.
     unsigned ManglingNumber = 0;
     
-    /// \brief The declaration that provides context for this lambda, if the
+    /// The declaration that provides context for this lambda, if the
     /// actual DeclContext does not suffice. This is used for lambdas that
     /// occur within default arguments of function parameters within the class
     /// or within a data member initializer.
     LazyDeclPtr ContextDecl;
     
-    /// \brief The list of captures, both explicit and implicit, for this 
+    /// The list of captures, both explicit and implicit, for this 
     /// lambda.
     Capture *Captures = nullptr;
 
-    /// \brief The type of the call method.
+    /// The type of the call method.
     TypeSourceInfo *MethodTyInfo;
 
     LambdaDefinitionData(CXXRecordDecl *D, TypeSourceInfo *Info, 
@@ -678,7 +678,7 @@ class CXXRecordDecl : public RecordDecl
     return static_cast<LambdaDefinitionData&>(*DD);
   }
 
-  /// \brief The template or declaration that this declaration
+  /// The template or declaration that this declaration
   /// describes or was instantiated from, respectively.
   ///
   /// For non-templates, this value will be null. For record
@@ -690,11 +690,11 @@ class CXXRecordDecl : public RecordDecl
   llvm::PointerUnion<ClassTemplateDecl *, MemberSpecializationInfo *>
       TemplateOrInstantiation;
 
-  /// \brief Called from setBases and addedMember to notify the class that a
+  /// Called from setBases and addedMember to notify the class that a
   /// direct or virtual base class or a member of class type has been added.
   void addedClassSubobject(CXXRecordDecl *Base);
 
-  /// \brief Notify the class that member has been added.
+  /// Notify the class that member has been added.
   ///
   /// This routine helps maintain information about the class based on which
   /// members have been added. It will be invoked by DeclContext::addDecl()
@@ -703,7 +703,7 @@ class CXXRecordDecl : public RecordDecl
 
   void markedVirtualFunctionPure();
 
-  /// \brief Get the head of our list of friend declarations, possibly
+  /// Get the head of our list of friend declarations, possibly
   /// deserializing the friends from an external AST source.
   FriendDecl *getFirstFriend() const;
 
@@ -719,10 +719,10 @@ protected:
                 IdentifierInfo *Id, CXXRecordDecl *PrevDecl);
 
 public:
-  /// \brief Iterator that traverses the base classes of a class.
+  /// Iterator that traverses the base classes of a class.
   using base_class_iterator = CXXBaseSpecifier *;
 
-  /// \brief Iterator that traverses the base classes of a class.
+  /// Iterator that traverses the base classes of a class.
   using base_class_const_iterator = const CXXBaseSpecifier *;
 
   CXXRecordDecl *getCanonicalDecl() override {
@@ -783,10 +783,10 @@ public:
 
   unsigned getODRHash() const;
 
-  /// \brief Sets the base classes of this struct or class.
+  /// Sets the base classes of this struct or class.
   void setBases(CXXBaseSpecifier const * const *Bases, unsigned NumBases);
 
-  /// \brief Retrieves the number of base classes of this class.
+  /// Retrieves the number of base classes of this class.
   unsigned getNumBases() const { return data().NumBases; }
 
   using base_class_range = llvm::iterator_range<base_class_iterator>;
@@ -807,7 +807,7 @@ public:
     return bases_begin() + data().NumBases;
   }
 
-  /// \brief Retrieves the number of virtual base classes of this class.
+  /// Retrieves the number of virtual base classes of this class.
   unsigned getNumVBases() const { return data().NumVBases; }
 
   base_class_range vbases() {
@@ -824,7 +824,7 @@ public:
     return vbases_begin() + data().NumVBases;
   }
 
-  /// \brief Determine whether this class has any dependent base classes which
+  /// Determine whether this class has any dependent base classes which
   /// are not the current instantiation.
   bool hasAnyDependentBases() const;
 
@@ -839,13 +839,13 @@ public:
     return method_range(method_begin(), method_end());
   }
 
-  /// \brief Method begin iterator.  Iterates in the order the methods
+  /// Method begin iterator.  Iterates in the order the methods
   /// were declared.
   method_iterator method_begin() const {
     return method_iterator(decls_begin());
   }
 
-  /// \brief Method past-the-end iterator.
+  /// Method past-the-end iterator.
   method_iterator method_end() const {
     return method_iterator(decls_end());
   }
@@ -880,7 +880,7 @@ public:
     return data().FirstFriend.isValid();
   }
 
-  /// \brief \c true if a defaulted copy constructor for this class would be
+  /// \c true if a defaulted copy constructor for this class would be
   /// deleted.
   bool defaultedCopyConstructorIsDeleted() const {
     assert((!needsOverloadResolutionForCopyConstructor() ||
@@ -889,7 +889,7 @@ public:
     return data().DefaultedCopyConstructorIsDeleted;
   }
 
-  /// \brief \c true if a defaulted move constructor for this class would be
+  /// \c true if a defaulted move constructor for this class would be
   /// deleted.
   bool defaultedMoveConstructorIsDeleted() const {
     assert((!needsOverloadResolutionForMoveConstructor() ||
@@ -898,7 +898,7 @@ public:
     return data().DefaultedMoveConstructorIsDeleted;
   }
 
-  /// \brief \c true if a defaulted destructor for this class would be deleted.
+  /// \c true if a defaulted destructor for this class would be deleted.
   bool defaultedDestructorIsDeleted() const {
     assert((!needsOverloadResolutionForDestructor() ||
             (data().DeclaredSpecialMembers & SMF_Destructor)) &&
@@ -906,41 +906,41 @@ public:
     return data().DefaultedDestructorIsDeleted;
   }
 
-  /// \brief \c true if we know for sure that this class has a single,
+  /// \c true if we know for sure that this class has a single,
   /// accessible, unambiguous copy constructor that is not deleted.
   bool hasSimpleCopyConstructor() const {
     return !hasUserDeclaredCopyConstructor() &&
            !data().DefaultedCopyConstructorIsDeleted;
   }
 
-  /// \brief \c true if we know for sure that this class has a single,
+  /// \c true if we know for sure that this class has a single,
   /// accessible, unambiguous move constructor that is not deleted.
   bool hasSimpleMoveConstructor() const {
     return !hasUserDeclaredMoveConstructor() && hasMoveConstructor() &&
            !data().DefaultedMoveConstructorIsDeleted;
   }
 
-  /// \brief \c true if we know for sure that this class has a single,
+  /// \c true if we know for sure that this class has a single,
   /// accessible, unambiguous move assignment operator that is not deleted.
   bool hasSimpleMoveAssignment() const {
     return !hasUserDeclaredMoveAssignment() && hasMoveAssignment() &&
            !data().DefaultedMoveAssignmentIsDeleted;
   }
 
-  /// \brief \c true if we know for sure that this class has an accessible
+  /// \c true if we know for sure that this class has an accessible
   /// destructor that is not deleted.
   bool hasSimpleDestructor() const {
     return !hasUserDeclaredDestructor() &&
            !data().DefaultedDestructorIsDeleted;
   }
 
-  /// \brief Determine whether this class has any default constructors.
+  /// Determine whether this class has any default constructors.
   bool hasDefaultConstructor() const {
     return (data().DeclaredSpecialMembers & SMF_DefaultConstructor) ||
            needsImplicitDefaultConstructor();
   }
 
-  /// \brief Determine if we need to declare a default constructor for
+  /// Determine if we need to declare a default constructor for
   /// this class.
   ///
   /// This value is used for lazy creation of default constructors.
@@ -953,33 +953,33 @@ public:
            !isLambda();
   }
 
-  /// \brief Determine whether this class has any user-declared constructors.
+  /// Determine whether this class has any user-declared constructors.
   ///
   /// When true, a default constructor will not be implicitly declared.
   bool hasUserDeclaredConstructor() const {
     return data().UserDeclaredConstructor;
   }
 
-  /// \brief Whether this class has a user-provided default constructor
+  /// Whether this class has a user-provided default constructor
   /// per C++11.
   bool hasUserProvidedDefaultConstructor() const {
     return data().UserProvidedDefaultConstructor;
   }
 
-  /// \brief Determine whether this class has a user-declared copy constructor.
+  /// Determine whether this class has a user-declared copy constructor.
   ///
   /// When false, a copy constructor will be implicitly declared.
   bool hasUserDeclaredCopyConstructor() const {
     return data().UserDeclaredSpecialMembers & SMF_CopyConstructor;
   }
 
-  /// \brief Determine whether this class needs an implicit copy
+  /// Determine whether this class needs an implicit copy
   /// constructor to be lazily declared.
   bool needsImplicitCopyConstructor() const {
     return !(data().DeclaredSpecialMembers & SMF_CopyConstructor);
   }
 
-  /// \brief Determine whether we need to eagerly declare a defaulted copy
+  /// Determine whether we need to eagerly declare a defaulted copy
   /// constructor for this class.
   bool needsOverloadResolutionForCopyConstructor() const {
     // C++17 [class.copy.ctor]p6:
@@ -994,7 +994,7 @@ public:
     return data().NeedOverloadResolutionForCopyConstructor;
   }
 
-  /// \brief Determine whether an implicit copy constructor for this type
+  /// Determine whether an implicit copy constructor for this type
   /// would have a parameter with a const-qualified reference type.
   bool implicitCopyConstructorHasConstParam() const {
     return data().ImplicitCopyConstructorCanHaveConstParamForNonVBase &&
@@ -1002,7 +1002,7 @@ public:
             data().ImplicitCopyConstructorCanHaveConstParamForVBase);
   }
 
-  /// \brief Determine whether this class has a copy constructor with
+  /// Determine whether this class has a copy constructor with
   /// a parameter type which is a reference to a const-qualified type.
   bool hasCopyConstructorWithConstParam() const {
     return data().HasDeclaredCopyConstructorWithConstParam ||
@@ -1010,7 +1010,7 @@ public:
             implicitCopyConstructorHasConstParam());
   }
 
-  /// \brief Whether this class has a user-declared move constructor or
+  /// Whether this class has a user-declared move constructor or
   /// assignment operator.
   ///
   /// When false, a move constructor and assignment operator may be
@@ -1020,19 +1020,19 @@ public:
              (SMF_MoveConstructor | SMF_MoveAssignment);
   }
 
-  /// \brief Determine whether this class has had a move constructor
+  /// Determine whether this class has had a move constructor
   /// declared by the user.
   bool hasUserDeclaredMoveConstructor() const {
     return data().UserDeclaredSpecialMembers & SMF_MoveConstructor;
   }
 
-  /// \brief Determine whether this class has a move constructor.
+  /// Determine whether this class has a move constructor.
   bool hasMoveConstructor() const {
     return (data().DeclaredSpecialMembers & SMF_MoveConstructor) ||
            needsImplicitMoveConstructor();
   }
 
-  /// \brief Set that we attempted to declare an implicit copy
+  /// Set that we attempted to declare an implicit copy
   /// constructor, but overload resolution failed so we deleted it.
   void setImplicitCopyConstructorIsDeleted() {
     assert((data().DefaultedCopyConstructorIsDeleted ||
@@ -1041,7 +1041,7 @@ public:
     data().DefaultedCopyConstructorIsDeleted = true;
   }
 
-  /// \brief Set that we attempted to declare an implicit move
+  /// Set that we attempted to declare an implicit move
   /// constructor, but overload resolution failed so we deleted it.
   void setImplicitMoveConstructorIsDeleted() {
     assert((data().DefaultedMoveConstructorIsDeleted ||
@@ -1050,7 +1050,7 @@ public:
     data().DefaultedMoveConstructorIsDeleted = true;
   }
 
-  /// \brief Set that we attempted to declare an implicit destructor,
+  /// Set that we attempted to declare an implicit destructor,
   /// but overload resolution failed so we deleted it.
   void setImplicitDestructorIsDeleted() {
     assert((data().DefaultedDestructorIsDeleted ||
@@ -1059,7 +1059,7 @@ public:
     data().DefaultedDestructorIsDeleted = true;
   }
 
-  /// \brief Determine whether this class should get an implicit move
+  /// Determine whether this class should get an implicit move
   /// constructor or if any existing special member function inhibits this.
   bool needsImplicitMoveConstructor() const {
     return !(data().DeclaredSpecialMembers & SMF_MoveConstructor) &&
@@ -1069,13 +1069,13 @@ public:
            !hasUserDeclaredDestructor();
   }
 
-  /// \brief Determine whether we need to eagerly declare a defaulted move
+  /// Determine whether we need to eagerly declare a defaulted move
   /// constructor for this class.
   bool needsOverloadResolutionForMoveConstructor() const {
     return data().NeedOverloadResolutionForMoveConstructor;
   }
 
-  /// \brief Determine whether this class has a user-declared copy assignment
+  /// Determine whether this class has a user-declared copy assignment
   /// operator.
   ///
   /// When false, a copy assignment operator will be implicitly declared.
@@ -1083,25 +1083,25 @@ public:
     return data().UserDeclaredSpecialMembers & SMF_CopyAssignment;
   }
 
-  /// \brief Determine whether this class needs an implicit copy
+  /// Determine whether this class needs an implicit copy
   /// assignment operator to be lazily declared.
   bool needsImplicitCopyAssignment() const {
     return !(data().DeclaredSpecialMembers & SMF_CopyAssignment);
   }
 
-  /// \brief Determine whether we need to eagerly declare a defaulted copy
+  /// Determine whether we need to eagerly declare a defaulted copy
   /// assignment operator for this class.
   bool needsOverloadResolutionForCopyAssignment() const {
     return data().HasMutableFields;
   }
 
-  /// \brief Determine whether an implicit copy assignment operator for this
+  /// Determine whether an implicit copy assignment operator for this
   /// type would have a parameter with a const-qualified reference type.
   bool implicitCopyAssignmentHasConstParam() const {
     return data().ImplicitCopyAssignmentHasConstParam;
   }
 
-  /// \brief Determine whether this class has a copy assignment operator with
+  /// Determine whether this class has a copy assignment operator with
   /// a parameter type which is a reference to a const-qualified type or is not
   /// a reference.
   bool hasCopyAssignmentWithConstParam() const {
@@ -1110,19 +1110,19 @@ public:
             implicitCopyAssignmentHasConstParam());
   }
 
-  /// \brief Determine whether this class has had a move assignment
+  /// Determine whether this class has had a move assignment
   /// declared by the user.
   bool hasUserDeclaredMoveAssignment() const {
     return data().UserDeclaredSpecialMembers & SMF_MoveAssignment;
   }
 
-  /// \brief Determine whether this class has a move assignment operator.
+  /// Determine whether this class has a move assignment operator.
   bool hasMoveAssignment() const {
     return (data().DeclaredSpecialMembers & SMF_MoveAssignment) ||
            needsImplicitMoveAssignment();
   }
 
-  /// \brief Set that we attempted to declare an implicit move assignment
+  /// Set that we attempted to declare an implicit move assignment
   /// operator, but overload resolution failed so we deleted it.
   void setImplicitMoveAssignmentIsDeleted() {
     assert((data().DefaultedMoveAssignmentIsDeleted ||
@@ -1131,7 +1131,7 @@ public:
     data().DefaultedMoveAssignmentIsDeleted = true;
   }
 
-  /// \brief Determine whether this class should get an implicit move
+  /// Determine whether this class should get an implicit move
   /// assignment operator or if any existing special member function inhibits
   /// this.
   bool needsImplicitMoveAssignment() const {
@@ -1146,53 +1146,53 @@ public:
            !isLambda();
   }
 
-  /// \brief Determine whether we need to eagerly declare a move assignment
+  /// Determine whether we need to eagerly declare a move assignment
   /// operator for this class.
   bool needsOverloadResolutionForMoveAssignment() const {
     return data().NeedOverloadResolutionForMoveAssignment;
   }
 
-  /// \brief Determine whether this class has a user-declared destructor.
+  /// Determine whether this class has a user-declared destructor.
   ///
   /// When false, a destructor will be implicitly declared.
   bool hasUserDeclaredDestructor() const {
     return data().UserDeclaredSpecialMembers & SMF_Destructor;
   }
 
-  /// \brief Determine whether this class needs an implicit destructor to
+  /// Determine whether this class needs an implicit destructor to
   /// be lazily declared.
   bool needsImplicitDestructor() const {
     return !(data().DeclaredSpecialMembers & SMF_Destructor);
   }
 
-  /// \brief Determine whether we need to eagerly declare a destructor for this
+  /// Determine whether we need to eagerly declare a destructor for this
   /// class.
   bool needsOverloadResolutionForDestructor() const {
     return data().NeedOverloadResolutionForDestructor;
   }
 
-  /// \brief Determine whether this class describes a lambda function object.
+  /// Determine whether this class describes a lambda function object.
   bool isLambda() const {
     // An update record can't turn a non-lambda into a lambda.
     auto *DD = DefinitionData;
     return DD && DD->IsLambda;
   }
 
-  /// \brief Determine whether this class describes a generic 
+  /// Determine whether this class describes a generic 
   /// lambda function object (i.e. function call operator is
   /// a template). 
   bool isGenericLambda() const; 
 
-  /// \brief Retrieve the lambda call operator of the closure type
+  /// Retrieve the lambda call operator of the closure type
   /// if this is a closure type.
   CXXMethodDecl *getLambdaCallOperator() const; 
 
-  /// \brief Retrieve the lambda static invoker, the address of which
+  /// Retrieve the lambda static invoker, the address of which
   /// is returned by the conversion operator, and the body of which
   /// is forwarded to the lambda call operator. 
   CXXMethodDecl *getLambdaStaticInvoker() const; 
 
-  /// \brief Retrieve the generic lambda's template parameter list.
+  /// Retrieve the generic lambda's template parameter list.
   /// Returns null if the class does not represent a lambda or a generic 
   /// lambda.
   TemplateParameterList *getGenericLambdaTemplateParameterList() const;
@@ -1202,7 +1202,7 @@ public:
     return static_cast<LambdaCaptureDefault>(getLambdaData().CaptureDefault);
   }
 
-  /// \brief For a closure type, retrieve the mapping from captured
+  /// For a closure type, retrieve the mapping from captured
   /// variables and \c this to the non-static data members that store the
   /// values or references of the captures.
   ///
@@ -1248,7 +1248,7 @@ public:
   /// this class must currently be in the process of being defined.
   void removeConversion(const NamedDecl *Old);
 
-  /// \brief Get all conversion functions visible in current class,
+  /// Get all conversion functions visible in current class,
   /// including conversion function templates.
   llvm::iterator_range<conversion_iterator> getVisibleConversionFunctions();
 
@@ -1258,12 +1258,12 @@ public:
   /// functions (C++ [dcl.init.aggr]p1).
   bool isAggregate() const { return data().Aggregate; }
 
-  /// \brief Whether this class has any in-class initializers
+  /// Whether this class has any in-class initializers
   /// for non-static data members (including those in anonymous unions or
   /// structs).
   bool hasInClassInitializer() const { return data().HasInClassInitializer; }
 
-  /// \brief Whether this class or any of its subobjects has any members of
+  /// Whether this class or any of its subobjects has any members of
   /// reference type which would make value-initialization ill-formed.
   ///
   /// Per C++03 [dcl.init]p5:
@@ -1276,7 +1276,7 @@ public:
            data().HasUninitializedReferenceMember;
   }
 
-  /// \brief Whether this class is a POD-type (C++ [class]p4)
+  /// Whether this class is a POD-type (C++ [class]p4)
   ///
   /// For purposes of this function a class is POD if it is an aggregate
   /// that has no non-static non-POD data members, no reference data
@@ -1286,11 +1286,11 @@ public:
   /// Note that this is the C++ TR1 definition of POD.
   bool isPOD() const { return data().PlainOldData; }
 
-  /// \brief True if this class is C-like, without C++-specific features, e.g.
+  /// True if this class is C-like, without C++-specific features, e.g.
   /// it contains only public fields, no bases, tag kind is not 'class', etc.
   bool isCLike() const;
 
-  /// \brief Determine whether this is an empty class in the sense of
+  /// Determine whether this is an empty class in the sense of
   /// (C++11 [meta.unary.prop]).
   ///
   /// The CXXRecordDecl is a class type, but not a union type,
@@ -1301,7 +1301,7 @@ public:
   /// \note This does NOT include a check for union-ness.
   bool isEmpty() const { return data().Empty; }
 
-  /// \brief Determine whether this class has direct non-static data members.
+  /// Determine whether this class has direct non-static data members.
   bool hasDirectFields() const {
     auto &D = data();
     return D.HasPublicFields || D.HasProtectedFields || D.HasPrivateFields;
@@ -1311,36 +1311,36 @@ public:
   /// which means that the class contains or inherits a virtual function.
   bool isPolymorphic() const { return data().Polymorphic; }
 
-  /// \brief Determine whether this class has a pure virtual function.
+  /// Determine whether this class has a pure virtual function.
   ///
   /// The class is is abstract per (C++ [class.abstract]p2) if it declares
   /// a pure virtual function or inherits a pure virtual function that is
   /// not overridden.
   bool isAbstract() const { return data().Abstract; }
 
-  /// \brief Determine whether this class is standard-layout per 
+  /// Determine whether this class is standard-layout per 
   /// C++ [class]p7.
   bool isStandardLayout() const { return data().IsStandardLayout; }
 
-  /// \brief Determine whether this class was standard-layout per 
+  /// Determine whether this class was standard-layout per 
   /// C++11 [class]p7, specifically using the C++11 rules without any DRs.
   bool isCXX11StandardLayout() const { return data().IsCXX11StandardLayout; }
 
-  /// \brief Determine whether this class, or any of its class subobjects,
+  /// Determine whether this class, or any of its class subobjects,
   /// contains a mutable field.
   bool hasMutableFields() const { return data().HasMutableFields; }
 
-  /// \brief Determine whether this class has any variant members.
+  /// Determine whether this class has any variant members.
   bool hasVariantMembers() const { return data().HasVariantMembers; }
 
-  /// \brief Determine whether this class has a trivial default constructor
+  /// Determine whether this class has a trivial default constructor
   /// (C++11 [class.ctor]p5).
   bool hasTrivialDefaultConstructor() const {
     return hasDefaultConstructor() &&
            (data().HasTrivialSpecialMembers & SMF_DefaultConstructor);
   }
 
-  /// \brief Determine whether this class has a non-trivial default constructor
+  /// Determine whether this class has a non-trivial default constructor
   /// (C++11 [class.ctor]p5).
   bool hasNonTrivialDefaultConstructor() const {
     return (data().DeclaredNonTrivialSpecialMembers & SMF_DefaultConstructor) ||
@@ -1348,7 +1348,7 @@ public:
             !(data().HasTrivialSpecialMembers & SMF_DefaultConstructor));
   }
 
-  /// \brief Determine whether this class has at least one constexpr constructor
+  /// Determine whether this class has at least one constexpr constructor
   /// other than the copy or move constructors.
   bool hasConstexprNonCopyMoveConstructor() const {
     return data().HasConstexprNonCopyMoveConstructor ||
@@ -1356,21 +1356,21 @@ public:
             defaultedDefaultConstructorIsConstexpr());
   }
 
-  /// \brief Determine whether a defaulted default constructor for this class
+  /// Determine whether a defaulted default constructor for this class
   /// would be constexpr.
   bool defaultedDefaultConstructorIsConstexpr() const {
     return data().DefaultedDefaultConstructorIsConstexpr &&
            (!isUnion() || hasInClassInitializer() || !hasVariantMembers());
   }
 
-  /// \brief Determine whether this class has a constexpr default constructor.
+  /// Determine whether this class has a constexpr default constructor.
   bool hasConstexprDefaultConstructor() const {
     return data().HasConstexprDefaultConstructor ||
            (needsImplicitDefaultConstructor() &&
             defaultedDefaultConstructorIsConstexpr());
   }
 
-  /// \brief Determine whether this class has a trivial copy constructor
+  /// Determine whether this class has a trivial copy constructor
   /// (C++ [class.copy]p6, C++11 [class.copy]p12)
   bool hasTrivialCopyConstructor() const {
     return data().HasTrivialSpecialMembers & SMF_CopyConstructor;
@@ -1380,7 +1380,7 @@ public:
     return data().HasTrivialSpecialMembersForCall & SMF_CopyConstructor;
   }
 
-  /// \brief Determine whether this class has a non-trivial copy constructor
+  /// Determine whether this class has a non-trivial copy constructor
   /// (C++ [class.copy]p6, C++11 [class.copy]p12)
   bool hasNonTrivialCopyConstructor() const {
     return data().DeclaredNonTrivialSpecialMembers & SMF_CopyConstructor ||
@@ -1393,7 +1393,7 @@ public:
            !hasTrivialCopyConstructorForCall();
   }
 
-  /// \brief Determine whether this class has a trivial move constructor
+  /// Determine whether this class has a trivial move constructor
   /// (C++11 [class.copy]p12)
   bool hasTrivialMoveConstructor() const {
     return hasMoveConstructor() &&
@@ -1405,7 +1405,7 @@ public:
            (data().HasTrivialSpecialMembersForCall & SMF_MoveConstructor);
   }
 
-  /// \brief Determine whether this class has a non-trivial move constructor
+  /// Determine whether this class has a non-trivial move constructor
   /// (C++11 [class.copy]p12)
   bool hasNonTrivialMoveConstructor() const {
     return (data().DeclaredNonTrivialSpecialMembers & SMF_MoveConstructor) ||
@@ -1420,27 +1420,27 @@ public:
             !(data().HasTrivialSpecialMembersForCall & SMF_MoveConstructor));
   }
 
-  /// \brief Determine whether this class has a trivial copy assignment operator
+  /// Determine whether this class has a trivial copy assignment operator
   /// (C++ [class.copy]p11, C++11 [class.copy]p25)
   bool hasTrivialCopyAssignment() const {
     return data().HasTrivialSpecialMembers & SMF_CopyAssignment;
   }
 
-  /// \brief Determine whether this class has a non-trivial copy assignment
+  /// Determine whether this class has a non-trivial copy assignment
   /// operator (C++ [class.copy]p11, C++11 [class.copy]p25)
   bool hasNonTrivialCopyAssignment() const {
     return data().DeclaredNonTrivialSpecialMembers & SMF_CopyAssignment ||
            !hasTrivialCopyAssignment();
   }
 
-  /// \brief Determine whether this class has a trivial move assignment operator
+  /// Determine whether this class has a trivial move assignment operator
   /// (C++11 [class.copy]p25)
   bool hasTrivialMoveAssignment() const {
     return hasMoveAssignment() &&
            (data().HasTrivialSpecialMembers & SMF_MoveAssignment);
   }
 
-  /// \brief Determine whether this class has a non-trivial move assignment
+  /// Determine whether this class has a non-trivial move assignment
   /// operator (C++11 [class.copy]p25)
   bool hasNonTrivialMoveAssignment() const {
     return (data().DeclaredNonTrivialSpecialMembers & SMF_MoveAssignment) ||
@@ -1448,7 +1448,7 @@ public:
             !(data().HasTrivialSpecialMembers & SMF_MoveAssignment));
   }
 
-  /// \brief Determine whether this class has a trivial destructor
+  /// Determine whether this class has a trivial destructor
   /// (C++ [class.dtor]p3)
   bool hasTrivialDestructor() const {
     return data().HasTrivialSpecialMembers & SMF_Destructor;
@@ -1458,7 +1458,7 @@ public:
     return data().HasTrivialSpecialMembersForCall & SMF_Destructor;
   }
 
-  /// \brief Determine whether this class has a non-trivial destructor
+  /// Determine whether this class has a non-trivial destructor
   /// (C++ [class.dtor]p3)
   bool hasNonTrivialDestructor() const {
     return !(data().HasTrivialSpecialMembers & SMF_Destructor);
@@ -1473,7 +1473,7 @@ public:
         (SMF_CopyConstructor | SMF_MoveConstructor | SMF_Destructor);
   }
 
-  /// \brief Determine whether declaring a const variable with this type is ok
+  /// Determine whether declaring a const variable with this type is ok
   /// per core issue 253.
   bool allowConstDefaultInit() const {
     return !data().HasUninitializedFields ||
@@ -1481,7 +1481,7 @@ public:
              needsImplicitDefaultConstructor());
   }
 
-  /// \brief Determine whether this class has a destructor which has no
+  /// Determine whether this class has a destructor which has no
   /// semantic effect.
   ///
   /// Any such destructor will be trivial, public, defaulted and not deleted,
@@ -1490,29 +1490,29 @@ public:
     return data().HasIrrelevantDestructor;
   }
 
-  /// \brief Determine whether this class has a non-literal or/ volatile type
+  /// Determine whether this class has a non-literal or/ volatile type
   /// non-static data member or base class.
   bool hasNonLiteralTypeFieldsOrBases() const {
     return data().HasNonLiteralTypeFieldsOrBases;
   }
 
-  /// \brief Determine whether this class has a using-declaration that names
+  /// Determine whether this class has a using-declaration that names
   /// a user-declared base class constructor.
   bool hasInheritedConstructor() const {
     return data().HasInheritedConstructor;
   }
 
-  /// \brief Determine whether this class has a using-declaration that names
+  /// Determine whether this class has a using-declaration that names
   /// a base class assignment operator.
   bool hasInheritedAssignment() const {
     return data().HasInheritedAssignment;
   }
 
-  /// \brief Determine whether this class is considered trivially copyable per
+  /// Determine whether this class is considered trivially copyable per
   /// (C++11 [class]p6).
   bool isTriviallyCopyable() const;
 
-  /// \brief Determine whether this class is considered trivial.
+  /// Determine whether this class is considered trivial.
   ///
   /// C++11 [class]p6:
   ///    "A trivial class is a class that has a trivial default constructor and
@@ -1521,7 +1521,7 @@ public:
     return isTriviallyCopyable() && hasTrivialDefaultConstructor();
   }
 
-  /// \brief Determine whether this class is a literal type.
+  /// Determine whether this class is a literal type.
   ///
   /// C++11 [basic.types]p10:
   ///   A class type that has all the following properties:
@@ -1547,7 +1547,7 @@ public:
             hasTrivialDefaultConstructor());
   }
 
-  /// \brief If this record is an instantiation of a member class,
+  /// If this record is an instantiation of a member class,
   /// retrieves the member class from which it was instantiated.
   ///
   /// This routine will return non-null for (non-templated) member
@@ -1568,17 +1568,17 @@ public:
   /// declaration returned by getInstantiatedFromMemberClass().
   CXXRecordDecl *getInstantiatedFromMemberClass() const;
 
-  /// \brief If this class is an instantiation of a member class of a
+  /// If this class is an instantiation of a member class of a
   /// class template specialization, retrieves the member specialization
   /// information.
   MemberSpecializationInfo *getMemberSpecializationInfo() const;
 
-  /// \brief Specify that this record is an instantiation of the
+  /// Specify that this record is an instantiation of the
   /// member class \p RD.
   void setInstantiationOfMemberClass(CXXRecordDecl *RD,
                                      TemplateSpecializationKind TSK);
 
-  /// \brief Retrieves the class template that is described by this
+  /// Retrieves the class template that is described by this
   /// class declaration.
   ///
   /// Every class template is represented as a ClassTemplateDecl and a
@@ -1593,15 +1593,15 @@ public:
 
   void setDescribedClassTemplate(ClassTemplateDecl *Template);
 
-  /// \brief Determine whether this particular class is a specialization or
+  /// Determine whether this particular class is a specialization or
   /// instantiation of a class template or member class of a class template,
   /// and how it was instantiated or specialized.
   TemplateSpecializationKind getTemplateSpecializationKind() const;
 
-  /// \brief Set the kind of specialization or template instantiation this is.
+  /// Set the kind of specialization or template instantiation this is.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK);
 
-  /// \brief Retrieve the record declaration from which this record could be
+  /// Retrieve the record declaration from which this record could be
   /// instantiated. Returns null if this class is not a template instantiation.
   const CXXRecordDecl *getTemplateInstantiationPattern() const;
 
@@ -1610,14 +1610,14 @@ public:
                                            ->getTemplateInstantiationPattern());
   }
 
-  /// \brief Returns the destructor decl for this class.
+  /// Returns the destructor decl for this class.
   CXXDestructorDecl *getDestructor() const;
 
-  /// \brief Returns true if the class destructor, or any implicitly invoked
+  /// Returns true if the class destructor, or any implicitly invoked
   /// destructors are marked noreturn.
   bool isAnyDestructorNoReturn() const;
 
-  /// \brief If the class is a local class [class.local], returns
+  /// If the class is a local class [class.local], returns
   /// the enclosing function declaration.
   const FunctionDecl *isLocalClass() const {
     if (const auto *RD = dyn_cast<CXXRecordDecl>(getDeclContext()))
@@ -1631,11 +1631,11 @@ public:
         const_cast<const CXXRecordDecl*>(this)->isLocalClass());
   }
 
-  /// \brief Determine whether this dependent class is a current instantiation,
+  /// Determine whether this dependent class is a current instantiation,
   /// when viewed from within the given context.
   bool isCurrentInstantiation(const DeclContext *CurContext) const;
 
-  /// \brief Determine whether this class is derived from the class \p Base.
+  /// Determine whether this class is derived from the class \p Base.
   ///
   /// This routine only determines whether this class is derived from \p Base,
   /// but does not account for factors that may make a Derived -> Base class
@@ -1647,7 +1647,7 @@ public:
   /// \returns true if this class is derived from Base, false otherwise.
   bool isDerivedFrom(const CXXRecordDecl *Base) const;
 
-  /// \brief Determine whether this class is derived from the type \p Base.
+  /// Determine whether this class is derived from the type \p Base.
   ///
   /// This routine only determines whether this class is derived from \p Base,
   /// but does not account for factors that may make a Derived -> Base class
@@ -1665,7 +1665,7 @@ public:
   /// tangling input and output in \p Paths
   bool isDerivedFrom(const CXXRecordDecl *Base, CXXBasePaths &Paths) const;
 
-  /// \brief Determine whether this class is virtually derived from
+  /// Determine whether this class is virtually derived from
   /// the class \p Base.
   ///
   /// This routine only determines whether this class is virtually
@@ -1680,11 +1680,11 @@ public:
   /// false otherwise.
   bool isVirtuallyDerivedFrom(const CXXRecordDecl *Base) const;
 
-  /// \brief Determine whether this class is provably not derived from
+  /// Determine whether this class is provably not derived from
   /// the type \p Base.
   bool isProvablyNotDerivedFrom(const CXXRecordDecl *Base) const;
 
-  /// \brief Function type used by forallBases() as a callback.
+  /// Function type used by forallBases() as a callback.
   ///
   /// \param BaseDefinition the definition of the base class
   ///
@@ -1692,7 +1692,7 @@ public:
   using ForallBasesCallback =
       llvm::function_ref<bool(const CXXRecordDecl *BaseDefinition)>;
 
-  /// \brief Determines if the given callback holds for all the direct
+  /// Determines if the given callback holds for all the direct
   /// or indirect base classes of this type.
   ///
   /// The class itself does not count as a base class.  This routine
@@ -1708,7 +1708,7 @@ public:
   bool forallBases(ForallBasesCallback BaseMatches,
                    bool AllowShortCircuit = true) const;
 
-  /// \brief Function type used by lookupInBases() to determine whether a
+  /// Function type used by lookupInBases() to determine whether a
   /// specific base class subobject matches the lookup criteria.
   ///
   /// \param Specifier the base-class specifier that describes the inheritance
@@ -1722,7 +1722,7 @@ public:
       llvm::function_ref<bool(const CXXBaseSpecifier *Specifier,
                               CXXBasePath &Path)>;
 
-  /// \brief Look for entities within the base classes of this C++ class,
+  /// Look for entities within the base classes of this C++ class,
   /// transitively searching all base class subobjects.
   ///
   /// This routine uses the callback function \p BaseMatches to find base
@@ -1746,7 +1746,7 @@ public:
   bool lookupInBases(BaseMatchesCallback BaseMatches, CXXBasePaths &Paths,
                      bool LookupInDependent = false) const;
 
-  /// \brief Base-class lookup callback that determines whether the given
+  /// Base-class lookup callback that determines whether the given
   /// base class specifier refers to a specific class declaration.
   ///
   /// This callback can be used with \c lookupInBases() to determine whether
@@ -1756,7 +1756,7 @@ public:
   static bool FindBaseClass(const CXXBaseSpecifier *Specifier,
                             CXXBasePath &Path, const CXXRecordDecl *BaseRecord);
 
-  /// \brief Base-class lookup callback that determines whether the
+  /// Base-class lookup callback that determines whether the
   /// given base class specifier refers to a specific class
   /// declaration and describes virtual derivation.
   ///
@@ -1769,7 +1769,7 @@ public:
                                    CXXBasePath &Path,
                                    const CXXRecordDecl *BaseRecord);
 
-  /// \brief Base-class lookup callback that determines whether there exists
+  /// Base-class lookup callback that determines whether there exists
   /// a tag with the given name.
   ///
   /// This callback can be used with \c lookupInBases() to find tag members
@@ -1777,7 +1777,7 @@ public:
   static bool FindTagMember(const CXXBaseSpecifier *Specifier,
                             CXXBasePath &Path, DeclarationName Name);
 
-  /// \brief Base-class lookup callback that determines whether there exists
+  /// Base-class lookup callback that determines whether there exists
   /// a member with the given name.
   ///
   /// This callback can be used with \c lookupInBases() to find members
@@ -1785,7 +1785,7 @@ public:
   static bool FindOrdinaryMember(const CXXBaseSpecifier *Specifier,
                                  CXXBasePath &Path, DeclarationName Name);
 
-  /// \brief Base-class lookup callback that determines whether there exists
+  /// Base-class lookup callback that determines whether there exists
   /// a member with the given name.
   ///
   /// This callback can be used with \c lookupInBases() to find members
@@ -1795,7 +1795,7 @@ public:
   FindOrdinaryMemberInDependentClasses(const CXXBaseSpecifier *Specifier,
                                        CXXBasePath &Path, DeclarationName Name);
 
-  /// \brief Base-class lookup callback that determines whether there exists
+  /// Base-class lookup callback that determines whether there exists
   /// an OpenMP declare reduction member with the given name.
   ///
   /// This callback can be used with \c lookupInBases() to find members
@@ -1803,7 +1803,7 @@ public:
   static bool FindOMPReductionMember(const CXXBaseSpecifier *Specifier,
                                      CXXBasePath &Path, DeclarationName Name);
 
-  /// \brief Base-class lookup callback that determines whether there exists
+  /// Base-class lookup callback that determines whether there exists
   /// a member with the given name that can be used in a nested-name-specifier.
   ///
   /// This callback can be used with \c lookupInBases() to find members of
@@ -1813,12 +1813,12 @@ public:
                                             CXXBasePath &Path,
                                             DeclarationName Name);
 
-  /// \brief Retrieve the final overriders for each virtual member
+  /// Retrieve the final overriders for each virtual member
   /// function in the class hierarchy where this class is the
   /// most-derived class in the class hierarchy.
   void getFinalOverriders(CXXFinalOverriderMap &FinaOverriders) const;
 
-  /// \brief Get the indirect primary bases for this class.
+  /// Get the indirect primary bases for this class.
   void getIndirectPrimaryBases(CXXIndirectPrimaryBaseSet& Bases) const;
 
   /// Performs an imprecise lookup of a dependent name in this class.
@@ -1834,7 +1834,7 @@ public:
   /// GraphViz.
   void viewInheritance(ASTContext& Context) const;
 
-  /// \brief Calculates the access of a decl that is reached
+  /// Calculates the access of a decl that is reached
   /// along a path.
   static AccessSpecifier MergeAccess(AccessSpecifier PathAccess,
                                      AccessSpecifier DeclAccess) {
@@ -1843,16 +1843,16 @@ public:
     return (PathAccess > DeclAccess ? PathAccess : DeclAccess);
   }
 
-  /// \brief Indicates that the declaration of a defaulted or deleted special
+  /// Indicates that the declaration of a defaulted or deleted special
   /// member function is now complete.
   void finishedDefaultedOrDeletedMember(CXXMethodDecl *MD);
 
   void setTrivialForCallFlags(CXXMethodDecl *MD);
 
-  /// \brief Indicates that the definition of this class is now complete.
+  /// Indicates that the definition of this class is now complete.
   void completeDefinition() override;
 
-  /// \brief Indicates that the definition of this class is now complete,
+  /// Indicates that the definition of this class is now complete,
   /// and provides a final overrider map to help determine
   ///
   /// \param FinalOverriders The final overrider map for this class, which can
@@ -1861,7 +1861,7 @@ public:
   /// definition.
   void completeDefinition(CXXFinalOverriderMap *FinalOverriders);
 
-  /// \brief Determine whether this class may end up being abstract, even though
+  /// Determine whether this class may end up being abstract, even though
   /// it is not yet known to be abstract.
   ///
   /// \returns true if this class is not known to be abstract but has any
@@ -1870,7 +1870,7 @@ public:
   /// actually abstract.
   bool mayBeAbstract() const;
 
-  /// \brief If this is the closure type of a lambda expression, retrieve the
+  /// If this is the closure type of a lambda expression, retrieve the
   /// number to be used for name mangling in the Itanium C++ ABI.
   ///
   /// Zero indicates that this closure type has internal linkage, so the 
@@ -1881,7 +1881,7 @@ public:
     return getLambdaData().ManglingNumber;
   }
   
-  /// \brief Retrieve the declaration that provides additional context for a 
+  /// Retrieve the declaration that provides additional context for a 
   /// lambda, when the normal declaration context is not specific enough.
   ///
   /// Certain contexts (default arguments of in-class function parameters and 
@@ -1892,17 +1892,17 @@ public:
   /// the declaration context suffices.
   Decl *getLambdaContextDecl() const;
   
-  /// \brief Set the mangling number and context declaration for a lambda
+  /// Set the mangling number and context declaration for a lambda
   /// class.
   void setLambdaMangling(unsigned ManglingNumber, Decl *ContextDecl) {
     getLambdaData().ManglingNumber = ManglingNumber;
     getLambdaData().ContextDecl = ContextDecl;
   }
 
-  /// \brief Returns the inheritance model used for this record.
+  /// Returns the inheritance model used for this record.
   MSInheritanceAttr::Spelling getMSInheritanceModel() const;
 
-  /// \brief Calculate what the inheritance model would be for this class.
+  /// Calculate what the inheritance model would be for this class.
   MSInheritanceAttr::Spelling calculateInheritanceModel() const;
 
   /// In the Microsoft C++ ABI, use zero for the field offset of a null data
@@ -1917,11 +1917,11 @@ public:
            (hasDefinition() && isPolymorphic());
   }
 
-  /// \brief Controls when vtordisps will be emitted if this record is used as a
+  /// Controls when vtordisps will be emitted if this record is used as a
   /// virtual base.
   MSVtorDispAttr::Mode getMSVtorDispMode() const;
 
-  /// \brief Determine whether this lambda expression was known to be dependent
+  /// Determine whether this lambda expression was known to be dependent
   /// at the time it was created, even if its context does not appear to be
   /// dependent.
   ///
@@ -1940,7 +1940,7 @@ public:
     return getLambdaData().MethodTyInfo;
   }
 
-  // \brief Determine whether this type is an Interface Like type for
+  // Determine whether this type is an Interface Like type for
   // __interface inheritance purposes.
   bool isInterfaceLike() const;
 
@@ -1950,7 +1950,7 @@ public:
   }
 };
 
-/// \brief Represents a C++ deduction guide declaration.
+/// Represents a C++ deduction guide declaration.
 ///
 /// \code
 /// template<typename T> struct A { A(); A(T); };
@@ -2009,7 +2009,7 @@ public:
   static bool classofKind(Kind K) { return K == CXXDeductionGuide; }
 };
 
-/// \brief Represents a static or instance method of a struct/union/class.
+/// Represents a static or instance method of a struct/union/class.
 ///
 /// In the terminology of the C++ Standard, these are the (static and
 /// non-static) member functions, whether virtual or not.
@@ -2082,16 +2082,16 @@ public:
         Base, IsAppleKext);
   }
 
-  /// \brief Determine whether this is a usual deallocation function
+  /// Determine whether this is a usual deallocation function
   /// (C++ [basic.stc.dynamic.deallocation]p2), which is an overloaded
   /// delete or delete[] operator with a particular signature.
   bool isUsualDeallocationFunction() const;
 
-  /// \brief Determine whether this is a copy-assignment operator, regardless
+  /// Determine whether this is a copy-assignment operator, regardless
   /// of whether it was declared implicitly or explicitly.
   bool isCopyAssignmentOperator() const;
 
-  /// \brief Determine whether this is a move assignment operator.
+  /// Determine whether this is a move assignment operator.
   bool isMoveAssignmentOperator() const;
 
   CXXMethodDecl *getCanonicalDecl() override {
@@ -2144,7 +2144,7 @@ public:
              cast<CXXRecordDecl>(FunctionDecl::getParent()));
   }
 
-  /// \brief Returns the type of the \c this pointer.
+  /// Returns the type of the \c this pointer.
   ///
   /// Should only be called for instance (i.e., non-static) methods. Note
   /// that for the call operator of a lambda closure type, this returns the
@@ -2156,7 +2156,7 @@ public:
     return getType()->getAs<FunctionProtoType>()->getTypeQuals();
   }
 
-  /// \brief Retrieve the ref-qualifier associated with this method.
+  /// Retrieve the ref-qualifier associated with this method.
   ///
   /// In the following example, \c f() has an lvalue ref-qualifier, \c g()
   /// has an rvalue ref-qualifier, and \c h() has no ref-qualifier.
@@ -2173,7 +2173,7 @@ public:
 
   bool hasInlineBody() const;
 
-  /// \brief Determine whether this is a lambda closure type's static member
+  /// Determine whether this is a lambda closure type's static member
   /// function that is used for the result of the lambda's conversion to
   /// function pointer (for a lambda with no captures).
   ///
@@ -2182,7 +2182,7 @@ public:
   /// or clone the function call operator.
   bool isLambdaStaticInvoker() const;
 
-  /// \brief Find the method in \p RD that corresponds to this one.
+  /// Find the method in \p RD that corresponds to this one.
   ///
   /// Find if \p RD or one of the classes it inherits from override this method.
   /// If so, return it. \p RD is assumed to be a subclass of the class defining
@@ -2205,7 +2205,7 @@ public:
   }
 };
 
-/// \brief Represents a C++ base or member initializer.
+/// Represents a C++ base or member initializer.
 ///
 /// This is part of a constructor initializer that
 /// initializes one non-static member variable or one base class. For
@@ -2221,13 +2221,13 @@ public:
 /// };
 /// \endcode
 class CXXCtorInitializer final {
-  /// \brief Either the base class name/delegating constructor type (stored as
+  /// Either the base class name/delegating constructor type (stored as
   /// a TypeSourceInfo*), an normal field (FieldDecl), or an anonymous field
   /// (IndirectFieldDecl*) being initialized.
   llvm::PointerUnion3<TypeSourceInfo *, FieldDecl *, IndirectFieldDecl *>
     Initializee;
 
-  /// \brief The source location for the field name or, for a base initializer
+  /// The source location for the field name or, for a base initializer
   /// pack expansion, the location of the ellipsis.
   ///
   /// In the case of a delegating
@@ -2235,25 +2235,25 @@ class CXXCtorInitializer final {
   /// Initializee points to the CXXConstructorDecl (to allow loop detection).
   SourceLocation MemberOrEllipsisLocation;
 
-  /// \brief The argument used to initialize the base or member, which may
+  /// The argument used to initialize the base or member, which may
   /// end up constructing an object (when multiple arguments are involved).
   Stmt *Init;
 
-  /// \brief Location of the left paren of the ctor-initializer.
+  /// Location of the left paren of the ctor-initializer.
   SourceLocation LParenLoc;
 
-  /// \brief Location of the right paren of the ctor-initializer.
+  /// Location of the right paren of the ctor-initializer.
   SourceLocation RParenLoc;
 
-  /// \brief If the initializee is a type, whether that type makes this
+  /// If the initializee is a type, whether that type makes this
   /// a delegating initialization.
   unsigned IsDelegating : 1;
 
-  /// \brief If the initializer is a base initializer, this keeps track
+  /// If the initializer is a base initializer, this keeps track
   /// of whether the base is virtual or not.
   unsigned IsVirtual : 1;
 
-  /// \brief Whether or not the initializer is explicitly written
+  /// Whether or not the initializer is explicitly written
   /// in the sources.
   unsigned IsWritten : 1;
 
@@ -2262,35 +2262,35 @@ class CXXCtorInitializer final {
   unsigned SourceOrder : 13;
 
 public:
-  /// \brief Creates a new base-class initializer.
+  /// Creates a new base-class initializer.
   explicit
   CXXCtorInitializer(ASTContext &Context, TypeSourceInfo *TInfo, bool IsVirtual,
                      SourceLocation L, Expr *Init, SourceLocation R,
                      SourceLocation EllipsisLoc);
 
-  /// \brief Creates a new member initializer.
+  /// Creates a new member initializer.
   explicit
   CXXCtorInitializer(ASTContext &Context, FieldDecl *Member,
                      SourceLocation MemberLoc, SourceLocation L, Expr *Init,
                      SourceLocation R);
 
-  /// \brief Creates a new anonymous field initializer.
+  /// Creates a new anonymous field initializer.
   explicit
   CXXCtorInitializer(ASTContext &Context, IndirectFieldDecl *Member,
                      SourceLocation MemberLoc, SourceLocation L, Expr *Init,
                      SourceLocation R);
 
-  /// \brief Creates a new delegating initializer.
+  /// Creates a new delegating initializer.
   explicit
   CXXCtorInitializer(ASTContext &Context, TypeSourceInfo *TInfo,
                      SourceLocation L, Expr *Init, SourceLocation R);
 
-  /// \brief Determine whether this initializer is initializing a base class.
+  /// Determine whether this initializer is initializing a base class.
   bool isBaseInitializer() const {
     return Initializee.is<TypeSourceInfo*>() && !IsDelegating;
   }
 
-  /// \brief Determine whether this initializer is initializing a non-static
+  /// Determine whether this initializer is initializing a non-static
   /// data member.
   bool isMemberInitializer() const { return Initializee.is<FieldDecl*>(); }
 
@@ -2302,7 +2302,7 @@ public:
     return Initializee.is<IndirectFieldDecl*>();
   }
 
-  /// \brief Determine whether this initializer is an implicit initializer
+  /// Determine whether this initializer is an implicit initializer
   /// generated for a field with an initializer defined on the member
   /// declaration.
   ///
@@ -2312,18 +2312,18 @@ public:
     return Init->getStmtClass() == Stmt::CXXDefaultInitExprClass;
   }
 
-  /// \brief Determine whether this initializer is creating a delegating
+  /// Determine whether this initializer is creating a delegating
   /// constructor.
   bool isDelegatingInitializer() const {
     return Initializee.is<TypeSourceInfo*>() && IsDelegating;
   }
 
-  /// \brief Determine whether this initializer is a pack expansion.
+  /// Determine whether this initializer is a pack expansion.
   bool isPackExpansion() const {
     return isBaseInitializer() && MemberOrEllipsisLocation.isValid();
   }
 
-  // \brief For a pack expansion, returns the location of the ellipsis.
+  // For a pack expansion, returns the location of the ellipsis.
   SourceLocation getEllipsisLoc() const {
     assert(isPackExpansion() && "Initializer is not a pack expansion");
     return MemberOrEllipsisLocation;
@@ -2345,13 +2345,13 @@ public:
     return IsVirtual;
   }
 
-  /// \brief Returns the declarator information for a base class or delegating
+  /// Returns the declarator information for a base class or delegating
   /// initializer.
   TypeSourceInfo *getTypeSourceInfo() const {
     return Initializee.dyn_cast<TypeSourceInfo *>();
   }
 
-  /// \brief If this is a member initializer, returns the declaration of the
+  /// If this is a member initializer, returns the declaration of the
   /// non-static data member being initialized. Otherwise, returns null.
   FieldDecl *getMember() const {
     if (isMemberInitializer())
@@ -2377,23 +2377,23 @@ public:
     return MemberOrEllipsisLocation;
   }
 
-  /// \brief Determine the source location of the initializer.
+  /// Determine the source location of the initializer.
   SourceLocation getSourceLocation() const;
 
-  /// \brief Determine the source range covering the entire initializer.
+  /// Determine the source range covering the entire initializer.
   SourceRange getSourceRange() const LLVM_READONLY;
 
-  /// \brief Determine whether this initializer is explicitly written
+  /// Determine whether this initializer is explicitly written
   /// in the source code.
   bool isWritten() const { return IsWritten; }
 
-  /// \brief Return the source position of the initializer, counting from 0.
+  /// Return the source position of the initializer, counting from 0.
   /// If the initializer was implicit, -1 is returned.
   int getSourceOrder() const {
     return IsWritten ? static_cast<int>(SourceOrder) : -1;
   }
 
-  /// \brief Set the source order of this initializer.
+  /// Set the source order of this initializer.
   ///
   /// This can only be called once for each initializer; it cannot be called
   /// on an initializer having a positive number of (implicit) array indices.
@@ -2414,7 +2414,7 @@ public:
   SourceLocation getLParenLoc() const { return LParenLoc; }
   SourceLocation getRParenLoc() const { return RParenLoc; }
 
-  /// \brief Get the initializer.
+  /// Get the initializer.
   Expr *getInit() const { return static_cast<Expr *>(Init); }
 };
 
@@ -2435,7 +2435,7 @@ public:
   CXXConstructorDecl *getConstructor() const { return BaseCtor; }
 };
 
-/// \brief Represents a C++ constructor within a class.
+/// Represents a C++ constructor within a class.
 ///
 /// For example:
 ///
@@ -2450,12 +2450,12 @@ class CXXConstructorDecl final
       private llvm::TrailingObjects<CXXConstructorDecl, InheritedConstructor> {
   /// \name Support for base and member initializers.
   /// \{
-  /// \brief The arguments used to initialize the base or member.
+  /// The arguments used to initialize the base or member.
   LazyCXXCtorInitializersPtr CtorInitializers;
   unsigned NumCtorInitializers : 31;
   /// \}
 
-  /// \brief Whether this constructor declaration is an implicitly-declared
+  /// Whether this constructor declaration is an implicitly-declared
   /// inheriting constructor.
   unsigned IsInheritingConstructor : 1;
 
@@ -2490,10 +2490,10 @@ public:
          bool isConstexpr,
          InheritedConstructor Inherited = InheritedConstructor());
 
-  /// \brief Iterates through the member/base initializer list.
+  /// Iterates through the member/base initializer list.
   using init_iterator = CXXCtorInitializer **;
 
-  /// \brief Iterates through the member/base initializer list.
+  /// Iterates through the member/base initializer list.
   using init_const_iterator = CXXCtorInitializer *const *;
 
   using init_range = llvm::iterator_range<init_iterator>;
@@ -2504,21 +2504,21 @@ public:
     return init_const_range(init_begin(), init_end());
   }
 
-  /// \brief Retrieve an iterator to the first initializer.
+  /// Retrieve an iterator to the first initializer.
   init_iterator init_begin() {
     const auto *ConstThis = this;
     return const_cast<init_iterator>(ConstThis->init_begin());
   }
 
-  /// \brief Retrieve an iterator to the first initializer.
+  /// Retrieve an iterator to the first initializer.
   init_const_iterator init_begin() const;
 
-  /// \brief Retrieve an iterator past the last initializer.
+  /// Retrieve an iterator past the last initializer.
   init_iterator       init_end()       {
     return init_begin() + NumCtorInitializers;
   }
 
-  /// \brief Retrieve an iterator past the last initializer.
+  /// Retrieve an iterator past the last initializer.
   init_const_iterator init_end() const {
     return init_begin() + NumCtorInitializers;
   }
@@ -2541,7 +2541,7 @@ public:
     return init_const_reverse_iterator(init_begin());
   }
 
-  /// \brief Determine the number of arguments used to initialize the member
+  /// Determine the number of arguments used to initialize the member
   /// or base.
   unsigned getNumCtorInitializers() const {
       return NumCtorInitializers;
@@ -2563,13 +2563,13 @@ public:
     return getCanonicalDecl()->isExplicitSpecified();
   }
 
-  /// \brief Determine whether this constructor is a delegating constructor.
+  /// Determine whether this constructor is a delegating constructor.
   bool isDelegatingConstructor() const {
     return (getNumCtorInitializers() == 1) &&
            init_begin()[0]->isDelegatingInitializer();
   }
 
-  /// \brief When this constructor delegates to another, retrieve the target.
+  /// When this constructor delegates to another, retrieve the target.
   CXXConstructorDecl *getTargetConstructor() const;
 
   /// Whether this constructor is a default
@@ -2577,7 +2577,7 @@ public:
   /// default-initialize a class of this type.
   bool isDefaultConstructor() const;
 
-  /// \brief Whether this constructor is a copy constructor (C++ [class.copy]p2,
+  /// Whether this constructor is a copy constructor (C++ [class.copy]p2,
   /// which can be used to copy the class.
   ///
   /// \p TypeQuals will be set to the qualifiers on the
@@ -2600,27 +2600,27 @@ public:
     return isCopyConstructor(TypeQuals);
   }
 
-  /// \brief Determine whether this constructor is a move constructor
+  /// Determine whether this constructor is a move constructor
   /// (C++11 [class.copy]p3), which can be used to move values of the class.
   ///
   /// \param TypeQuals If this constructor is a move constructor, will be set
   /// to the type qualifiers on the referent of the first parameter's type.
   bool isMoveConstructor(unsigned &TypeQuals) const;
 
-  /// \brief Determine whether this constructor is a move constructor
+  /// Determine whether this constructor is a move constructor
   /// (C++11 [class.copy]p3), which can be used to move values of the class.
   bool isMoveConstructor() const {
     unsigned TypeQuals = 0;
     return isMoveConstructor(TypeQuals);
   }
 
-  /// \brief Determine whether this is a copy or move constructor.
+  /// Determine whether this is a copy or move constructor.
   ///
   /// \param TypeQuals Will be set to the type qualifiers on the reference
   /// parameter, if in fact this is a copy or move constructor.
   bool isCopyOrMoveConstructor(unsigned &TypeQuals) const;
 
-  /// \brief Determine whether this a copy or move constructor.
+  /// Determine whether this a copy or move constructor.
   bool isCopyOrMoveConstructor() const {
     unsigned Quals;
     return isCopyOrMoveConstructor(Quals);
@@ -2631,16 +2631,16 @@ public:
   /// used for user-defined conversions.
   bool isConvertingConstructor(bool AllowExplicit) const;
 
-  /// \brief Determine whether this is a member template specialization that
+  /// Determine whether this is a member template specialization that
   /// would copy the object to itself. Such constructors are never used to copy
   /// an object.
   bool isSpecializationCopyingObject() const;
 
-  /// \brief Determine whether this is an implicit constructor synthesized to
+  /// Determine whether this is an implicit constructor synthesized to
   /// model a call to a constructor inherited from a base class.
   bool isInheritingConstructor() const { return IsInheritingConstructor; }
 
-  /// \brief Get the constructor that this inheriting constructor is based on.
+  /// Get the constructor that this inheriting constructor is based on.
   InheritedConstructor getInheritedConstructor() const {
     return IsInheritingConstructor ? *getTrailingObjects<InheritedConstructor>()
                                    : InheritedConstructor();
@@ -2658,7 +2658,7 @@ public:
   static bool classofKind(Kind K) { return K == CXXConstructor; }
 };
 
-/// \brief Represents a C++ destructor within a class.
+/// Represents a C++ destructor within a class.
 ///
 /// For example:
 ///
@@ -2720,7 +2720,7 @@ public:
   static bool classofKind(Kind K) { return K == CXXDestructor; }
 };
 
-/// \brief Represents a C++ conversion function within a class.
+/// Represents a C++ conversion function within a class.
 ///
 /// For example:
 ///
@@ -2764,12 +2764,12 @@ public:
     return getCanonicalDecl()->isExplicitSpecified();
   }
 
-  /// \brief Returns the type that this conversion function is converting to.
+  /// Returns the type that this conversion function is converting to.
   QualType getConversionType() const {
     return getType()->getAs<FunctionType>()->getReturnType();
   }
 
-  /// \brief Determine whether this conversion function is a conversion from
+  /// Determine whether this conversion function is a conversion from
   /// a lambda closure type to a block pointer.
   bool isLambdaToBlockPointerConversion() const;
   
@@ -2785,7 +2785,7 @@ public:
   static bool classofKind(Kind K) { return K == CXXConversion; }
 };
 
-/// \brief Represents a linkage specification. 
+/// Represents a linkage specification. 
 ///
 /// For example:
 /// \code
@@ -2795,7 +2795,7 @@ class LinkageSpecDecl : public Decl, pub
   virtual void anchor();
 
 public:
-  /// \brief Represents the language in a linkage specification.
+  /// Represents the language in a linkage specification.
   ///
   /// The values are part of the serialization ABI for
   /// ASTs and cannot be changed without altering that ABI.  To help
@@ -2807,20 +2807,20 @@ public:
   };
 
 private:
-  /// \brief The language for this linkage specification.
+  /// The language for this linkage specification.
   unsigned Language : 3;
 
-  /// \brief True if this linkage spec has braces.
+  /// True if this linkage spec has braces.
   ///
   /// This is needed so that hasBraces() returns the correct result while the
   /// linkage spec body is being parsed.  Once RBraceLoc has been set this is
   /// not used, so it doesn't need to be serialized.
   unsigned HasBraces : 1;
 
-  /// \brief The source location for the extern keyword.
+  /// The source location for the extern keyword.
   SourceLocation ExternLoc;
 
-  /// \brief The source location for the right brace (if valid).
+  /// The source location for the right brace (if valid).
   SourceLocation RBraceLoc;
 
   LinkageSpecDecl(DeclContext *DC, SourceLocation ExternLoc,
@@ -2836,13 +2836,13 @@ public:
                                  bool HasBraces);
   static LinkageSpecDecl *CreateDeserialized(ASTContext &C, unsigned ID);
   
-  /// \brief Return the language specified by this linkage specification.
+  /// Return the language specified by this linkage specification.
   LanguageIDs getLanguage() const { return LanguageIDs(Language); }
 
-  /// \brief Set the language specified by this linkage specification.
+  /// Set the language specified by this linkage specification.
   void setLanguage(LanguageIDs L) { Language = L; }
 
-  /// \brief Determines whether this linkage specification had braces in
+  /// Determines whether this linkage specification had braces in
   /// its syntactic form.
   bool hasBraces() const {
     assert(!RBraceLoc.isValid() || HasBraces);
@@ -2881,7 +2881,7 @@ public:
   }
 };
 
-/// \brief Represents C++ using-directive.
+/// Represents C++ using-directive.
 ///
 /// For example:
 /// \code
@@ -2892,16 +2892,16 @@ public:
 /// artificial names for all using-directives in order to store
 /// them in DeclContext effectively.
 class UsingDirectiveDecl : public NamedDecl {
-  /// \brief The location of the \c using keyword.
+  /// The location of the \c using keyword.
   SourceLocation UsingLoc;
 
-  /// \brief The location of the \c namespace keyword.
+  /// The location of the \c namespace keyword.
   SourceLocation NamespaceLoc;
 
-  /// \brief The nested-name-specifier that precedes the namespace.
+  /// The nested-name-specifier that precedes the namespace.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief The namespace nominated by this using-directive.
+  /// The namespace nominated by this using-directive.
   NamedDecl *NominatedNamespace;
 
   /// Enclosing context containing both using-directive and nominated
@@ -2918,7 +2918,7 @@ class UsingDirectiveDecl : public NamedD
         NamespaceLoc(NamespcLoc), QualifierLoc(QualifierLoc),
         NominatedNamespace(Nominated), CommonAncestor(CommonAncestor) {}
 
-  /// \brief Returns special DeclarationName used by using-directives.
+  /// Returns special DeclarationName used by using-directives.
   ///
   /// This is only used by DeclContext for storing UsingDirectiveDecls in
   /// its lookup structure.
@@ -2934,11 +2934,11 @@ public:
   // Friend for getUsingDirectiveName.
   friend class DeclContext;
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the
+  /// Retrieve the nested-name-specifier that qualifies the
   /// name of the namespace, with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the
+  /// Retrieve the nested-name-specifier that qualifies the
   /// name of the namespace.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
@@ -2949,26 +2949,26 @@ public:
     return NominatedNamespace;
   }
 
-  /// \brief Returns the namespace nominated by this using-directive.
+  /// Returns the namespace nominated by this using-directive.
   NamespaceDecl *getNominatedNamespace();
 
   const NamespaceDecl *getNominatedNamespace() const {
     return const_cast<UsingDirectiveDecl*>(this)->getNominatedNamespace();
   }
 
-  /// \brief Returns the common ancestor context of this using-directive and
+  /// Returns the common ancestor context of this using-directive and
   /// its nominated namespace.
   DeclContext *getCommonAncestor() { return CommonAncestor; }
   const DeclContext *getCommonAncestor() const { return CommonAncestor; }
 
-  /// \brief Return the location of the \c using keyword.
+  /// Return the location of the \c using keyword.
   SourceLocation getUsingLoc() const { return UsingLoc; }
 
   // FIXME: Could omit 'Key' in name.
-  /// \brief Returns the location of the \c namespace keyword.
+  /// Returns the location of the \c namespace keyword.
   SourceLocation getNamespaceKeyLocation() const { return NamespaceLoc; }
 
-  /// \brief Returns the location of this using declaration's identifier.
+  /// Returns the location of this using declaration's identifier.
   SourceLocation getIdentLocation() const { return getLocation(); }
 
   static UsingDirectiveDecl *Create(ASTContext &C, DeclContext *DC,
@@ -2988,7 +2988,7 @@ public:
   static bool classofKind(Kind K) { return K == UsingDirective; }
 };
 
-/// \brief Represents a C++ namespace alias.
+/// Represents a C++ namespace alias.
 ///
 /// For example:
 ///
@@ -2999,18 +2999,18 @@ class NamespaceAliasDecl : public NamedD
                            public Redeclarable<NamespaceAliasDecl> {
   friend class ASTDeclReader;
 
-  /// \brief The location of the \c namespace keyword.
+  /// The location of the \c namespace keyword.
   SourceLocation NamespaceLoc;
 
-  /// \brief The location of the namespace's identifier.
+  /// The location of the namespace's identifier.
   ///
   /// This is accessed by TargetNameLoc.
   SourceLocation IdentLoc;
 
-  /// \brief The nested-name-specifier that precedes the namespace.
+  /// The nested-name-specifier that precedes the namespace.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief The Decl that this alias points to, either a NamespaceDecl or
+  /// The Decl that this alias points to, either a NamespaceDecl or
   /// a NamespaceAliasDecl.
   NamedDecl *Namespace;
 
@@ -3057,17 +3057,17 @@ public:
     return getFirstDecl();
   }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the
+  /// Retrieve the nested-name-specifier that qualifies the
   /// name of the namespace, with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the
+  /// Retrieve the nested-name-specifier that qualifies the
   /// name of the namespace.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
 
-  /// \brief Retrieve the namespace declaration aliased by this directive.
+  /// Retrieve the namespace declaration aliased by this directive.
   NamespaceDecl *getNamespace() {
     if (auto *AD = dyn_cast<NamespaceAliasDecl>(Namespace))
       return AD->getNamespace();
@@ -3089,7 +3089,7 @@ public:
   /// Returns the location of the identifier in the named namespace.
   SourceLocation getTargetNameLoc() const { return IdentLoc; }
 
-  /// \brief Retrieve the namespace that this alias refers to, which
+  /// Retrieve the namespace that this alias refers to, which
   /// may either be a NamespaceDecl or a NamespaceAliasDecl.
   NamedDecl *getAliasedNamespace() const { return Namespace; }
 
@@ -3101,7 +3101,7 @@ public:
   static bool classofKind(Kind K) { return K == NamespaceAlias; }
 };
 
-/// \brief Represents a shadow declaration introduced into a scope by a
+/// Represents a shadow declaration introduced into a scope by a
 /// (resolved) using declaration.
 ///
 /// For example,
@@ -3120,7 +3120,7 @@ class UsingShadowDecl : public NamedDecl
   /// The referenced declaration.
   NamedDecl *Underlying = nullptr;
 
-  /// \brief The using declaration which introduced this decl or the next using
+  /// The using declaration which introduced this decl or the next using
   /// shadow declaration contained in the aforementioned using declaration.
   NamedDecl *UsingOrNextShadow = nullptr;
 
@@ -3174,11 +3174,11 @@ public:
     return getFirstDecl();
   }
 
-  /// \brief Gets the underlying declaration which has been brought into the
+  /// Gets the underlying declaration which has been brought into the
   /// local scope.
   NamedDecl *getTargetDecl() const { return Underlying; }
 
-  /// \brief Sets the underlying declaration which has been brought into the
+  /// Sets the underlying declaration which has been brought into the
   /// local scope.
   void setTargetDecl(NamedDecl *ND) {
     assert(ND && "Target decl is null!");
@@ -3190,10 +3190,10 @@ public:
         ~(IDNS_OrdinaryFriend | IDNS_TagFriend | IDNS_LocalExtern);
   }
 
-  /// \brief Gets the using declaration to which this declaration is tied.
+  /// Gets the using declaration to which this declaration is tied.
   UsingDecl *getUsingDecl() const;
 
-  /// \brief The next using shadow declaration contained in the shadow decl
+  /// The next using shadow declaration contained in the shadow decl
   /// chain of the using declaration which introduced this decl.
   UsingShadowDecl *getNextUsingShadowDecl() const {
     return dyn_cast_or_null<UsingShadowDecl>(UsingOrNextShadow);
@@ -3205,7 +3205,7 @@ public:
   }
 };
 
-/// \brief Represents a shadow constructor declaration introduced into a
+/// Represents a shadow constructor declaration introduced into a
 /// class by a C++11 using-declaration that names a constructor.
 ///
 /// For example:
@@ -3216,18 +3216,18 @@ public:
 /// };
 /// \endcode
 class ConstructorUsingShadowDecl final : public UsingShadowDecl {
-  /// \brief If this constructor using declaration inherted the constructor
+  /// If this constructor using declaration inherted the constructor
   /// from an indirect base class, this is the ConstructorUsingShadowDecl
   /// in the named direct base class from which the declaration was inherited.
   ConstructorUsingShadowDecl *NominatedBaseClassShadowDecl = nullptr;
 
-  /// \brief If this constructor using declaration inherted the constructor
+  /// If this constructor using declaration inherted the constructor
   /// from an indirect base class, this is the ConstructorUsingShadowDecl
   /// that will be used to construct the unique direct or virtual base class
   /// that receives the constructor arguments.
   ConstructorUsingShadowDecl *ConstructedBaseClassShadowDecl = nullptr;
 
-  /// \brief \c true if the constructor ultimately named by this using shadow
+  /// \c true if the constructor ultimately named by this using shadow
   /// declaration is within a virtual base class subobject of the class that
   /// contains this declaration.
   unsigned IsVirtual : 1;
@@ -3279,24 +3279,24 @@ public:
   }
   //@}
 
-  /// \brief Get the inheriting constructor declaration for the direct base
+  /// Get the inheriting constructor declaration for the direct base
   /// class from which this using shadow declaration was inherited, if there is
   /// one. This can be different for each redeclaration of the same shadow decl.
   ConstructorUsingShadowDecl *getNominatedBaseClassShadowDecl() const {
     return NominatedBaseClassShadowDecl;
   }
 
-  /// \brief Get the inheriting constructor declaration for the base class
+  /// Get the inheriting constructor declaration for the base class
   /// for which we don't have an explicit initializer, if there is one.
   ConstructorUsingShadowDecl *getConstructedBaseClassShadowDecl() const {
     return ConstructedBaseClassShadowDecl;
   }
 
-  /// \brief Get the base class that was named in the using declaration. This
+  /// Get the base class that was named in the using declaration. This
   /// can be different for each redeclaration of this same shadow decl.
   CXXRecordDecl *getNominatedBaseClass() const;
 
-  /// \brief Get the base class whose constructor or constructor shadow
+  /// Get the base class whose constructor or constructor shadow
   /// declaration is passed the constructor arguments.
   CXXRecordDecl *getConstructedBaseClass() const {
     return cast<CXXRecordDecl>((ConstructedBaseClassShadowDecl
@@ -3305,13 +3305,13 @@ public:
                                    ->getDeclContext());
   }
 
-  /// \brief Returns \c true if the constructed base class is a virtual base
+  /// Returns \c true if the constructed base class is a virtual base
   /// class subobject of this declaration's class.
   bool constructsVirtualBase() const {
     return IsVirtual;
   }
 
-  /// \brief Get the constructor or constructor template in the derived class
+  /// Get the constructor or constructor template in the derived class
   /// correspnding to this using shadow declaration, if it has been implicitly
   /// declared already.
   CXXConstructorDecl *getConstructor() const;
@@ -3321,24 +3321,24 @@ public:
   static bool classofKind(Kind K) { return K == ConstructorUsingShadow; }
 };
 
-/// \brief Represents a C++ using-declaration.
+/// Represents a C++ using-declaration.
 ///
 /// For example:
 /// \code
 ///    using someNameSpace::someIdentifier;
 /// \endcode
 class UsingDecl : public NamedDecl, public Mergeable<UsingDecl> {
-  /// \brief The source location of the 'using' keyword itself.
+  /// The source location of the 'using' keyword itself.
   SourceLocation UsingLocation;
 
-  /// \brief The nested-name-specifier that precedes the name.
+  /// The nested-name-specifier that precedes the name.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief Provides source/type location info for the declaration name
+  /// Provides source/type location info for the declaration name
   /// embedded in the ValueDecl base class.
   DeclarationNameLoc DNLoc;
 
-  /// \brief The first shadow declaration of the shadow decl chain associated
+  /// The first shadow declaration of the shadow decl chain associated
   /// with this using declaration.
   ///
   /// The bool member of the pair store whether this decl has the \c typename
@@ -3359,17 +3359,17 @@ public:
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
 
-  /// \brief Return the source location of the 'using' keyword.
+  /// Return the source location of the 'using' keyword.
   SourceLocation getUsingLoc() const { return UsingLocation; }
 
-  /// \brief Set the source location of the 'using' keyword.
+  /// Set the source location of the 'using' keyword.
   void setUsingLoc(SourceLocation L) { UsingLocation = L; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name,
+  /// Retrieve the nested-name-specifier that qualifies the name,
   /// with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name.
+  /// Retrieve the nested-name-specifier that qualifies the name.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
@@ -3378,19 +3378,19 @@ public:
     return DeclarationNameInfo(getDeclName(), getLocation(), DNLoc);
   }
 
-  /// \brief Return true if it is a C++03 access declaration (no 'using').
+  /// Return true if it is a C++03 access declaration (no 'using').
   bool isAccessDeclaration() const { return UsingLocation.isInvalid(); }
 
-  /// \brief Return true if the using declaration has 'typename'.
+  /// Return true if the using declaration has 'typename'.
   bool hasTypename() const { return FirstUsingShadow.getInt(); }
 
-  /// \brief Sets whether the using declaration has 'typename'.
+  /// Sets whether the using declaration has 'typename'.
   void setTypename(bool TN) { FirstUsingShadow.setInt(TN); }
 
-  /// \brief Iterates through the using shadow declarations associated with
+  /// Iterates through the using shadow declarations associated with
   /// this using declaration.
   class shadow_iterator {
-    /// \brief The current using shadow declaration.
+    /// The current using shadow declaration.
     UsingShadowDecl *Current = nullptr;
 
   public:
@@ -3437,7 +3437,7 @@ public:
 
   shadow_iterator shadow_end() const { return shadow_iterator(); }
 
-  /// \brief Return the number of shadowed declarations associated with this
+  /// Return the number of shadowed declarations associated with this
   /// using declaration.
   unsigned shadow_size() const {
     return std::distance(shadow_begin(), shadow_end());
@@ -3535,7 +3535,7 @@ public:
   static bool classofKind(Kind K) { return K == UsingPack; }
 };
 
-/// \brief Represents a dependent using declaration which was not marked with
+/// Represents a dependent using declaration which was not marked with
 /// \c typename.
 ///
 /// Unlike non-dependent using declarations, these *only* bring through
@@ -3548,16 +3548,16 @@ public:
 /// \endcode
 class UnresolvedUsingValueDecl : public ValueDecl,
                                  public Mergeable<UnresolvedUsingValueDecl> {
-  /// \brief The source location of the 'using' keyword
+  /// The source location of the 'using' keyword
   SourceLocation UsingLocation;
 
-  /// \brief If this is a pack expansion, the location of the '...'.
+  /// If this is a pack expansion, the location of the '...'.
   SourceLocation EllipsisLoc;
 
-  /// \brief The nested-name-specifier that precedes the name.
+  /// The nested-name-specifier that precedes the name.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief Provides source/type location info for the declaration name
+  /// Provides source/type location info for the declaration name
   /// embedded in the ValueDecl base class.
   DeclarationNameLoc DNLoc;
 
@@ -3577,20 +3577,20 @@ public:
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
 
-  /// \brief Returns the source location of the 'using' keyword.
+  /// Returns the source location of the 'using' keyword.
   SourceLocation getUsingLoc() const { return UsingLocation; }
 
-  /// \brief Set the source location of the 'using' keyword.
+  /// Set the source location of the 'using' keyword.
   void setUsingLoc(SourceLocation L) { UsingLocation = L; }
 
-  /// \brief Return true if it is a C++03 access declaration (no 'using').
+  /// Return true if it is a C++03 access declaration (no 'using').
   bool isAccessDeclaration() const { return UsingLocation.isInvalid(); }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name,
+  /// Retrieve the nested-name-specifier that qualifies the name,
   /// with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name.
+  /// Retrieve the nested-name-specifier that qualifies the name.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
@@ -3599,12 +3599,12 @@ public:
     return DeclarationNameInfo(getDeclName(), getLocation(), DNLoc);
   }
 
-  /// \brief Determine whether this is a pack expansion.
+  /// Determine whether this is a pack expansion.
   bool isPackExpansion() const {
     return EllipsisLoc.isValid();
   }
 
-  /// \brief Get the location of the ellipsis if this is a pack expansion.
+  /// Get the location of the ellipsis if this is a pack expansion.
   SourceLocation getEllipsisLoc() const {
     return EllipsisLoc;
   }
@@ -3631,7 +3631,7 @@ public:
   static bool classofKind(Kind K) { return K == UnresolvedUsingValue; }
 };
 
-/// \brief Represents a dependent using declaration which was marked with
+/// Represents a dependent using declaration which was marked with
 /// \c typename.
 ///
 /// \code
@@ -3647,13 +3647,13 @@ class UnresolvedUsingTypenameDecl
       public Mergeable<UnresolvedUsingTypenameDecl> {
   friend class ASTDeclReader;
 
-  /// \brief The source location of the 'typename' keyword
+  /// The source location of the 'typename' keyword
   SourceLocation TypenameLocation;
 
-  /// \brief If this is a pack expansion, the location of the '...'.
+  /// If this is a pack expansion, the location of the '...'.
   SourceLocation EllipsisLoc;
 
-  /// \brief The nested-name-specifier that precedes the name.
+  /// The nested-name-specifier that precedes the name.
   NestedNameSpecifierLoc QualifierLoc;
 
   UnresolvedUsingTypenameDecl(DeclContext *DC, SourceLocation UsingLoc,
@@ -3670,17 +3670,17 @@ class UnresolvedUsingTypenameDecl
   void anchor() override;
 
 public:
-  /// \brief Returns the source location of the 'using' keyword.
+  /// Returns the source location of the 'using' keyword.
   SourceLocation getUsingLoc() const { return getLocStart(); }
 
-  /// \brief Returns the source location of the 'typename' keyword.
+  /// Returns the source location of the 'typename' keyword.
   SourceLocation getTypenameLoc() const { return TypenameLocation; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name,
+  /// Retrieve the nested-name-specifier that qualifies the name,
   /// with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the name.
+  /// Retrieve the nested-name-specifier that qualifies the name.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
@@ -3689,12 +3689,12 @@ public:
     return DeclarationNameInfo(getDeclName(), getLocation());
   }
 
-  /// \brief Determine whether this is a pack expansion.
+  /// Determine whether this is a pack expansion.
   bool isPackExpansion() const {
     return EllipsisLoc.isValid();
   }
 
-  /// \brief Get the location of the ellipsis if this is a pack expansion.
+  /// Get the location of the ellipsis if this is a pack expansion.
   SourceLocation getEllipsisLoc() const {
     return EllipsisLoc;
   }
@@ -3720,7 +3720,7 @@ public:
   static bool classofKind(Kind K) { return K == UnresolvedUsingTypename; }
 };
 
-/// \brief Represents a C++11 static_assert declaration.
+/// Represents a C++11 static_assert declaration.
 class StaticAssertDecl : public Decl {
   llvm::PointerIntPair<Expr *, 1, bool> AssertExprAndFailed;
   StringLiteral *Message;

Modified: cfe/trunk/include/clang/AST/DeclContextInternals.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclContextInternals.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclContextInternals.h (original)
+++ cfe/trunk/include/clang/AST/DeclContextInternals.h Tue May  8 18:00:01 2018
@@ -30,17 +30,17 @@ namespace clang {
 
 class DependentDiagnostic;
 
-/// \brief An array of decls optimized for the common case of only containing
+/// An array of decls optimized for the common case of only containing
 /// one entry.
 struct StoredDeclsList {
-  /// \brief When in vector form, this is what the Data pointer points to.
+  /// When in vector form, this is what the Data pointer points to.
   using DeclsTy = SmallVector<NamedDecl *, 4>;
 
-  /// \brief A collection of declarations, with a flag to indicate if we have
+  /// A collection of declarations, with a flag to indicate if we have
   /// further external declarations.
   using DeclsAndHasExternalTy = llvm::PointerIntPair<DeclsTy *, 1, bool>;
 
-  /// \brief The stored data, which will be either a pointer to a NamedDecl,
+  /// The stored data, which will be either a pointer to a NamedDecl,
   /// or a pointer to a vector with a flag to indicate if there are further
   /// external declarations.
   llvm::PointerUnion<NamedDecl *, DeclsAndHasExternalTy> Data;
@@ -122,7 +122,7 @@ public:
              == Vec.end() && "list still contains decl");
   }
 
-  /// \brief Remove any declarations which were imported from an external
+  /// Remove any declarations which were imported from an external
   /// AST source.
   void removeExternalDecls() {
     if (isNull()) {

Modified: cfe/trunk/include/clang/AST/DeclObjC.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclObjC.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclObjC.h (original)
+++ cfe/trunk/include/clang/AST/DeclObjC.h Tue May  8 18:00:01 2018
@@ -97,7 +97,7 @@ public:
   }
 };
 
-/// \brief A list of Objective-C protocols, along with the source
+/// A list of Objective-C protocols, along with the source
 /// locations at which they were referenced.
 class ObjCProtocolList : public ObjCList<ObjCProtocolDecl> {
   SourceLocation *Locations = nullptr;
@@ -156,10 +156,10 @@ private:
   // Method has a definition.
   unsigned IsDefined : 1;
 
-  /// \brief Method redeclaration in the same interface.
+  /// Method redeclaration in the same interface.
   unsigned IsRedeclaration : 1;
 
-  /// \brief Is redeclared in the same interface.
+  /// Is redeclared in the same interface.
   mutable unsigned HasRedeclaration : 1;
 
   // NOTE: VC++ treats enums as signed, avoid using ImplementationControl enum
@@ -170,14 +170,14 @@ private:
   /// in, inout, etc.
   unsigned objcDeclQualifier : 7;
 
-  /// \brief Indicates whether this method has a related result type.
+  /// Indicates whether this method has a related result type.
   unsigned RelatedResultType : 1;
 
-  /// \brief Whether the locations of the selector identifiers are in a
+  /// Whether the locations of the selector identifiers are in a
   /// "standard" position, a enum SelectorLocationsKind.
   unsigned SelLocsKind : 2;
 
-  /// \brief Whether this method overrides any other in the class hierarchy.
+  /// Whether this method overrides any other in the class hierarchy.
   ///
   /// A method is said to override any method in the class's
   /// base classes, its protocols, or its categories' protocols, that has
@@ -186,7 +186,7 @@ private:
   /// method in the interface or its categories.
   unsigned IsOverriding : 1;
 
-  /// \brief Indicates if the method was a definition but its body was skipped.
+  /// Indicates if the method was a definition but its body was skipped.
   unsigned HasSkippedBody : 1;
 
   // Return type of this method.
@@ -195,7 +195,7 @@ private:
   // Type source information for the return type.
   TypeSourceInfo *ReturnTInfo;
 
-  /// \brief Array of ParmVarDecls for the formal parameters of this method
+  /// Array of ParmVarDecls for the formal parameters of this method
   /// and optionally followed by selector locations.
   void *ParamsAndSelLocs = nullptr;
   unsigned NumParams = 0;
@@ -241,7 +241,7 @@ private:
     return getSelLocsKind() != SelLoc_NonStandard;
   }
 
-  /// \brief Get a pointer to the stored selector identifiers locations array.
+  /// Get a pointer to the stored selector identifiers locations array.
   /// No locations will be stored if HasStandardSelLocs is true.
   SourceLocation *getStoredSelLocs() {
     return reinterpret_cast<SourceLocation*>(getParams() + NumParams);
@@ -250,7 +250,7 @@ private:
     return reinterpret_cast<const SourceLocation*>(getParams() + NumParams);
   }
 
-  /// \brief Get a pointer to the stored selector identifiers locations array.
+  /// Get a pointer to the stored selector identifiers locations array.
   /// No locations will be stored if HasStandardSelLocs is true.
   ParmVarDecl **getParams() {
     return reinterpret_cast<ParmVarDecl **>(ParamsAndSelLocs);
@@ -259,7 +259,7 @@ private:
     return reinterpret_cast<const ParmVarDecl *const *>(ParamsAndSelLocs);
   }
 
-  /// \brief Get the number of stored selector identifiers locations.
+  /// Get the number of stored selector identifiers locations.
   /// No locations will be stored if HasStandardSelLocs is true.
   unsigned getNumStoredSelLocs() const {
     if (hasStandardSelLocs())
@@ -271,7 +271,7 @@ private:
                            ArrayRef<ParmVarDecl*> Params,
                            ArrayRef<SourceLocation> 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 *getNextRedeclarationImpl() override;
@@ -301,18 +301,18 @@ public:
   }
   void setObjCDeclQualifier(ObjCDeclQualifier QV) { objcDeclQualifier = QV; }
 
-  /// \brief Determine whether this method has a result type that is related
+  /// Determine whether this method has a result type that is related
   /// to the message receiver's type.
   bool hasRelatedResultType() const { return RelatedResultType; }
 
-  /// \brief Note whether this method has a related result type.
+  /// Note whether this method has a related result type.
   void SetRelatedResultType(bool RRT = true) { RelatedResultType = RRT; }
 
-  /// \brief True if this is a method redeclaration in the same interface.
+  /// True if this is a method redeclaration in the same interface.
   bool isRedeclaration() const { return IsRedeclaration; }
   void setAsRedeclaration(const ObjCMethodDecl *PrevMethod);
 
-  /// \brief Returns the location where the declarator ends. It will be
+  /// Returns the location where the declarator ends. It will be
   /// the location of ';' for a method declaration and the location of '{'
   /// for a method definition.
   SourceLocation getDeclaratorEndLoc() const { return DeclEndLoc; }
@@ -362,7 +362,7 @@ public:
   void setReturnType(QualType T) { MethodDeclType = T; }
   SourceRange getReturnTypeSourceRange() const;
 
-  /// \brief Determine the type of an expression that sends a message to this
+  /// Determine the type of an expression that sends a message to this
   /// function. This replaces the type parameters with the types they would
   /// get if the receiver was parameterless (e.g. it may replace the type
   /// parameter with 'id').
@@ -407,7 +407,7 @@ public:
                               NumParams);
   }
 
-  /// \brief Sets the method's parameters and selector source locations.
+  /// Sets the method's parameters and selector source locations.
   /// If the method is implicit (not coming from source) \p SelLocs is
   /// ignored.
   void setMethodParams(ASTContext &C,
@@ -462,7 +462,7 @@ public:
   bool isDefined() const { return IsDefined; }
   void setDefined(bool isDefined) { IsDefined = isDefined; }
 
-  /// \brief Whether this method overrides any other in the class hierarchy.
+  /// Whether this method overrides any other in the class hierarchy.
   ///
   /// A method is said to override any method in the class's
   /// base classes, its protocols, or its categories' protocols, that has
@@ -472,7 +472,7 @@ public:
   bool isOverriding() const { return IsOverriding; }
   void setOverriding(bool isOverriding) { IsOverriding = isOverriding; }
 
-  /// \brief Return overridden methods for the given \p Method.
+  /// Return overridden methods for the given \p Method.
   ///
   /// An ObjC method is considered to override any method in the class's
   /// base classes (and base's categories), its protocols, or its categories'
@@ -483,11 +483,11 @@ public:
   void getOverriddenMethods(
                      SmallVectorImpl<const ObjCMethodDecl *> &Overridden) const;
 
-  /// \brief True if the method was a definition but its body was skipped.
+  /// True if the method was a definition but its body was skipped.
   bool hasSkippedBody() const { return HasSkippedBody; }
   void setHasSkippedBody(bool Skipped = true) { HasSkippedBody = Skipped; }
 
-  /// \brief Returns the property associated with this method's selector.
+  /// Returns the property associated with this method's selector.
   ///
   /// Note that even if this particular method is not marked as a property
   /// accessor, it is still possible for it to match a property declared in a
@@ -520,10 +520,10 @@ public:
   bool isDesignatedInitializerForTheInterface(
       const ObjCMethodDecl **InitMethod = nullptr) const;
 
-  /// \brief Determine whether this method has a body.
+  /// Determine whether this method has a body.
   bool hasBody() const override { return Body.isValid(); }
 
-  /// \brief Retrieve the body of this method, if it has one.
+  /// Retrieve the body of this method, if it has one.
   Stmt *getBody() const override;
 
   void setLazyBody(uint64_t Offset) { Body = Offset; }
@@ -531,7 +531,7 @@ public:
   CompoundStmt *getCompoundBody() { return (CompoundStmt*)getBody(); }
   void setBody(Stmt *B) { Body = B; }
 
-  /// \brief Returns whether this specific method is a definition.
+  /// Returns whether this specific method is a definition.
   bool isThisDeclarationADefinition() const { return hasBody(); }
 
   // Implement isa/cast/dyncast/etc.
@@ -737,7 +737,7 @@ enum class ObjCPropertyQueryKind : uint8
   OBJC_PR_query_class
 };
 
-/// \brief Represents one property declaration in an Objective-C interface.
+/// Represents one property declaration in an Objective-C interface.
 ///
 /// For example:
 /// \code{.mm}
@@ -770,7 +770,7 @@ public:
   };
 
   enum {
-    /// \brief Number of bits fitting all the property attributes.
+    /// Number of bits fitting all the property attributes.
     NumPropertyAttrsBits = 15
   };
 
@@ -1163,7 +1163,7 @@ public:
   }
 };
 
-/// \brief Represents an ObjC class declaration.
+/// Represents an ObjC class declaration.
 ///
 /// For example:
 ///
@@ -1197,7 +1197,7 @@ class ObjCInterfaceDecl : public ObjCCon
   mutable const Type *TypeForDecl = nullptr;
   
   struct DefinitionData {
-    /// \brief The definition of this class, for quick access from any 
+    /// The definition of this class, for quick access from any 
     /// declaration.
     ObjCInterfaceDecl *Definition = nullptr;
     
@@ -1210,7 +1210,7 @@ class ObjCInterfaceDecl : public ObjCCon
     /// Protocols reference in both the \@interface and class extensions.
     ObjCList<ObjCProtocolDecl> AllReferencedProtocols;
 
-    /// \brief List of categories and class extensions defined for this class.
+    /// List of categories and class extensions defined for this class.
     ///
     /// Categories are stored as a linked list in the AST, since the categories
     /// and class extensions come long after the initial interface declaration,
@@ -1221,11 +1221,11 @@ class ObjCInterfaceDecl : public ObjCCon
     /// extensions and implementation. This list is built lazily.
     ObjCIvarDecl *IvarList = nullptr;
 
-    /// \brief Indicates that the contents of this Objective-C class will be
+    /// Indicates that the contents of this Objective-C class will be
     /// completed by the external AST source when required.
     mutable unsigned ExternallyCompleted : 1;
 
-    /// \brief Indicates that the ivar cache does not yet include ivars
+    /// Indicates that the ivar cache does not yet include ivars
     /// declared in the implementation.
     mutable unsigned IvarListMissingImplementation : 1;
 
@@ -1248,7 +1248,7 @@ class ObjCInterfaceDecl : public ObjCCon
     /// One of the \c InheritedDesignatedInitializersState enumeratos.
     mutable unsigned InheritedDesignatedInitializers : 2;
     
-    /// \brief The location of the last location in this declaration, before
+    /// The location of the last location in this declaration, before
     /// the properties/methods. For example, this will be the '>', '}', or 
     /// identifier, 
     SourceLocation EndLoc; 
@@ -1262,7 +1262,7 @@ class ObjCInterfaceDecl : public ObjCCon
   /// The type parameters associated with this class, if any.
   ObjCTypeParamList *TypeParamList = nullptr;
 
-  /// \brief Contains a pointer to the data associated with this class,
+  /// Contains a pointer to the data associated with this class,
   /// which will be NULL if this class has not yet been defined.
   ///
   /// The bit indicates when we don't need to check for out-of-date
@@ -1283,7 +1283,7 @@ class ObjCInterfaceDecl : public ObjCCon
     return *Data.getPointer();
   }
 
-  /// \brief Allocate the definition data for this class.
+  /// Allocate the definition data for this class.
   void allocateDefinitionData();
   
   using redeclarable_base = Redeclarable<ObjCInterfaceDecl>;
@@ -1338,7 +1338,7 @@ public:
     return SourceRange(getAtStartLoc(), getLocation());
   }
 
-  /// \brief Indicate that this Objective-C class is complete, but that
+  /// Indicate that this Objective-C class is complete, but that
   /// the external AST source will be responsible for filling in its contents
   /// when a complete class is required.
   void setExternallyCompleted();
@@ -1544,13 +1544,13 @@ public:
   isDesignatedInitializer(Selector Sel,
                           const ObjCMethodDecl **InitMethod = nullptr) const;
 
-  /// \brief Determine whether this particular declaration of this class is
+  /// Determine whether this particular declaration of this class is
   /// actually also a definition.
   bool isThisDeclarationADefinition() const { 
     return getDefinition() == this;
   }
                           
-  /// \brief Determine whether this class has been defined.
+  /// Determine whether this class has been defined.
   bool hasDefinition() const {
     // If the name of this class is out-of-date, bring it up-to-date, which
     // might bring in a definition.
@@ -1562,21 +1562,21 @@ public:
     return Data.getPointer();
   }
                         
-  /// \brief Retrieve the definition of this class, or NULL if this class 
+  /// Retrieve the definition of this class, or NULL if this class 
   /// has been forward-declared (with \@class) but not yet defined (with 
   /// \@interface).
   ObjCInterfaceDecl *getDefinition() {
     return hasDefinition()? Data.getPointer()->Definition : nullptr;
   }
 
-  /// \brief Retrieve the definition of this class, or NULL if this class 
+  /// Retrieve the definition of this class, or NULL if this class 
   /// has been forward-declared (with \@class) but not yet defined (with 
   /// \@interface).
   const ObjCInterfaceDecl *getDefinition() const {
     return hasDefinition()? Data.getPointer()->Definition : nullptr;
   }
 
-  /// \brief Starts the definition of this Objective-C class, taking it from
+  /// Starts the definition of this Objective-C class, taking it from
   /// a forward declaration (\@class) to a definition (\@interface).
   void startDefinition();
   
@@ -1608,7 +1608,7 @@ public:
     data().SuperClassTInfo = superClass;
   }
 
-  /// \brief Iterator that walks over the list of categories, filtering out
+  /// Iterator that walks over the list of categories, filtering out
   /// those that do not meet specific criteria.
   ///
   /// This class template is used for the various permutations of category
@@ -1655,13 +1655,13 @@ public:
   };
 
 private:
-  /// \brief Test whether the given category is visible.
+  /// Test whether the given category is visible.
   ///
   /// Used in the \c visible_categories_iterator.
   static bool isVisibleCategory(ObjCCategoryDecl *Cat);
                         
 public:
-  /// \brief Iterator that walks over the list of categories and extensions
+  /// Iterator that walks over the list of categories and extensions
   /// that are visible, i.e., not hidden in a non-imported submodule.
   using visible_categories_iterator =
       filtered_category_iterator<isVisibleCategory>;
@@ -1674,30 +1674,30 @@ public:
                                     visible_categories_end());
   }
 
-  /// \brief Retrieve an iterator to the beginning of the visible-categories
+  /// Retrieve an iterator to the beginning of the visible-categories
   /// list.
   visible_categories_iterator visible_categories_begin() const {
     return visible_categories_iterator(getCategoryListRaw());
   }
 
-  /// \brief Retrieve an iterator to the end of the visible-categories list.
+  /// Retrieve an iterator to the end of the visible-categories list.
   visible_categories_iterator visible_categories_end() const {
     return visible_categories_iterator();
   }
 
-  /// \brief Determine whether the visible-categories list is empty.
+  /// Determine whether the visible-categories list is empty.
   bool visible_categories_empty() const {
     return visible_categories_begin() == visible_categories_end();
   }
 
 private:
-  /// \brief Test whether the given category... is a category.
+  /// Test whether the given category... is a category.
   ///
   /// Used in the \c known_categories_iterator.
   static bool isKnownCategory(ObjCCategoryDecl *) { return true; }
 
 public:
-  /// \brief Iterator that walks over all of the known categories and
+  /// Iterator that walks over all of the known categories and
   /// extensions, including those that are hidden.
   using known_categories_iterator = filtered_category_iterator<isKnownCategory>;
   using known_categories_range =
@@ -1708,30 +1708,30 @@ public:
                                   known_categories_end());
   }
 
-  /// \brief Retrieve an iterator to the beginning of the known-categories
+  /// Retrieve an iterator to the beginning of the known-categories
   /// list.
   known_categories_iterator known_categories_begin() const {
     return known_categories_iterator(getCategoryListRaw());
   }
 
-  /// \brief Retrieve an iterator to the end of the known-categories list.
+  /// Retrieve an iterator to the end of the known-categories list.
   known_categories_iterator known_categories_end() const {
     return known_categories_iterator();
   }
 
-  /// \brief Determine whether the known-categories list is empty.
+  /// Determine whether the known-categories list is empty.
   bool known_categories_empty() const {
     return known_categories_begin() == known_categories_end();
   }
 
 private:
-  /// \brief Test whether the given category is a visible extension.
+  /// Test whether the given category is a visible extension.
   ///
   /// Used in the \c visible_extensions_iterator.
   static bool isVisibleExtension(ObjCCategoryDecl *Cat);
 
 public:
-  /// \brief Iterator that walks over all of the visible extensions, skipping
+  /// Iterator that walks over all of the visible extensions, skipping
   /// any that are known but hidden.
   using visible_extensions_iterator =
       filtered_category_iterator<isVisibleExtension>;
@@ -1744,24 +1744,24 @@ public:
                                     visible_extensions_end());
   }
 
-  /// \brief Retrieve an iterator to the beginning of the visible-extensions
+  /// Retrieve an iterator to the beginning of the visible-extensions
   /// list.
   visible_extensions_iterator visible_extensions_begin() const {
     return visible_extensions_iterator(getCategoryListRaw());
   }
 
-  /// \brief Retrieve an iterator to the end of the visible-extensions list.
+  /// Retrieve an iterator to the end of the visible-extensions list.
   visible_extensions_iterator visible_extensions_end() const {
     return visible_extensions_iterator();
   }
 
-  /// \brief Determine whether the visible-extensions list is empty.
+  /// Determine whether the visible-extensions list is empty.
   bool visible_extensions_empty() const {
     return visible_extensions_begin() == visible_extensions_end();
   }
 
 private:
-  /// \brief Test whether the given category is an extension.
+  /// Test whether the given category is an extension.
   ///
   /// Used in the \c known_extensions_iterator.
   static bool isKnownExtension(ObjCCategoryDecl *Cat);
@@ -1771,7 +1771,7 @@ public:
   friend class ASTDeclWriter;
   friend class ASTReader;
 
-  /// \brief Iterator that walks over all of the known extensions.
+  /// Iterator that walks over all of the known extensions.
   using known_extensions_iterator =
       filtered_category_iterator<isKnownExtension>;
   using known_extensions_range =
@@ -1782,23 +1782,23 @@ public:
                                   known_extensions_end());
   }
 
-  /// \brief Retrieve an iterator to the beginning of the known-extensions
+  /// Retrieve an iterator to the beginning of the known-extensions
   /// list.
   known_extensions_iterator known_extensions_begin() const {
     return known_extensions_iterator(getCategoryListRaw());
   }
   
-  /// \brief Retrieve an iterator to the end of the known-extensions list.
+  /// Retrieve an iterator to the end of the known-extensions list.
   known_extensions_iterator known_extensions_end() const {
     return known_extensions_iterator();
   }
 
-  /// \brief Determine whether the known-extensions list is empty.
+  /// Determine whether the known-extensions list is empty.
   bool known_extensions_empty() const {
     return known_extensions_begin() == known_extensions_end();
   }
 
-  /// \brief Retrieve the raw pointer to the start of the category/extension
+  /// Retrieve the raw pointer to the start of the category/extension
   /// list.
   ObjCCategoryDecl* getCategoryListRaw() const {
     // FIXME: Should make sure no callers ever do this.
@@ -1811,7 +1811,7 @@ public:
     return data().CategoryList;
   }
 
-  /// \brief Set the raw pointer to the start of the category/extension
+  /// Set the raw pointer to the start of the category/extension
   /// list.
   void setCategoryListRaw(ObjCCategoryDecl *category) {
     data().CategoryList = category;
@@ -1874,7 +1874,7 @@ public:
 
   ObjCInterfaceDecl *lookupInheritedClass(const IdentifierInfo *ICName);
 
-  /// \brief Lookup a method in the classes implementation hierarchy.
+  /// Lookup a method in the classes implementation hierarchy.
   ObjCMethodDecl *lookupPrivateMethod(const Selector &Sel,
                                       bool Instance=true) const;
 
@@ -1882,7 +1882,7 @@ public:
     return lookupPrivateMethod(Sel, false);
   }
 
-  /// \brief Lookup a setter or getter in the class hierarchy,
+  /// Lookup a setter or getter in the class hierarchy,
   /// including in all categories except for category passed
   /// as argument.
   ObjCMethodDecl *lookupPropertyAccessor(const Selector Sel,
@@ -1988,7 +1988,7 @@ public:
 
   static ObjCIvarDecl *CreateDeserialized(ASTContext &C, unsigned ID);
   
-  /// \brief Return the class interface that this ivar is logically contained
+  /// Return the class interface that this ivar is logically contained
   /// in; this is either the interface where the ivar was declared, or the
   /// interface the ivar is conceptually a part of in the case of synthesized
   /// ivars.
@@ -2027,7 +2027,7 @@ private:
   unsigned Synthesized : 1;
 };
 
-/// \brief Represents a field declaration created by an \@defs(...).
+/// Represents a field declaration created by an \@defs(...).
 class ObjCAtDefsFieldDecl : public FieldDecl {
   ObjCAtDefsFieldDecl(DeclContext *DC, SourceLocation StartLoc,
                       SourceLocation IdLoc, IdentifierInfo *Id,
@@ -2051,7 +2051,7 @@ public:
   static bool classofKind(Kind K) { return K == ObjCAtDefsField; }
 };
 
-/// \brief Represents an Objective-C protocol declaration.
+/// Represents an Objective-C protocol declaration.
 ///
 /// Objective-C protocols declare a pure abstract type (i.e., no instance
 /// variables are permitted).  Protocols originally drew inspiration from
@@ -2083,14 +2083,14 @@ public:
 class ObjCProtocolDecl : public ObjCContainerDecl,
                          public Redeclarable<ObjCProtocolDecl> {
   struct DefinitionData {
-    // \brief The declaration that defines this protocol.
+    // The declaration that defines this protocol.
     ObjCProtocolDecl *Definition;
 
-    /// \brief Referenced protocols
+    /// Referenced protocols
     ObjCProtocolList ReferencedProtocols;    
   };
 
-  /// \brief Contains a pointer to the data associated with this class,
+  /// Contains a pointer to the data associated with this class,
   /// which will be NULL if this class has not yet been defined.
   ///
   /// The bit indicates when we don't need to check for out-of-date
@@ -2213,7 +2213,7 @@ public:
     return lookupMethod(Sel, false/*isInstance*/);
   }
 
-  /// \brief Determine whether this protocol has a definition.
+  /// Determine whether this protocol has a definition.
   bool hasDefinition() const {
     // If the name of this protocol is out-of-date, bring it up-to-date, which
     // might bring in a definition.
@@ -2225,23 +2225,23 @@ public:
     return Data.getPointer();
   }
 
-  /// \brief Retrieve the definition of this protocol, if any.
+  /// Retrieve the definition of this protocol, if any.
   ObjCProtocolDecl *getDefinition() {
     return hasDefinition()? Data.getPointer()->Definition : nullptr;
   }
 
-  /// \brief Retrieve the definition of this protocol, if any.
+  /// Retrieve the definition of this protocol, if any.
   const ObjCProtocolDecl *getDefinition() const {
     return hasDefinition()? Data.getPointer()->Definition : nullptr;
   }
 
-  /// \brief Determine whether this particular declaration is also the 
+  /// Determine whether this particular declaration is also the 
   /// definition.
   bool isThisDeclarationADefinition() const {
     return getDefinition() == this;
   }
   
-  /// \brief Starts the definition of this Objective-C protocol.
+  /// Starts the definition of this Objective-C protocol.
   void startDefinition();
 
   /// Produce a name to be used for protocol's metadata. It comes either via
@@ -2310,7 +2310,7 @@ class ObjCCategoryDecl : public ObjCCont
   /// FIXME: this should not be a singly-linked list.  Move storage elsewhere.
   ObjCCategoryDecl *NextClassCategory = nullptr;
 
-  /// \brief The location of the category name in this declaration.
+  /// The location of the category name in this declaration.
   SourceLocation CategoryNameLoc;
 
   /// class extension may have private ivars.
@@ -2400,7 +2400,7 @@ public:
 
   ObjCCategoryDecl *getNextClassCategory() const { return NextClassCategory; }
 
-  /// \brief Retrieve the pointer to the next stored category (or extension),
+  /// Retrieve the pointer to the next stored category (or extension),
   /// which may be hidden.
   ObjCCategoryDecl *getNextClassCategoryRaw() const {
     return NextClassCategory;
@@ -2578,7 +2578,7 @@ class ObjCImplementationDecl : public Ob
   SourceLocation IvarRBraceLoc;
   
   /// Support for ivar initialization.
-  /// \brief The arguments used to initialize the ivars
+  /// The arguments used to initialize the ivars
   LazyCXXCtorInitializersPtr IvarInitializers;
   unsigned NumIvarInitializers = 0;
 
@@ -2694,7 +2694,7 @@ public:
     return getIdentifier()->getName();
   }
 
-  /// @brief Get the name of the class associated with this interface.
+  /// Get the name of the class associated with this interface.
   //
   // FIXME: Move to StringRef API.
   std::string getNameAsString() const {
@@ -2785,7 +2785,7 @@ public:
 private:
   SourceLocation AtLoc;   // location of \@synthesize or \@dynamic
 
-  /// \brief For \@synthesize, the location of the ivar, if it was written in
+  /// For \@synthesize, the location of the ivar, if it was written in
   /// the source code.
   ///
   /// \code
@@ -2854,7 +2854,7 @@ public:
     this->IvarLoc = IvarLoc;
   }
 
-  /// \brief For \@synthesize, returns true if an ivar name was explicitly
+  /// For \@synthesize, returns true if an ivar name was explicitly
   /// specified.
   ///
   /// \code

Modified: cfe/trunk/include/clang/AST/DeclOpenMP.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclOpenMP.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclOpenMP.h (original)
+++ cfe/trunk/include/clang/AST/DeclOpenMP.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief This file defines OpenMP nodes for declarative directives.
+/// This file defines OpenMP nodes for declarative directives.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -24,7 +24,7 @@
 
 namespace clang {
 
-/// \brief This represents '#pragma omp threadprivate ...' directive.
+/// This represents '#pragma omp threadprivate ...' directive.
 /// For example, in the following, both 'a' and 'A::b' are threadprivate:
 ///
 /// \code
@@ -89,7 +89,7 @@ public:
   static bool classofKind(Kind K) { return K == OMPThreadPrivate; }
 };
 
-/// \brief This represents '#pragma omp declare reduction ...' directive.
+/// This represents '#pragma omp declare reduction ...' directive.
 /// For example, in the following, declared reduction 'foo' for types 'int' and
 /// 'float':
 ///
@@ -109,14 +109,14 @@ public:
 
 private:
   friend class ASTDeclReader;
-  /// \brief Combiner for declare reduction construct.
+  /// Combiner for declare reduction construct.
   Expr *Combiner;
-  /// \brief Initializer for declare reduction construct.
+  /// Initializer for declare reduction construct.
   Expr *Initializer;
   /// Kind of initializer - function call or omp_priv<init_expr> initializtion.
   InitKind InitializerKind = CallInit;
 
-  /// \brief Reference to the previous declare reduction construct in the same
+  /// Reference to the previous declare reduction construct in the same
   /// scope with the same name. Required for proper templates instantiation if
   /// the declare reduction construct is declared inside compound statement.
   LazyDeclPtr PrevDeclInScope;
@@ -135,33 +135,33 @@ private:
   }
 
 public:
-  /// \brief Create declare reduction node.
+  /// Create declare reduction node.
   static OMPDeclareReductionDecl *
   Create(ASTContext &C, DeclContext *DC, SourceLocation L, DeclarationName Name,
          QualType T, OMPDeclareReductionDecl *PrevDeclInScope);
-  /// \brief Create deserialized declare reduction node.
+  /// Create deserialized declare reduction node.
   static OMPDeclareReductionDecl *CreateDeserialized(ASTContext &C,
                                                      unsigned ID);
 
-  /// \brief Get combiner expression of the declare reduction construct.
+  /// Get combiner expression of the declare reduction construct.
   Expr *getCombiner() { return Combiner; }
   const Expr *getCombiner() const { return Combiner; }
-  /// \brief Set combiner expression for the declare reduction construct.
+  /// Set combiner expression for the declare reduction construct.
   void setCombiner(Expr *E) { Combiner = E; }
 
-  /// \brief Get initializer expression (if specified) of the declare reduction
+  /// Get initializer expression (if specified) of the declare reduction
   /// construct.
   Expr *getInitializer() { return Initializer; }
   const Expr *getInitializer() const { return Initializer; }
   /// Get initializer kind.
   InitKind getInitializerKind() const { return InitializerKind; }
-  /// \brief Set initializer expression for the declare reduction construct.
+  /// Set initializer expression for the declare reduction construct.
   void setInitializer(Expr *E, InitKind IK) {
     Initializer = E;
     InitializerKind = IK;
   }
 
-  /// \brief Get reference to previous declare reduction construct in the same
+  /// Get reference to previous declare reduction construct in the same
   /// scope with the same name.
   OMPDeclareReductionDecl *getPrevDeclInScope();
   const OMPDeclareReductionDecl *getPrevDeclInScope() const;

Modified: cfe/trunk/include/clang/AST/DeclTemplate.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclTemplate.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclTemplate.h (original)
+++ cfe/trunk/include/clang/AST/DeclTemplate.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the C++ template declaration subclasses.
+/// Defines the C++ template declaration subclasses.
 //
 //===----------------------------------------------------------------------===//
 
@@ -56,14 +56,14 @@ class UnresolvedSetImpl;
 class VarTemplateDecl;
 class VarTemplatePartialSpecializationDecl;
 
-/// \brief Stores a template parameter of any kind.
+/// Stores a template parameter of any kind.
 using TemplateParameter =
     llvm::PointerUnion3<TemplateTypeParmDecl *, NonTypeTemplateParmDecl *,
                         TemplateTemplateParmDecl *>;
 
 NamedDecl *getAsNamedDecl(TemplateParameter P);
 
-/// \brief Stores a list of template parameters for a TemplateDecl and its
+/// Stores a list of template parameters for a TemplateDecl and its
 /// derived classes.
 class TemplateParameterList final
     : private llvm::TrailingObjects<TemplateParameterList, NamedDecl *,
@@ -110,10 +110,10 @@ public:
                                        SourceLocation RAngleLoc,
                                        Expr *RequiresClause);
 
-  /// \brief Iterates through the template parameters in this list.
+  /// Iterates through the template parameters in this list.
   using iterator = NamedDecl **;
 
-  /// \brief Iterates through the template parameters in this list.
+  /// Iterates through the template parameters in this list.
   using const_iterator = NamedDecl * const *;
 
   iterator begin() { return getTrailingObjects<NamedDecl *>(); }
@@ -139,32 +139,32 @@ public:
     return begin()[Idx];
   }
 
-  /// \brief Returns the minimum number of arguments needed to form a
+  /// Returns the minimum number of arguments needed to form a
   /// template specialization.
   ///
   /// This may be fewer than the number of template parameters, if some of
   /// the parameters have default arguments or if there is a parameter pack.
   unsigned getMinRequiredArguments() const;
 
-  /// \brief Get the depth of this template parameter list in the set of
+  /// Get the depth of this template parameter list in the set of
   /// template parameter lists.
   ///
   /// The first template parameter list in a declaration will have depth 0,
   /// the second template parameter list will have depth 1, etc.
   unsigned getDepth() const;
 
-  /// \brief Determine whether this template parameter list contains an
+  /// Determine whether this template parameter list contains an
   /// unexpanded parameter pack.
   bool containsUnexpandedParameterPack() const {
     return ContainsUnexpandedParameterPack;
   }
 
-  /// \brief The constraint-expression of the associated requires-clause.
+  /// The constraint-expression of the associated requires-clause.
   Expr *getRequiresClause() {
     return HasRequiresClause ? *getTrailingObjects<Expr *>() : nullptr;
   }
 
-  /// \brief The constraint-expression of the associated requires-clause.
+  /// The constraint-expression of the associated requires-clause.
   const Expr *getRequiresClause() const {
     return HasRequiresClause ? *getTrailingObjects<Expr *>() : nullptr;
   }
@@ -182,7 +182,7 @@ public:
   using FixedSizeStorageOwner = TrailingObjects::FixedSizeStorageOwner;
 };
 
-/// \brief Stores a list of template parameters and the associated
+/// Stores a list of template parameters and the associated
 /// requires-clause (if any) for a TemplateDecl and its derived classes.
 /// Suitable for creating on the stack.
 template <size_t N, bool HasRequiresClause>
@@ -206,13 +206,13 @@ public:
                  TemplateLoc, LAngleLoc, Params, RAngleLoc, RequiresClause))) {}
 };
 
-/// \brief A template argument list.
+/// A template argument list.
 class TemplateArgumentList final
     : private llvm::TrailingObjects<TemplateArgumentList, TemplateArgument> {
-  /// \brief The template argument list.
+  /// The template argument list.
   const TemplateArgument *Arguments;
 
-  /// \brief The number of template arguments in this template
+  /// The number of template arguments in this template
   /// argument list.
   unsigned NumArguments;
 
@@ -226,23 +226,23 @@ public:
   TemplateArgumentList(const TemplateArgumentList &) = delete;
   TemplateArgumentList &operator=(const TemplateArgumentList &) = delete;
 
-  /// \brief Type used to indicate that the template argument list itself is a
+  /// Type used to indicate that the template argument list itself is a
   /// stack object. It does not own its template arguments.
   enum OnStackType { OnStack };
 
-  /// \brief Create a new template argument list that copies the given set of
+  /// Create a new template argument list that copies the given set of
   /// template arguments.
   static TemplateArgumentList *CreateCopy(ASTContext &Context,
                                           ArrayRef<TemplateArgument> Args);
 
-  /// \brief Construct a new, temporary template argument list on the stack.
+  /// Construct a new, temporary template argument list on the stack.
   ///
   /// The template argument list does not own the template arguments
   /// provided.
   explicit TemplateArgumentList(OnStackType, ArrayRef<TemplateArgument> Args)
       : Arguments(Args.data()), NumArguments(Args.size()) {}
 
-  /// \brief Produces a shallow copy of the given template argument list.
+  /// Produces a shallow copy of the given template argument list.
   ///
   /// This operation assumes that the input argument list outlives it.
   /// This takes the list as a pointer to avoid looking like a copy
@@ -251,25 +251,25 @@ public:
   explicit TemplateArgumentList(const TemplateArgumentList *Other)
       : Arguments(Other->data()), NumArguments(Other->size()) {}
 
-  /// \brief Retrieve the template argument at a given index.
+  /// Retrieve the template argument at a given index.
   const TemplateArgument &get(unsigned Idx) const {
     assert(Idx < NumArguments && "Invalid template argument index");
     return data()[Idx];
   }
 
-  /// \brief Retrieve the template argument at a given index.
+  /// Retrieve the template argument at a given index.
   const TemplateArgument &operator[](unsigned Idx) const { return get(Idx); }
 
-  /// \brief Produce this as an array ref.
+  /// Produce this as an array ref.
   ArrayRef<TemplateArgument> asArray() const {
     return llvm::makeArrayRef(data(), size());
   }
 
-  /// \brief Retrieve the number of template arguments in this
+  /// Retrieve the number of template arguments in this
   /// template argument list.
   unsigned size() const { return NumArguments; }
 
-  /// \brief Retrieve a pointer to the template argument list.
+  /// Retrieve a pointer to the template argument list.
   const TemplateArgument *data() const { return Arguments; }
 };
 
@@ -365,7 +365,7 @@ public:
 // Kinds of Templates
 //===----------------------------------------------------------------------===//
 
-/// \brief Stores the template parameter list and associated constraints for
+/// Stores the template parameter list and associated constraints for
 /// \c TemplateDecl objects that track associated constraints.
 class ConstrainedTemplateDeclInfo {
   friend TemplateDecl;
@@ -391,7 +391,7 @@ protected:
 };
 
 
-/// \brief The base class of all kinds of template declarations (e.g.,
+/// The base class of all kinds of template declarations (e.g.,
 /// class, function, etc.).
 ///
 /// The TemplateDecl class stores the list of template parameters and a
@@ -467,7 +467,7 @@ public:
 protected:
   NamedDecl *TemplatedDecl;
 
-  /// \brief The template parameter list and optional requires-clause
+  /// The template parameter list and optional requires-clause
   /// associated with this declaration; alternatively, a
   /// \c ConstrainedTemplateDeclInfo if the associated constraints of the
   /// template are being tracked by this particular declaration.
@@ -492,7 +492,7 @@ protected:
   }
 
 public:
-  /// \brief Initialize the underlying templated declaration and
+  /// Initialize the underlying templated declaration and
   /// template parameters.
   void init(NamedDecl *templatedDecl, TemplateParameterList* templateParams) {
     assert(!TemplatedDecl && "TemplatedDecl already set!");
@@ -502,7 +502,7 @@ public:
   }
 };
 
-/// \brief Provides information about a function template specialization,
+/// Provides information about a function template specialization,
 /// which is a FunctionDecl that has been explicitly specialization or
 /// instantiated from a function template.
 class FunctionTemplateSpecializationInfo : public llvm::FoldingSetNode {
@@ -525,31 +525,31 @@ public:
          const TemplateArgumentListInfo *TemplateArgsAsWritten,
          SourceLocation POI);
 
-  /// \brief The function template specialization that this structure
+  /// The function template specialization that this structure
   /// describes.
   FunctionDecl *Function;
 
-  /// \brief The function template from which this function template
+  /// The function template from which this function template
   /// specialization was generated.
   ///
   /// The two bits contain the top 4 values of TemplateSpecializationKind.
   llvm::PointerIntPair<FunctionTemplateDecl *, 2> Template;
 
-  /// \brief The template arguments used to produce the function template
+  /// The template arguments used to produce the function template
   /// specialization from the function template.
   const TemplateArgumentList *TemplateArguments;
 
-  /// \brief The template arguments as written in the sources, if provided.
+  /// The template arguments as written in the sources, if provided.
   const ASTTemplateArgumentListInfo *TemplateArgumentsAsWritten;
 
-  /// \brief The point at which this function template specialization was
+  /// The point at which this function template specialization was
   /// first instantiated.
   SourceLocation PointOfInstantiation;
 
-  /// \brief Retrieve the template from which this function was specialized.
+  /// Retrieve the template from which this function was specialized.
   FunctionTemplateDecl *getTemplate() const { return Template.getPointer(); }
 
-  /// \brief Determine what kind of template specialization this is.
+  /// Determine what kind of template specialization this is.
   TemplateSpecializationKind getTemplateSpecializationKind() const {
     return (TemplateSpecializationKind)(Template.getInt() + 1);
   }
@@ -558,7 +558,7 @@ public:
     return getTemplateSpecializationKind() == TSK_ExplicitSpecialization;
   }
 
-  /// \brief True if this declaration is an explicit specialization,
+  /// True if this declaration is an explicit specialization,
   /// explicit instantiation declaration, or explicit instantiation
   /// definition.
   bool isExplicitInstantiationOrSpecialization() const {
@@ -566,14 +566,14 @@ public:
         getTemplateSpecializationKind());
   }
 
-  /// \brief Set the template specialization kind.
+  /// Set the template specialization kind.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK) {
     assert(TSK != TSK_Undeclared &&
          "Cannot encode TSK_Undeclared for a function template specialization");
     Template.setInt(TSK - 1);
   }
 
-  /// \brief Retrieve the first point of instantiation of this function
+  /// Retrieve the first point of instantiation of this function
   /// template specialization.
   ///
   /// The point of instantiation may be an invalid source location if this
@@ -582,7 +582,7 @@ public:
     return PointOfInstantiation;
   }
 
-  /// \brief Set the (first) point of instantiation of this function template
+  /// Set the (first) point of instantiation of this function template
   /// specialization.
   void setPointOfInstantiation(SourceLocation POI) {
     PointOfInstantiation = POI;
@@ -602,7 +602,7 @@ public:
   }
 };
 
-/// \brief Provides information a specialization of a member of a class
+/// Provides information a specialization of a member of a class
 /// template, which may be a member function, static data member,
 /// member class or member enumeration.
 class MemberSpecializationInfo {
@@ -622,11 +622,11 @@ public:
            "Cannot encode undeclared template specializations for members");
   }
 
-  /// \brief Retrieve the member declaration from which this member was
+  /// Retrieve the member declaration from which this member was
   /// instantiated.
   NamedDecl *getInstantiatedFrom() const { return MemberAndTSK.getPointer(); }
 
-  /// \brief Determine what kind of template specialization this is.
+  /// Determine what kind of template specialization this is.
   TemplateSpecializationKind getTemplateSpecializationKind() const {
     return (TemplateSpecializationKind)(MemberAndTSK.getInt() + 1);
   }
@@ -635,27 +635,27 @@ public:
     return getTemplateSpecializationKind() == TSK_ExplicitSpecialization;
   }
 
-  /// \brief Set the template specialization kind.
+  /// Set the template specialization kind.
   void setTemplateSpecializationKind(TemplateSpecializationKind TSK) {
     assert(TSK != TSK_Undeclared &&
            "Cannot encode undeclared template specializations for members");
     MemberAndTSK.setInt(TSK - 1);
   }
 
-  /// \brief Retrieve the first point of instantiation of this member.
+  /// Retrieve the first point of instantiation of this member.
   /// If the point of instantiation is an invalid location, then this member
   /// has not yet been instantiated.
   SourceLocation getPointOfInstantiation() const {
     return PointOfInstantiation;
   }
 
-  /// \brief Set the first point of instantiation.
+  /// Set the first point of instantiation.
   void setPointOfInstantiation(SourceLocation POI) {
     PointOfInstantiation = POI;
   }
 };
 
-/// \brief Provides information about a dependent function-template
+/// Provides information about a dependent function-template
 /// specialization declaration.
 ///
 /// Since explicit function template specialization and instantiation
@@ -700,25 +700,25 @@ public:
   Create(ASTContext &Context, const UnresolvedSetImpl &Templates,
          const TemplateArgumentListInfo &TemplateArgs);
 
-  /// \brief Returns the number of function templates that this might
+  /// Returns the number of function templates that this might
   /// be a specialization of.
   unsigned getNumTemplates() const { return NumTemplates; }
 
-  /// \brief Returns the i'th template candidate.
+  /// Returns the i'th template candidate.
   FunctionTemplateDecl *getTemplate(unsigned I) const {
     assert(I < getNumTemplates() && "template index out of range");
     return getTrailingObjects<FunctionTemplateDecl *>()[I];
   }
 
-  /// \brief Returns the explicit template arguments that were given.
+  /// Returns the explicit template arguments that were given.
   const TemplateArgumentLoc *getTemplateArgs() const {
     return getTrailingObjects<TemplateArgumentLoc>();
   }
 
-  /// \brief Returns the number of explicit template arguments that were given.
+  /// Returns the number of explicit template arguments that were given.
   unsigned getNumTemplateArgs() const { return NumArgs; }
 
-  /// \brief Returns the nth template argument.
+  /// Returns the nth template argument.
   const TemplateArgumentLoc &getTemplateArg(unsigned I) const {
     assert(I < getNumTemplateArgs() && "template arg index out of range");
     return getTemplateArgs()[I];
@@ -804,7 +804,7 @@ protected:
   struct CommonBase {
     CommonBase() : InstantiatedFromMember(nullptr, false) {}
 
-    /// \brief The template from which this was most
+    /// The template from which this was most
     /// directly instantiated (or null).
     ///
     /// The boolean value indicates whether this template
@@ -812,7 +812,7 @@ protected:
     llvm::PointerIntPair<RedeclarableTemplateDecl*, 1, bool>
       InstantiatedFromMember;
 
-    /// \brief If non-null, points to an array of specializations (including
+    /// If non-null, points to an array of specializations (including
     /// partial specializations) known only by their external declaration IDs.
     ///
     /// The first value in the array is the number of specializations/partial
@@ -820,11 +820,11 @@ protected:
     uint32_t *LazySpecializations = nullptr;
   };
 
-  /// \brief Pointer to the common data shared by all declarations of this
+  /// Pointer to the common data shared by all declarations of this
   /// template.
   mutable CommonBase *Common = nullptr;
   
-  /// \brief Retrieves the "common" pointer shared by all (re-)declarations of
+  /// Retrieves the "common" pointer shared by all (re-)declarations of
   /// the same template. Calling this routine may implicitly allocate memory
   /// for the common pointer.
   CommonBase *getCommonPtr() const;
@@ -850,7 +850,7 @@ public:
   friend class ASTReader;
   template <class decl_type> friend class RedeclarableTemplate;
 
-  /// \brief Retrieves the canonical declaration of this template.
+  /// Retrieves the canonical declaration of this template.
   RedeclarableTemplateDecl *getCanonicalDecl() override {
     return getFirstDecl();
   }
@@ -858,7 +858,7 @@ public:
     return getFirstDecl();
   }
 
-  /// \brief Determines whether this template was a specialization of a
+  /// Determines whether this template was a specialization of a
   /// member template.
   ///
   /// In the following example, the function template \c X<int>::f and the
@@ -880,14 +880,14 @@ public:
     return getCommonPtr()->InstantiatedFromMember.getInt();
   }
 
-  /// \brief Note that this member template is a specialization.
+  /// Note that this member template is a specialization.
   void setMemberSpecialization() {
     assert(getCommonPtr()->InstantiatedFromMember.getPointer() &&
            "Only member templates can be member template specializations");
     getCommonPtr()->InstantiatedFromMember.setInt(true);
   }
 
-  /// \brief Retrieve the member template from which this template was
+  /// Retrieve the member template from which this template was
   /// instantiated, or nullptr if this template was not instantiated from a 
   /// member template.
   ///
@@ -969,14 +969,14 @@ class FunctionTemplateDecl : public Rede
 protected:
   friend class FunctionDecl;
 
-  /// \brief Data that is common to all of the declarations of a given
+  /// Data that is common to all of the declarations of a given
   /// function template.
   struct Common : CommonBase {
-    /// \brief The function template specializations for this function
+    /// The function template specializations for this function
     /// template, including explicit specializations and instantiations.
     llvm::FoldingSetVector<FunctionTemplateSpecializationInfo> Specializations;
 
-    /// \brief The set of "injected" template arguments used within this
+    /// The set of "injected" template arguments used within this
     /// function template.
     ///
     /// This pointer refers to the template arguments (there are as
@@ -1000,12 +1000,12 @@ protected:
     return static_cast<Common *>(RedeclarableTemplateDecl::getCommonPtr());
   }
 
-  /// \brief Retrieve the set of function template specializations of this
+  /// Retrieve the set of function template specializations of this
   /// function template.
   llvm::FoldingSetVector<FunctionTemplateSpecializationInfo> &
   getSpecializations() const;
 
-  /// \brief Add a specialization of this function template.
+  /// Add a specialization of this function template.
   ///
   /// \param InsertPos Insert position in the FoldingSetVector, must have been
   ///        retrieved by an earlier call to findSpecialization().
@@ -1016,7 +1016,7 @@ public:
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
 
-  /// \brief Load any lazily-loaded specializations from the external source.
+  /// Load any lazily-loaded specializations from the external source.
   void LoadLazySpecializations() const;
 
   /// Get the underlying function declaration of the template.
@@ -1030,7 +1030,7 @@ public:
     return getTemplatedDecl()->isThisDeclarationADefinition();
   }
 
-  /// \brief Return the specialization with the provided arguments if it exists,
+  /// Return the specialization with the provided arguments if it exists,
   /// otherwise return the insertion point.
   FunctionDecl *findSpecialization(ArrayRef<TemplateArgument> Args,
                                    void *&InsertPos);
@@ -1044,7 +1044,7 @@ public:
              RedeclarableTemplateDecl::getCanonicalDecl());
   }
 
-  /// \brief Retrieve the previous declaration of this function template, or
+  /// Retrieve the previous declaration of this function template, or
   /// nullptr if no such declaration exists.
   FunctionTemplateDecl *getPreviousDecl() {
     return cast_or_null<FunctionTemplateDecl>(
@@ -1084,7 +1084,7 @@ public:
     return makeSpecIterator(getSpecializations(), true);
   }
 
-  /// \brief Retrieve the "injected" template arguments that correspond to the
+  /// Retrieve the "injected" template arguments that correspond to the
   /// template parameters of this function template.
   ///
   /// Although the C++ standard has no notion of the "injected" template
@@ -1093,14 +1093,14 @@ public:
   /// template.
   ArrayRef<TemplateArgument> getInjectedTemplateArgs();
 
-  /// \brief Create a function template node.
+  /// Create a function template node.
   static FunctionTemplateDecl *Create(ASTContext &C, DeclContext *DC,
                                       SourceLocation L,
                                       DeclarationName Name,
                                       TemplateParameterList *Params,
                                       NamedDecl *Decl);
 
-  /// \brief Create an empty function template node.
+  /// Create an empty function template node.
   static FunctionTemplateDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 
   // Implement isa/cast/dyncast support
@@ -1112,7 +1112,7 @@ public:
 // Kinds of Template Parameters
 //===----------------------------------------------------------------------===//
 
-/// \brief Defines the position of a template parameter within a template
+/// Defines the position of a template parameter within a template
 /// parameter list.
 ///
 /// Because template parameter can be listed
@@ -1145,7 +1145,7 @@ public:
   unsigned getIndex() const { return Position; }
 };
 
-/// \brief Declaration of a template type parameter.
+/// Declaration of a template type parameter.
 ///
 /// For example, "T" in
 /// \code
@@ -1155,13 +1155,13 @@ class TemplateTypeParmDecl : public Type
   /// Sema creates these on the stack during auto type deduction.
   friend class Sema;
 
-  /// \brief Whether this template type parameter was declaration with
+  /// Whether this template type parameter was declaration with
   /// the 'typename' keyword.
   ///
   /// If false, it was declared with the 'class' keyword.
   bool Typename : 1;
 
-  /// \brief The default template argument, if any.
+  /// The default template argument, if any.
   using DefArgStorage =
       DefaultArgStorage<TemplateTypeParmDecl, TypeSourceInfo *>;
   DefArgStorage DefaultArgument;
@@ -1181,7 +1181,7 @@ public:
   static TemplateTypeParmDecl *CreateDeserialized(const ASTContext &C, 
                                                   unsigned ID);
 
-  /// \brief Whether this template type parameter was declared with
+  /// Whether this template type parameter was declared with
   /// the 'typename' keyword.
   ///
   /// If not, it was declared with the 'class' keyword.
@@ -1189,57 +1189,57 @@ public:
 
   const DefArgStorage &getDefaultArgStorage() const { return DefaultArgument; }
 
-  /// \brief Determine whether this template parameter has a default
+  /// Determine whether this template parameter has a default
   /// argument.
   bool hasDefaultArgument() const { return DefaultArgument.isSet(); }
 
-  /// \brief Retrieve the default argument, if any.
+  /// Retrieve the default argument, if any.
   QualType getDefaultArgument() const {
     return DefaultArgument.get()->getType();
   }
 
-  /// \brief Retrieves the default argument's source information, if any.
+  /// Retrieves the default argument's source information, if any.
   TypeSourceInfo *getDefaultArgumentInfo() const {
     return DefaultArgument.get();
   }
 
-  /// \brief Retrieves the location of the default argument declaration.
+  /// Retrieves the location of the default argument declaration.
   SourceLocation getDefaultArgumentLoc() const;
 
-  /// \brief Determines whether the default argument was inherited
+  /// Determines whether the default argument was inherited
   /// from a previous declaration of this template.
   bool defaultArgumentWasInherited() const {
     return DefaultArgument.isInherited();
   }
 
-  /// \brief Set the default argument for this template parameter.
+  /// Set the default argument for this template parameter.
   void setDefaultArgument(TypeSourceInfo *DefArg) {
     DefaultArgument.set(DefArg);
   }
 
-  /// \brief Set that this default argument was inherited from another
+  /// Set that this default argument was inherited from another
   /// parameter.
   void setInheritedDefaultArgument(const ASTContext &C,
                                    TemplateTypeParmDecl *Prev) {
     DefaultArgument.setInherited(C, Prev);
   }
 
-  /// \brief Removes the default argument of this template parameter.
+  /// Removes the default argument of this template parameter.
   void removeDefaultArgument() {
     DefaultArgument.clear();
   }
 
-  /// \brief Set whether this template type parameter was declared with
+  /// Set whether this template type parameter was declared with
   /// the 'typename' or 'class' keyword.
   void setDeclaredWithTypename(bool withTypename) { Typename = withTypename; }
 
-  /// \brief Retrieve the depth of the template parameter.
+  /// Retrieve the depth of the template parameter.
   unsigned getDepth() const;
 
-  /// \brief Retrieve the index of the template parameter.
+  /// Retrieve the index of the template parameter.
   unsigned getIndex() const;
 
-  /// \brief Returns whether this is a parameter pack.
+  /// Returns whether this is a parameter pack.
   bool isParameterPack() const;
 
   SourceRange getSourceRange() const override LLVM_READONLY;
@@ -1262,7 +1262,7 @@ class NonTypeTemplateParmDecl final
   friend class ASTDeclReader;
   friend TrailingObjects;
 
-  /// \brief The default template argument, if any, and whether or not
+  /// The default template argument, if any, and whether or not
   /// it was inherited.
   using DefArgStorage = DefaultArgStorage<NonTypeTemplateParmDecl, Expr *>;
   DefArgStorage DefaultArgument;
@@ -1270,15 +1270,15 @@ class NonTypeTemplateParmDecl final
   // FIXME: Collapse this into TemplateParamPosition; or, just move depth/index
   // down here to save memory.
 
-  /// \brief Whether this non-type template parameter is a parameter pack.
+  /// Whether this non-type template parameter is a parameter pack.
   bool ParameterPack;
 
-  /// \brief Whether this non-type template parameter is an "expanded"
+  /// Whether this non-type template parameter is an "expanded"
   /// parameter pack, meaning that its type is a pack expansion and we
   /// already know the set of types that expansion expands to.
   bool ExpandedParameterPack = false;
 
-  /// \brief The number of types in an expanded parameter pack.
+  /// The number of types in an expanded parameter pack.
   unsigned NumExpandedTypes = 0;
 
   size_t numTrailingObjects(
@@ -1328,23 +1328,23 @@ public:
 
   const DefArgStorage &getDefaultArgStorage() const { return DefaultArgument; }
 
-  /// \brief Determine whether this template parameter has a default
+  /// Determine whether this template parameter has a default
   /// argument.
   bool hasDefaultArgument() const { return DefaultArgument.isSet(); }
 
-  /// \brief Retrieve the default argument, if any.
+  /// Retrieve the default argument, if any.
   Expr *getDefaultArgument() const { return DefaultArgument.get(); }
 
-  /// \brief Retrieve the location of the default argument, if any.
+  /// Retrieve the location of the default argument, if any.
   SourceLocation getDefaultArgumentLoc() const;
 
-  /// \brief Determines whether the default argument was inherited
+  /// Determines whether the default argument was inherited
   /// from a previous declaration of this template.
   bool defaultArgumentWasInherited() const {
     return DefaultArgument.isInherited();
   }
 
-  /// \brief Set the default argument for this template parameter, and
+  /// Set the default argument for this template parameter, and
   /// whether that default argument was inherited from another
   /// declaration.
   void setDefaultArgument(Expr *DefArg) { DefaultArgument.set(DefArg); }
@@ -1353,10 +1353,10 @@ public:
     DefaultArgument.setInherited(C, Parm);
   }
 
-  /// \brief Removes the default argument of this template parameter.
+  /// Removes the default argument of this template parameter.
   void removeDefaultArgument() { DefaultArgument.clear(); }
 
-  /// \brief Whether this parameter is a non-type template parameter pack.
+  /// Whether this parameter is a non-type template parameter pack.
   ///
   /// If the parameter is a parameter pack, the type may be a
   /// \c PackExpansionType. In the following example, the \c Dims parameter
@@ -1367,7 +1367,7 @@ public:
   /// \endcode
   bool isParameterPack() const { return ParameterPack; }
 
-  /// \brief Whether this parameter pack is a pack expansion.
+  /// Whether this parameter pack is a pack expansion.
   ///
   /// A non-type template parameter pack is a pack expansion if its type
   /// contains an unexpanded parameter pack. In this case, we will have
@@ -1376,7 +1376,7 @@ public:
     return ParameterPack && getType()->getAs<PackExpansionType>();
   }
 
-  /// \brief Whether this parameter is a non-type template parameter pack
+  /// Whether this parameter is a non-type template parameter pack
   /// that has a known list of different types at different positions.
   ///
   /// A parameter pack is an expanded parameter pack when the original
@@ -1402,14 +1402,14 @@ public:
   /// return the expansion types.
   bool isExpandedParameterPack() const { return ExpandedParameterPack; }
 
-  /// \brief Retrieves the number of expansion types in an expanded parameter
+  /// Retrieves the number of expansion types in an expanded parameter
   /// pack.
   unsigned getNumExpansionTypes() const {
     assert(ExpandedParameterPack && "Not an expansion parameter pack");
     return NumExpandedTypes;
   }
 
-  /// \brief Retrieve a particular expansion type within an expanded parameter
+  /// Retrieve a particular expansion type within an expanded parameter
   /// pack.
   QualType getExpansionType(unsigned I) const {
     assert(I < NumExpandedTypes && "Out-of-range expansion type index");
@@ -1418,7 +1418,7 @@ public:
     return TypesAndInfos[I].first;
   }
 
-  /// \brief Retrieve a particular expansion type source info within an
+  /// Retrieve a particular expansion type source info within an
   /// expanded parameter pack.
   TypeSourceInfo *getExpansionTypeSourceInfo(unsigned I) const {
     assert(I < NumExpandedTypes && "Out-of-range expansion type index");
@@ -1444,20 +1444,20 @@ class TemplateTemplateParmDecl final
       protected TemplateParmPosition,
       private llvm::TrailingObjects<TemplateTemplateParmDecl,
                                     TemplateParameterList *> {
-  /// \brief The default template argument, if any.
+  /// The default template argument, if any.
   using DefArgStorage =
       DefaultArgStorage<TemplateTemplateParmDecl, TemplateArgumentLoc *>;
   DefArgStorage DefaultArgument;
 
-  /// \brief Whether this parameter is a parameter pack.
+  /// Whether this parameter is a parameter pack.
   bool ParameterPack;
 
-  /// \brief Whether this template template parameter is an "expanded"
+  /// Whether this template template parameter is an "expanded"
   /// parameter pack, meaning that it is a pack expansion and we
   /// already know the set of template parameters that expansion expands to.
   bool ExpandedParameterPack = false;
 
-  /// \brief The number of parameters in an expanded parameter pack.
+  /// The number of parameters in an expanded parameter pack.
   unsigned NumExpandedParams = 0;
 
   TemplateTemplateParmDecl(DeclContext *DC, SourceLocation L,
@@ -1502,7 +1502,7 @@ public:
   using TemplateParmPosition::setPosition;
   using TemplateParmPosition::getIndex;
 
-  /// \brief Whether this template template parameter is a template
+  /// Whether this template template parameter is a template
   /// parameter pack.
   ///
   /// \code
@@ -1510,7 +1510,7 @@ public:
   /// \endcode
   bool isParameterPack() const { return ParameterPack; }
 
-  /// \brief Whether this parameter pack is a pack expansion.
+  /// Whether this parameter pack is a pack expansion.
   ///
   /// A template template parameter pack is a pack expansion if its template
   /// parameter list contains an unexpanded parameter pack.
@@ -1519,7 +1519,7 @@ public:
            getTemplateParameters()->containsUnexpandedParameterPack();
   }
 
-  /// \brief Whether this parameter is a template template parameter pack that
+  /// Whether this parameter is a template template parameter pack that
   /// has a known list of different template parameter lists at different
   /// positions.
   ///
@@ -1539,14 +1539,14 @@ public:
   /// parameter pack.
   bool isExpandedParameterPack() const { return ExpandedParameterPack; }
 
-  /// \brief Retrieves the number of expansion template parameters in
+  /// Retrieves the number of expansion template parameters in
   /// an expanded parameter pack.
   unsigned getNumExpansionTemplateParameters() const {
     assert(ExpandedParameterPack && "Not an expansion parameter pack");
     return NumExpandedParams;
   }
 
-  /// \brief Retrieve a particular expansion type within an expanded parameter
+  /// Retrieve a particular expansion type within an expanded parameter
   /// pack.
   TemplateParameterList *getExpansionTemplateParameters(unsigned I) const {
     assert(I < NumExpandedParams && "Out-of-range expansion type index");
@@ -1555,26 +1555,26 @@ public:
 
   const DefArgStorage &getDefaultArgStorage() const { return DefaultArgument; }
 
-  /// \brief Determine whether this template parameter has a default
+  /// Determine whether this template parameter has a default
   /// argument.
   bool hasDefaultArgument() const { return DefaultArgument.isSet(); }
 
-  /// \brief Retrieve the default argument, if any.
+  /// Retrieve the default argument, if any.
   const TemplateArgumentLoc &getDefaultArgument() const {
     static const TemplateArgumentLoc None;
     return DefaultArgument.isSet() ? *DefaultArgument.get() : None;
   }
 
-  /// \brief Retrieve the location of the default argument, if any.
+  /// Retrieve the location of the default argument, if any.
   SourceLocation getDefaultArgumentLoc() const;
 
-  /// \brief Determines whether the default argument was inherited
+  /// Determines whether the default argument was inherited
   /// from a previous declaration of this template.
   bool defaultArgumentWasInherited() const {
     return DefaultArgument.isInherited();
   }
 
-  /// \brief Set the default argument for this template parameter, and
+  /// Set the default argument for this template parameter, and
   /// whether that default argument was inherited from another
   /// declaration.
   void setDefaultArgument(const ASTContext &C,
@@ -1584,7 +1584,7 @@ public:
     DefaultArgument.setInherited(C, Prev);
   }
 
-  /// \brief Removes the default argument of this template parameter.
+  /// Removes the default argument of this template parameter.
   void removeDefaultArgument() { DefaultArgument.clear(); }
 
   SourceRange getSourceRange() const override LLVM_READONLY {
@@ -1599,7 +1599,7 @@ public:
   static bool classofKind(Kind K) { return K == TemplateTemplateParm; }
 };
 
-/// \brief Represents the builtin template declaration which is used to
+/// Represents the builtin template declaration which is used to
 /// implement __make_integer_seq and other builtin templates.  It serves
 /// no real purpose beyond existing as a place to hold template parameters.
 class BuiltinTemplateDecl : public TemplateDecl {
@@ -1628,7 +1628,7 @@ public:
   BuiltinTemplateKind getBuiltinTemplateKind() const { return BTK; }
 };
 
-/// \brief Represents a class template specialization, which refers to
+/// Represents a class template specialization, which refers to
 /// a class template with a given set of template arguments.
 ///
 /// Class template specializations represent both explicit
@@ -1643,48 +1643,48 @@ public:
 /// \endcode
 class ClassTemplateSpecializationDecl
   : public CXXRecordDecl, public llvm::FoldingSetNode {
-  /// \brief Structure that stores information about a class template
+  /// Structure that stores information about a class template
   /// specialization that was instantiated from a class template partial
   /// specialization.
   struct SpecializedPartialSpecialization {
-    /// \brief The class template partial specialization from which this
+    /// The class template partial specialization from which this
     /// class template specialization was instantiated.
     ClassTemplatePartialSpecializationDecl *PartialSpecialization;
 
-    /// \brief The template argument list deduced for the class template
+    /// The template argument list deduced for the class template
     /// partial specialization itself.
     const TemplateArgumentList *TemplateArgs;
   };
 
-  /// \brief The template that this specialization specializes
+  /// The template that this specialization specializes
   llvm::PointerUnion<ClassTemplateDecl *, SpecializedPartialSpecialization *>
     SpecializedTemplate;
 
-  /// \brief Further info for explicit template specialization/instantiation.
+  /// Further info for explicit template specialization/instantiation.
   struct ExplicitSpecializationInfo {
-    /// \brief The type-as-written.
+    /// The type-as-written.
     TypeSourceInfo *TypeAsWritten = nullptr;
 
-    /// \brief The location of the extern keyword.
+    /// The location of the extern keyword.
     SourceLocation ExternLoc;
 
-    /// \brief The location of the template keyword.
+    /// The location of the template keyword.
     SourceLocation TemplateKeywordLoc;
 
     ExplicitSpecializationInfo() = default;
   };
 
-  /// \brief Further info for explicit template specialization/instantiation.
+  /// Further info for explicit template specialization/instantiation.
   /// Does not apply to implicit specializations.
   ExplicitSpecializationInfo *ExplicitInfo = nullptr;
 
-  /// \brief The template arguments used to describe this specialization.
+  /// The template arguments used to describe this specialization.
   const TemplateArgumentList *TemplateArgs;
 
-  /// \brief The point where this template was instantiated (if any)
+  /// The point where this template was instantiated (if any)
   SourceLocation PointOfInstantiation;
 
-  /// \brief The kind of specialization this declaration refers to.
+  /// The kind of specialization this declaration refers to.
   /// Really a value of type TemplateSpecializationKind.
   unsigned SpecializationKind : 3;
 
@@ -1730,16 +1730,16 @@ public:
     return cast<ClassTemplateSpecializationDecl>(Recent);
   }
 
-  /// \brief Retrieve the template that this specialization specializes.
+  /// Retrieve the template that this specialization specializes.
   ClassTemplateDecl *getSpecializedTemplate() const;
 
-  /// \brief Retrieve the template arguments of the class template
+  /// Retrieve the template arguments of the class template
   /// specialization.
   const TemplateArgumentList &getTemplateArgs() const {
     return *TemplateArgs;
   }
 
-  /// \brief Determine the kind of specialization that this
+  /// Determine the kind of specialization that this
   /// declaration represents.
   TemplateSpecializationKind getSpecializationKind() const {
     return static_cast<TemplateSpecializationKind>(SpecializationKind);
@@ -1749,7 +1749,7 @@ public:
     return getSpecializationKind() == TSK_ExplicitSpecialization;
   }
 
-  /// \brief True if this declaration is an explicit specialization,
+  /// True if this declaration is an explicit specialization,
   /// explicit instantiation declaration, or explicit instantiation
   /// definition.
   bool isExplicitInstantiationOrSpecialization() const {
@@ -1761,7 +1761,7 @@ public:
     SpecializationKind = TSK;
   }
 
-  /// \brief Get the point of instantiation (if any), or null if none.
+  /// Get the point of instantiation (if any), or null if none.
   SourceLocation getPointOfInstantiation() const {
     return PointOfInstantiation;
   }
@@ -1771,7 +1771,7 @@ public:
     PointOfInstantiation = Loc;
   }
 
-  /// \brief If this class template specialization is an instantiation of
+  /// If this class template specialization is an instantiation of
   /// a template (rather than an explicit specialization), return the
   /// class template or class template partial specialization from which it
   /// was instantiated.
@@ -1785,7 +1785,7 @@ public:
     return getSpecializedTemplateOrPartial();
   }
 
-  /// \brief Retrieve the class template or class template partial
+  /// Retrieve the class template or class template partial
   /// specialization which was specialized by this.
   llvm::PointerUnion<ClassTemplateDecl *,
                      ClassTemplatePartialSpecializationDecl *>
@@ -1797,7 +1797,7 @@ public:
     return SpecializedTemplate.get<ClassTemplateDecl*>();
   }
 
-  /// \brief Retrieve the set of template arguments that should be used
+  /// Retrieve the set of template arguments that should be used
   /// to instantiate members of the class template or class template partial
   /// specialization from which this class template specialization was
   /// instantiated.
@@ -1816,7 +1816,7 @@ public:
     return getTemplateArgs();
   }
 
-  /// \brief Note that this class template specialization is actually an
+  /// Note that this class template specialization is actually an
   /// instantiation of the given class template partial specialization whose
   /// template arguments have been deduced.
   void setInstantiationOf(ClassTemplatePartialSpecializationDecl *PartialSpec,
@@ -1829,7 +1829,7 @@ public:
     SpecializedTemplate = PS;
   }
 
-  /// \brief Note that this class template specialization is an instantiation
+  /// Note that this class template specialization is an instantiation
   /// of the given class template.
   void setInstantiationOf(ClassTemplateDecl *TemplDecl) {
     assert(!SpecializedTemplate.is<SpecializedPartialSpecialization*>() &&
@@ -1837,7 +1837,7 @@ public:
     SpecializedTemplate = TemplDecl;
   }
 
-  /// \brief Sets the type of this specialization as it was written by
+  /// Sets the type of this specialization as it was written by
   /// the user. This will be a class template specialization type.
   void setTypeAsWritten(TypeSourceInfo *T) {
     if (!ExplicitInfo)
@@ -1845,32 +1845,32 @@ public:
     ExplicitInfo->TypeAsWritten = T;
   }
 
-  /// \brief Gets the type of this specialization as it was written by
+  /// Gets the type of this specialization as it was written by
   /// the user, if it was so written.
   TypeSourceInfo *getTypeAsWritten() const {
     return ExplicitInfo ? ExplicitInfo->TypeAsWritten : nullptr;
   }
 
-  /// \brief Gets the location of the extern keyword, if present.
+  /// Gets the location of the extern keyword, if present.
   SourceLocation getExternLoc() const {
     return ExplicitInfo ? ExplicitInfo->ExternLoc : SourceLocation();
   }
 
-  /// \brief Sets the location of the extern keyword.
+  /// Sets the location of the extern keyword.
   void setExternLoc(SourceLocation Loc) {
     if (!ExplicitInfo)
       ExplicitInfo = new (getASTContext()) ExplicitSpecializationInfo;
     ExplicitInfo->ExternLoc = Loc;
   }
 
-  /// \brief Sets the location of the template keyword.
+  /// Sets the location of the template keyword.
   void setTemplateKeywordLoc(SourceLocation Loc) {
     if (!ExplicitInfo)
       ExplicitInfo = new (getASTContext()) ExplicitSpecializationInfo;
     ExplicitInfo->TemplateKeywordLoc = Loc;
   }
 
-  /// \brief Gets the location of the template keyword, if present.
+  /// Gets the location of the template keyword, if present.
   SourceLocation getTemplateKeywordLoc() const {
     return ExplicitInfo ? ExplicitInfo->TemplateKeywordLoc : SourceLocation();
   }
@@ -1899,14 +1899,14 @@ public:
 
 class ClassTemplatePartialSpecializationDecl
   : public ClassTemplateSpecializationDecl {
-  /// \brief The list of template parameters
+  /// The list of template parameters
   TemplateParameterList* TemplateParams = nullptr;
 
-  /// \brief The source info for the template arguments as written.
+  /// The source info for the template arguments as written.
   /// FIXME: redundant with TypeAsWritten?
   const ASTTemplateArgumentListInfo *ArgsAsWritten = nullptr;
 
-  /// \brief The class template partial specialization from which this
+  /// The class template partial specialization from which this
   /// class template partial specialization was instantiated.
   ///
   /// The boolean value will be true to indicate that this class template
@@ -1963,7 +1963,7 @@ public:
     return ArgsAsWritten;
   }
 
-  /// \brief Retrieve the member class template partial specialization from
+  /// Retrieve the member class template partial specialization from
   /// which this particular class template partial specialization was
   /// instantiated.
   ///
@@ -1999,7 +1999,7 @@ public:
     First->InstantiatedFromMember.setPointer(PartialSpec);
   }
 
-  /// \brief Determines whether this class template partial specialization
+  /// Determines whether this class template partial specialization
   /// template was a specialization of a member partial specialization.
   ///
   /// In the following example, the member template partial specialization
@@ -2021,7 +2021,7 @@ public:
     return First->InstantiatedFromMember.getInt();
   }
 
-  /// \brief Note that this member template is a specialization.
+  /// Note that this member template is a specialization.
   void setMemberSpecialization() {
     auto *First = cast<ClassTemplatePartialSpecializationDecl>(getFirstDecl());
     assert(First->InstantiatedFromMember.getPointer() &&
@@ -2050,29 +2050,29 @@ public:
 /// Declaration of a class template.
 class ClassTemplateDecl : public RedeclarableTemplateDecl {
 protected:
-  /// \brief Data that is common to all of the declarations of a given
+  /// Data that is common to all of the declarations of a given
   /// class template.
   struct Common : CommonBase {
-    /// \brief The class template specializations for this class
+    /// The class template specializations for this class
     /// template, including explicit specializations and instantiations.
     llvm::FoldingSetVector<ClassTemplateSpecializationDecl> Specializations;
 
-    /// \brief The class template partial specializations for this class
+    /// The class template partial specializations for this class
     /// template.
     llvm::FoldingSetVector<ClassTemplatePartialSpecializationDecl>
       PartialSpecializations;
 
-    /// \brief The injected-class-name type for this class template.
+    /// The injected-class-name type for this class template.
     QualType InjectedClassNameType;
 
     Common() = default;
   };
 
-  /// \brief Retrieve the set of specializations of this class template.
+  /// Retrieve the set of specializations of this class template.
   llvm::FoldingSetVector<ClassTemplateSpecializationDecl> &
   getSpecializations() const;
 
-  /// \brief Retrieve the set of partial specializations of this class
+  /// Retrieve the set of partial specializations of this class
   /// template.
   llvm::FoldingSetVector<ClassTemplatePartialSpecializationDecl> &
   getPartialSpecializations();
@@ -2098,22 +2098,22 @@ public:
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
 
-  /// \brief Load any lazily-loaded specializations from the external source.
+  /// Load any lazily-loaded specializations from the external source.
   void LoadLazySpecializations() const;
 
-  /// \brief Get the underlying class declarations of the template.
+  /// Get the underlying class declarations of the template.
   CXXRecordDecl *getTemplatedDecl() const {
     return static_cast<CXXRecordDecl *>(TemplatedDecl);
   }
 
-  /// \brief Returns whether this template declaration defines the primary
+  /// Returns whether this template declaration defines the primary
   /// class pattern.
   bool isThisDeclarationADefinition() const {
     return getTemplatedDecl()->isThisDeclarationADefinition();
   }
 
   // FIXME: remove default argument for AssociatedConstraints
-  /// \brief Create a class template node.
+  /// Create a class template node.
   static ClassTemplateDecl *Create(ASTContext &C, DeclContext *DC,
                                    SourceLocation L,
                                    DeclarationName Name,
@@ -2121,15 +2121,15 @@ public:
                                    NamedDecl *Decl,
                                    Expr *AssociatedConstraints = nullptr);
 
-  /// \brief Create an empty class template node.
+  /// Create an empty class template node.
   static ClassTemplateDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 
-  /// \brief Return the specialization with the provided arguments if it exists,
+  /// Return the specialization with the provided arguments if it exists,
   /// otherwise return the insertion point.
   ClassTemplateSpecializationDecl *
   findSpecialization(ArrayRef<TemplateArgument> Args, void *&InsertPos);
 
-  /// \brief Insert the specified specialization knowing that it is not already
+  /// Insert the specified specialization knowing that it is not already
   /// in. InsertPos must be obtained from findSpecialization.
   void AddSpecialization(ClassTemplateSpecializationDecl *D, void *InsertPos);
 
@@ -2142,7 +2142,7 @@ public:
              RedeclarableTemplateDecl::getCanonicalDecl());
   }
 
-  /// \brief Retrieve the previous declaration of this class template, or
+  /// Retrieve the previous declaration of this class template, or
   /// nullptr if no such declaration exists.
   ClassTemplateDecl *getPreviousDecl() {
     return cast_or_null<ClassTemplateDecl>(
@@ -2167,21 +2167,21 @@ public:
              RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate());
   }
 
-  /// \brief Return the partial specialization with the provided arguments if it
+  /// Return the partial specialization with the provided arguments if it
   /// exists, otherwise return the insertion point.
   ClassTemplatePartialSpecializationDecl *
   findPartialSpecialization(ArrayRef<TemplateArgument> Args, void *&InsertPos);
 
-  /// \brief Insert the specified partial specialization knowing that it is not
+  /// Insert the specified partial specialization knowing that it is not
   /// already in. InsertPos must be obtained from findPartialSpecialization.
   void AddPartialSpecialization(ClassTemplatePartialSpecializationDecl *D,
                                 void *InsertPos);
 
-  /// \brief Retrieve the partial specializations as an ordered list.
+  /// Retrieve the partial specializations as an ordered list.
   void getPartialSpecializations(
           SmallVectorImpl<ClassTemplatePartialSpecializationDecl *> &PS);
 
-  /// \brief Find a class template partial specialization with the given
+  /// Find a class template partial specialization with the given
   /// type T.
   ///
   /// \param T a dependent type that names a specialization of this class
@@ -2191,7 +2191,7 @@ public:
   /// the type \p T, or nullptr if no such partial specialization exists.
   ClassTemplatePartialSpecializationDecl *findPartialSpecialization(QualType T);
 
-  /// \brief Find a class template partial specialization which was instantiated
+  /// Find a class template partial specialization which was instantiated
   /// from the given member partial specialization.
   ///
   /// \param D a member class template partial specialization.
@@ -2203,7 +2203,7 @@ public:
   findPartialSpecInstantiatedFromMember(
                                      ClassTemplatePartialSpecializationDecl *D);
 
-  /// \brief Retrieve the template specialization type of the
+  /// Retrieve the template specialization type of the
   /// injected-class-name for this class template.
   ///
   /// The injected-class-name for a class template \c X is \c
@@ -2239,7 +2239,7 @@ public:
   static bool classofKind(Kind K) { return K == ClassTemplate; }
 };
 
-/// \brief Declaration of a friend template.
+/// Declaration of a friend template.
 ///
 /// For example:
 /// \code
@@ -2303,7 +2303,7 @@ public:
     return Friend.dyn_cast<NamedDecl*>();
   }
 
-  /// \brief Retrieves the location of the 'friend' keyword.
+  /// Retrieves the location of the 'friend' keyword.
   SourceLocation getFriendLoc() const {
     return FriendLoc;
   }
@@ -2322,7 +2322,7 @@ public:
   static bool classofKind(Kind K) { return K == Decl::FriendTemplate; }
 };
 
-/// \brief Declaration of an alias template.
+/// Declaration of an alias template.
 ///
 /// For example:
 /// \code
@@ -2363,7 +2363,7 @@ public:
              RedeclarableTemplateDecl::getCanonicalDecl());
   }
 
-  /// \brief Retrieve the previous declaration of this function template, or
+  /// Retrieve the previous declaration of this function template, or
   /// nullptr if no such declaration exists.
   TypeAliasTemplateDecl *getPreviousDecl() {
     return cast_or_null<TypeAliasTemplateDecl>(
@@ -2380,14 +2380,14 @@ public:
              RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate());
   }
 
-  /// \brief Create a function template node.
+  /// Create a function template node.
   static TypeAliasTemplateDecl *Create(ASTContext &C, DeclContext *DC,
                                        SourceLocation L,
                                        DeclarationName Name,
                                        TemplateParameterList *Params,
                                        NamedDecl *Decl);
 
-  /// \brief Create an empty alias template node.
+  /// Create an empty alias template node.
   static TypeAliasTemplateDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 
   // Implement isa/cast/dyncast support
@@ -2395,7 +2395,7 @@ public:
   static bool classofKind(Kind K) { return K == TypeAliasTemplate; }
 };
 
-/// \brief Declaration of a function specialization at template class scope.
+/// Declaration of a function specialization at template class scope.
 ///
 /// This is a non-standard extension needed to support MSVC.
 ///
@@ -2461,7 +2461,7 @@ public:
 inline AnyFunctionDecl::AnyFunctionDecl(FunctionTemplateDecl *FTD)
     : Function(FTD) {}
 
-/// \brief Represents a variable template specialization, which refers to
+/// Represents a variable template specialization, which refers to
 /// a variable template with a given set of template arguments.
 ///
 /// Variable template specializations represent both explicit
@@ -2477,53 +2477,53 @@ inline AnyFunctionDecl::AnyFunctionDecl(
 class VarTemplateSpecializationDecl : public VarDecl,
                                       public llvm::FoldingSetNode {
 
-  /// \brief Structure that stores information about a variable template
+  /// Structure that stores information about a variable template
   /// specialization that was instantiated from a variable template partial
   /// specialization.
   struct SpecializedPartialSpecialization {
-    /// \brief The variable template partial specialization from which this
+    /// The variable template partial specialization from which this
     /// variable template specialization was instantiated.
     VarTemplatePartialSpecializationDecl *PartialSpecialization;
 
-    /// \brief The template argument list deduced for the variable template
+    /// The template argument list deduced for the variable template
     /// partial specialization itself.
     const TemplateArgumentList *TemplateArgs;
   };
 
-  /// \brief The template that this specialization specializes.
+  /// The template that this specialization specializes.
   llvm::PointerUnion<VarTemplateDecl *, SpecializedPartialSpecialization *>
   SpecializedTemplate;
 
-  /// \brief Further info for explicit template specialization/instantiation.
+  /// Further info for explicit template specialization/instantiation.
   struct ExplicitSpecializationInfo {
-    /// \brief The type-as-written.
+    /// The type-as-written.
     TypeSourceInfo *TypeAsWritten = nullptr;
 
-    /// \brief The location of the extern keyword.
+    /// The location of the extern keyword.
     SourceLocation ExternLoc;
 
-    /// \brief The location of the template keyword.
+    /// The location of the template keyword.
     SourceLocation TemplateKeywordLoc;
 
     ExplicitSpecializationInfo() = default;
   };
 
-  /// \brief Further info for explicit template specialization/instantiation.
+  /// Further info for explicit template specialization/instantiation.
   /// Does not apply to implicit specializations.
   ExplicitSpecializationInfo *ExplicitInfo = nullptr;
 
-  /// \brief The template arguments used to describe this specialization.
+  /// The template arguments used to describe this specialization.
   const TemplateArgumentList *TemplateArgs;
   TemplateArgumentListInfo TemplateArgsInfo;
 
-  /// \brief The point where this template was instantiated (if any).
+  /// The point where this template was instantiated (if any).
   SourceLocation PointOfInstantiation;
 
-  /// \brief The kind of specialization this declaration refers to.
+  /// The kind of specialization this declaration refers to.
   /// Really a value of type TemplateSpecializationKind.
   unsigned SpecializationKind : 3;
 
-  /// \brief Whether this declaration is a complete definition of the
+  /// Whether this declaration is a complete definition of the
   /// variable template specialization. We can't otherwise tell apart
   /// an instantiated declaration from an instantiated definition with
   /// no initializer.
@@ -2560,10 +2560,10 @@ public:
     return cast<VarTemplateSpecializationDecl>(Recent);
   }
 
-  /// \brief Retrieve the template that this specialization specializes.
+  /// Retrieve the template that this specialization specializes.
   VarTemplateDecl *getSpecializedTemplate() const;
 
-  /// \brief Retrieve the template arguments of the variable template
+  /// Retrieve the template arguments of the variable template
   /// specialization.
   const TemplateArgumentList &getTemplateArgs() const { return *TemplateArgs; }
 
@@ -2574,7 +2574,7 @@ public:
     return TemplateArgsInfo;
   }
 
-  /// \brief Determine the kind of specialization that this
+  /// Determine the kind of specialization that this
   /// declaration represents.
   TemplateSpecializationKind getSpecializationKind() const {
     return static_cast<TemplateSpecializationKind>(SpecializationKind);
@@ -2584,7 +2584,7 @@ public:
     return getSpecializationKind() == TSK_ExplicitSpecialization;
   }
 
-  /// \brief True if this declaration is an explicit specialization,
+  /// True if this declaration is an explicit specialization,
   /// explicit instantiation declaration, or explicit instantiation
   /// definition.
   bool isExplicitInstantiationOrSpecialization() const {
@@ -2596,7 +2596,7 @@ public:
     SpecializationKind = TSK;
   }
 
-  /// \brief Get the point of instantiation (if any), or null if none.
+  /// Get the point of instantiation (if any), or null if none.
   SourceLocation getPointOfInstantiation() const {
     return PointOfInstantiation;
   }
@@ -2608,7 +2608,7 @@ public:
 
   void setCompleteDefinition() { IsCompleteDefinition = true; }
 
-  /// \brief If this variable template specialization is an instantiation of
+  /// If this variable template specialization is an instantiation of
   /// a template (rather than an explicit specialization), return the
   /// variable template or variable template partial specialization from which
   /// it was instantiated.
@@ -2621,7 +2621,7 @@ public:
     return getSpecializedTemplateOrPartial();
   }
 
-  /// \brief Retrieve the variable template or variable template partial
+  /// Retrieve the variable template or variable template partial
   /// specialization which was specialized by this.
   llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *>
   getSpecializedTemplateOrPartial() const {
@@ -2632,7 +2632,7 @@ public:
     return SpecializedTemplate.get<VarTemplateDecl *>();
   }
 
-  /// \brief Retrieve the set of template arguments that should be used
+  /// Retrieve the set of template arguments that should be used
   /// to instantiate the initializer of the variable template or variable
   /// template partial specialization from which this variable template
   /// specialization was instantiated.
@@ -2651,7 +2651,7 @@ public:
     return getTemplateArgs();
   }
 
-  /// \brief Note that this variable template specialization is actually an
+  /// Note that this variable template specialization is actually an
   /// instantiation of the given variable template partial specialization whose
   /// template arguments have been deduced.
   void setInstantiationOf(VarTemplatePartialSpecializationDecl *PartialSpec,
@@ -2664,7 +2664,7 @@ public:
     SpecializedTemplate = PS;
   }
 
-  /// \brief Note that this variable template specialization is an instantiation
+  /// Note that this variable template specialization is an instantiation
   /// of the given variable template.
   void setInstantiationOf(VarTemplateDecl *TemplDecl) {
     assert(!SpecializedTemplate.is<SpecializedPartialSpecialization *>() &&
@@ -2672,7 +2672,7 @@ public:
     SpecializedTemplate = TemplDecl;
   }
 
-  /// \brief Sets the type of this specialization as it was written by
+  /// Sets the type of this specialization as it was written by
   /// the user.
   void setTypeAsWritten(TypeSourceInfo *T) {
     if (!ExplicitInfo)
@@ -2680,32 +2680,32 @@ public:
     ExplicitInfo->TypeAsWritten = T;
   }
 
-  /// \brief Gets the type of this specialization as it was written by
+  /// Gets the type of this specialization as it was written by
   /// the user, if it was so written.
   TypeSourceInfo *getTypeAsWritten() const {
     return ExplicitInfo ? ExplicitInfo->TypeAsWritten : nullptr;
   }
 
-  /// \brief Gets the location of the extern keyword, if present.
+  /// Gets the location of the extern keyword, if present.
   SourceLocation getExternLoc() const {
     return ExplicitInfo ? ExplicitInfo->ExternLoc : SourceLocation();
   }
 
-  /// \brief Sets the location of the extern keyword.
+  /// Sets the location of the extern keyword.
   void setExternLoc(SourceLocation Loc) {
     if (!ExplicitInfo)
       ExplicitInfo = new (getASTContext()) ExplicitSpecializationInfo;
     ExplicitInfo->ExternLoc = Loc;
   }
 
-  /// \brief Sets the location of the template keyword.
+  /// Sets the location of the template keyword.
   void setTemplateKeywordLoc(SourceLocation Loc) {
     if (!ExplicitInfo)
       ExplicitInfo = new (getASTContext()) ExplicitSpecializationInfo;
     ExplicitInfo->TemplateKeywordLoc = Loc;
   }
 
-  /// \brief Gets the location of the template keyword, if present.
+  /// Gets the location of the template keyword, if present.
   SourceLocation getTemplateKeywordLoc() const {
     return ExplicitInfo ? ExplicitInfo->TemplateKeywordLoc : SourceLocation();
   }
@@ -2732,14 +2732,14 @@ public:
 
 class VarTemplatePartialSpecializationDecl
     : public VarTemplateSpecializationDecl {
-  /// \brief The list of template parameters
+  /// The list of template parameters
   TemplateParameterList *TemplateParams = nullptr;
 
-  /// \brief The source info for the template arguments as written.
+  /// The source info for the template arguments as written.
   /// FIXME: redundant with TypeAsWritten?
   const ASTTemplateArgumentListInfo *ArgsAsWritten = nullptr;
 
-  /// \brief The variable template partial specialization from which this
+  /// The variable template partial specialization from which this
   /// variable template partial specialization was instantiated.
   ///
   /// The boolean value will be true to indicate that this variable template
@@ -2791,7 +2791,7 @@ public:
     return ArgsAsWritten;
   }
 
-  /// \brief Retrieve the member variable template partial specialization from
+  /// Retrieve the member variable template partial specialization from
   /// which this particular variable template partial specialization was
   /// instantiated.
   ///
@@ -2823,7 +2823,7 @@ public:
     First->InstantiatedFromMember.setPointer(PartialSpec);
   }
 
-  /// \brief Determines whether this variable template partial specialization
+  /// Determines whether this variable template partial specialization
   /// was a specialization of a member partial specialization.
   ///
   /// In the following example, the member template partial specialization
@@ -2845,7 +2845,7 @@ public:
     return First->InstantiatedFromMember.getInt();
   }
 
-  /// \brief Note that this member template is a specialization.
+  /// Note that this member template is a specialization.
   void setMemberSpecialization() {
     auto *First = cast<VarTemplatePartialSpecializationDecl>(getFirstDecl());
     assert(First->InstantiatedFromMember.getPointer() &&
@@ -2863,14 +2863,14 @@ public:
 /// Declaration of a variable template.
 class VarTemplateDecl : public RedeclarableTemplateDecl {
 protected:
-  /// \brief Data that is common to all of the declarations of a given
+  /// Data that is common to all of the declarations of a given
   /// variable template.
   struct Common : CommonBase {
-    /// \brief The variable template specializations for this variable
+    /// The variable template specializations for this variable
     /// template, including explicit specializations and instantiations.
     llvm::FoldingSetVector<VarTemplateSpecializationDecl> Specializations;
 
-    /// \brief The variable template partial specializations for this variable
+    /// The variable template partial specializations for this variable
     /// template.
     llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl>
     PartialSpecializations;
@@ -2878,11 +2878,11 @@ protected:
     Common() = default;
   };
 
-  /// \brief Retrieve the set of specializations of this variable template.
+  /// Retrieve the set of specializations of this variable template.
   llvm::FoldingSetVector<VarTemplateSpecializationDecl> &
   getSpecializations() const;
 
-  /// \brief Retrieve the set of partial specializations of this class
+  /// Retrieve the set of partial specializations of this class
   /// template.
   llvm::FoldingSetVector<VarTemplatePartialSpecializationDecl> &
   getPartialSpecializations();
@@ -2902,15 +2902,15 @@ public:
   friend class ASTDeclReader;
   friend class ASTDeclWriter;
 
-  /// \brief Load any lazily-loaded specializations from the external source.
+  /// Load any lazily-loaded specializations from the external source.
   void LoadLazySpecializations() const;
 
-  /// \brief Get the underlying variable declarations of the template.
+  /// Get the underlying variable declarations of the template.
   VarDecl *getTemplatedDecl() const {
     return static_cast<VarDecl *>(TemplatedDecl);
   }
 
-  /// \brief Returns whether this template declaration defines the primary
+  /// Returns whether this template declaration defines the primary
   /// variable pattern.
   bool isThisDeclarationADefinition() const {
     return getTemplatedDecl()->isThisDeclarationADefinition();
@@ -2918,21 +2918,21 @@ public:
 
   VarTemplateDecl *getDefinition();
 
-  /// \brief Create a variable template node.
+  /// Create a variable template node.
   static VarTemplateDecl *Create(ASTContext &C, DeclContext *DC,
                                  SourceLocation L, DeclarationName Name,
                                  TemplateParameterList *Params,
                                  VarDecl *Decl);
 
-  /// \brief Create an empty variable template node.
+  /// Create an empty variable template node.
   static VarTemplateDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 
-  /// \brief Return the specialization with the provided arguments if it exists,
+  /// Return the specialization with the provided arguments if it exists,
   /// otherwise return the insertion point.
   VarTemplateSpecializationDecl *
   findSpecialization(ArrayRef<TemplateArgument> Args, void *&InsertPos);
 
-  /// \brief Insert the specified specialization knowing that it is not already
+  /// Insert the specified specialization knowing that it is not already
   /// in. InsertPos must be obtained from findSpecialization.
   void AddSpecialization(VarTemplateSpecializationDecl *D, void *InsertPos);
 
@@ -2943,7 +2943,7 @@ public:
     return cast<VarTemplateDecl>(RedeclarableTemplateDecl::getCanonicalDecl());
   }
 
-  /// \brief Retrieve the previous declaration of this variable template, or
+  /// Retrieve the previous declaration of this variable template, or
   /// nullptr if no such declaration exists.
   VarTemplateDecl *getPreviousDecl() {
     return cast_or_null<VarTemplateDecl>(
@@ -2968,21 +2968,21 @@ public:
         RedeclarableTemplateDecl::getInstantiatedFromMemberTemplate());
   }
 
-  /// \brief Return the partial specialization with the provided arguments if it
+  /// Return the partial specialization with the provided arguments if it
   /// exists, otherwise return the insertion point.
   VarTemplatePartialSpecializationDecl *
   findPartialSpecialization(ArrayRef<TemplateArgument> Args, void *&InsertPos);
 
-  /// \brief Insert the specified partial specialization knowing that it is not
+  /// Insert the specified partial specialization knowing that it is not
   /// already in. InsertPos must be obtained from findPartialSpecialization.
   void AddPartialSpecialization(VarTemplatePartialSpecializationDecl *D,
                                 void *InsertPos);
 
-  /// \brief Retrieve the partial specializations as an ordered list.
+  /// Retrieve the partial specializations as an ordered list.
   void getPartialSpecializations(
       SmallVectorImpl<VarTemplatePartialSpecializationDecl *> &PS);
 
-  /// \brief Find a variable template partial specialization which was
+  /// Find a variable template partial specialization which was
   /// instantiated
   /// from the given member partial specialization.
   ///

Modified: cfe/trunk/include/clang/AST/DeclVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclVisitor.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclVisitor.h (original)
+++ cfe/trunk/include/clang/AST/DeclVisitor.h Tue May  8 18:00:01 2018
@@ -30,7 +30,7 @@ namespace declvisitor {
 template <typename T> struct make_ptr { using type = T *; };
 template <typename T> struct make_const_ptr { using type = const T *; };
 
-/// \brief A simple visitor class that helps create declaration visitors.
+/// A simple visitor class that helps create declaration visitors.
 template<template <typename> class Ptr, typename ImplClass, typename RetTy=void>
 class Base {
 public:
@@ -62,7 +62,7 @@ public:
 
 } // namespace declvisitor
 
-/// \brief A simple visitor class that helps create declaration visitors.
+/// A simple visitor class that helps create declaration visitors.
 ///
 /// This class does not preserve constness of Decl pointers (see also
 /// ConstDeclVisitor).
@@ -70,7 +70,7 @@ template<typename ImplClass, typename Re
 class DeclVisitor
  : public declvisitor::Base<declvisitor::make_ptr, ImplClass, RetTy> {};
 
-/// \brief A simple visitor class that helps create declaration visitors.
+/// A simple visitor class that helps create declaration visitors.
 ///
 /// This class preserves constness of Decl pointers (see also DeclVisitor).
 template<typename ImplClass, typename RetTy = void>

Modified: cfe/trunk/include/clang/AST/DeclarationName.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclarationName.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclarationName.h (original)
+++ cfe/trunk/include/clang/AST/DeclarationName.h Tue May  8 18:00:01 2018
@@ -194,7 +194,7 @@ public:
            (reinterpret_cast<IdentifierInfo *>(Ptr & ~PtrMask));
   }
 
-  /// \brief Evaluates true when this declaration name is empty.
+  /// Evaluates true when this declaration name is empty.
   bool isEmpty() const {
     return !*this;
   }
@@ -211,7 +211,7 @@ public:
   /// getNameKind - Determine what kind of name this is.
   NameKind getNameKind() const;
 
-  /// \brief Determines whether the name itself is dependent, e.g., because it 
+  /// Determines whether the name itself is dependent, e.g., because it 
   /// involves a C++ type that is itself dependent.
   ///
   /// Note that this does not capture all of the notions of "dependent name",
@@ -541,10 +541,10 @@ public:
     LocInfo.CXXLiteralOperatorName.OpNameLoc = Loc.getRawEncoding();
   }
 
-  /// \brief Determine whether this name involves a template parameter.
+  /// Determine whether this name involves a template parameter.
   bool isInstantiationDependent() const;
   
-  /// \brief Determine whether this name contains an unexpanded
+  /// Determine whether this name contains an unexpanded
   /// parameter pack.
   bool containsUnexpandedParameterPack() const;
 

Modified: cfe/trunk/include/clang/AST/EvaluatedExprVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/EvaluatedExprVisitor.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/EvaluatedExprVisitor.h (original)
+++ cfe/trunk/include/clang/AST/EvaluatedExprVisitor.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@ namespace clang {
   
 class ASTContext;
   
-/// \brief Given a potentially-evaluated expression, this visitor visits all
+/// Given a potentially-evaluated expression, this visitor visits all
 /// of its potentially-evaluated subexpressions, recursively.
 template<template <typename> class Ptr, typename ImplClass>
 class EvaluatedExprVisitorBase : public StmtVisitorBase<Ptr, ImplClass, void> {
@@ -95,7 +95,7 @@ public:
         this->Visit(*I);
   }
 
-  /// \brief The basis case walks all of the children of the statement or
+  /// The basis case walks all of the children of the statement or
   /// expression, assuming they are all potentially evaluated.
   void VisitStmt(PTR(Stmt) S) {
     for (auto *SubStmt : S->children())

Modified: cfe/trunk/include/clang/AST/Expr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Expr.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Expr.h (original)
+++ cfe/trunk/include/clang/AST/Expr.h Tue May  8 18:00:01 2018
@@ -52,10 +52,10 @@ namespace clang {
   class TargetInfo;
   class ValueDecl;
 
-/// \brief A simple array of base specifiers.
+/// A simple array of base specifiers.
 typedef SmallVector<CXXBaseSpecifier*, 4> CXXCastPath;
 
-/// \brief An adjustment to be made to the temporary created when emitting a
+/// An adjustment to be made to the temporary created when emitting a
 /// reference binding, which accesses a particular subobject of that temporary.
 struct SubobjectAdjustment {
   enum {
@@ -121,7 +121,7 @@ protected:
     setType(T);
   }
 
-  /// \brief Construct an empty expression.
+  /// Construct an empty expression.
   explicit Expr(StmtClass SC, EmptyShell) : Stmt(SC) { }
 
 public:
@@ -148,7 +148,7 @@ public:
   /// @endcode
   bool isValueDependent() const { return ExprBits.ValueDependent; }
 
-  /// \brief Set whether this expression is value-dependent or not.
+  /// Set whether this expression is value-dependent or not.
   void setValueDependent(bool VD) {
     ExprBits.ValueDependent = VD;
   }
@@ -166,12 +166,12 @@ public:
   /// @endcode
   bool isTypeDependent() const { return ExprBits.TypeDependent; }
 
-  /// \brief Set whether this expression is type-dependent or not.
+  /// Set whether this expression is type-dependent or not.
   void setTypeDependent(bool TD) {
     ExprBits.TypeDependent = TD;
   }
 
-  /// \brief Whether this expression is instantiation-dependent, meaning that
+  /// Whether this expression is instantiation-dependent, meaning that
   /// it depends in some way on a template parameter, even if neither its type
   /// nor (constant) value can change due to the template instantiation.
   ///
@@ -192,12 +192,12 @@ public:
     return ExprBits.InstantiationDependent;
   }
 
-  /// \brief Set whether this expression is instantiation-dependent or not.
+  /// Set whether this expression is instantiation-dependent or not.
   void setInstantiationDependent(bool ID) {
     ExprBits.InstantiationDependent = ID;
   }
 
-  /// \brief Whether this expression contains an unexpanded parameter
+  /// Whether this expression contains an unexpanded parameter
   /// pack (for C++11 variadic templates).
   ///
   /// Given the following function template:
@@ -215,7 +215,7 @@ public:
     return ExprBits.ContainsUnexpandedParameterPack;
   }
 
-  /// \brief Set the bit that describes whether this expression
+  /// Set the bit that describes whether this expression
   /// contains an unexpanded parameter pack.
   void setContainsUnexpandedParameterPack(bool PP = true) {
     ExprBits.ContainsUnexpandedParameterPack = PP;
@@ -297,11 +297,11 @@ public:
   isModifiableLvalueResult
   isModifiableLvalue(ASTContext &Ctx, SourceLocation *Loc = nullptr) const;
 
-  /// \brief The return type of classify(). Represents the C++11 expression
+  /// The return type of classify(). Represents the C++11 expression
   ///        taxonomy.
   class Classification {
   public:
-    /// \brief The various classification results. Most of these mean prvalue.
+    /// The various classification results. Most of these mean prvalue.
     enum Kinds {
       CL_LValue,
       CL_XValue,
@@ -316,7 +316,7 @@ public:
       CL_ObjCMessageRValue, // ObjC message is an rvalue
       CL_PRValue // A prvalue for any other reason, of any other type
     };
-    /// \brief The results of modification testing.
+    /// The results of modification testing.
     enum ModifiableType {
       CM_Untested, // testModifiable was false.
       CM_Modifiable,
@@ -356,13 +356,13 @@ public:
     bool isRValue() const { return Kind >= CL_XValue; }
     bool isModifiable() const { return getModifiable() == CM_Modifiable; }
 
-    /// \brief Create a simple, modifiably lvalue
+    /// Create a simple, modifiably lvalue
     static Classification makeSimpleLValue() {
       return Classification(CL_LValue, CM_Modifiable);
     }
 
   };
-  /// \brief Classify - Classify this expression according to the C++11
+  /// Classify - Classify this expression according to the C++11
   ///        expression taxonomy.
   ///
   /// C++11 defines ([basic.lval]) a new taxonomy of expressions to replace the
@@ -378,7 +378,7 @@ public:
     return ClassifyImpl(Ctx, nullptr);
   }
 
-  /// \brief ClassifyModifiable - Classify this expression according to the
+  /// ClassifyModifiable - Classify this expression according to the
   ///        C++11 expression taxonomy, and see if it is valid on the left side
   ///        of an assignment.
   ///
@@ -429,14 +429,14 @@ private:
 
 public:
 
-  /// \brief Returns true if this expression is a gl-value that
+  /// Returns true if this expression is a gl-value that
   /// potentially refers to a bit-field.
   ///
   /// In C++, whether a gl-value refers to a bitfield is essentially
   /// an aspect of the value-kind type system.
   bool refersToBitField() const { return getObjectKind() == OK_BitField; }
 
-  /// \brief If this expression refers to a bit-field, retrieve the
+  /// If this expression refers to a bit-field, retrieve the
   /// declaration of that bit-field.
   ///
   /// Note that this returns a non-null pointer in subtly different
@@ -454,26 +454,26 @@ public:
     return const_cast<Expr*>(this)->getReferencedDeclOfCallee();
   }
 
-  /// \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 *getObjCProperty() const;
 
-  /// \brief Check if this expression is the ObjC 'self' implicit parameter.
+  /// Check if this expression is the ObjC 'self' implicit parameter.
   bool isObjCSelfExpr() const;
 
-  /// \brief Returns whether this expression refers to a vector element.
+  /// Returns whether this expression refers to a vector element.
   bool refersToVectorElement() const;
 
-  /// \brief Returns whether this expression refers to a global register
+  /// Returns whether this expression refers to a global register
   /// variable.
   bool refersToGlobalRegisterVar() const;
 
-  /// \brief Returns whether this expression has a placeholder type.
+  /// Returns whether this expression has a placeholder type.
   bool hasPlaceholderType() const {
     return getType()->isPlaceholderType();
   }
 
-  /// \brief Returns whether this expression has a specific placeholder type.
+  /// Returns whether this expression has a specific placeholder type.
   bool hasPlaceholderType(BuiltinType::Kind K) const {
     assert(BuiltinType::isPlaceholderTypeKind(K));
     if (const BuiltinType *BT = dyn_cast<BuiltinType>(getType()))
@@ -539,11 +539,11 @@ public:
 
   /// EvalStatus is a struct with detailed info about an evaluation in progress.
   struct EvalStatus {
-    /// \brief Whether the evaluated expression has side effects.
+    /// Whether the evaluated expression has side effects.
     /// For example, (f() && 0) can be folded, but it still has side effects.
     bool HasSideEffects;
 
-    /// \brief Whether the evaluation hit undefined behavior.
+    /// Whether the evaluation hit undefined behavior.
     /// For example, 1.0 / 0.0 can be folded to Inf, but has undefined behavior.
     /// Likewise, INT_MAX + 1 can be folded to INT_MIN, but has UB.
     bool HasUndefinedBehavior;
@@ -625,7 +625,7 @@ public:
   bool HasSideEffects(const ASTContext &Ctx,
                       bool IncludePossibleEffects = true) const;
 
-  /// \brief Determine whether this expression involves a call to any function
+  /// Determine whether this expression involves a call to any function
   /// that is not trivial.
   bool hasNonTrivialCall(const ASTContext &Ctx) const;
 
@@ -658,7 +658,7 @@ public:
                                 ArrayRef<const Expr*> Args,
                                 const Expr *This = nullptr) const;
 
-  /// \brief If the current Expr is a pointer, this will try to statically
+  /// If the current Expr is a pointer, this will try to statically
   /// determine the number of bytes available where the pointer is pointing.
   /// Returns true if all of the above holds and we were able to figure out the
   /// size, false otherwise.
@@ -668,40 +668,40 @@ public:
   bool tryEvaluateObjectSize(uint64_t &Result, ASTContext &Ctx,
                              unsigned Type) const;
 
-  /// \brief Enumeration used to describe the kind of Null pointer constant
+  /// Enumeration used to describe the kind of Null pointer constant
   /// returned from \c isNullPointerConstant().
   enum NullPointerConstantKind {
-    /// \brief Expression is not a Null pointer constant.
+    /// Expression is not a Null pointer constant.
     NPCK_NotNull = 0,
 
-    /// \brief Expression is a Null pointer constant built from a zero integer
+    /// Expression is a Null pointer constant built from a zero integer
     /// expression that is not a simple, possibly parenthesized, zero literal.
     /// C++ Core Issue 903 will classify these expressions as "not pointers"
     /// once it is adopted.
     /// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#903
     NPCK_ZeroExpression,
 
-    /// \brief Expression is a Null pointer constant built from a literal zero.
+    /// Expression is a Null pointer constant built from a literal zero.
     NPCK_ZeroLiteral,
 
-    /// \brief Expression is a C++11 nullptr.
+    /// Expression is a C++11 nullptr.
     NPCK_CXX11_nullptr,
 
-    /// \brief Expression is a GNU-style __null constant.
+    /// Expression is a GNU-style __null constant.
     NPCK_GNUNull
   };
 
-  /// \brief Enumeration used to describe how \c isNullPointerConstant()
+  /// Enumeration used to describe how \c isNullPointerConstant()
   /// should cope with value-dependent expressions.
   enum NullPointerConstantValueDependence {
-    /// \brief Specifies that the expression should never be value-dependent.
+    /// Specifies that the expression should never be value-dependent.
     NPC_NeverValueDependent = 0,
 
-    /// \brief Specifies that a value-dependent expression of integral or
+    /// Specifies that a value-dependent expression of integral or
     /// dependent type should be considered a null pointer constant.
     NPC_ValueDependentIsNull,
 
-    /// \brief Specifies that a value-dependent expression should be considered
+    /// Specifies that a value-dependent expression should be considered
     /// to never be a null pointer constant.
     NPC_ValueDependentIsNotNull
   };
@@ -717,10 +717,10 @@ public:
   /// write barrier.
   bool isOBJCGCCandidate(ASTContext &Ctx) const;
 
-  /// \brief Returns true if this expression is a bound member function.
+  /// Returns true if this expression is a bound member function.
   bool isBoundMemberFunction(ASTContext &Ctx) const;
 
-  /// \brief Given an expression of bound-member type, find the type
+  /// Given an expression of bound-member type, find the type
   /// of the member.  Returns null if this is an *overloaded* bound
   /// member expression.
   static QualType findBoundMemberType(const Expr *expr);
@@ -788,7 +788,7 @@ public:
     return const_cast<Expr*>(this)->ignoreParenBaseCasts();
   }
 
-  /// \brief Determine whether this expression is a default function argument.
+  /// Determine whether this expression is a default function argument.
   ///
   /// Default arguments are implicitly generated in the abstract syntax tree
   /// by semantic analysis for function calls, object constructions, etc. in
@@ -797,11 +797,11 @@ public:
   /// the expression is a default argument.
   bool isDefaultArgument() const;
 
-  /// \brief Determine whether the result of this expression is a
+  /// Determine whether the result of this expression is a
   /// temporary object of the given class type.
   bool isTemporaryObject(ASTContext &Ctx, const CXXRecordDecl *TempTy) const;
 
-  /// \brief Whether this expression is an implicit reference to 'this' in C++.
+  /// Whether this expression is an implicit reference to 'this' in C++.
   bool isImplicitCXXThis() const;
 
   const Expr *IgnoreImpCasts() const LLVM_READONLY {
@@ -824,7 +824,7 @@ public:
 
   static bool hasAnyTypeDependentArguments(ArrayRef<Expr *> Exprs);
 
-  /// \brief For an expression of class type or pointer to class type,
+  /// For an expression of class type or pointer to class type,
   /// return the most derived class decl the expression is known to refer to.
   ///
   /// If this expression is a cast, this method looks through it to find the
@@ -833,7 +833,7 @@ public:
   /// behavior if the object isn't dynamically of the derived type.
   const CXXRecordDecl *getBestDynamicClassType() const;
 
-  /// \brief Get the inner expression that determines the best dynamic class.
+  /// Get the inner expression that determines the best dynamic class.
   /// If this is a prvalue, we guarantee that it is of the most-derived type
   /// for the object itself.
   const Expr *getBestDynamicClassTypeExpr() const;
@@ -894,7 +894,7 @@ public:
   explicit OpaqueValueExpr(EmptyShell Empty)
     : Expr(OpaqueValueExprClass, Empty) { }
 
-  /// \brief Retrieve the location of this expression.
+  /// Retrieve the location of this expression.
   SourceLocation getLocation() const { return Loc; }
 
   SourceLocation getLocStart() const LLVM_READONLY {
@@ -939,7 +939,7 @@ public:
   }
 };
 
-/// \brief A reference to a declared variable, function, enum, etc.
+/// A reference to a declared variable, function, enum, etc.
 /// [C99 6.5.1p2]
 ///
 /// This encodes all the information about how a declaration is referenced
@@ -967,13 +967,13 @@ class DeclRefExpr final
       private llvm::TrailingObjects<DeclRefExpr, NestedNameSpecifierLoc,
                                     NamedDecl *, ASTTemplateKWAndArgsInfo,
                                     TemplateArgumentLoc> {
-  /// \brief The declaration that we are referencing.
+  /// The declaration that we are referencing.
   ValueDecl *D;
 
-  /// \brief The location of the declaration name itself.
+  /// The location of the declaration name itself.
   SourceLocation Loc;
 
-  /// \brief Provides source/type location info for the declaration name
+  /// Provides source/type location info for the declaration name
   /// embedded in D.
   DeclarationNameLoc DNLoc;
 
@@ -989,7 +989,7 @@ class DeclRefExpr final
     return hasTemplateKWAndArgsInfo() ? 1 : 0;
   }
 
-  /// \brief Test whether there is a distinct FoundDecl attached to the end of
+  /// Test whether there is a distinct FoundDecl attached to the end of
   /// this DRE.
   bool hasFoundDecl() const { return DeclRefExprBits.HasFoundDecl; }
 
@@ -1002,11 +1002,11 @@ class DeclRefExpr final
               const TemplateArgumentListInfo *TemplateArgs,
               QualType T, ExprValueKind VK);
 
-  /// \brief Construct an empty declaration reference expression.
+  /// Construct an empty declaration reference expression.
   explicit DeclRefExpr(EmptyShell Empty)
     : Expr(DeclRefExprClass, Empty) { }
 
-  /// \brief Computes the type- and value-dependence flags for this
+  /// Computes the type- and value-dependence flags for this
   /// declaration reference expression.
   void computeDependence(const ASTContext &C);
 
@@ -1040,7 +1040,7 @@ public:
          NamedDecl *FoundD = nullptr,
          const TemplateArgumentListInfo *TemplateArgs = nullptr);
 
-  /// \brief Construct an empty declaration reference expression.
+  /// Construct an empty declaration reference expression.
   static DeclRefExpr *CreateEmpty(const ASTContext &Context,
                                   bool HasQualifier,
                                   bool HasFoundDecl,
@@ -1060,11 +1060,11 @@ public:
   SourceLocation getLocStart() const LLVM_READONLY;
   SourceLocation getLocEnd() const LLVM_READONLY;
 
-  /// \brief Determine whether this declaration reference was preceded by a
+  /// Determine whether this declaration reference was preceded by a
   /// C++ nested-name-specifier, e.g., \c N::foo.
   bool hasQualifier() const { return DeclRefExprBits.HasQualifier; }
 
-  /// \brief If the name was qualified, retrieves the nested-name-specifier
+  /// If the name was qualified, retrieves the nested-name-specifier
   /// that precedes the name, with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const {
     if (!hasQualifier())
@@ -1072,13 +1072,13 @@ public:
     return *getTrailingObjects<NestedNameSpecifierLoc>();
   }
 
-  /// \brief If the name was qualified, retrieves the nested-name-specifier
+  /// If the name was qualified, retrieves the nested-name-specifier
   /// that precedes the name. Otherwise, returns NULL.
   NestedNameSpecifier *getQualifier() const {
     return getQualifierLoc().getNestedNameSpecifier();
   }
 
-  /// \brief Get the NamedDecl through which this reference occurred.
+  /// Get the NamedDecl through which this reference occurred.
   ///
   /// This Decl may be different from the ValueDecl actually referred to in the
   /// presence of using declarations, etc. It always returns non-NULL, and may
@@ -1088,7 +1088,7 @@ public:
     return hasFoundDecl() ? *getTrailingObjects<NamedDecl *>() : D;
   }
 
-  /// \brief Get the NamedDecl through which this reference occurred.
+  /// Get the NamedDecl through which this reference occurred.
   /// See non-const variant.
   const NamedDecl *getFoundDecl() const {
     return hasFoundDecl() ? *getTrailingObjects<NamedDecl *>() : D;
@@ -1098,36 +1098,36 @@ public:
     return DeclRefExprBits.HasTemplateKWAndArgsInfo;
   }
 
-  /// \brief Retrieve the location of the template keyword preceding
+  /// Retrieve the location of the template keyword preceding
   /// this name, if any.
   SourceLocation getTemplateKeywordLoc() const {
     if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
   }
 
-  /// \brief Retrieve the location of the left angle bracket starting the
+  /// Retrieve the location of the left angle bracket starting the
   /// explicit template argument list following the name, if any.
   SourceLocation getLAngleLoc() const {
     if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
   }
 
-  /// \brief Retrieve the location of the right angle bracket ending the
+  /// Retrieve the location of the right angle bracket ending the
   /// explicit template argument list following the name, if any.
   SourceLocation getRAngleLoc() const {
     if (!hasTemplateKWAndArgsInfo()) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->RAngleLoc;
   }
 
-  /// \brief Determines whether the name in this declaration reference
+  /// Determines whether the name in this declaration reference
   /// was preceded by the template keyword.
   bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
 
-  /// \brief Determines whether this declaration reference was followed by an
+  /// Determines whether this declaration reference was followed by an
   /// explicit template argument list.
   bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
 
-  /// \brief Copies the template arguments (if present) into the given
+  /// Copies the template arguments (if present) into the given
   /// structure.
   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
     if (hasExplicitTemplateArgs())
@@ -1135,7 +1135,7 @@ public:
           getTrailingObjects<TemplateArgumentLoc>(), List);
   }
 
-  /// \brief Retrieve the template arguments provided as part of this
+  /// Retrieve the template arguments provided as part of this
   /// template-id.
   const TemplateArgumentLoc *getTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -1144,7 +1144,7 @@ public:
     return getTrailingObjects<TemplateArgumentLoc>();
   }
 
-  /// \brief Retrieve the number of template arguments provided as part of this
+  /// Retrieve the number of template arguments provided as part of this
   /// template-id.
   unsigned getNumTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -1157,19 +1157,19 @@ public:
     return {getTemplateArgs(), getNumTemplateArgs()};
   }
 
-  /// \brief Returns true if this expression refers to a function that
+  /// Returns true if this expression refers to a function that
   /// was resolved from an overloaded set having size greater than 1.
   bool hadMultipleCandidates() const {
     return DeclRefExprBits.HadMultipleCandidates;
   }
-  /// \brief Sets the flag telling whether this expression refers to
+  /// Sets the flag telling whether this expression refers to
   /// a function that was resolved from an overloaded set having size
   /// greater than 1.
   void setHadMultipleCandidates(bool V = true) {
     DeclRefExprBits.HadMultipleCandidates = V;
   }
 
-  /// \brief Does this DeclRefExpr refer to an enclosing local or a captured
+  /// Does this DeclRefExpr refer to an enclosing local or a captured
   /// variable?
   bool refersToEnclosingVariableOrCapture() const {
     return DeclRefExprBits.RefersToEnclosingVariableOrCapture;
@@ -1193,7 +1193,7 @@ public:
   friend class ASTStmtWriter;
 };
 
-/// \brief [C99 6.4.2.2] - A predefined identifier such as __func__.
+/// [C99 6.4.2.2] - A predefined identifier such as __func__.
 class PredefinedExpr : public Expr {
 public:
   enum IdentType {
@@ -1203,7 +1203,7 @@ public:
     FuncDName,
     FuncSig,
     PrettyFunction,
-    /// \brief The same as PrettyFunction, except that the
+    /// The same as PrettyFunction, except that the
     /// 'virtual' keyword is omitted for virtual member functions.
     PrettyFunctionNoVirtual
   };
@@ -1217,7 +1217,7 @@ public:
   PredefinedExpr(SourceLocation L, QualType FNTy, IdentType IT,
                  StringLiteral *SL);
 
-  /// \brief Construct an empty predefined expression.
+  /// Construct an empty predefined expression.
   explicit PredefinedExpr(EmptyShell Empty)
       : Expr(PredefinedExprClass, Empty), Loc(), Type(Func), FnName(nullptr) {}
 
@@ -1250,7 +1250,7 @@ public:
   friend class ASTStmtReader;
 };
 
-/// \brief Used by IntegerLiteral/FloatingLiteral to store the numeric without
+/// Used by IntegerLiteral/FloatingLiteral to store the numeric without
 /// leaking memory.
 ///
 /// For large floats/integers, APFloat/APInt will allocate memory from the heap
@@ -1304,7 +1304,7 @@ public:
 class IntegerLiteral : public Expr, public APIntStorage {
   SourceLocation Loc;
 
-  /// \brief Construct an empty integer literal.
+  /// Construct an empty integer literal.
   explicit IntegerLiteral(EmptyShell Empty)
     : Expr(IntegerLiteralClass, Empty) { }
 
@@ -1314,19 +1314,19 @@ public:
   IntegerLiteral(const ASTContext &C, const llvm::APInt &V, QualType type,
                  SourceLocation l);
 
-  /// \brief Returns a new integer literal with value 'V' and type 'type'.
+  /// Returns a new integer literal with value 'V' and type 'type'.
   /// \param type - either IntTy, LongTy, LongLongTy, UnsignedIntTy,
   /// UnsignedLongTy, or UnsignedLongLongTy which should match the size of V
   /// \param V - the value that the returned integer literal contains.
   static IntegerLiteral *Create(const ASTContext &C, const llvm::APInt &V,
                                 QualType type, SourceLocation l);
-  /// \brief Returns a new empty integer literal.
+  /// Returns a new empty integer literal.
   static IntegerLiteral *Create(const ASTContext &C, EmptyShell Empty);
 
   SourceLocation getLocStart() const LLVM_READONLY { return Loc; }
   SourceLocation getLocEnd() const LLVM_READONLY { return Loc; }
 
-  /// \brief Retrieve the location of the literal.
+  /// Retrieve the location of the literal.
   SourceLocation getLocation() const { return Loc; }
 
   void setLocation(SourceLocation Location) { Loc = Location; }
@@ -1367,7 +1367,7 @@ public:
     CharacterLiteralBits.Kind = kind;
   }
 
-  /// \brief Construct an empty character literal.
+  /// Construct an empty character literal.
   CharacterLiteral(EmptyShell Empty) : Expr(CharacterLiteralClass, Empty) { }
 
   SourceLocation getLocation() const { return Loc; }
@@ -1403,7 +1403,7 @@ class FloatingLiteral : public Expr, pri
   FloatingLiteral(const ASTContext &C, const llvm::APFloat &V, bool isexact,
                   QualType Type, SourceLocation L);
 
-  /// \brief Construct an empty floating-point literal.
+  /// Construct an empty floating-point literal.
   explicit FloatingLiteral(const ASTContext &C, EmptyShell Empty);
 
 public:
@@ -1477,7 +1477,7 @@ public:
            false, false),
       Val(val) {}
 
-  /// \brief Build an empty imaginary literal.
+  /// Build an empty imaginary literal.
   explicit ImaginaryLiteral(EmptyShell Empty)
     : Expr(ImaginaryLiteralClass, Empty) { }
 
@@ -1560,7 +1560,7 @@ public:
     return Create(C, Str, Kind, Pascal, Ty, &Loc, 1);
   }
 
-  /// \brief Construct an empty string literal.
+  /// Construct an empty string literal.
   static StringLiteral *CreateEmpty(const ASTContext &C, unsigned NumStrs);
 
   StringRef getString() const {
@@ -1599,7 +1599,7 @@ public:
   unsigned getLength() const { return Length; }
   unsigned getCharByteWidth() const { return CharByteWidth; }
 
-  /// \brief Sets the string data to the given string data.
+  /// Sets the string data to the given string data.
   void setString(const ASTContext &C, StringRef Str,
                  StringKind Kind, bool IsPascal);
 
@@ -1683,7 +1683,7 @@ public:
            val->containsUnexpandedParameterPack()),
       L(l), R(r), Val(val) {}
 
-  /// \brief Construct an empty parenthesized expression.
+  /// Construct an empty parenthesized expression.
   explicit ParenExpr(EmptyShell Empty)
     : Expr(ParenExprClass, Empty) { }
 
@@ -1694,11 +1694,11 @@ public:
   SourceLocation getLocStart() const LLVM_READONLY { return L; }
   SourceLocation getLocEnd() const LLVM_READONLY { return R; }
 
-  /// \brief Get the location of the left parentheses '('.
+  /// Get the location of the left parentheses '('.
   SourceLocation getLParen() const { return L; }
   void setLParen(SourceLocation Loc) { L = Loc; }
 
-  /// \brief Get the location of the right parentheses ')'.
+  /// Get the location of the right parentheses ')'.
   SourceLocation getRParen() const { return R; }
   void setRParen(SourceLocation Loc) { R = Loc; }
 
@@ -1743,7 +1743,7 @@ public:
              input->containsUnexpandedParameterPack()),
         Opc(opc), CanOverflow(CanOverflow), Loc(l), Val(input) {}
 
-  /// \brief Build an empty unary operator.
+  /// Build an empty unary operator.
   explicit UnaryOperator(EmptyShell Empty)
     : Expr(UnaryOperatorClass, Empty), Opc(UO_AddrOf) { }
 
@@ -1807,11 +1807,11 @@ public:
   /// corresponds to, e.g. "sizeof" or "[pre]++"
   static StringRef getOpcodeStr(Opcode Op);
 
-  /// \brief Retrieve the unary opcode that corresponds to the given
+  /// Retrieve the unary opcode that corresponds to the given
   /// overloaded operator.
   static Opcode getOverloadedOpcode(OverloadedOperatorKind OO, bool Postfix);
 
-  /// \brief Retrieve the overloaded operator kind that corresponds to
+  /// Retrieve the overloaded operator kind that corresponds to
   /// the given unary opcode.
   static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
 
@@ -1839,15 +1839,15 @@ public:
 // __builtin_offsetof(type, identifier(.identifier|[expr])*)
 class OffsetOfNode {
 public:
-  /// \brief The kind of offsetof node we have.
+  /// The kind of offsetof node we have.
   enum Kind {
-    /// \brief An index into an array.
+    /// An index into an array.
     Array = 0x00,
-    /// \brief A field.
+    /// A field.
     Field = 0x01,
-    /// \brief A field in a dependent type, known only by its name.
+    /// A field in a dependent type, known only by its name.
     Identifier = 0x02,
-    /// \brief An implicit indirection through a C++ base class, when the
+    /// An implicit indirection through a C++ base class, when the
     /// field found is in a base class.
     Base = 0x03
   };
@@ -1855,10 +1855,10 @@ public:
 private:
   enum { MaskBits = 2, Mask = 0x03 };
 
-  /// \brief The source range that covers this part of the designator.
+  /// The source range that covers this part of the designator.
   SourceRange Range;
 
-  /// \brief The data describing the designator, which comes in three
+  /// The data describing the designator, which comes in three
   /// different forms, depending on the lower two bits.
   ///   - An unsigned index into the array of Expr*'s stored after this node
   ///     in memory, for [constant-expression] designators.
@@ -1870,53 +1870,53 @@ private:
   uintptr_t Data;
 
 public:
-  /// \brief Create an offsetof node that refers to an array element.
+  /// Create an offsetof node that refers to an array element.
   OffsetOfNode(SourceLocation LBracketLoc, unsigned Index,
                SourceLocation RBracketLoc)
       : Range(LBracketLoc, RBracketLoc), Data((Index << 2) | Array) {}
 
-  /// \brief Create an offsetof node that refers to a field.
+  /// Create an offsetof node that refers to a field.
   OffsetOfNode(SourceLocation DotLoc, FieldDecl *Field, SourceLocation NameLoc)
       : Range(DotLoc.isValid() ? DotLoc : NameLoc, NameLoc),
         Data(reinterpret_cast<uintptr_t>(Field) | OffsetOfNode::Field) {}
 
-  /// \brief Create an offsetof node that refers to an identifier.
+  /// Create an offsetof node that refers to an identifier.
   OffsetOfNode(SourceLocation DotLoc, IdentifierInfo *Name,
                SourceLocation NameLoc)
       : Range(DotLoc.isValid() ? DotLoc : NameLoc, NameLoc),
         Data(reinterpret_cast<uintptr_t>(Name) | Identifier) {}
 
-  /// \brief Create an offsetof node that refers into a C++ base class.
+  /// Create an offsetof node that refers into a C++ base class.
   explicit OffsetOfNode(const CXXBaseSpecifier *Base)
       : Range(), Data(reinterpret_cast<uintptr_t>(Base) | OffsetOfNode::Base) {}
 
-  /// \brief Determine what kind of offsetof node this is.
+  /// Determine what kind of offsetof node this is.
   Kind getKind() const { return static_cast<Kind>(Data & Mask); }
 
-  /// \brief For an array element node, returns the index into the array
+  /// For an array element node, returns the index into the array
   /// of expressions.
   unsigned getArrayExprIndex() const {
     assert(getKind() == Array);
     return Data >> 2;
   }
 
-  /// \brief For a field offsetof node, returns the field.
+  /// For a field offsetof node, returns the field.
   FieldDecl *getField() const {
     assert(getKind() == Field);
     return reinterpret_cast<FieldDecl *>(Data & ~(uintptr_t)Mask);
   }
 
-  /// \brief For a field or identifier offsetof node, returns the name of
+  /// For a field or identifier offsetof node, returns the name of
   /// the field.
   IdentifierInfo *getFieldName() const;
 
-  /// \brief For a base class node, returns the base specifier.
+  /// For a base class node, returns the base specifier.
   CXXBaseSpecifier *getBase() const {
     assert(getKind() == Base);
     return reinterpret_cast<CXXBaseSpecifier *>(Data & ~(uintptr_t)Mask);
   }
 
-  /// \brief Retrieve the source range that covers this offsetof node.
+  /// Retrieve the source range that covers this offsetof node.
   ///
   /// For an array element node, the source range contains the locations of
   /// the square brackets. For a field or identifier node, the source range
@@ -1979,7 +1979,7 @@ public:
   SourceLocation getOperatorLoc() const { return OperatorLoc; }
   void setOperatorLoc(SourceLocation L) { OperatorLoc = L; }
 
-  /// \brief Return the location of the right parentheses.
+  /// Return the location of the right parentheses.
   SourceLocation getRParenLoc() const { return RParenLoc; }
   void setRParenLoc(SourceLocation R) { RParenLoc = R; }
 
@@ -2073,7 +2073,7 @@ public:
                            QualType resultType, SourceLocation op,
                            SourceLocation rp);
 
-  /// \brief Construct an empty sizeof/alignof expression.
+  /// Construct an empty sizeof/alignof expression.
   explicit UnaryExprOrTypeTraitExpr(EmptyShell Empty)
     : Expr(UnaryExprOrTypeTraitExprClass, Empty) { }
 
@@ -2156,7 +2156,7 @@ public:
     SubExprs[RHS] = rhs;
   }
 
-  /// \brief Create an empty array subscript expression.
+  /// Create an empty array subscript expression.
   explicit ArraySubscriptExpr(EmptyShell Shell)
     : Expr(ArraySubscriptExprClass, Shell) { }
 
@@ -2261,7 +2261,7 @@ public:
   CallExpr(const ASTContext& C, Expr *fn, ArrayRef<Expr*> args, QualType t,
            ExprValueKind VK, SourceLocation rparenloc);
 
-  /// \brief Build an empty call expression.
+  /// Build an empty call expression.
   CallExpr(const ASTContext &C, StmtClass SC, EmptyShell Empty);
 
   const Expr *getCallee() const { return cast<Expr>(SubExprs[FN]); }
@@ -2273,7 +2273,7 @@ public:
     return const_cast<CallExpr*>(this)->getCalleeDecl();
   }
 
-  /// \brief If the callee is a FunctionDecl, return it. Otherwise return 0.
+  /// If the callee is a FunctionDecl, return it. Otherwise return 0.
   FunctionDecl *getDirectCallee();
   const FunctionDecl *getDirectCallee() const {
     return const_cast<CallExpr*>(this)->getDirectCallee();
@@ -2283,7 +2283,7 @@ public:
   ///
   unsigned getNumArgs() const { return NumArgs; }
 
-  /// \brief Retrieve the call arguments.
+  /// Retrieve the call arguments.
   Expr **getArgs() {
     return reinterpret_cast<Expr **>(SubExprs+getNumPreArgs()+PREARGS_START);
   }
@@ -2351,7 +2351,7 @@ public:
   /// of the callee. If not, return 0.
   unsigned getBuiltinCallee() const;
 
-  /// \brief Returns \c true if this is a call to a builtin which does not
+  /// Returns \c true if this is a call to a builtin which does not
   /// evaluate side-effects within its arguments.
   bool isUnevaluatedBuiltinCall(const ASTContext &Ctx) const;
 
@@ -2395,11 +2395,11 @@ public:
 
 /// Extra data stored in some MemberExpr objects.
 struct MemberExprNameQualifier {
-  /// \brief The nested-name-specifier that qualifies the name, including
+  /// The nested-name-specifier that qualifies the name, including
   /// source-location information.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief The DeclAccessPair through which the MemberDecl was found due to
+  /// The DeclAccessPair through which the MemberDecl was found due to
   /// name qualifiers.
   DeclAccessPair FoundDecl;
 };
@@ -2432,20 +2432,20 @@ class MemberExpr final
   /// IsArrow - True if this is "X->F", false if this is "X.F".
   bool IsArrow : 1;
 
-  /// \brief True if this member expression used a nested-name-specifier to
+  /// True if this member expression used a nested-name-specifier to
   /// refer to the member, e.g., "x->Base::f", or found its member via a using
   /// declaration.  When true, a MemberExprNameQualifier
   /// structure is allocated immediately after the MemberExpr.
   bool HasQualifierOrFoundDecl : 1;
 
-  /// \brief True if this member expression specified a template keyword
+  /// True if this member expression specified a template keyword
   /// and/or a template argument list explicitly, e.g., x->f<int>,
   /// x->template f, x->template f<int>.
   /// When true, an ASTTemplateKWAndArgsInfo structure and its
   /// TemplateArguments (if any) are present.
   bool HasTemplateKWAndArgsInfo : 1;
 
-  /// \brief True if this member expression refers to a method that
+  /// True if this member expression refers to a method that
   /// was resolved from an overloaded set having size greater than 1.
   bool HadMultipleCandidates : 1;
 
@@ -2498,14 +2498,14 @@ public:
   void setBase(Expr *E) { Base = E; }
   Expr *getBase() const { return cast<Expr>(Base); }
 
-  /// \brief Retrieve the member declaration to which this expression refers.
+  /// Retrieve the member declaration to which this expression refers.
   ///
   /// The returned declaration will be a FieldDecl or (in C++) a VarDecl (for
   /// static data members), a CXXMethodDecl, or an EnumConstantDecl.
   ValueDecl *getMemberDecl() const { return MemberDecl; }
   void setMemberDecl(ValueDecl *D) { MemberDecl = D; }
 
-  /// \brief Retrieves the declaration found by lookup.
+  /// Retrieves the declaration found by lookup.
   DeclAccessPair getFoundDecl() const {
     if (!HasQualifierOrFoundDecl)
       return DeclAccessPair::make(getMemberDecl(),
@@ -2513,12 +2513,12 @@ public:
     return getTrailingObjects<MemberExprNameQualifier>()->FoundDecl;
   }
 
-  /// \brief Determines whether this member expression actually had
+  /// Determines whether this member expression actually had
   /// a C++ nested-name-specifier prior to the name of the member, e.g.,
   /// x->Base::foo.
   bool hasQualifier() const { return getQualifier() != nullptr; }
 
-  /// \brief If the member name was qualified, retrieves the
+  /// If the member name was qualified, retrieves the
   /// nested-name-specifier that precedes the member name, with source-location
   /// information.
   NestedNameSpecifierLoc getQualifierLoc() const {
@@ -2528,28 +2528,28 @@ public:
     return getTrailingObjects<MemberExprNameQualifier>()->QualifierLoc;
   }
 
-  /// \brief If the member name was qualified, retrieves the
+  /// If the member name was qualified, retrieves the
   /// nested-name-specifier that precedes the member name. Otherwise, returns
   /// NULL.
   NestedNameSpecifier *getQualifier() const {
     return getQualifierLoc().getNestedNameSpecifier();
   }
 
-  /// \brief Retrieve the location of the template keyword preceding
+  /// Retrieve the location of the template keyword preceding
   /// the member name, if any.
   SourceLocation getTemplateKeywordLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
   }
 
-  /// \brief Retrieve the location of the left angle bracket starting the
+  /// Retrieve the location of the left angle bracket starting the
   /// explicit template argument list following the member name, if any.
   SourceLocation getLAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
   }
 
-  /// \brief Retrieve the location of the right angle bracket ending the
+  /// Retrieve the location of the right angle bracket ending the
   /// explicit template argument list following the member name, if any.
   SourceLocation getRAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
@@ -2559,11 +2559,11 @@ public:
   /// Determines whether the member name was preceded by the template keyword.
   bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
 
-  /// \brief Determines whether the member name was followed by an
+  /// Determines whether the member name was followed by an
   /// explicit template argument list.
   bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
 
-  /// \brief Copies the template arguments (if present) into the given
+  /// Copies the template arguments (if present) into the given
   /// structure.
   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
     if (hasExplicitTemplateArgs())
@@ -2571,7 +2571,7 @@ public:
           getTrailingObjects<TemplateArgumentLoc>(), List);
   }
 
-  /// \brief Retrieve the template arguments provided as part of this
+  /// Retrieve the template arguments provided as part of this
   /// template-id.
   const TemplateArgumentLoc *getTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -2580,7 +2580,7 @@ public:
     return getTrailingObjects<TemplateArgumentLoc>();
   }
 
-  /// \brief Retrieve the number of template arguments provided as part of this
+  /// Retrieve the number of template arguments provided as part of this
   /// template-id.
   unsigned getNumTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -2593,7 +2593,7 @@ public:
     return {getTemplateArgs(), getNumTemplateArgs()};
   }
 
-  /// \brief Retrieve the member declaration name info.
+  /// Retrieve the member declaration name info.
   DeclarationNameInfo getMemberNameInfo() const {
     return DeclarationNameInfo(MemberDecl->getDeclName(),
                                MemberLoc, MemberDNLoc);
@@ -2614,24 +2614,24 @@ public:
 
   SourceLocation getExprLoc() const LLVM_READONLY { return MemberLoc; }
 
-  /// \brief Determine whether the base of this explicit is implicit.
+  /// Determine whether the base of this explicit is implicit.
   bool isImplicitAccess() const {
     return getBase() && getBase()->isImplicitCXXThis();
   }
 
-  /// \brief Returns true if this member expression refers to a method that
+  /// Returns true if this member expression refers to a method that
   /// was resolved from an overloaded set having size greater than 1.
   bool hadMultipleCandidates() const {
     return HadMultipleCandidates;
   }
-  /// \brief Sets the flag telling whether this expression refers to
+  /// Sets the flag telling whether this expression refers to
   /// a method that was resolved from an overloaded set having size
   /// greater than 1.
   void setHadMultipleCandidates(bool V = true) {
     HadMultipleCandidates = V;
   }
 
-  /// \brief Returns true if virtual dispatch is performed.
+  /// Returns true if virtual dispatch is performed.
   /// If the member access is fully qualified, (i.e. X::f()), virtual
   /// dispatching is not performed. In -fapple-kext mode qualified
   /// calls to virtual method will still go through the vtable.
@@ -2678,7 +2678,7 @@ public:
            init->containsUnexpandedParameterPack()),
       LParenLoc(lparenloc), TInfoAndScope(tinfo, fileScope), Init(init) {}
 
-  /// \brief Construct an empty compound literal.
+  /// Construct an empty compound literal.
   explicit CompoundLiteralExpr(EmptyShell Empty)
     : Expr(CompoundLiteralExprClass, Empty) { }
 
@@ -2769,7 +2769,7 @@ protected:
     assert(CastConsistency());
   }
 
-  /// \brief Construct an empty cast.
+  /// Construct an empty cast.
   CastExpr(StmtClass SC, EmptyShell Empty, unsigned BasePathSize)
     : Expr(SC, Empty) {
     setBasePathSize(BasePathSize);
@@ -2786,7 +2786,7 @@ public:
   const Expr *getSubExpr() const { return cast<Expr>(Op); }
   void setSubExpr(Expr *E) { Op = E; }
 
-  /// \brief Retrieve the cast subexpression as it was written in the source
+  /// Retrieve the cast subexpression as it was written in the source
   /// code, looking through any implicit casts or other intermediate nodes
   /// introduced by semantic analysis.
   Expr *getSubExprAsWritten();
@@ -2852,7 +2852,7 @@ private:
     : CastExpr(ImplicitCastExprClass, ty, VK, kind, op, BasePathLength) {
   }
 
-  /// \brief Construct an empty implicit cast.
+  /// Construct an empty implicit cast.
   explicit ImplicitCastExpr(EmptyShell Shell, unsigned PathSize)
     : CastExpr(ImplicitCastExprClass, Shell, PathSize) { }
 
@@ -2920,7 +2920,7 @@ protected:
                    TypeSourceInfo *writtenTy)
     : CastExpr(SC, exprTy, VK, kind, op, PathSize), TInfo(writtenTy) {}
 
-  /// \brief Construct an empty explicit cast.
+  /// Construct an empty explicit cast.
   ExplicitCastExpr(StmtClass SC, EmptyShell Shell, unsigned PathSize)
     : CastExpr(SC, Shell, PathSize) { }
 
@@ -2955,7 +2955,7 @@ class CStyleCastExpr final
     : ExplicitCastExpr(CStyleCastExprClass, exprTy, vk, kind, op, PathSize,
                        writtenTy), LPLoc(l), RPLoc(r) {}
 
-  /// \brief Construct an empty C-style explicit cast.
+  /// Construct an empty C-style explicit cast.
   explicit CStyleCastExpr(EmptyShell Shell, unsigned PathSize)
     : ExplicitCastExpr(CStyleCastExprClass, Shell, PathSize) { }
 
@@ -2988,7 +2988,7 @@ public:
   friend class CastExpr;
 };
 
-/// \brief A builtin binary operation expression such as "x + y" or "x <= y".
+/// A builtin binary operation expression such as "x + y" or "x <= y".
 ///
 /// This expression node kind describes a builtin binary operation,
 /// such as "x + y" for integer values "x" and "y". The operands will
@@ -3039,7 +3039,7 @@ public:
            "Use CompoundAssignOperator for compound assignments");
   }
 
-  /// \brief Construct an empty binary operator.
+  /// Construct an empty binary operator.
   explicit BinaryOperator(EmptyShell Empty)
     : Expr(BinaryOperatorClass, Empty), Opc(BO_Comma) { }
 
@@ -3068,11 +3068,11 @@ public:
 
   StringRef getOpcodeStr() const { return getOpcodeStr(getOpcode()); }
 
-  /// \brief Retrieve the binary opcode that corresponds to the given
+  /// Retrieve the binary opcode that corresponds to the given
   /// overloaded operator.
   static Opcode getOverloadedOpcode(OverloadedOperatorKind OO);
 
-  /// \brief Retrieve the overloaded operator kind that corresponds to
+  /// Retrieve the overloaded operator kind that corresponds to
   /// the given binary opcode.
   static OverloadedOperatorKind getOverloadedOperator(Opcode Opc);
 
@@ -3228,7 +3228,7 @@ public:
            "Only should be used for compound assignments");
   }
 
-  /// \brief Build an empty compound assignment operator expression.
+  /// Build an empty compound assignment operator expression.
   explicit CompoundAssignOperator(EmptyShell Empty)
     : BinaryOperator(CompoundAssignOperatorClass, Empty) { }
 
@@ -3318,7 +3318,7 @@ public:
     SubExprs[RHS] = rhs;
   }
 
-  /// \brief Build an empty conditional operator.
+  /// Build an empty conditional operator.
   explicit ConditionalOperator(EmptyShell Empty)
     : AbstractConditionalOperator(ConditionalOperatorClass, Empty) { }
 
@@ -3396,30 +3396,30 @@ public:
     assert(OpaqueValue->getSourceExpr() == common && "Wrong opaque value");
   }
 
-  /// \brief Build an empty conditional operator.
+  /// Build an empty conditional operator.
   explicit BinaryConditionalOperator(EmptyShell Empty)
     : AbstractConditionalOperator(BinaryConditionalOperatorClass, Empty) { }
 
-  /// \brief getCommon - Return the common expression, written to the
+  /// getCommon - Return the common expression, written to the
   ///   left of the condition.  The opaque value will be bound to the
   ///   result of this expression.
   Expr *getCommon() const { return cast<Expr>(SubExprs[COMMON]); }
 
-  /// \brief getOpaqueValue - Return the opaque value placeholder.
+  /// getOpaqueValue - Return the opaque value placeholder.
   OpaqueValueExpr *getOpaqueValue() const { return OpaqueValue; }
 
-  /// \brief getCond - Return the condition expression; this is defined
+  /// getCond - Return the condition expression; this is defined
   ///   in terms of the opaque value.
   Expr *getCond() const { return cast<Expr>(SubExprs[COND]); }
 
-  /// \brief getTrueExpr - Return the subexpression which will be
+  /// getTrueExpr - Return the subexpression which will be
   ///   evaluated if the condition evaluates to true;  this is defined
   ///   in terms of the opaque value.
   Expr *getTrueExpr() const {
     return cast<Expr>(SubExprs[LHS]);
   }
 
-  /// \brief getFalseExpr - Return the subexpression which will be
+  /// getFalseExpr - Return the subexpression which will be
   ///   evaluated if the condnition evaluates to false; this is
   ///   defined in terms of the opaque value.
   Expr *getFalseExpr() const {
@@ -3475,7 +3475,7 @@ public:
            false),
       AmpAmpLoc(AALoc), LabelLoc(LLoc), Label(L) {}
 
-  /// \brief Build an empty address of a label expression.
+  /// Build an empty address of a label expression.
   explicit AddrLabelExpr(EmptyShell Empty)
     : Expr(AddrLabelExprClass, Empty) { }
 
@@ -3522,7 +3522,7 @@ public:
          T->isDependentType(), false, false, false),
     SubStmt(substmt), LParenLoc(lp), RParenLoc(rp) { }
 
-  /// \brief Build an empty statement expression.
+  /// Build an empty statement expression.
   explicit StmtExpr(EmptyShell Empty) : Expr(StmtExprClass, Empty) { }
 
   CompoundStmt *getSubStmt() { return cast<CompoundStmt>(SubStmt); }
@@ -3568,7 +3568,7 @@ public:
   ShuffleVectorExpr(const ASTContext &C, ArrayRef<Expr*> args, QualType Type,
                     SourceLocation BLoc, SourceLocation RP);
 
-  /// \brief Build an empty vector-shuffle expression.
+  /// Build an empty vector-shuffle expression.
   explicit ShuffleVectorExpr(EmptyShell Empty)
     : Expr(ShuffleVectorExprClass, Empty), SubExprs(nullptr) { }
 
@@ -3590,7 +3590,7 @@ public:
   /// pointers.
   unsigned getNumSubExprs() const { return NumExprs; }
 
-  /// \brief Retrieve the array of expressions.
+  /// Retrieve the array of expressions.
   Expr **getSubExprs() { return reinterpret_cast<Expr **>(SubExprs); }
 
   /// getExpr - Return the Expr at the specified index.
@@ -3708,7 +3708,7 @@ public:
       SubExprs[RHS] = rhs;
     }
 
-  /// \brief Build an empty __builtin_choose_expr.
+  /// Build an empty __builtin_choose_expr.
   explicit ChooseExpr(EmptyShell Empty) : Expr(ChooseExprClass, Empty) { }
 
   /// isConditionTrue - Return whether the condition is true (i.e. not
@@ -3775,7 +3775,7 @@ public:
            false),
       TokenLoc(Loc) { }
 
-  /// \brief Build an empty GNU __null expression.
+  /// Build an empty GNU __null expression.
   explicit GNUNullExpr(EmptyShell Empty) : Expr(GNUNullExprClass, Empty) { }
 
   /// getTokenLocation - The location of the __null token.
@@ -3848,7 +3848,7 @@ public:
   }
 };
 
-/// @brief Describes an C or C++ initializer list.
+/// Describes an C or C++ initializer list.
 ///
 /// InitListExpr describes an initializer list, which can be used to
 /// initialize objects of different types, including
@@ -3906,7 +3906,7 @@ class InitListExpr : public Expr {
   ///   - the semantic form, if this is in syntactic form.
   llvm::PointerIntPair<InitListExpr *, 1, bool> AltForm;
 
-  /// \brief Either:
+  /// Either:
   ///  If this initializer list initializes an array with more elements than
   ///  there are initializers in the list, specifies an expression to be used
   ///  for value initialization of the rest of the elements.
@@ -3919,16 +3919,16 @@ public:
   InitListExpr(const ASTContext &C, SourceLocation lbraceloc,
                ArrayRef<Expr*> initExprs, SourceLocation rbraceloc);
 
-  /// \brief Build an empty initializer list.
+  /// Build an empty initializer list.
   explicit InitListExpr(EmptyShell Empty)
     : Expr(InitListExprClass, Empty), AltForm(nullptr, true) { }
 
   unsigned getNumInits() const { return InitExprs.size(); }
 
-  /// \brief Retrieve the set of initializers.
+  /// Retrieve the set of initializers.
   Expr **getInits() { return reinterpret_cast<Expr **>(InitExprs.data()); }
 
-  /// \brief Retrieve the set of initializers.
+  /// Retrieve the set of initializers.
   Expr * const *getInits() const {
     return reinterpret_cast<Expr * const *>(InitExprs.data());
   }
@@ -3964,10 +3964,10 @@ public:
     }
   }
 
-  /// \brief Reserve space for some number of initializers.
+  /// Reserve space for some number of initializers.
   void reserveInits(const ASTContext &C, unsigned NumInits);
 
-  /// @brief Specify the number of initializers
+  /// Specify the number of initializers
   ///
   /// If there are more than @p NumInits initializers, the remaining
   /// initializers will be destroyed. If there are fewer than @p
@@ -3975,7 +3975,7 @@ public:
   /// unknown initializers.
   void resizeInits(const ASTContext &Context, unsigned NumInits);
 
-  /// @brief Updates the initializer at index @p Init with the new
+  /// Updates the initializer at index @p Init with the new
   /// expression @p expr, and returns the old expression at that
   /// location.
   ///
@@ -3984,7 +3984,7 @@ public:
   /// accommodate the new entry.
   Expr *updateInit(const ASTContext &C, unsigned Init, Expr *expr);
 
-  /// \brief If this initializer list initializes an array with more elements
+  /// If this initializer list initializes an array with more elements
   /// than there are initializers in the list, specifies an expression to be
   /// used for value initialization of the rest of the elements.
   Expr *getArrayFiller() {
@@ -3995,11 +3995,11 @@ public:
   }
   void setArrayFiller(Expr *filler);
 
-  /// \brief Return true if this is an array initializer and its array "filler"
+  /// Return true if this is an array initializer and its array "filler"
   /// has been set.
   bool hasArrayFiller() const { return getArrayFiller(); }
 
-  /// \brief If this initializes a union, specifies which field in the
+  /// If this initializes a union, specifies which field in the
   /// union to initialize.
   ///
   /// Typically, this field is the first named field within the
@@ -4107,7 +4107,7 @@ public:
   friend class ASTStmtWriter;
 };
 
-/// @brief Represents a C99 designated initializer expression.
+/// Represents a C99 designated initializer expression.
 ///
 /// A designated initializer expression (C99 6.7.8) contains one or
 /// more designators (which can be field designators, array
@@ -4131,7 +4131,7 @@ class DesignatedInitExpr final
     : public Expr,
       private llvm::TrailingObjects<DesignatedInitExpr, Stmt *> {
 public:
-  /// \brief Forward declaration of the Designator class.
+  /// Forward declaration of the Designator class.
   class Designator;
 
 private:
@@ -4151,7 +4151,7 @@ private:
   /// expressions used by array and array-range designators.
   unsigned NumSubExprs : 16;
 
-  /// \brief The designators in this designated initialization
+  /// The designators in this designated initialization
   /// expression.
   Designator *Designators;
 
@@ -4196,14 +4196,14 @@ public:
     unsigned RBracketLoc;
   };
 
-  /// @brief Represents a single C99 designator.
+  /// Represents a single C99 designator.
   ///
   /// @todo This class is infuriatingly similar to clang::Designator,
   /// but minor differences (storing indices vs. storing pointers)
   /// keep us from reusing it. Try harder, later, to rectify these
   /// differences.
   class Designator {
-    /// @brief The kind of designator this describes.
+    /// The kind of designator this describes.
     enum {
       FieldDesignator,
       ArrayDesignator,
@@ -4221,7 +4221,7 @@ public:
   public:
     Designator() {}
 
-    /// @brief Initializes a field designator.
+    /// Initializes a field designator.
     Designator(const IdentifierInfo *FieldName, SourceLocation DotLoc,
                SourceLocation FieldLoc)
       : Kind(FieldDesignator) {
@@ -4230,7 +4230,7 @@ public:
       Field.FieldLoc = FieldLoc.getRawEncoding();
     }
 
-    /// @brief Initializes an array designator.
+    /// Initializes an array designator.
     Designator(unsigned Index, SourceLocation LBracketLoc,
                SourceLocation RBracketLoc)
       : Kind(ArrayDesignator) {
@@ -4240,7 +4240,7 @@ public:
       ArrayOrRange.RBracketLoc = RBracketLoc.getRawEncoding();
     }
 
-    /// @brief Initializes a GNU array-range designator.
+    /// Initializes a GNU array-range designator.
     Designator(unsigned Index, SourceLocation LBracketLoc,
                SourceLocation EllipsisLoc, SourceLocation RBracketLoc)
       : Kind(ArrayRangeDesignator) {
@@ -4326,7 +4326,7 @@ public:
   static DesignatedInitExpr *CreateEmpty(const ASTContext &C,
                                          unsigned NumIndexExprs);
 
-  /// @brief Returns the number of designators in this initializer.
+  /// Returns the number of designators in this initializer.
   unsigned size() const { return NumDesignators; }
 
   // Iterator access to the designators.
@@ -4350,17 +4350,17 @@ public:
   Expr *getArrayRangeStart(const Designator &D) const;
   Expr *getArrayRangeEnd(const Designator &D) const;
 
-  /// @brief Retrieve the location of the '=' that precedes the
+  /// Retrieve the location of the '=' that precedes the
   /// initializer value itself, if present.
   SourceLocation getEqualOrColonLoc() const { return EqualOrColonLoc; }
   void setEqualOrColonLoc(SourceLocation L) { EqualOrColonLoc = L; }
 
-  /// @brief Determines whether this designated initializer used the
+  /// Determines whether this designated initializer used the
   /// deprecated GNU syntax for designated initializers.
   bool usesGNUSyntax() const { return GNUSyntax; }
   void setGNUSyntax(bool GNU) { GNUSyntax = GNU; }
 
-  /// @brief Retrieve the initializer value.
+  /// Retrieve the initializer value.
   Expr *getInit() const {
     return cast<Expr>(*const_cast<DesignatedInitExpr*>(this)->child_begin());
   }
@@ -4369,7 +4369,7 @@ public:
     *child_begin() = init;
   }
 
-  /// \brief Retrieve the total number of subexpressions in this
+  /// Retrieve the total number of subexpressions in this
   /// designated initializer expression, including the actual
   /// initialized value and any expressions that occur within array
   /// and array-range designators.
@@ -4385,7 +4385,7 @@ public:
     getTrailingObjects<Stmt *>()[Idx] = E;
   }
 
-  /// \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 ExpandDesignator(const ASTContext &C, unsigned Idx,
                         const Designator *First, const Designator *Last);
@@ -4412,7 +4412,7 @@ public:
   friend TrailingObjects;
 };
 
-/// \brief Represents a place-holder for an object not to be initialized by
+/// Represents a place-holder for an object not to be initialized by
 /// anything.
 ///
 /// This only makes sense when it appears as part of an updater of a
@@ -4495,7 +4495,7 @@ public:
   }
 };
 
-/// \brief Represents a loop initializing the elements of an array.
+/// Represents a loop initializing the elements of an array.
 ///
 /// The need to initialize the elements of an array occurs in a number of
 /// contexts:
@@ -4563,7 +4563,7 @@ public:
   friend class ASTStmtWriter;
 };
 
-/// \brief Represents the index of the current element of an array being
+/// Represents the index of the current element of an array being
 /// initialized by an ArrayInitLoopExpr. This can only appear within the
 /// subexpression of an ArrayInitLoopExpr.
 class ArrayInitIndexExpr : public Expr {
@@ -4593,7 +4593,7 @@ public:
   friend class ASTStmtReader;
 };
 
-/// \brief Represents an implicitly-generated value initialization of
+/// Represents an implicitly-generated value initialization of
 /// an object of a given type.
 ///
 /// Implicit value initializations occur within semantic initializer
@@ -4607,7 +4607,7 @@ public:
     : Expr(ImplicitValueInitExprClass, ty, VK_RValue, OK_Ordinary,
            false, false, ty->isInstantiationDependentType(), false) { }
 
-  /// \brief Construct an empty implicit value initialization.
+  /// Construct an empty implicit value initialization.
   explicit ImplicitValueInitExpr(EmptyShell Empty)
     : Expr(ImplicitValueInitExprClass, Empty) { }
 
@@ -4636,7 +4636,7 @@ public:
   ParenListExpr(const ASTContext& C, SourceLocation lparenloc,
                 ArrayRef<Expr*> exprs, SourceLocation rparenloc);
 
-  /// \brief Build an empty paren list.
+  /// Build an empty paren list.
   explicit ParenListExpr(EmptyShell Empty) : Expr(ParenListExprClass, Empty) { }
 
   unsigned getNumExprs() const { return NumExprs; }
@@ -4679,7 +4679,7 @@ public:
   friend class ASTStmtWriter;
 };
 
-/// \brief Represents a C11 generic selection.
+/// Represents a C11 generic selection.
 ///
 /// A generic selection (C11 6.5.1.1) contains an unevaluated controlling
 /// expression, followed by one or more generic associations.  Each generic
@@ -4825,7 +4825,7 @@ public:
            base->containsUnexpandedParameterPack()),
       Base(base), Accessor(&accessor), AccessorLoc(loc) {}
 
-  /// \brief Build an empty vector element expression.
+  /// Build an empty vector element expression.
   explicit ExtVectorElementExpr(EmptyShell Empty)
     : Expr(ExtVectorElementExprClass, Empty) { }
 
@@ -4883,7 +4883,7 @@ public:
            false),
       TheBlock(BD) {}
 
-  /// \brief Build an empty block expression.
+  /// Build an empty block expression.
   explicit BlockExpr(EmptyShell Empty) : Expr(BlockExprClass, Empty) { }
 
   const BlockDecl *getBlockDecl() const { return TheBlock; }
@@ -5135,7 +5135,7 @@ public:
   };
 
 private:
-  /// \brief Location of sub-expressions.
+  /// Location of sub-expressions.
   /// The location of Scope sub-expression is NumSubExprs - 1, which is
   /// not fixed, therefore is not defined in enum.
   enum { PTR, ORDER, VAL1, ORDER_FAIL, VAL2, WEAK, END_EXPR };
@@ -5149,11 +5149,11 @@ public:
   AtomicExpr(SourceLocation BLoc, ArrayRef<Expr*> args, QualType t,
              AtomicOp op, SourceLocation RP);
 
-  /// \brief Determine the number of arguments the specified atomic builtin
+  /// Determine the number of arguments the specified atomic builtin
   /// should have.
   static unsigned getNumSubExprs(AtomicOp Op);
 
-  /// \brief Build an empty AtomicExpr.
+  /// Build an empty AtomicExpr.
   explicit AtomicExpr(EmptyShell Empty) : Expr(AtomicExprClass, Empty) { }
 
   Expr *getPtr() const {
@@ -5232,7 +5232,7 @@ public:
     return const_child_range(SubExprs, SubExprs + NumSubExprs);
   }
 
-  /// \brief Get atomic scope model for the atomic op code.
+  /// Get atomic scope model for the atomic op code.
   /// \return empty atomic scope model if the atomic op code does not have
   ///   scope operand.
   static std::unique_ptr<AtomicScopeModel> getScopeModel(AtomicOp Op) {
@@ -5243,7 +5243,7 @@ public:
     return AtomicScopeModel::create(Kind);
   }
 
-  /// \brief Get atomic scope model.
+  /// Get atomic scope model.
   /// \return empty atomic scope model if this atomic expression does not have
   ///   scope operand.
   std::unique_ptr<AtomicScopeModel> getScopeModel() const {

Modified: cfe/trunk/include/clang/AST/ExprCXX.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprCXX.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ExprCXX.h (original)
+++ cfe/trunk/include/clang/AST/ExprCXX.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::Expr interface and subclasses for C++ expressions.
+/// Defines the clang::Expr interface and subclasses for C++ expressions.
 //
 //===----------------------------------------------------------------------===//
 
@@ -62,7 +62,7 @@ class TemplateParameterList;
 // C++ Expressions.
 //===--------------------------------------------------------------------===//
 
-/// \brief A call to an overloaded operator written using operator
+/// A call to an overloaded operator written using operator
 /// syntax.
 ///
 /// Represents a call to an overloaded operator written using operator
@@ -76,7 +76,7 @@ class TemplateParameterList;
 /// function templates that were found by name lookup at template
 /// definition time.
 class CXXOperatorCallExpr : public CallExpr {
-  /// \brief The overloaded operator.
+  /// The overloaded operator.
   OverloadedOperatorKind Operator;
 
   SourceRange Range;
@@ -101,7 +101,7 @@ public:
   explicit CXXOperatorCallExpr(ASTContext& C, EmptyShell Empty)
       : CallExpr(C, CXXOperatorCallExprClass, Empty) {}
 
-  /// \brief Returns the kind of overloaded operator that this
+  /// Returns the kind of overloaded operator that this
   /// expression refers to.
   OverloadedOperatorKind getOperator() const { return Operator; }
 
@@ -115,10 +115,10 @@ public:
   }
   bool isAssignmentOp() const { return isAssignmentOp(getOperator()); }
 
-  /// \brief Is this written as an infix binary operator?
+  /// Is this written as an infix binary operator?
   bool isInfixBinaryOp() const;
 
-  /// \brief Returns the location of the operator symbol in the expression.
+  /// Returns the location of the operator symbol in the expression.
   ///
   /// When \c getOperator()==OO_Call, this is the location of the right
   /// parentheses; when \c getOperator()==OO_Subscript, this is the location
@@ -170,15 +170,15 @@ public:
   CXXMemberCallExpr(ASTContext &C, EmptyShell Empty)
       : CallExpr(C, CXXMemberCallExprClass, Empty) {}
 
-  /// \brief Retrieves the implicit object argument for the member call.
+  /// Retrieves the implicit object argument for the member call.
   ///
   /// For example, in "x.f(5)", this returns the sub-expression "x".
   Expr *getImplicitObjectArgument() const;
 
-  /// \brief Retrieves the declaration of the called method.
+  /// Retrieves the declaration of the called method.
   CXXMethodDecl *getMethodDecl() const;
 
-  /// \brief Retrieves the CXXRecordDecl for the underlying type of
+  /// Retrieves the CXXRecordDecl for the underlying type of
   /// the implicit object argument.
   ///
   /// Note that this is may not be the same declaration as that of the class
@@ -199,7 +199,7 @@ public:
   }
 };
 
-/// \brief Represents a call to a CUDA kernel function.
+/// Represents a call to a CUDA kernel function.
 class CUDAKernelCallExpr : public CallExpr {
 private:
   enum { CONFIG, END_PREARG };
@@ -218,7 +218,7 @@ public:
   }
   CallExpr *getConfig() { return cast_or_null<CallExpr>(getPreArg(CONFIG)); }
 
-  /// \brief Sets the kernel configuration expression.
+  /// Sets the kernel configuration expression.
   ///
   /// Note that this method cannot be called if config has already been set to a
   /// non-null value.
@@ -237,7 +237,7 @@ public:
   }
 };
 
-/// \brief Abstract class common to all of the C++ "named"/"keyword" casts.
+/// Abstract class common to all of the C++ "named"/"keyword" casts.
 ///
 /// This abstract class is inherited by all of the classes
 /// representing "named" casts: CXXStaticCastExpr for \c static_cast,
@@ -271,11 +271,11 @@ protected:
 public:
   const char *getCastName() const;
 
-  /// \brief Retrieve the location of the cast operator keyword, e.g.,
+  /// Retrieve the location of the cast operator keyword, e.g.,
   /// \c static_cast.
   SourceLocation getOperatorLoc() const { return Loc; }
 
-  /// \brief Retrieve the location of the closing parenthesis.
+  /// Retrieve the location of the closing parenthesis.
   SourceLocation getRParenLoc() const { return RParenLoc; }
 
   SourceLocation getLocStart() const LLVM_READONLY { return Loc; }
@@ -295,7 +295,7 @@ public:
   }
 };
 
-/// \brief A C++ \c static_cast expression (C++ [expr.static.cast]).
+/// A C++ \c static_cast expression (C++ [expr.static.cast]).
 ///
 /// This expression node represents a C++ static cast, e.g.,
 /// \c static_cast<int>(1.0).
@@ -330,7 +330,7 @@ public:
   }
 };
 
-/// \brief A C++ @c dynamic_cast expression (C++ [expr.dynamic.cast]).
+/// A C++ @c dynamic_cast expression (C++ [expr.dynamic.cast]).
 ///
 /// This expression node represents a dynamic cast, e.g.,
 /// \c dynamic_cast<Derived*>(BasePtr). Such a cast may perform a run-time
@@ -369,7 +369,7 @@ public:
   }
 };
 
-/// \brief A C++ @c reinterpret_cast expression (C++ [expr.reinterpret.cast]).
+/// A C++ @c reinterpret_cast expression (C++ [expr.reinterpret.cast]).
 ///
 /// This expression node represents a reinterpret cast, e.g.,
 /// @c reinterpret_cast<int>(VoidPtr).
@@ -410,7 +410,7 @@ public:
   }
 };
 
-/// \brief A C++ \c const_cast expression (C++ [expr.const.cast]).
+/// A C++ \c const_cast expression (C++ [expr.const.cast]).
 ///
 /// This expression node represents a const cast, e.g.,
 /// \c const_cast<char*>(PtrToConstChar).
@@ -445,7 +445,7 @@ public:
   }
 };
 
-/// \brief A call to a literal operator (C++11 [over.literal])
+/// A call to a literal operator (C++11 [over.literal])
 /// written as a user-defined literal (C++11 [lit.ext]).
 ///
 /// Represents a user-defined literal, e.g. "foo"_bar or 1.23_xyz. While this
@@ -455,7 +455,7 @@ public:
 /// Since literal operators are never found by ADL and can only be declared at
 /// namespace scope, a user-defined literal is never dependent.
 class UserDefinedLiteral : public CallExpr {
-  /// \brief The location of a ud-suffix within the literal.
+  /// The location of a ud-suffix within the literal.
   SourceLocation UDSuffixLoc;
 
 public:
@@ -492,11 +492,11 @@ public:
     LOK_Character
   };
 
-  /// \brief Returns the kind of literal operator invocation
+  /// Returns the kind of literal operator invocation
   /// which this expression represents.
   LiteralOperatorKind getLiteralOperatorKind() const;
 
-  /// \brief If this is not a raw user-defined literal, get the
+  /// If this is not a raw user-defined literal, get the
   /// underlying cooked literal (representing the literal with the suffix
   /// removed).
   Expr *getCookedLiteral();
@@ -512,13 +512,13 @@ public:
 
   SourceLocation getLocEnd() const { return getRParenLoc(); }
 
-  /// \brief Returns the location of a ud-suffix in the expression.
+  /// Returns the location of a ud-suffix in the expression.
   ///
   /// For a string literal, there may be multiple identical suffixes. This
   /// returns the first.
   SourceLocation getUDSuffixLoc() const { return UDSuffixLoc; }
 
-  /// \brief Returns the ud-suffix specified for this literal.
+  /// Returns the ud-suffix specified for this literal.
   const IdentifierInfo *getUDSuffix() const;
 
   static bool classof(const Stmt *S) {
@@ -526,7 +526,7 @@ public:
   }
 };
 
-/// \brief A boolean literal, per ([C++ lex.bool] Boolean literals).
+/// A boolean literal, per ([C++ lex.bool] Boolean literals).
 class CXXBoolLiteralExpr : public Expr {
   bool Value;
   SourceLocation Loc;
@@ -559,7 +559,7 @@ public:
   }
 };
 
-/// \brief The null pointer literal (C++11 [lex.nullptr])
+/// The null pointer literal (C++11 [lex.nullptr])
 ///
 /// Introduced in C++11, the only literal of type \c nullptr_t is \c nullptr.
 class CXXNullPtrLiteralExpr : public Expr {
@@ -589,7 +589,7 @@ public:
   }
 };
 
-/// \brief Implicit construction of a std::initializer_list<T> object from an
+/// Implicit construction of a std::initializer_list<T> object from an
 /// array temporary within list-initialization (C++11 [dcl.init.list]p5).
 class CXXStdInitializerListExpr : public Expr {
   Stmt *SubExpr = nullptr;
@@ -677,11 +677,11 @@ public:
 
   bool isTypeOperand() const { return Operand.is<TypeSourceInfo *>(); }
 
-  /// \brief Retrieves the type operand of this typeid() expression after
+  /// Retrieves the type operand of this typeid() expression after
   /// various required adjustments (removing reference types, cv-qualifiers).
   QualType getTypeOperand(ASTContext &Context) const;
 
-  /// \brief Retrieve source information for the type operand.
+  /// Retrieve source information for the type operand.
   TypeSourceInfo *getTypeOperandSourceInfo() const {
     assert(isTypeOperand() && "Cannot call getTypeOperand for typeid(expr)");
     return Operand.get<TypeSourceInfo *>();
@@ -720,7 +720,7 @@ public:
   }
 };
 
-/// \brief A member reference to an MSPropertyDecl. 
+/// A member reference to an MSPropertyDecl. 
 ///
 /// This expression always has pseudo-object type, and therefore it is
 /// typically not encountered in a fully-typechecked expression except
@@ -816,7 +816,7 @@ public:
     SubExprs[IDX_EXPR] = Idx;
   }
 
-  /// \brief Create an empty array subscript expression.
+  /// Create an empty array subscript expression.
   explicit MSPropertySubscriptExpr(EmptyShell Shell)
       : Expr(MSPropertySubscriptExprClass, Shell) {}
 
@@ -884,11 +884,11 @@ public:
 
   bool isTypeOperand() const { return Operand.is<TypeSourceInfo *>(); }
 
-  /// \brief Retrieves the type operand of this __uuidof() expression after
+  /// Retrieves the type operand of this __uuidof() expression after
   /// various required adjustments (removing reference types, cv-qualifiers).
   QualType getTypeOperand(ASTContext &Context) const;
 
-  /// \brief Retrieve source information for the type operand.
+  /// Retrieve source information for the type operand.
   TypeSourceInfo *getTypeOperandSourceInfo() const {
     assert(isTypeOperand() && "Cannot call getTypeOperand for __uuidof(expr)");
     return Operand.get<TypeSourceInfo *>();
@@ -930,7 +930,7 @@ public:
   }
 };
 
-/// \brief Represents the \c this expression in C++.
+/// Represents the \c this expression in C++.
 ///
 /// This is a pointer to the object on which the current member function is
 /// executing (C++ [expr.prim]p3). Example:
@@ -977,7 +977,7 @@ public:
   }
 };
 
-/// \brief A C++ throw-expression (C++ [except.throw]).
+/// A C++ throw-expression (C++ [except.throw]).
 ///
 /// This handles 'throw' (for re-throwing the current exception) and
 /// 'throw' assignment-expression.  When assignment-expression isn't
@@ -988,7 +988,7 @@ class CXXThrowExpr : public Expr {
   Stmt *Op;
   SourceLocation ThrowLoc;
 
-  /// \brief Whether the thrown variable (if any) is in scope.
+  /// Whether the thrown variable (if any) is in scope.
   unsigned IsThrownVariableInScope : 1;
 
 public:
@@ -1009,7 +1009,7 @@ public:
 
   SourceLocation getThrowLoc() const { return ThrowLoc; }
 
-  /// \brief Determines whether the variable thrown by this expression (if any!)
+  /// Determines whether the variable thrown by this expression (if any!)
   /// is within the innermost try block.
   ///
   /// This information is required to determine whether the NRVO can apply to
@@ -1034,16 +1034,16 @@ public:
   }
 };
 
-/// \brief A default argument (C++ [dcl.fct.default]).
+/// A default argument (C++ [dcl.fct.default]).
 ///
 /// This wraps up a function call argument that was created from the
 /// corresponding parameter's default argument, when the call did not
 /// explicitly supply arguments for all of the parameters.
 class CXXDefaultArgExpr final : public Expr {
-  /// \brief The parameter whose default is being used.
+  /// The parameter whose default is being used.
   ParmVarDecl *Param;
 
-  /// \brief The location where the default argument expression was used.
+  /// The location where the default argument expression was used.
   SourceLocation Loc;
 
   CXXDefaultArgExpr(StmtClass SC, SourceLocation Loc, ParmVarDecl *param)
@@ -1081,7 +1081,7 @@ public:
     return getParam()->getDefaultArg();
   }
 
-  /// \brief Retrieve the location where this default argument was actually
+  /// Retrieve the location where this default argument was actually
   /// used.
   SourceLocation getUsedLocation() const { return Loc; }
 
@@ -1102,7 +1102,7 @@ public:
   }
 };
 
-/// \brief A use of a default initializer in a constructor or in aggregate
+/// A use of a default initializer in a constructor or in aggregate
 /// initialization.
 ///
 /// This wraps a use of a C++ default initializer (technically,
@@ -1111,10 +1111,10 @@ public:
 /// (C++11 [class.base.init]p8) or in aggregate initialization
 /// (C++1y [dcl.init.aggr]p7).
 class CXXDefaultInitExpr : public Expr {
-  /// \brief The field whose default is being used.
+  /// The field whose default is being used.
   FieldDecl *Field;
 
-  /// \brief The location where the default initializer expression was used.
+  /// The location where the default initializer expression was used.
   SourceLocation Loc;
 
   CXXDefaultInitExpr(const ASTContext &C, SourceLocation Loc, FieldDecl *Field,
@@ -1133,11 +1133,11 @@ public:
     return new (C) CXXDefaultInitExpr(C, Loc, Field, Field->getType());
   }
 
-  /// \brief Get the field whose initializer will be used.
+  /// Get the field whose initializer will be used.
   FieldDecl *getField() { return Field; }
   const FieldDecl *getField() const { return Field; }
 
-  /// \brief Get the initialization expression that will be used.
+  /// Get the initialization expression that will be used.
   const Expr *getExpr() const {
     assert(Field->getInClassInitializer() && "initializer hasn't been parsed");
     return Field->getInClassInitializer();
@@ -1160,9 +1160,9 @@ public:
   }
 };
 
-/// \brief Represents a C++ temporary.
+/// Represents a C++ temporary.
 class CXXTemporary {
-  /// \brief The destructor that needs to be called.
+  /// The destructor that needs to be called.
   const CXXDestructorDecl *Destructor;
 
   explicit CXXTemporary(const CXXDestructorDecl *destructor)
@@ -1179,7 +1179,7 @@ public:
   }
 };
 
-/// \brief Represents binding an expression to a temporary.
+/// Represents binding an expression to a temporary.
 ///
 /// This ensures the destructor is called for the temporary. It should only be
 /// needed for non-POD, non-trivially destructable class types. For example:
@@ -1235,7 +1235,7 @@ public:
   child_range children() { return child_range(&SubExpr, &SubExpr + 1); }
 };
 
-/// \brief Represents a call to a C++ constructor.
+/// Represents a call to a C++ constructor.
 class CXXConstructExpr : public Expr {
 public:
   enum ConstructionKind {
@@ -1273,7 +1273,7 @@ protected:
                    ConstructionKind ConstructKind,
                    SourceRange ParenOrBraceRange);
 
-  /// \brief Construct an empty C++ construction expression.
+  /// Construct an empty C++ construction expression.
   CXXConstructExpr(StmtClass SC, EmptyShell Empty)
       : Expr(SC, Empty), NumArgs(0), Elidable(false),
         HadMultipleCandidates(false), ListInitialization(false),
@@ -1282,7 +1282,7 @@ protected:
 public:
   friend class ASTStmtReader;
 
-  /// \brief Construct an empty C++ construction expression.
+  /// Construct an empty C++ construction expression.
   explicit CXXConstructExpr(EmptyShell Empty)
       : CXXConstructExpr(CXXConstructExprClass, Empty) {}
 
@@ -1298,40 +1298,40 @@ public:
                                   ConstructionKind ConstructKind,
                                   SourceRange ParenOrBraceRange);
 
-  /// \brief Get the constructor that this expression will (ultimately) call.
+  /// Get the constructor that this expression will (ultimately) call.
   CXXConstructorDecl *getConstructor() const { return Constructor; }
 
   SourceLocation getLocation() const { return Loc; }
   void setLocation(SourceLocation Loc) { this->Loc = Loc; }
 
-  /// \brief Whether this construction is elidable.
+  /// Whether this construction is elidable.
   bool isElidable() const { return Elidable; }
   void setElidable(bool E) { Elidable = E; }
 
-  /// \brief Whether the referred constructor was resolved from
+  /// Whether the referred constructor was resolved from
   /// an overloaded set having size greater than 1.
   bool hadMultipleCandidates() const { return HadMultipleCandidates; }
   void setHadMultipleCandidates(bool V) { HadMultipleCandidates = V; }
 
-  /// \brief Whether this constructor call was written as list-initialization.
+  /// Whether this constructor call was written as list-initialization.
   bool isListInitialization() const { return ListInitialization; }
   void setListInitialization(bool V) { ListInitialization = V; }
 
-  /// \brief Whether this constructor call was written as list-initialization,
+  /// Whether this constructor call was written as list-initialization,
   /// but was interpreted as forming a std::initializer_list<T> from the list
   /// and passing that as a single constructor argument.
   /// See C++11 [over.match.list]p1 bullet 1.
   bool isStdInitListInitialization() const { return StdInitListInitialization; }
   void setStdInitListInitialization(bool V) { StdInitListInitialization = V; }
 
-  /// \brief Whether this construction first requires
+  /// Whether this construction first requires
   /// zero-initialization before the initializer is called.
   bool requiresZeroInitialization() const { return ZeroInitialization; }
   void setRequiresZeroInitialization(bool ZeroInit) {
     ZeroInitialization = ZeroInit;
   }
 
-  /// \brief Determine whether this constructor is actually constructing
+  /// Determine whether this constructor is actually constructing
   /// a base class (rather than a complete object).
   ConstructionKind getConstructionKind() const {
     return (ConstructionKind)ConstructKind;
@@ -1361,7 +1361,7 @@ public:
   }
   unsigned getNumArgs() const { return NumArgs; }
 
-  /// \brief Return the specified argument.
+  /// Return the specified argument.
   Expr *getArg(unsigned Arg) {
     assert(Arg < NumArgs && "Arg access out of range!");
     return cast<Expr>(Args[Arg]);
@@ -1371,7 +1371,7 @@ public:
     return cast<Expr>(Args[Arg]);
   }
 
-  /// \brief Set the specified argument.
+  /// Set the specified argument.
   void setArg(unsigned Arg, Expr *ArgExpr) {
     assert(Arg < NumArgs && "Arg access out of range!");
     Args[Arg] = ArgExpr;
@@ -1393,7 +1393,7 @@ public:
   }
 };
 
-/// \brief Represents a call to an inherited base class constructor from an
+/// Represents a call to an inherited base class constructor from an
 /// inheriting constructor. This call implicitly forwards the arguments from
 /// the enclosing context (an inheriting constructor) to the specified inherited
 /// base class constructor.
@@ -1414,7 +1414,7 @@ private:
 public:
   friend class ASTStmtReader;
 
-  /// \brief Construct a C++ inheriting construction expression.
+  /// Construct a C++ inheriting construction expression.
   CXXInheritedCtorInitExpr(SourceLocation Loc, QualType T,
                            CXXConstructorDecl *Ctor, bool ConstructsVirtualBase,
                            bool InheritedFromVirtualBase)
@@ -1426,15 +1426,15 @@ public:
     assert(!T->isDependentType());
   }
 
-  /// \brief Construct an empty C++ inheriting construction expression.
+  /// Construct an empty C++ inheriting construction expression.
   explicit CXXInheritedCtorInitExpr(EmptyShell Empty)
       : Expr(CXXInheritedCtorInitExprClass, Empty),
         ConstructsVirtualBase(false), InheritedFromVirtualBase(false) {}
 
-  /// \brief Get the constructor that this expression will call.
+  /// Get the constructor that this expression will call.
   CXXConstructorDecl *getConstructor() const { return Constructor; }
 
-  /// \brief Determine whether this constructor is actually constructing
+  /// Determine whether this constructor is actually constructing
   /// a base class (rather than a complete object).
   bool constructsVBase() const { return ConstructsVirtualBase; }
   CXXConstructExpr::ConstructionKind getConstructionKind() const {
@@ -1442,7 +1442,7 @@ public:
                                  : CXXConstructExpr::CK_NonVirtualBase;
   }
 
-  /// \brief Determine whether the inherited constructor is inherited from a
+  /// Determine whether the inherited constructor is inherited from a
   /// virtual base of the object we construct. If so, we are not responsible
   /// for calling the inherited constructor (the complete object constructor
   /// does that), and so we don't need to pass any arguments.
@@ -1461,7 +1461,7 @@ public:
   }
 };
 
-/// \brief Represents an explicit C++ type conversion that uses "functional"
+/// Represents an explicit C++ type conversion that uses "functional"
 /// notation (C++ [expr.type.conv]).
 ///
 /// Example:
@@ -1515,7 +1515,7 @@ public:
   }
 };
 
-/// @brief Represents a C++ functional cast expression that builds a
+/// Represents a C++ functional cast expression that builds a
 /// temporary object.
 ///
 /// This expression type represents a C++ "functional" cast
@@ -1559,7 +1559,7 @@ public:
   }
 };
 
-/// \brief A C++ lambda expression, which produces a function object
+/// A C++ lambda expression, which produces a function object
 /// (of unspecified type) that can be invoked later.
 ///
 /// Example:
@@ -1582,27 +1582,27 @@ public:
 /// and which can never occur implicitly.
 class LambdaExpr final : public Expr,
                          private llvm::TrailingObjects<LambdaExpr, Stmt *> {
-  /// \brief The source range that covers the lambda introducer ([...]).
+  /// The source range that covers the lambda introducer ([...]).
   SourceRange IntroducerRange;
 
-  /// \brief The source location of this lambda's capture-default ('=' or '&').
+  /// The source location of this lambda's capture-default ('=' or '&').
   SourceLocation CaptureDefaultLoc;
 
-  /// \brief The number of captures.
+  /// The number of captures.
   unsigned NumCaptures : 16;
   
-  /// \brief The default capture kind, which is a value of type
+  /// The default capture kind, which is a value of type
   /// LambdaCaptureDefault.
   unsigned CaptureDefault : 2;
 
-  /// \brief Whether this lambda had an explicit parameter list vs. an
+  /// Whether this lambda had an explicit parameter list vs. an
   /// implicit (and empty) parameter list.
   unsigned ExplicitParams : 1;
 
-  /// \brief Whether this lambda had the result type explicitly specified.
+  /// Whether this lambda had the result type explicitly specified.
   unsigned ExplicitResultType : 1;
   
-  /// \brief The location of the closing brace ('}') that completes
+  /// The location of the closing brace ('}') that completes
   /// the lambda.
   /// 
   /// The location of the brace is also available by looking up the
@@ -1612,7 +1612,7 @@ class LambdaExpr final : public Expr,
   /// module file just to determine the source range.
   SourceLocation ClosingBrace;
 
-  /// \brief Construct a lambda expression.
+  /// Construct a lambda expression.
   LambdaExpr(QualType T, SourceRange IntroducerRange,
              LambdaCaptureDefault CaptureDefault,
              SourceLocation CaptureDefaultLoc, ArrayRef<LambdaCapture> Captures,
@@ -1620,7 +1620,7 @@ class LambdaExpr final : public Expr,
              ArrayRef<Expr *> CaptureInits, SourceLocation ClosingBrace,
              bool ContainsUnexpandedParameterPack);
 
-  /// \brief Construct an empty lambda expression.
+  /// Construct an empty lambda expression.
   LambdaExpr(EmptyShell Empty, unsigned NumCaptures)
       : Expr(LambdaExprClass, Empty), NumCaptures(NumCaptures),
         CaptureDefault(LCD_None), ExplicitParams(false),
@@ -1637,7 +1637,7 @@ public:
   friend class ASTStmtWriter;
   friend TrailingObjects;
 
-  /// \brief Construct a new lambda expression.
+  /// Construct a new lambda expression.
   static LambdaExpr *
   Create(const ASTContext &C, CXXRecordDecl *Class, SourceRange IntroducerRange,
          LambdaCaptureDefault CaptureDefault, SourceLocation CaptureDefaultLoc,
@@ -1645,143 +1645,143 @@ public:
          bool ExplicitResultType, ArrayRef<Expr *> CaptureInits,
          SourceLocation ClosingBrace, bool ContainsUnexpandedParameterPack);
 
-  /// \brief Construct a new lambda expression that will be deserialized from
+  /// Construct a new lambda expression that will be deserialized from
   /// an external source.
   static LambdaExpr *CreateDeserialized(const ASTContext &C,
                                         unsigned NumCaptures);
 
-  /// \brief Determine the default capture kind for this lambda.
+  /// Determine the default capture kind for this lambda.
   LambdaCaptureDefault getCaptureDefault() const {
     return static_cast<LambdaCaptureDefault>(CaptureDefault);
   }
 
-  /// \brief Retrieve the location of this lambda's capture-default, if any.
+  /// Retrieve the location of this lambda's capture-default, if any.
   SourceLocation getCaptureDefaultLoc() const {
     return CaptureDefaultLoc;
   }
 
-  /// \brief Determine whether one of this lambda's captures is an init-capture.
+  /// Determine whether one of this lambda's captures is an init-capture.
   bool isInitCapture(const LambdaCapture *Capture) const;
 
-  /// \brief An iterator that walks over the captures of the lambda,
+  /// An iterator that walks over the captures of the lambda,
   /// both implicit and explicit.
   using capture_iterator = const LambdaCapture *;
 
-  /// \brief An iterator over a range of lambda captures.
+  /// An iterator over a range of lambda captures.
   using capture_range = llvm::iterator_range<capture_iterator>;
 
-  /// \brief Retrieve this lambda's captures.
+  /// Retrieve this lambda's captures.
   capture_range captures() const;
   
-  /// \brief Retrieve an iterator pointing to the first lambda capture.
+  /// Retrieve an iterator pointing to the first lambda capture.
   capture_iterator capture_begin() const;
 
-  /// \brief Retrieve an iterator pointing past the end of the
+  /// Retrieve an iterator pointing past the end of the
   /// sequence of lambda captures.
   capture_iterator capture_end() const;
 
-  /// \brief Determine the number of captures in this lambda.
+  /// Determine the number of captures in this lambda.
   unsigned capture_size() const { return NumCaptures; }
 
-  /// \brief Retrieve this lambda's explicit captures.
+  /// Retrieve this lambda's explicit captures.
   capture_range explicit_captures() const;
   
-  /// \brief Retrieve an iterator pointing to the first explicit
+  /// Retrieve an iterator pointing to the first explicit
   /// lambda capture.
   capture_iterator explicit_capture_begin() const;
 
-  /// \brief Retrieve an iterator pointing past the end of the sequence of
+  /// Retrieve an iterator pointing past the end of the sequence of
   /// explicit lambda captures.
   capture_iterator explicit_capture_end() const;
 
-  /// \brief Retrieve this lambda's implicit captures.
+  /// Retrieve this lambda's implicit captures.
   capture_range implicit_captures() const;
 
-  /// \brief Retrieve an iterator pointing to the first implicit
+  /// Retrieve an iterator pointing to the first implicit
   /// lambda capture.
   capture_iterator implicit_capture_begin() const;
 
-  /// \brief Retrieve an iterator pointing past the end of the sequence of
+  /// Retrieve an iterator pointing past the end of the sequence of
   /// implicit lambda captures.
   capture_iterator implicit_capture_end() const;
 
-  /// \brief Iterator that walks over the capture initialization
+  /// Iterator that walks over the capture initialization
   /// arguments.
   using capture_init_iterator = Expr **;
 
-  /// \brief Const iterator that walks over the capture initialization
+  /// Const iterator that walks over the capture initialization
   /// arguments.
   using const_capture_init_iterator = Expr *const *;
 
-  /// \brief Retrieve the initialization expressions for this lambda's captures.
+  /// Retrieve the initialization expressions for this lambda's captures.
   llvm::iterator_range<capture_init_iterator> capture_inits() {
     return llvm::make_range(capture_init_begin(), capture_init_end());
   }
 
-  /// \brief Retrieve the initialization expressions for this lambda's captures.
+  /// Retrieve the initialization expressions for this lambda's captures.
   llvm::iterator_range<const_capture_init_iterator> capture_inits() const {
     return llvm::make_range(capture_init_begin(), capture_init_end());
   }
 
-  /// \brief Retrieve the first initialization argument for this
+  /// Retrieve the first initialization argument for this
   /// lambda expression (which initializes the first capture field).
   capture_init_iterator capture_init_begin() {
     return reinterpret_cast<Expr **>(getStoredStmts());
   }
 
-  /// \brief Retrieve the first initialization argument for this
+  /// Retrieve the first initialization argument for this
   /// lambda expression (which initializes the first capture field).
   const_capture_init_iterator capture_init_begin() const {
     return reinterpret_cast<Expr *const *>(getStoredStmts());
   }
 
-  /// \brief Retrieve the iterator pointing one past the last
+  /// Retrieve the iterator pointing one past the last
   /// initialization argument for this lambda expression.
   capture_init_iterator capture_init_end() {
     return capture_init_begin() + NumCaptures;
   }
 
-  /// \brief Retrieve the iterator pointing one past the last
+  /// Retrieve the iterator pointing one past the last
   /// initialization argument for this lambda expression.
   const_capture_init_iterator capture_init_end() const {
     return capture_init_begin() + NumCaptures;
   }
 
-  /// \brief Retrieve the source range covering the lambda introducer,
+  /// Retrieve the source range covering the lambda introducer,
   /// which contains the explicit capture list surrounded by square
   /// brackets ([...]).
   SourceRange getIntroducerRange() const { return IntroducerRange; }
 
-  /// \brief Retrieve the class that corresponds to the lambda.
+  /// Retrieve the class that corresponds to the lambda.
   /// 
   /// This is the "closure type" (C++1y [expr.prim.lambda]), and stores the
   /// captures in its fields and provides the various operations permitted
   /// on a lambda (copying, calling).
   CXXRecordDecl *getLambdaClass() const;
 
-  /// \brief Retrieve the function call operator associated with this
+  /// Retrieve the function call operator associated with this
   /// lambda expression. 
   CXXMethodDecl *getCallOperator() const;
 
-  /// \brief If this is a generic lambda expression, retrieve the template 
+  /// If this is a generic lambda expression, retrieve the template 
   /// parameter list associated with it, or else return null. 
   TemplateParameterList *getTemplateParameterList() const;
 
-  /// \brief Whether this is a generic lambda.
+  /// Whether this is a generic lambda.
   bool isGenericLambda() const { return getTemplateParameterList(); }
 
-  /// \brief Retrieve the body of the lambda.
+  /// Retrieve the body of the lambda.
   CompoundStmt *getBody() const;
 
-  /// \brief Determine whether the lambda is mutable, meaning that any
+  /// Determine whether the lambda is mutable, meaning that any
   /// captures values can be modified.
   bool isMutable() const;
 
-  /// \brief Determine whether this lambda has an explicit parameter
+  /// Determine whether this lambda has an explicit parameter
   /// list vs. an implicit (empty) parameter list.
   bool hasExplicitParameters() const { return ExplicitParams; }
 
-  /// \brief Whether this lambda had its result type explicitly specified.
+  /// Whether this lambda had its result type explicitly specified.
   bool hasExplicitResultType() const { return ExplicitResultType; }
     
   static bool classof(const Stmt *T) {
@@ -1809,7 +1809,7 @@ class CXXScalarValueInitExpr : public Ex
   TypeSourceInfo *TypeInfo;
 
 public:
-  /// \brief Create an explicitly-written scalar-value initialization
+  /// Create an explicitly-written scalar-value initialization
   /// expression.
   CXXScalarValueInitExpr(QualType Type, TypeSourceInfo *TypeInfo,
                          SourceLocation rParenLoc)
@@ -1840,7 +1840,7 @@ public:
   }
 };
 
-/// \brief Represents a new-expression for memory allocation and constructor
+/// Represents a new-expression for memory allocation and constructor
 /// calls, e.g: "new CXXNewExpr(foo)".
 class CXXNewExpr : public Expr {
   friend class ASTStmtReader;
@@ -1850,24 +1850,24 @@ class CXXNewExpr : public Expr {
   /// expression, and any number of optional placement arguments, in that order.
   Stmt **SubExprs = nullptr;
 
-  /// \brief Points to the allocation function used.
+  /// Points to the allocation function used.
   FunctionDecl *OperatorNew;
 
-  /// \brief Points to the deallocation function used in case of error. May be
+  /// Points to the deallocation function used in case of error. May be
   /// null.
   FunctionDecl *OperatorDelete;
 
-  /// \brief The allocated type-source information, as written in the source.
+  /// The allocated type-source information, as written in the source.
   TypeSourceInfo *AllocatedTypeInfo;
 
-  /// \brief If the allocated type was expressed as a parenthesized type-id,
+  /// If the allocated type was expressed as a parenthesized type-id,
   /// the source range covering the parenthesized type-id.
   SourceRange TypeIdParens;
 
-  /// \brief Range of the entire new expression.
+  /// Range of the entire new expression.
   SourceRange Range;
 
-  /// \brief Source-range of a paren-delimited initializer.
+  /// Source-range of a paren-delimited initializer.
   SourceRange DirectInitRange;
 
   /// Was the usage ::new, i.e. is the global new to be used?
@@ -1925,7 +1925,7 @@ public:
     return AllocatedTypeInfo;
   }
 
-  /// \brief True if the allocation result needs to be null-checked.
+  /// True if the allocation result needs to be null-checked.
   ///
   /// C++11 [expr.new]p13:
   ///   If the allocation function returns null, initialization shall
@@ -1976,17 +1976,17 @@ public:
 
   bool isGlobalNew() const { return GlobalNew; }
 
-  /// \brief Whether this new-expression has any initializer at all.
+  /// Whether this new-expression has any initializer at all.
   bool hasInitializer() const { return StoredInitializationStyle > 0; }
 
-  /// \brief The kind of initializer this new-expression has.
+  /// The kind of initializer this new-expression has.
   InitializationStyle getInitializationStyle() const {
     if (StoredInitializationStyle == 0)
       return NoInit;
     return static_cast<InitializationStyle>(StoredInitializationStyle-1);
   }
 
-  /// \brief The initializer of this new-expression.
+  /// The initializer of this new-expression.
   Expr *getInitializer() {
     return hasInitializer() ? cast<Expr>(SubExprs[Array]) : nullptr;
   }
@@ -1994,7 +1994,7 @@ public:
     return hasInitializer() ? cast<Expr>(SubExprs[Array]) : nullptr;
   }
 
-  /// \brief Returns the CXXConstructExpr from this new-expression, or null.
+  /// Returns the CXXConstructExpr from this new-expression, or null.
   const CXXConstructExpr *getConstructExpr() const {
     return dyn_cast_or_null<CXXConstructExpr>(getInitializer());
   }
@@ -2069,7 +2069,7 @@ public:
   }
 };
 
-/// \brief Represents a \c delete expression for memory deallocation and
+/// Represents a \c delete expression for memory deallocation and
 /// destructor calls, e.g. "delete[] pArray".
 class CXXDeleteExpr : public Expr {
   /// Points to the operator delete overload that is used. Could be a member.
@@ -2128,7 +2128,7 @@ public:
   Expr *getArgument() { return cast<Expr>(Argument); }
   const Expr *getArgument() const { return cast<Expr>(Argument); }
 
-  /// \brief Retrieve the type being destroyed. 
+  /// Retrieve the type being destroyed. 
   ///
   /// If the type being destroyed is a dependent type which may or may not
   /// be a pointer, return an invalid type.
@@ -2145,13 +2145,13 @@ public:
   child_range children() { return child_range(&Argument, &Argument+1); }
 };
 
-/// \brief Stores the type being destroyed by a pseudo-destructor expression.
+/// Stores the type being destroyed by a pseudo-destructor expression.
 class PseudoDestructorTypeStorage {
-  /// \brief Either the type source information or the name of the type, if
+  /// Either the type source information or the name of the type, if
   /// it couldn't be resolved due to type-dependence.
   llvm::PointerUnion<TypeSourceInfo *, IdentifierInfo *> Type;
 
-  /// \brief The starting source location of the pseudo-destructor type.
+  /// The starting source location of the pseudo-destructor type.
   SourceLocation Location;
 
 public:
@@ -2173,7 +2173,7 @@ public:
   SourceLocation getLocation() const { return Location; }
 };
 
-/// \brief Represents a C++ pseudo-destructor (C++ [expr.pseudo]).
+/// Represents a C++ pseudo-destructor (C++ [expr.pseudo]).
 ///
 /// A pseudo-destructor is an expression that looks like a member access to a
 /// destructor of a scalar type, except that scalar types don't have
@@ -2200,31 +2200,31 @@ public:
 class CXXPseudoDestructorExpr : public Expr {
   friend class ASTStmtReader;
 
-  /// \brief The base expression (that is being destroyed).
+  /// The base expression (that is being destroyed).
   Stmt *Base = nullptr;
 
-  /// \brief Whether the operator was an arrow ('->'); otherwise, it was a
+  /// Whether the operator was an arrow ('->'); otherwise, it was a
   /// period ('.').
   bool IsArrow : 1;
 
-  /// \brief The location of the '.' or '->' operator.
+  /// The location of the '.' or '->' operator.
   SourceLocation OperatorLoc;
 
-  /// \brief The nested-name-specifier that follows the operator, if present.
+  /// The nested-name-specifier that follows the operator, if present.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief The type that precedes the '::' in a qualified pseudo-destructor
+  /// The type that precedes the '::' in a qualified pseudo-destructor
   /// expression.
   TypeSourceInfo *ScopeType = nullptr;
 
-  /// \brief The location of the '::' in a qualified pseudo-destructor
+  /// The location of the '::' in a qualified pseudo-destructor
   /// expression.
   SourceLocation ColonColonLoc;
 
-  /// \brief The location of the '~'.
+  /// The location of the '~'.
   SourceLocation TildeLoc;
 
-  /// \brief The type being destroyed, or its name if we were unable to
+  /// The type being destroyed, or its name if we were unable to
   /// resolve the name.
   PseudoDestructorTypeStorage DestroyedType;
 
@@ -2242,30 +2242,30 @@ public:
 
   Expr *getBase() const { return cast<Expr>(Base); }
 
-  /// \brief Determines whether this member expression actually had
+  /// Determines whether this member expression actually had
   /// a C++ nested-name-specifier prior to the name of the member, e.g.,
   /// x->Base::foo.
   bool hasQualifier() const { return QualifierLoc.hasQualifier(); }
 
-  /// \brief Retrieves the nested-name-specifier that qualifies the type name,
+  /// Retrieves the nested-name-specifier that qualifies the type name,
   /// with source-location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief If the member name was qualified, retrieves the
+  /// If the member name was qualified, retrieves the
   /// nested-name-specifier that precedes the member name. Otherwise, returns
   /// null.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
 
-  /// \brief Determine whether this pseudo-destructor expression was written
+  /// Determine whether this pseudo-destructor expression was written
   /// using an '->' (otherwise, it used a '.').
   bool isArrow() const { return IsArrow; }
 
-  /// \brief Retrieve the location of the '.' or '->' operator.
+  /// Retrieve the location of the '.' or '->' operator.
   SourceLocation getOperatorLoc() const { return OperatorLoc; }
 
-  /// \brief Retrieve the scope type in a qualified pseudo-destructor
+  /// Retrieve the scope type in a qualified pseudo-destructor
   /// expression.
   ///
   /// Pseudo-destructor expressions can have extra qualification within them
@@ -2276,14 +2276,14 @@ public:
   /// destructor expression.
   TypeSourceInfo *getScopeTypeInfo() const { return ScopeType; }
 
-  /// \brief Retrieve the location of the '::' in a qualified pseudo-destructor
+  /// Retrieve the location of the '::' in a qualified pseudo-destructor
   /// expression.
   SourceLocation getColonColonLoc() const { return ColonColonLoc; }
 
-  /// \brief Retrieve the location of the '~'.
+  /// Retrieve the location of the '~'.
   SourceLocation getTildeLoc() const { return TildeLoc; }
 
-  /// \brief Retrieve the source location information for the type
+  /// Retrieve the source location information for the type
   /// being destroyed.
   ///
   /// This type-source information is available for non-dependent
@@ -2294,28 +2294,28 @@ public:
     return DestroyedType.getTypeSourceInfo();
   }
 
-  /// \brief In a dependent pseudo-destructor expression for which we do not
+  /// In a dependent pseudo-destructor expression for which we do not
   /// have full type information on the destroyed type, provides the name
   /// of the destroyed type.
   IdentifierInfo *getDestroyedTypeIdentifier() const {
     return DestroyedType.getIdentifier();
   }
 
-  /// \brief Retrieve the type being destroyed.
+  /// Retrieve the type being destroyed.
   QualType getDestroyedType() const;
 
-  /// \brief Retrieve the starting location of the type being destroyed.
+  /// Retrieve the starting location of the type being destroyed.
   SourceLocation getDestroyedTypeLoc() const {
     return DestroyedType.getLocation();
   }
 
-  /// \brief Set the name of destroyed type for a dependent pseudo-destructor
+  /// Set the name of destroyed type for a dependent pseudo-destructor
   /// expression.
   void setDestroyedType(IdentifierInfo *II, SourceLocation Loc) {
     DestroyedType = PseudoDestructorTypeStorage(II, Loc);
   }
 
-  /// \brief Set the destroyed type.
+  /// Set the destroyed type.
   void setDestroyedType(TypeSourceInfo *Info) {
     DestroyedType = PseudoDestructorTypeStorage(Info);
   }
@@ -2331,7 +2331,7 @@ public:
   child_range children() { return child_range(&Base, &Base + 1); }
 };
 
-/// \brief A type trait used in the implementation of various C++11 and
+/// A type trait used in the implementation of various C++11 and
 /// Library TR1 trait templates.
 ///
 /// \code
@@ -2342,10 +2342,10 @@ public:
 class TypeTraitExpr final
     : public Expr,
       private llvm::TrailingObjects<TypeTraitExpr, TypeSourceInfo *> {
-  /// \brief The location of the type trait keyword.
+  /// The location of the type trait keyword.
   SourceLocation Loc;
   
-  /// \brief  The location of the closing parenthesis.
+  ///  The location of the closing parenthesis.
   SourceLocation RParenLoc;
   
   // Note: The TypeSourceInfos for the arguments are allocated after the
@@ -2367,7 +2367,7 @@ public:
   friend class ASTStmtWriter;
   friend TrailingObjects;
 
-  /// \brief Create a new type trait expression.
+  /// Create a new type trait expression.
   static TypeTraitExpr *Create(const ASTContext &C, QualType T,
                                SourceLocation Loc, TypeTrait Kind,
                                ArrayRef<TypeSourceInfo *> Args,
@@ -2377,7 +2377,7 @@ public:
   static TypeTraitExpr *CreateDeserialized(const ASTContext &C,
                                            unsigned NumArgs);
   
-  /// \brief Determine which type trait this expression uses.
+  /// Determine which type trait this expression uses.
   TypeTrait getTrait() const {
     return static_cast<TypeTrait>(TypeTraitExprBits.Kind);
   }
@@ -2387,16 +2387,16 @@ public:
     return TypeTraitExprBits.Value; 
   }
   
-  /// \brief Determine the number of arguments to this type trait.
+  /// Determine the number of arguments to this type trait.
   unsigned getNumArgs() const { return TypeTraitExprBits.NumArgs; }
   
-  /// \brief Retrieve the Ith argument.
+  /// Retrieve the Ith argument.
   TypeSourceInfo *getArg(unsigned I) const {
     assert(I < getNumArgs() && "Argument out-of-range");
     return getArgs()[I];
   }
   
-  /// \brief Retrieve the argument types.
+  /// Retrieve the argument types.
   ArrayRef<TypeSourceInfo *> getArgs() const {
     return llvm::makeArrayRef(getTrailingObjects<TypeSourceInfo *>(),
                               getNumArgs());
@@ -2415,7 +2415,7 @@ public:
   }
 };
 
-/// \brief An Embarcadero array type trait, as used in the implementation of
+/// An Embarcadero array type trait, as used in the implementation of
 /// __array_rank and __array_extent.
 ///
 /// Example:
@@ -2424,22 +2424,22 @@ public:
 ///   __array_extent(int, 1)    == 20
 /// \endcode
 class ArrayTypeTraitExpr : public Expr {
-  /// \brief The trait. An ArrayTypeTrait enum in MSVC compat unsigned.
+  /// The trait. An ArrayTypeTrait enum in MSVC compat unsigned.
   unsigned ATT : 2;
 
-  /// \brief The value of the type trait. Unspecified if dependent.
+  /// The value of the type trait. Unspecified if dependent.
   uint64_t Value = 0;
 
-  /// \brief The array dimension being queried, or -1 if not used.
+  /// The array dimension being queried, or -1 if not used.
   Expr *Dimension;
 
-  /// \brief The location of the type trait keyword.
+  /// The location of the type trait keyword.
   SourceLocation Loc;
 
-  /// \brief The location of the closing paren.
+  /// The location of the closing paren.
   SourceLocation RParen;
 
-  /// \brief The type being queried.
+  /// The type being queried.
   TypeSourceInfo *QueriedType = nullptr;
 
   virtual void anchor();
@@ -2486,7 +2486,7 @@ public:
   }
 };
 
-/// \brief An expression trait intrinsic.
+/// An expression trait intrinsic.
 ///
 /// Example:
 /// \code
@@ -2494,19 +2494,19 @@ public:
 ///   __is_lvalue_expr(1) == false
 /// \endcode
 class ExpressionTraitExpr : public Expr {
-  /// \brief The trait. A ExpressionTrait enum in MSVC compatible unsigned.
+  /// The trait. A ExpressionTrait enum in MSVC compatible unsigned.
   unsigned ET : 31;
 
-  /// \brief The value of the type trait. Unspecified if dependent.
+  /// The value of the type trait. Unspecified if dependent.
   unsigned Value : 1;
 
-  /// \brief The location of the type trait keyword.
+  /// The location of the type trait keyword.
   SourceLocation Loc;
 
-  /// \brief The location of the closing paren.
+  /// The location of the closing paren.
   SourceLocation RParen;
 
-  /// \brief The expression being queried.
+  /// The expression being queried.
   Expr* QueriedExpression = nullptr;
 
 public:
@@ -2546,13 +2546,13 @@ public:
   }
 };
 
-/// \brief A reference to an overloaded function set, either an
+/// A reference to an overloaded function set, either an
 /// \c UnresolvedLookupExpr or an \c UnresolvedMemberExpr.
 class OverloadExpr : public Expr {
-  /// \brief The common name of these declarations.
+  /// The common name of these declarations.
   DeclarationNameInfo NameInfo;
 
-  /// \brief The nested-name-specifier that qualifies the name, if any.
+  /// The nested-name-specifier that qualifies the name, if any.
   NestedNameSpecifierLoc QualifierLoc;
 
   /// The results.  These are undesugared, which is to say, they may
@@ -2564,7 +2564,7 @@ class OverloadExpr : public Expr {
   unsigned NumResults = 0;
 
 protected:
-  /// \brief Whether the name includes info for explicit template
+  /// Whether the name includes info for explicit template
   /// keyword and arguments.
   bool HasTemplateKWAndArgsInfo = false;
 
@@ -2580,11 +2580,11 @@ protected:
 
   OverloadExpr(StmtClass K, EmptyShell Empty) : Expr(K, Empty) {}
 
-  /// \brief Return the optional template keyword and arguments info.
+  /// Return the optional template keyword and arguments info.
   ASTTemplateKWAndArgsInfo *
   getTrailingASTTemplateKWAndArgsInfo(); // defined far below.
 
-  /// \brief Return the optional template keyword and arguments info.
+  /// Return the optional template keyword and arguments info.
   const ASTTemplateKWAndArgsInfo *getTrailingASTTemplateKWAndArgsInfo() const {
     return const_cast<OverloadExpr *>(this)
         ->getTrailingASTTemplateKWAndArgsInfo();
@@ -2607,7 +2607,7 @@ public:
     bool HasFormOfMemberPointer;
   };
 
-  /// \brief Finds the overloaded expression in the given expression \p E of
+  /// Finds the overloaded expression in the given expression \p E of
   /// OverloadTy.
   ///
   /// \return the expression (which must be there) and true if it has
@@ -2635,7 +2635,7 @@ public:
     return Result;
   }
 
-  /// \brief Gets the naming class of this lookup, if any.
+  /// Gets the naming class of this lookup, if any.
   CXXRecordDecl *getNamingClass() const;
 
   using decls_iterator = UnresolvedSetImpl::iterator;
@@ -2648,52 +2648,52 @@ public:
     return llvm::make_range(decls_begin(), decls_end());
   }
 
-  /// \brief Gets the number of declarations in the unresolved set.
+  /// Gets the number of declarations in the unresolved set.
   unsigned getNumDecls() const { return NumResults; }
 
-  /// \brief Gets the full name info.
+  /// Gets the full name info.
   const DeclarationNameInfo &getNameInfo() const { return NameInfo; }
 
-  /// \brief Gets the name looked up.
+  /// Gets the name looked up.
   DeclarationName getName() const { return NameInfo.getName(); }
 
-  /// \brief Gets the location of the name.
+  /// Gets the location of the name.
   SourceLocation getNameLoc() const { return NameInfo.getLoc(); }
 
-  /// \brief Fetches the nested-name qualifier, if one was given.
+  /// Fetches the nested-name qualifier, if one was given.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
 
-  /// \brief Fetches the nested-name qualifier with source-location
+  /// Fetches the nested-name qualifier with source-location
   /// information, if one was given.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the location of the template keyword preceding
+  /// Retrieve the location of the template keyword preceding
   /// this name, if any.
   SourceLocation getTemplateKeywordLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingASTTemplateKWAndArgsInfo()->TemplateKWLoc;
   }
 
-  /// \brief Retrieve the location of the left angle bracket starting the
+  /// Retrieve the location of the left angle bracket starting the
   /// explicit template argument list following the name, if any.
   SourceLocation getLAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingASTTemplateKWAndArgsInfo()->LAngleLoc;
   }
 
-  /// \brief Retrieve the location of the right angle bracket ending the
+  /// Retrieve the location of the right angle bracket ending the
   /// explicit template argument list following the name, if any.
   SourceLocation getRAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingASTTemplateKWAndArgsInfo()->RAngleLoc;
   }
 
-  /// \brief Determines whether the name was preceded by the template keyword.
+  /// Determines whether the name was preceded by the template keyword.
   bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
 
-  /// \brief Determines whether this expression had explicit template arguments.
+  /// Determines whether this expression had explicit template arguments.
   bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
 
   TemplateArgumentLoc const *getTemplateArgs() const {
@@ -2713,7 +2713,7 @@ public:
     return {getTemplateArgs(), getNumTemplateArgs()};
   }
 
-  /// \brief Copies the template arguments into the given structure.
+  /// Copies the template arguments into the given structure.
   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
     if (hasExplicitTemplateArgs())
       getTrailingASTTemplateKWAndArgsInfo()->copyInto(getTemplateArgs(), List);
@@ -2725,7 +2725,7 @@ public:
   }
 };
 
-/// \brief A reference to a name which we were able to look up during
+/// A reference to a name which we were able to look up during
 /// parsing but could not resolve to a specific declaration.
 ///
 /// This arises in several ways:
@@ -2840,7 +2840,7 @@ public:
   }
 };
 
-/// \brief A qualified reference to a name whose declaration cannot
+/// A qualified reference to a name whose declaration cannot
 /// yet be resolved.
 ///
 /// DependentScopeDeclRefExpr is similar to DeclRefExpr in that
@@ -2859,14 +2859,14 @@ class DependentScopeDeclRefExpr final
       private llvm::TrailingObjects<DependentScopeDeclRefExpr,
                                     ASTTemplateKWAndArgsInfo,
                                     TemplateArgumentLoc> {
-  /// \brief The nested-name-specifier that qualifies this unresolved
+  /// The nested-name-specifier that qualifies this unresolved
   /// declaration name.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief The name of the entity we will be referencing.
+  /// The name of the entity we will be referencing.
   DeclarationNameInfo NameInfo;
 
-  /// \brief Whether the name includes info for explicit template
+  /// Whether the name includes info for explicit template
   /// keyword and arguments.
   bool HasTemplateKWAndArgsInfo;
 
@@ -2895,42 +2895,42 @@ public:
                                                 bool HasTemplateKWAndArgsInfo,
                                                 unsigned NumTemplateArgs);
 
-  /// \brief Retrieve the name that this expression refers to.
+  /// Retrieve the name that this expression refers to.
   const DeclarationNameInfo &getNameInfo() const { return NameInfo; }
 
-  /// \brief Retrieve the name that this expression refers to.
+  /// Retrieve the name that this expression refers to.
   DeclarationName getDeclName() const { return NameInfo.getName(); }
 
-  /// \brief Retrieve the location of the name within the expression.
+  /// Retrieve the location of the name within the expression.
   ///
   /// For example, in "X<T>::value" this is the location of "value".
   SourceLocation getLocation() const { return NameInfo.getLoc(); }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the
+  /// Retrieve the nested-name-specifier that qualifies the
   /// name, with source location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies this
+  /// Retrieve the nested-name-specifier that qualifies this
   /// declaration.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
 
-  /// \brief Retrieve the location of the template keyword preceding
+  /// Retrieve the location of the template keyword preceding
   /// this name, if any.
   SourceLocation getTemplateKeywordLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
   }
 
-  /// \brief Retrieve the location of the left angle bracket starting the
+  /// Retrieve the location of the left angle bracket starting the
   /// explicit template argument list following the name, if any.
   SourceLocation getLAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
   }
 
-  /// \brief Retrieve the location of the right angle bracket ending the
+  /// Retrieve the location of the right angle bracket ending the
   /// explicit template argument list following the name, if any.
   SourceLocation getRAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
@@ -2943,7 +2943,7 @@ public:
   /// Determines whether this lookup had explicit template arguments.
   bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
 
-  /// \brief Copies the template arguments (if present) into the given
+  /// Copies the template arguments (if present) into the given
   /// structure.
   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
     if (hasExplicitTemplateArgs())
@@ -3066,7 +3066,7 @@ public:
   child_range children() { return child_range(&SubExpr, &SubExpr + 1); }
 };
 
-/// \brief Describes an explicit type conversion that uses functional
+/// Describes an explicit type conversion that uses functional
 /// notion but could not be resolved because one or more arguments are
 /// type-dependent.
 ///
@@ -3093,16 +3093,16 @@ class CXXUnresolvedConstructExpr final
   friend class ASTStmtReader;
   friend TrailingObjects;
 
-  /// \brief The type being constructed.
+  /// The type being constructed.
   TypeSourceInfo *Type = nullptr;
 
-  /// \brief The location of the left parentheses ('(').
+  /// The location of the left parentheses ('(').
   SourceLocation LParenLoc;
 
-  /// \brief The location of the right parentheses (')').
+  /// The location of the right parentheses (')').
   SourceLocation RParenLoc;
 
-  /// \brief The number of arguments used to construct the type.
+  /// The number of arguments used to construct the type.
   unsigned NumArgs;
 
   CXXUnresolvedConstructExpr(TypeSourceInfo *Type,
@@ -3123,20 +3123,20 @@ public:
   static CXXUnresolvedConstructExpr *CreateEmpty(const ASTContext &C,
                                                  unsigned NumArgs);
 
-  /// \brief Retrieve the type that is being constructed, as specified
+  /// Retrieve the type that is being constructed, as specified
   /// in the source code.
   QualType getTypeAsWritten() const { return Type->getType(); }
 
-  /// \brief Retrieve the type source information for the type being
+  /// Retrieve the type source information for the type being
   /// constructed.
   TypeSourceInfo *getTypeSourceInfo() const { return Type; }
 
-  /// \brief Retrieve the location of the left parentheses ('(') that
+  /// Retrieve the location of the left parentheses ('(') that
   /// precedes the argument list.
   SourceLocation getLParenLoc() const { return LParenLoc; }
   void setLParenLoc(SourceLocation L) { LParenLoc = L; }
 
-  /// \brief Retrieve the location of the right parentheses (')') that
+  /// Retrieve the location of the right parentheses (')') that
   /// follows the argument list.
   SourceLocation getRParenLoc() const { return RParenLoc; }
   void setRParenLoc(SourceLocation L) { RParenLoc = L; }
@@ -3146,7 +3146,7 @@ public:
   /// an InitListExpr.
   bool isListInitialization() const { return LParenLoc.isInvalid(); }
 
-  /// \brief Retrieve the number of arguments.
+  /// Retrieve the number of arguments.
   unsigned arg_size() const { return NumArgs; }
 
   using arg_iterator = Expr **;
@@ -3195,7 +3195,7 @@ public:
   }
 };
 
-/// \brief Represents a C++ member access expression where the actual
+/// Represents a C++ member access expression where the actual
 /// member referenced could not be resolved because the base
 /// expression or the member name was dependent.
 ///
@@ -3207,29 +3207,29 @@ class CXXDependentScopeMemberExpr final
       private llvm::TrailingObjects<CXXDependentScopeMemberExpr,
                                     ASTTemplateKWAndArgsInfo,
                                     TemplateArgumentLoc> {
-  /// \brief The expression for the base pointer or class reference,
+  /// The expression for the base pointer or class reference,
   /// e.g., the \c x in x.f.  Can be null in implicit accesses.
   Stmt *Base;
 
-  /// \brief The type of the base expression.  Never null, even for
+  /// The type of the base expression.  Never null, even for
   /// implicit accesses.
   QualType BaseType;
 
-  /// \brief Whether this member expression used the '->' operator or
+  /// Whether this member expression used the '->' operator or
   /// the '.' operator.
   bool IsArrow : 1;
 
-  /// \brief Whether this member expression has info for explicit template
+  /// Whether this member expression has info for explicit template
   /// keyword and arguments.
   bool HasTemplateKWAndArgsInfo : 1;
 
-  /// \brief The location of the '->' or '.' operator.
+  /// The location of the '->' or '.' operator.
   SourceLocation OperatorLoc;
 
-  /// \brief The nested-name-specifier that precedes the member name, if any.
+  /// The nested-name-specifier that precedes the member name, if any.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief In a qualified member access expression such as t->Base::f, this
+  /// In a qualified member access expression such as t->Base::f, this
   /// member stores the resolves of name lookup in the context of the member
   /// access expression, to be used at instantiation time.
   ///
@@ -3238,7 +3238,7 @@ class CXXDependentScopeMemberExpr final
   /// the CXXDependentScopeMemberExpr, to save space in the common case.
   NamedDecl *FirstQualifierFoundInScope;
 
-  /// \brief The member to which this member expression refers, which
+  /// The member to which this member expression refers, which
   /// can be name, overloaded operator, or destructor.
   ///
   /// FIXME: could also be a template-id
@@ -3280,12 +3280,12 @@ public:
   CreateEmpty(const ASTContext &C, bool HasTemplateKWAndArgsInfo,
               unsigned NumTemplateArgs);
 
-  /// \brief True if this is an implicit access, i.e. one in which the
+  /// True if this is an implicit access, i.e. one in which the
   /// member being accessed was not written in the source.  The source
   /// location of the operator is invalid in this case.
   bool isImplicitAccess() const;
 
-  /// \brief Retrieve the base object of this member expressions,
+  /// Retrieve the base object of this member expressions,
   /// e.g., the \c x in \c x.m.
   Expr *getBase() const {
     assert(!isImplicitAccess());
@@ -3294,24 +3294,24 @@ public:
 
   QualType getBaseType() const { return BaseType; }
 
-  /// \brief Determine whether this member expression used the '->'
+  /// Determine whether this member expression used the '->'
   /// operator; otherwise, it used the '.' operator.
   bool isArrow() const { return IsArrow; }
 
-  /// \brief Retrieve the location of the '->' or '.' operator.
+  /// Retrieve the location of the '->' or '.' operator.
   SourceLocation getOperatorLoc() const { return OperatorLoc; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the member
+  /// Retrieve the nested-name-specifier that qualifies the member
   /// name.
   NestedNameSpecifier *getQualifier() const {
     return QualifierLoc.getNestedNameSpecifier();
   }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies the member
+  /// Retrieve the nested-name-specifier that qualifies the member
   /// name, with source location information.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the first part of the nested-name-specifier that was
+  /// Retrieve the first part of the nested-name-specifier that was
   /// found in the scope of the member access expression when the member access
   /// was initially parsed.
   ///
@@ -3326,35 +3326,35 @@ public:
     return FirstQualifierFoundInScope;
   }
 
-  /// \brief Retrieve the name of the member that this expression
+  /// Retrieve the name of the member that this expression
   /// refers to.
   const DeclarationNameInfo &getMemberNameInfo() const {
     return MemberNameInfo;
   }
 
-  /// \brief Retrieve the name of the member that this expression
+  /// Retrieve the name of the member that this expression
   /// refers to.
   DeclarationName getMember() const { return MemberNameInfo.getName(); }
 
-  // \brief Retrieve the location of the name of the member that this
+  // Retrieve the location of the name of the member that this
   // expression refers to.
   SourceLocation getMemberLoc() const { return MemberNameInfo.getLoc(); }
 
-  /// \brief Retrieve the location of the template keyword preceding the
+  /// Retrieve the location of the template keyword preceding the
   /// member name, if any.
   SourceLocation getTemplateKeywordLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->TemplateKWLoc;
   }
 
-  /// \brief Retrieve the location of the left angle bracket starting the
+  /// Retrieve the location of the left angle bracket starting the
   /// explicit template argument list following the member name, if any.
   SourceLocation getLAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
     return getTrailingObjects<ASTTemplateKWAndArgsInfo>()->LAngleLoc;
   }
 
-  /// \brief Retrieve the location of the right angle bracket ending the
+  /// Retrieve the location of the right angle bracket ending the
   /// explicit template argument list following the member name, if any.
   SourceLocation getRAngleLoc() const {
     if (!HasTemplateKWAndArgsInfo) return SourceLocation();
@@ -3364,11 +3364,11 @@ public:
   /// Determines whether the member name was preceded by the template keyword.
   bool hasTemplateKeyword() const { return getTemplateKeywordLoc().isValid(); }
 
-  /// \brief Determines whether this member expression actually had a C++
+  /// Determines whether this member expression actually had a C++
   /// template argument list explicitly specified, e.g., x.f<int>.
   bool hasExplicitTemplateArgs() const { return getLAngleLoc().isValid(); }
 
-  /// \brief Copies the template arguments (if present) into the given
+  /// Copies the template arguments (if present) into the given
   /// structure.
   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
     if (hasExplicitTemplateArgs())
@@ -3376,7 +3376,7 @@ public:
           getTrailingObjects<TemplateArgumentLoc>(), List);
   }
 
-  /// \brief Retrieve the template arguments provided as part of this
+  /// Retrieve the template arguments provided as part of this
   /// template-id.
   const TemplateArgumentLoc *getTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -3385,7 +3385,7 @@ public:
     return getTrailingObjects<TemplateArgumentLoc>();
   }
 
-  /// \brief Retrieve the number of template arguments provided as part of this
+  /// Retrieve the number of template arguments provided as part of this
   /// template-id.
   unsigned getNumTemplateArgs() const {
     if (!hasExplicitTemplateArgs())
@@ -3424,7 +3424,7 @@ public:
   }
 };
 
-/// \brief Represents a C++ member access expression for which lookup
+/// Represents a C++ member access expression for which lookup
 /// produced a set of overloaded functions.
 ///
 /// The member access may be explicit or implicit:
@@ -3447,24 +3447,24 @@ class UnresolvedMemberExpr final
   friend class OverloadExpr;
   friend TrailingObjects;
 
-  /// \brief Whether this member expression used the '->' operator or
+  /// Whether this member expression used the '->' operator or
   /// the '.' operator.
   bool IsArrow : 1;
 
-  /// \brief Whether the lookup results contain an unresolved using
+  /// Whether the lookup results contain an unresolved using
   /// declaration.
   bool HasUnresolvedUsing : 1;
 
-  /// \brief The expression for the base pointer or class reference,
+  /// The expression for the base pointer or class reference,
   /// e.g., the \c x in x.f.
   ///
   /// This can be null if this is an 'unbased' member expression.
   Stmt *Base = nullptr;
 
-  /// \brief The type of the base expression; never null.
+  /// The type of the base expression; never null.
   QualType BaseType;
 
-  /// \brief The location of the '->' or '.' operator.
+  /// The location of the '->' or '.' operator.
   SourceLocation OperatorLoc;
 
   UnresolvedMemberExpr(const ASTContext &C, bool HasUnresolvedUsing,
@@ -3499,13 +3499,13 @@ public:
   CreateEmpty(const ASTContext &C, bool HasTemplateKWAndArgsInfo,
               unsigned NumTemplateArgs);
 
-  /// \brief True if this is an implicit access, i.e., one in which the
+  /// True if this is an implicit access, i.e., one in which the
   /// member being accessed was not written in the source.
   ///
   /// The source location of the operator is invalid in this case.
   bool isImplicitAccess() const;
 
-  /// \brief Retrieve the base object of this member expressions,
+  /// Retrieve the base object of this member expressions,
   /// e.g., the \c x in \c x.m.
   Expr *getBase() {
     assert(!isImplicitAccess());
@@ -3518,33 +3518,33 @@ public:
 
   QualType getBaseType() const { return BaseType; }
 
-  /// \brief Determine whether the lookup results contain an unresolved using
+  /// Determine whether the lookup results contain an unresolved using
   /// declaration.
   bool hasUnresolvedUsing() const { return HasUnresolvedUsing; }
 
-  /// \brief Determine whether this member expression used the '->'
+  /// Determine whether this member expression used the '->'
   /// operator; otherwise, it used the '.' operator.
   bool isArrow() const { return IsArrow; }
 
-  /// \brief Retrieve the location of the '->' or '.' operator.
+  /// Retrieve the location of the '->' or '.' operator.
   SourceLocation getOperatorLoc() const { return OperatorLoc; }
 
-  /// \brief Retrieve the naming class of this lookup.
+  /// Retrieve the naming class of this lookup.
   CXXRecordDecl *getNamingClass() const;
 
-  /// \brief Retrieve the full name info for the member that this expression
+  /// Retrieve the full name info for the member that this expression
   /// refers to.
   const DeclarationNameInfo &getMemberNameInfo() const { return getNameInfo(); }
 
-  /// \brief Retrieve the name of the member that this expression
+  /// Retrieve the name of the member that this expression
   /// refers to.
   DeclarationName getMemberName() const { return getName(); }
 
-  // \brief Retrieve the location of the name of the member that this
+  // Retrieve the location of the name of the member that this
   // expression refers to.
   SourceLocation getMemberLoc() const { return getNameLoc(); }
 
-  // \brief Return the preferred location (the member name) for the arrow when
+  // Return the preferred location (the member name) for the arrow when
   // diagnosing a problem with this expression.
   SourceLocation getExprLoc() const LLVM_READONLY { return getMemberLoc(); }
 
@@ -3596,7 +3596,7 @@ inline TemplateArgumentLoc *OverloadExpr
         ->getTrailingObjects<TemplateArgumentLoc>();
 }
 
-/// \brief Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]).
+/// Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]).
 ///
 /// The noexcept expression tests whether a given expression might throw. Its
 /// result is a boolean constant.
@@ -3635,7 +3635,7 @@ public:
   child_range children() { return child_range(&Operand, &Operand + 1); }
 };
 
-/// \brief Represents a C++11 pack expansion that produces a sequence of
+/// Represents a C++11 pack expansion that produces a sequence of
 /// expressions.
 ///
 /// A pack expansion expression contains a pattern (which itself is an
@@ -3658,7 +3658,7 @@ class PackExpansionExpr : public Expr {
 
   SourceLocation EllipsisLoc;
 
-  /// \brief The number of expansions that will be produced by this pack
+  /// The number of expansions that will be produced by this pack
   /// expansion expression, if known.
   ///
   /// When zero, the number of expansions is not known. Otherwise, this value
@@ -3680,17 +3680,17 @@ public:
 
   PackExpansionExpr(EmptyShell Empty) : Expr(PackExpansionExprClass, Empty) {}
 
-  /// \brief Retrieve the pattern of the pack expansion.
+  /// Retrieve the pattern of the pack expansion.
   Expr *getPattern() { return reinterpret_cast<Expr *>(Pattern); }
 
-  /// \brief Retrieve the pattern of the pack expansion.
+  /// Retrieve the pattern of the pack expansion.
   const Expr *getPattern() const { return reinterpret_cast<Expr *>(Pattern); }
 
-  /// \brief Retrieve the location of the ellipsis that describes this pack
+  /// Retrieve the location of the ellipsis that describes this pack
   /// expansion.
   SourceLocation getEllipsisLoc() const { return EllipsisLoc; }
 
-  /// \brief Determine the number of expansions that will be produced when
+  /// Determine the number of expansions that will be produced when
   /// this pack expansion is instantiated, if already known.
   Optional<unsigned> getNumExpansions() const {
     if (NumExpansions)
@@ -3715,7 +3715,7 @@ public:
   }
 };
 
-/// \brief Represents an expression that computes the length of a parameter
+/// Represents an expression that computes the length of a parameter
 /// pack.
 ///
 /// \code
@@ -3731,16 +3731,16 @@ class SizeOfPackExpr final
   friend class ASTStmtWriter;
   friend TrailingObjects;
 
-  /// \brief The location of the \c sizeof keyword.
+  /// The location of the \c sizeof keyword.
   SourceLocation OperatorLoc;
 
-  /// \brief The location of the name of the parameter pack.
+  /// The location of the name of the parameter pack.
   SourceLocation PackLoc;
 
-  /// \brief The location of the closing parenthesis.
+  /// The location of the closing parenthesis.
   SourceLocation RParenLoc;
 
-  /// \brief The length of the parameter pack, if known.
+  /// The length of the parameter pack, if known.
   ///
   /// When this expression is not value-dependent, this is the length of
   /// the pack. When the expression was parsed rather than instantiated
@@ -3752,10 +3752,10 @@ class SizeOfPackExpr final
   /// and this is the length of that array.
   unsigned Length;
 
-  /// \brief The parameter pack.
+  /// The parameter pack.
   NamedDecl *Pack = nullptr;
 
-  /// \brief Create an expression that computes the length of
+  /// Create an expression that computes the length of
   /// the given parameter pack.
   SizeOfPackExpr(QualType SizeType, SourceLocation OperatorLoc, NamedDecl *Pack,
                  SourceLocation PackLoc, SourceLocation RParenLoc,
@@ -3772,7 +3772,7 @@ class SizeOfPackExpr final
     std::uninitialized_copy(PartialArgs.begin(), PartialArgs.end(), Args);
   }
 
-  /// \brief Create an empty expression.
+  /// Create an empty expression.
   SizeOfPackExpr(EmptyShell Empty, unsigned NumPartialArgs)
       : Expr(SizeOfPackExprClass, Empty), Length(NumPartialArgs) {}
 
@@ -3785,19 +3785,19 @@ public:
   static SizeOfPackExpr *CreateDeserialized(ASTContext &Context,
                                             unsigned NumPartialArgs);
 
-  /// \brief Determine the location of the 'sizeof' keyword.
+  /// Determine the location of the 'sizeof' keyword.
   SourceLocation getOperatorLoc() const { return OperatorLoc; }
 
-  /// \brief Determine the location of the parameter pack.
+  /// Determine the location of the parameter pack.
   SourceLocation getPackLoc() const { return PackLoc; }
 
-  /// \brief Determine the location of the right parenthesis.
+  /// Determine the location of the right parenthesis.
   SourceLocation getRParenLoc() const { return RParenLoc; }
 
-  /// \brief Retrieve the parameter pack.
+  /// Retrieve the parameter pack.
   NamedDecl *getPack() const { return Pack; }
 
-  /// \brief Retrieve the length of the parameter pack.
+  /// Retrieve the length of the parameter pack.
   ///
   /// This routine may only be invoked when the expression is not
   /// value-dependent.
@@ -3807,7 +3807,7 @@ public:
     return Length;
   }
 
-  /// \brief Determine whether this represents a partially-substituted sizeof...
+  /// Determine whether this represents a partially-substituted sizeof...
   /// expression, such as is produced for:
   ///
   ///   template<typename ...Ts> using X = int[sizeof...(Ts)];
@@ -3816,7 +3816,7 @@ public:
     return isValueDependent() && Length;
   }
 
-  /// \brief Get
+  /// Get
   ArrayRef<TemplateArgument> getPartialArguments() const {
     assert(isPartiallySubstituted());
     const auto *Args = getTrailingObjects<TemplateArgument>();
@@ -3836,19 +3836,19 @@ public:
   }
 };
 
-/// \brief Represents a reference to a non-type template parameter
+/// Represents a reference to a non-type template parameter
 /// that has been substituted with a template argument.
 class SubstNonTypeTemplateParmExpr : public Expr {
   friend class ASTReader;
   friend class ASTStmtReader;
 
-  /// \brief The replaced parameter.
+  /// The replaced parameter.
   NonTypeTemplateParmDecl *Param;
 
-  /// \brief The replacement expression.
+  /// The replacement expression.
   Stmt *Replacement;
 
-  /// \brief The location of the non-type template parameter reference.
+  /// The location of the non-type template parameter reference.
   SourceLocation NameLoc;
 
   explicit SubstNonTypeTemplateParmExpr(EmptyShell Empty)
@@ -3882,7 +3882,7 @@ public:
   child_range children() { return child_range(&Replacement, &Replacement+1); }
 };
 
-/// \brief Represents a reference to a non-type template parameter pack that
+/// Represents a reference to a non-type template parameter pack that
 /// has been substituted with a non-template argument pack.
 ///
 /// When a pack expansion in the source code contains multiple parameter packs
@@ -3898,17 +3898,17 @@ class SubstNonTypeTemplateParmPackExpr :
   friend class ASTReader;
   friend class ASTStmtReader;
 
-  /// \brief The non-type template parameter pack itself.
+  /// The non-type template parameter pack itself.
   NonTypeTemplateParmDecl *Param;
 
-  /// \brief A pointer to the set of template arguments that this
+  /// A pointer to the set of template arguments that this
   /// parameter pack is instantiated with.
   const TemplateArgument *Arguments;
 
-  /// \brief The number of template arguments in \c Arguments.
+  /// The number of template arguments in \c Arguments.
   unsigned NumArguments;
 
-  /// \brief The location of the non-type template parameter pack reference.
+  /// The location of the non-type template parameter pack reference.
   SourceLocation NameLoc;
 
   explicit SubstNonTypeTemplateParmPackExpr(EmptyShell Empty)
@@ -3921,13 +3921,13 @@ public:
                                    SourceLocation NameLoc,
                                    const TemplateArgument &ArgPack);
 
-  /// \brief Retrieve the non-type template parameter pack being substituted.
+  /// Retrieve the non-type template parameter pack being substituted.
   NonTypeTemplateParmDecl *getParameterPack() const { return Param; }
 
-  /// \brief Retrieve the location of the parameter pack name.
+  /// Retrieve the location of the parameter pack name.
   SourceLocation getParameterPackLocation() const { return NameLoc; }
 
-  /// \brief Retrieve the template argument pack containing the substituted
+  /// Retrieve the template argument pack containing the substituted
   /// template arguments.
   TemplateArgument getArgumentPack() const;
 
@@ -3944,7 +3944,7 @@ public:
   }
 };
 
-/// \brief Represents a reference to a function parameter pack that has been
+/// Represents a reference to a function parameter pack that has been
 /// substituted but not yet expanded.
 ///
 /// When a pack expansion contains multiple parameter packs at different levels,
@@ -3965,13 +3965,13 @@ class FunctionParmPackExpr final
   friend class ASTStmtReader;
   friend TrailingObjects;
 
-  /// \brief The function parameter pack which was referenced.
+  /// The function parameter pack which was referenced.
   ParmVarDecl *ParamPack;
 
-  /// \brief The location of the function parameter pack reference.
+  /// The location of the function parameter pack reference.
   SourceLocation NameLoc;
 
-  /// \brief The number of expansions of this pack.
+  /// The number of expansions of this pack.
   unsigned NumParameters;
 
   FunctionParmPackExpr(QualType T, ParmVarDecl *ParamPack,
@@ -3986,22 +3986,22 @@ public:
   static FunctionParmPackExpr *CreateEmpty(const ASTContext &Context,
                                            unsigned NumParams);
 
-  /// \brief Get the parameter pack which this expression refers to.
+  /// Get the parameter pack which this expression refers to.
   ParmVarDecl *getParameterPack() const { return ParamPack; }
 
-  /// \brief Get the location of the parameter pack.
+  /// Get the location of the parameter pack.
   SourceLocation getParameterPackLocation() const { return NameLoc; }
 
-  /// \brief Iterators over the parameters which the parameter pack expanded
+  /// Iterators over the parameters which the parameter pack expanded
   /// into.
   using iterator = ParmVarDecl * const *;
   iterator begin() const { return getTrailingObjects<ParmVarDecl *>(); }
   iterator end() const { return begin() + NumParameters; }
 
-  /// \brief Get the number of parameters in this parameter pack.
+  /// Get the number of parameters in this parameter pack.
   unsigned getNumExpansions() const { return NumParameters; }
 
-  /// \brief Get an expansion of the parameter pack by index.
+  /// Get an expansion of the parameter pack by index.
   ParmVarDecl *getExpansion(unsigned I) const { return begin()[I]; }
 
   SourceLocation getLocStart() const LLVM_READONLY { return NameLoc; }
@@ -4016,7 +4016,7 @@ public:
   }
 };
 
-/// \brief Represents a prvalue temporary that is written into memory so that
+/// Represents a prvalue temporary that is written into memory so that
 /// a reference can bind to it.
 ///
 /// Prvalue expressions are materialized when they need to have an address
@@ -4042,11 +4042,11 @@ private:
   friend class ASTStmtWriter;
 
   struct ExtraState {
-    /// \brief The temporary-generating expression whose value will be
+    /// The temporary-generating expression whose value will be
     /// materialized.
     Stmt *Temporary;
 
-    /// \brief The declaration which lifetime-extended this reference, if any.
+    /// The declaration which lifetime-extended this reference, if any.
     /// Either a VarDecl, or (for a ctor-initializer) a FieldDecl.
     const ValueDecl *ExtendingDecl;
 
@@ -4075,11 +4075,11 @@ public:
                               : State.get<ExtraState *>()->Temporary;
   }
 
-  /// \brief Retrieve the temporary-generating subexpression whose value will
+  /// Retrieve the temporary-generating subexpression whose value will
   /// be materialized into a glvalue.
   Expr *GetTemporaryExpr() const { return static_cast<Expr *>(getTemporary()); }
 
-  /// \brief Retrieve the storage duration for the materialized temporary.
+  /// Retrieve the storage duration for the materialized temporary.
   StorageDuration getStorageDuration() const {
     const ValueDecl *ExtendingDecl = getExtendingDecl();
     if (!ExtendingDecl)
@@ -4097,7 +4097,7 @@ public:
     return cast<VarDecl>(ExtendingDecl)->getStorageDuration();
   }
 
-  /// \brief Get the declaration which triggered the lifetime-extension of this
+  /// Get the declaration which triggered the lifetime-extension of this
   /// temporary, if any.
   const ValueDecl *getExtendingDecl() const {
     return State.is<Stmt *>() ? nullptr
@@ -4110,7 +4110,7 @@ public:
     return State.is<Stmt *>() ? 0 : State.get<ExtraState *>()->ManglingNumber;
   }
 
-  /// \brief Determine whether this materialized temporary is bound to an
+  /// Determine whether this materialized temporary is bound to an
   /// lvalue reference; otherwise, it's bound to an rvalue reference.
   bool isBoundToLvalueReference() const {
     return getValueKind() == VK_LValue;
@@ -4138,7 +4138,7 @@ public:
   }
 };
 
-/// \brief Represents a folding of a pack over an operator.
+/// Represents a folding of a pack over an operator.
 ///
 /// This expression is always dependent and represents a pack expansion of the
 /// forms:
@@ -4207,7 +4207,7 @@ public:
   child_range children() { return child_range(SubExprs, SubExprs + 2); }
 };
 
-/// \brief Represents an expression that might suspend coroutine execution;
+/// Represents an expression that might suspend coroutine execution;
 /// either a co_await or co_yield expression.
 ///
 /// Evaluation of this expression first evaluates its 'ready' expression. If
@@ -4271,7 +4271,7 @@ public:
     return static_cast<Expr*>(SubExprs[SubExpr::Common]);
   }
 
-  /// \brief getOpaqueValue - Return the opaque value placeholder.
+  /// getOpaqueValue - Return the opaque value placeholder.
   OpaqueValueExpr *getOpaqueValue() const { return OpaqueValue; }
 
   Expr *getReadyExpr() const {
@@ -4304,7 +4304,7 @@ public:
   }
 };
 
-/// \brief Represents a 'co_await' expression.
+/// Represents a 'co_await' expression.
 class CoawaitExpr : public CoroutineSuspendExpr {
   friend class ASTStmtReader;
 
@@ -4339,7 +4339,7 @@ public:
   }
 };
 
-/// \brief Represents a 'co_await' expression while the type of the promise
+/// Represents a 'co_await' expression while the type of the promise
 /// is dependent.
 class DependentCoawaitExpr : public Expr {
   friend class ASTStmtReader;
@@ -4387,7 +4387,7 @@ public:
   }
 };
 
-/// \brief Represents a 'co_yield' expression.
+/// Represents a 'co_yield' expression.
 class CoyieldExpr : public CoroutineSuspendExpr {
   friend class ASTStmtReader;
 

Modified: cfe/trunk/include/clang/AST/ExprObjC.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprObjC.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ExprObjC.h (original)
+++ cfe/trunk/include/clang/AST/ExprObjC.h Tue May  8 18:00:01 2018
@@ -198,10 +198,10 @@ public:
   SourceLocation getLocEnd() const LLVM_READONLY { return Range.getEnd(); }
   SourceRange getSourceRange() const LLVM_READONLY { return Range; }
 
-  /// \brief Retrieve elements of array of literals.
+  /// Retrieve elements of array of literals.
   Expr **getElements() { return getTrailingObjects<Expr *>(); }
 
-  /// \brief Retrieve elements of array of literals.
+  /// Retrieve elements of array of literals.
   const Expr * const *getElements() const {
     return getTrailingObjects<Expr *>();
   }
@@ -234,23 +234,23 @@ public:
   }
 };
 
-/// \brief An element in an Objective-C dictionary literal.
+/// An element in an Objective-C dictionary literal.
 ///
 struct ObjCDictionaryElement {
-  /// \brief The key for the dictionary element.
+  /// The key for the dictionary element.
   Expr *Key;
   
-  /// \brief The value of the dictionary element.
+  /// The value of the dictionary element.
   Expr *Value;
   
-  /// \brief The location of the ellipsis, if this is a pack expansion.
+  /// The location of the ellipsis, if this is a pack expansion.
   SourceLocation EllipsisLoc;
   
-  /// \brief The number of elements this pack expansion will expand to, if
+  /// The number of elements this pack expansion will expand to, if
   /// this is a pack expansion and is known.
   Optional<unsigned> NumExpansions;
 
-  /// \brief Determines whether this dictionary element is a pack expansion.
+  /// Determines whether this dictionary element is a pack expansion.
   bool isPackExpansion() const { return EllipsisLoc.isValid(); }
 };
 
@@ -264,21 +264,21 @@ template <> struct isPodLike<clang::ObjC
 
 namespace clang {
 
-/// \brief Internal struct for storing Key/value pair.
+/// Internal struct for storing Key/value pair.
 struct ObjCDictionaryLiteral_KeyValuePair {
   Expr *Key;
   Expr *Value;
 };
 
-/// \brief Internal struct to describes an element that is a pack
+/// Internal struct to describes an element that is a pack
 /// expansion, used if any of the elements in the dictionary literal
 /// are pack expansions.
 struct ObjCDictionaryLiteral_ExpansionData {
-  /// \brief The location of the ellipsis, if this element is a pack
+  /// The location of the ellipsis, if this element is a pack
   /// expansion.
   SourceLocation EllipsisLoc;
 
-  /// \brief If non-zero, the number of elements that this pack
+  /// If non-zero, the number of elements that this pack
   /// expansion will expand to (+1).
   unsigned NumExpansionsPlusOne;
 };
@@ -290,10 +290,10 @@ class ObjCDictionaryLiteral final
       private llvm::TrailingObjects<ObjCDictionaryLiteral,
                                     ObjCDictionaryLiteral_KeyValuePair,
                                     ObjCDictionaryLiteral_ExpansionData> {
-  /// \brief The number of elements in this dictionary literal.
+  /// The number of elements in this dictionary literal.
   unsigned NumElements : 31;
 
-  /// \brief Determine whether this dictionary literal has any pack expansions.
+  /// Determine whether this dictionary literal has any pack expansions.
   ///
   /// If the dictionary literal has pack expansions, then there will
   /// be an array of pack expansion data following the array of
@@ -582,7 +582,7 @@ private:
   /// the pointer is an ObjCPropertyDecl and Setter is always null.
   llvm::PointerIntPair<NamedDecl *, 1, bool> PropertyOrGetter;
 
-  /// \brief Indicates whether the property reference will result in a message
+  /// Indicates whether the property reference will result in a message
   /// to the getter, the setter, or both.
   /// This applies to both implicit and explicit property references.
   enum MethodRefFlags {
@@ -591,7 +591,7 @@ private:
     MethodRef_Setter = 0x2
   };
 
-  /// \brief Contains the Setter method pointer and MethodRefFlags bit flags.
+  /// Contains the Setter method pointer and MethodRefFlags bit flags.
   llvm::PointerIntPair<ObjCMethodDecl *, 2, unsigned> SetterAndMethodRefFlags;
 
   // FIXME: Maybe we should store the property identifier here,
@@ -601,7 +601,7 @@ private:
 
   SourceLocation IdLoc;
   
-  /// \brief When the receiver in property access is 'super', this is
+  /// When the receiver in property access is 'super', this is
   /// the location of the 'super' keyword.  When it's an interface,
   /// this is that interface.
   SourceLocation ReceiverLoc;
@@ -694,14 +694,14 @@ public:
     return getExplicitProperty()->getSetterName();
   }
 
-  /// \brief True if the property reference will result in a message to the
+  /// True if the property reference will result in a message to the
   /// getter.
   /// This applies to both implicit and explicit property references.
   bool isMessagingGetter() const {
     return SetterAndMethodRefFlags.getInt() & MethodRef_Getter;
   }
 
-  /// \brief True if the property reference will result in a message to the
+  /// True if the property reference will result in a message to the
   /// setter.
   /// This applies to both implicit and explicit property references.
   bool isMessagingSetter() const {
@@ -874,7 +874,7 @@ private:
   friend class ASTStmtReader;
 };
 
-/// \brief An expression that sends a message to the given Objective-C
+/// An expression that sends a message to the given Objective-C
 /// object or class.
 ///
 /// The following contains two message send expressions:
@@ -903,47 +903,47 @@ private:
 class ObjCMessageExpr final
     : public Expr,
       private llvm::TrailingObjects<ObjCMessageExpr, void *, SourceLocation> {
-  /// \brief Stores either the selector that this message is sending
+  /// Stores either the selector that this message is sending
   /// to (when \c HasMethod is zero) or an \c ObjCMethodDecl pointer
   /// referring to the method that we type-checked against.
   uintptr_t SelectorOrMethod = 0;
 
   enum { NumArgsBitWidth = 16 };
 
-  /// \brief The number of arguments in the message send, not
+  /// The number of arguments in the message send, not
   /// including the receiver.
   unsigned NumArgs : NumArgsBitWidth;
   
-  /// \brief The kind of message send this is, which is one of the
+  /// The kind of message send this is, which is one of the
   /// ReceiverKind values.
   ///
   /// We pad this out to a byte to avoid excessive masking and shifting.
   unsigned Kind : 8;
 
-  /// \brief Whether we have an actual method prototype in \c
+  /// Whether we have an actual method prototype in \c
   /// SelectorOrMethod.
   ///
   /// When non-zero, we have a method declaration; otherwise, we just
   /// have a selector.
   unsigned HasMethod : 1;
 
-  /// \brief Whether this message send is a "delegate init call",
+  /// Whether this message send is a "delegate init call",
   /// i.e. a call of an init method on self from within an init method.
   unsigned IsDelegateInitCall : 1;
 
-  /// \brief Whether this message send was implicitly generated by
+  /// Whether this message send was implicitly generated by
   /// the implementation rather than explicitly written by the user.
   unsigned IsImplicit : 1;
 
-  /// \brief Whether the locations of the selector identifiers are in a
+  /// Whether the locations of the selector identifiers are in a
   /// "standard" position, a enum SelectorLocationsKind.
   unsigned SelLocsKind : 2;
 
-  /// \brief When the message expression is a send to 'super', this is
+  /// When the message expression is a send to 'super', this is
   /// the location of the 'super' keyword.
   SourceLocation SuperLoc;
 
-  /// \brief The source locations of the open and close square
+  /// The source locations of the open and close square
   /// brackets ('[' and ']', respectively).
   SourceLocation LBracLoc, RBracLoc;
 
@@ -997,10 +997,10 @@ class ObjCMessageExpr final
                           ArrayRef<SourceLocation> SelLocs,
                           SelectorLocationsKind SelLocsK);
 
-  /// \brief Retrieve the pointer value of the message receiver.
+  /// Retrieve the pointer value of the message receiver.
   void *getReceiverPointer() const { return *getTrailingObjects<void *>(); }
 
-  /// \brief Set the pointer value of the message receiver.
+  /// Set the pointer value of the message receiver.
   void setReceiverPointer(void *Value) {
     *getTrailingObjects<void *>() = Value;
   }
@@ -1013,7 +1013,7 @@ class ObjCMessageExpr final
     return getSelLocsKind() != SelLoc_NonStandard;
   }
 
-  /// \brief Get a pointer to the stored selector identifiers locations array.
+  /// Get a pointer to the stored selector identifiers locations array.
   /// No locations will be stored if HasStandardSelLocs is true.
   SourceLocation *getStoredSelLocs() {
     return getTrailingObjects<SourceLocation>();
@@ -1022,7 +1022,7 @@ class ObjCMessageExpr final
     return getTrailingObjects<SourceLocation>();
   }
 
-  /// \brief Get the number of stored selector identifiers locations.
+  /// Get the number of stored selector identifiers locations.
   /// No locations will be stored if HasStandardSelLocs is true.
   unsigned getNumStoredSelLocs() const {
     if (hasStandardSelLocs())
@@ -1045,22 +1045,22 @@ public:
   friend class ASTStmtWriter;
   friend TrailingObjects;
 
-  /// \brief The kind of receiver this message is sending to.
+  /// The kind of receiver this message is sending to.
   enum ReceiverKind {
-    /// \brief The receiver is a class.
+    /// The receiver is a class.
     Class = 0,
 
-    /// \brief The receiver is an object instance.
+    /// The receiver is an object instance.
     Instance,
 
-    /// \brief The receiver is a superclass.
+    /// The receiver is a superclass.
     SuperClass,
 
-    /// \brief The receiver is the instance of the superclass object.
+    /// The receiver is the instance of the superclass object.
     SuperInstance
   };
 
-  /// \brief Create a message send to super.
+  /// Create a message send to super.
   ///
   /// \param Context The ASTContext in which this expression will be created.
   ///
@@ -1098,7 +1098,7 @@ public:
                                  SourceLocation RBracLoc,
                                  bool isImplicit);
 
-  /// \brief Create a class message send.
+  /// Create a class message send.
   ///
   /// \param Context The ASTContext in which this expression will be created.
   ///
@@ -1132,7 +1132,7 @@ public:
                                  SourceLocation RBracLoc,
                                  bool isImplicit);
 
-  /// \brief Create an instance message send.
+  /// Create an instance message send.
   ///
   /// \param Context The ASTContext in which this expression will be created.
   ///
@@ -1166,7 +1166,7 @@ public:
                                  SourceLocation RBracLoc,
                                  bool isImplicit);
 
-  /// \brief Create an empty Objective-C message expression, to be
+  /// Create an empty Objective-C message expression, to be
   /// filled in by subsequent calls.
   ///
   /// \param Context The context in which the message send will be created.
@@ -1177,31 +1177,31 @@ public:
                                       unsigned NumArgs,
                                       unsigned NumStoredSelLocs);
 
-  /// \brief Indicates whether the message send was implicitly
+  /// Indicates whether the message send was implicitly
   /// generated by the implementation. If false, it was written explicitly
   /// in the source code.
   bool isImplicit() const { return IsImplicit; }
 
-  /// \brief Determine the kind of receiver that this message is being
+  /// Determine the kind of receiver that this message is being
   /// sent to.
   ReceiverKind getReceiverKind() const { return (ReceiverKind)Kind; }
 
-  /// \brief Source range of the receiver.
+  /// Source range of the receiver.
   SourceRange getReceiverRange() const;
 
-  /// \brief Determine whether this is an instance message to either a
+  /// Determine whether this is an instance message to either a
   /// computed object or to super.
   bool isInstanceMessage() const {
     return getReceiverKind() == Instance || getReceiverKind() == SuperInstance;
   }
 
-  /// \brief Determine whether this is an class message to either a
+  /// Determine whether this is an class message to either a
   /// specified class or to super.
   bool isClassMessage() const {
     return getReceiverKind() == Class || getReceiverKind() == SuperClass;
   }
 
-  /// \brief Returns the object expression (receiver) for an instance message,
+  /// Returns the object expression (receiver) for an instance message,
   /// or null for a message that is not an instance message.
   Expr *getInstanceReceiver() {
     if (getReceiverKind() == Instance)
@@ -1213,14 +1213,14 @@ public:
     return const_cast<ObjCMessageExpr*>(this)->getInstanceReceiver();
   }
 
-  /// \brief Turn this message send into an instance message that
+  /// Turn this message send into an instance message that
   /// computes the receiver object with the given expression.
   void setInstanceReceiver(Expr *rec) { 
     Kind = Instance;
     setReceiverPointer(rec);
   }
   
-  /// \brief Returns the type of a class message send, or NULL if the
+  /// Returns the type of a class message send, or NULL if the
   /// message is not a class message.
   QualType getClassReceiver() const { 
     if (TypeSourceInfo *TSInfo = getClassReceiverTypeInfo())
@@ -1229,7 +1229,7 @@ public:
     return {};
   }
 
-  /// \brief Returns a type-source information of a class message
+  /// Returns a type-source information of a class message
   /// send, or nullptr if the message is not a class message.
   TypeSourceInfo *getClassReceiverTypeInfo() const {
     if (getReceiverKind() == Class)
@@ -1242,7 +1242,7 @@ public:
     setReceiverPointer(TSInfo);
   }
 
-  /// \brief Retrieve the location of the 'super' keyword for a class
+  /// Retrieve the location of the 'super' keyword for a class
   /// or instance message to 'super', otherwise an invalid source location.
   SourceLocation getSuperLoc() const { 
     if (getReceiverKind() == SuperInstance || getReceiverKind() == SuperClass)
@@ -1251,7 +1251,7 @@ public:
     return SourceLocation();
   }
 
-  /// \brief Retrieve the receiver type to which this message is being directed.
+  /// Retrieve the receiver type to which this message is being directed.
   ///
   /// This routine cross-cuts all of the different kinds of message
   /// sends to determine what the underlying (statically known) type
@@ -1262,7 +1262,7 @@ public:
   /// \returns The type of the receiver.
   QualType getReceiverType() const;
 
-  /// \brief Retrieve the Objective-C interface to which this message
+  /// Retrieve the Objective-C interface to which this message
   /// is being directed, if known.
   ///
   /// This routine cross-cuts all of the different kinds of message
@@ -1274,7 +1274,7 @@ public:
   /// \returns The Objective-C interface if known, otherwise nullptr.
   ObjCInterfaceDecl *getReceiverInterface() const;
 
-  /// \brief Retrieve the type referred to by 'super'. 
+  /// Retrieve the type referred to by 'super'. 
   ///
   /// The returned type will either be an ObjCInterfaceType (for an
   /// class message to super) or an ObjCObjectPointerType that refers
@@ -1323,11 +1323,11 @@ public:
     return getSelector().getMethodFamily();
   }
 
-  /// \brief Return the number of actual arguments in this message,
+  /// Return the number of actual arguments in this message,
   /// not counting the receiver.
   unsigned getNumArgs() const { return NumArgs; }
 
-  /// \brief Retrieve the arguments to this message, not including the
+  /// Retrieve the arguments to this message, not including the
   /// receiver.
   Expr **getArgs() {
     return reinterpret_cast<Expr **>(getTrailingObjects<void *>() + 1);
@@ -1455,7 +1455,7 @@ public:
              /*ContainsUnexpandedParameterPack=*/false),
         Base(base), IsaMemberLoc(l), OpLoc(oploc), IsArrow(isarrow) {}
 
-  /// \brief Build an empty expression.
+  /// Build an empty expression.
   explicit ObjCIsaExpr(EmptyShell Empty) : Expr(ObjCIsaExprClass, Empty) {}
 
   void setBase(Expr *E) { Base = E; }
@@ -1563,7 +1563,7 @@ public:
   }
 };
 
-/// \brief An Objective-C "bridged" cast expression, which casts between
+/// An Objective-C "bridged" cast expression, which casts between
 /// Objective-C pointers and C pointers, transferring ownership in the process.
 ///
 /// \code
@@ -1589,21 +1589,21 @@ public:
                          CK, Operand, 0, TSInfo),
         LParenLoc(LParenLoc), BridgeKeywordLoc(BridgeKeywordLoc), Kind(Kind) {}
   
-  /// \brief Construct an empty Objective-C bridged cast.
+  /// Construct an empty Objective-C bridged cast.
   explicit ObjCBridgedCastExpr(EmptyShell Shell)
       : ExplicitCastExpr(ObjCBridgedCastExprClass, Shell, 0) {}
 
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Determine which kind of bridge is being performed via this cast.
+  /// Determine which kind of bridge is being performed via this cast.
   ObjCBridgeCastKind getBridgeKind() const { 
     return static_cast<ObjCBridgeCastKind>(Kind); 
   }
   
-  /// \brief Retrieve the kind of bridge being performed as a string.
+  /// Retrieve the kind of bridge being performed as a string.
   StringRef getBridgeKindName() const;
   
-  /// \brief The location of the bridge keyword.
+  /// The location of the bridge keyword.
   SourceLocation getBridgeKeywordLoc() const { return BridgeKeywordLoc; }
   
   SourceLocation getLocStart() const LLVM_READONLY { return LParenLoc; }
@@ -1617,7 +1617,7 @@ public:
   }
 };
 
-/// \brief A runtime availability query.
+/// A runtime availability query.
 ///
 /// There are 2 ways to spell this node:
 /// \code
@@ -1650,7 +1650,7 @@ public:
   SourceLocation getLocEnd() const { return RParen; }
   SourceRange getSourceRange() const { return {AtLoc, RParen}; }
 
-  /// \brief This may be '*', in which case this should fold to true.
+  /// This may be '*', in which case this should fold to true.
   bool hasVersion() const { return !VersionToCheck.empty(); }
   VersionTuple getVersion() { return VersionToCheck; }
 

Modified: cfe/trunk/include/clang/AST/ExprOpenMP.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExprOpenMP.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ExprOpenMP.h (original)
+++ cfe/trunk/include/clang/AST/ExprOpenMP.h Tue May  8 18:00:01 2018
@@ -17,7 +17,7 @@
 #include "clang/AST/Expr.h"
 
 namespace clang {
-/// \brief OpenMP 4.0 [2.4, Array Sections].
+/// OpenMP 4.0 [2.4, Array Sections].
 /// To specify an array section in an OpenMP construct, array subscript
 /// expressions are extended with the following syntax:
 /// \code
@@ -72,33 +72,33 @@ public:
     SubExprs[LENGTH] = Length;
   }
 
-  /// \brief Create an empty array section expression.
+  /// Create an empty array section expression.
   explicit OMPArraySectionExpr(EmptyShell Shell)
       : Expr(OMPArraySectionExprClass, Shell) {}
 
   /// An array section can be written only as Base[LowerBound:Length].
 
-  /// \brief Get base of the array section.
+  /// Get base of the array section.
   Expr *getBase() { return cast<Expr>(SubExprs[BASE]); }
   const Expr *getBase() const { return cast<Expr>(SubExprs[BASE]); }
-  /// \brief Set base of the array section.
+  /// Set base of the array section.
   void setBase(Expr *E) { SubExprs[BASE] = E; }
 
-  /// \brief Return original type of the base expression for array section.
+  /// Return original type of the base expression for array section.
   static QualType getBaseOriginalType(const Expr *Base);
 
-  /// \brief Get lower bound of array section.
+  /// Get lower bound of array section.
   Expr *getLowerBound() { return cast_or_null<Expr>(SubExprs[LOWER_BOUND]); }
   const Expr *getLowerBound() const {
     return cast_or_null<Expr>(SubExprs[LOWER_BOUND]);
   }
-  /// \brief Set lower bound of the array section.
+  /// Set lower bound of the array section.
   void setLowerBound(Expr *E) { SubExprs[LOWER_BOUND] = E; }
 
-  /// \brief Get length of array section.
+  /// Get length of array section.
   Expr *getLength() { return cast_or_null<Expr>(SubExprs[LENGTH]); }
   const Expr *getLength() const { return cast_or_null<Expr>(SubExprs[LENGTH]); }
-  /// \brief Set length of the array section.
+  /// Set length of the array section.
   void setLength(Expr *E) { SubExprs[LENGTH] = E; }
 
   SourceLocation getLocStart() const LLVM_READONLY {

Modified: cfe/trunk/include/clang/AST/ExternalASTSource.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ExternalASTSource.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ExternalASTSource.h (original)
+++ cfe/trunk/include/clang/AST/ExternalASTSource.h Tue May  8 18:00:01 2018
@@ -53,7 +53,7 @@ class Selector;
 class Stmt;
 class TagDecl;
 
-/// \brief Abstract interface for external sources of AST nodes.
+/// Abstract interface for external sources of AST nodes.
 ///
 /// External AST sources provide AST nodes constructed from some
 /// external source, such as a precompiled header. External AST
@@ -67,7 +67,7 @@ class ExternalASTSource : public RefCoun
   /// whenever we might have added new redeclarations for existing decls.
   uint32_t CurrentGeneration = 0;
 
-  /// \brief Whether this AST source also provides information for
+  /// Whether this AST source also provides information for
   /// semantic analysis.
   bool SemaSource = false;
 
@@ -75,7 +75,7 @@ public:
   ExternalASTSource() = default;
   virtual ~ExternalASTSource();
 
-  /// \brief RAII class for safely pairing a StartedDeserializing call
+  /// RAII class for safely pairing a StartedDeserializing call
   /// with FinishedDeserializing.
   class Deserializing {
     ExternalASTSource *Source;
@@ -91,12 +91,12 @@ public:
     }
   };
 
-  /// \brief Get the current generation of this AST source. This number
+  /// Get the current generation of this AST source. This number
   /// is incremented each time the AST source lazily extends an existing
   /// entity.
   uint32_t getGeneration() const { return CurrentGeneration; }
 
-  /// \brief Resolve a declaration ID into a declaration, potentially
+  /// Resolve a declaration ID into a declaration, potentially
   /// building a new declaration.
   ///
   /// This method only needs to be implemented if the AST source ever
@@ -105,7 +105,7 @@ public:
   /// The default implementation of this method is a no-op.
   virtual Decl *GetExternalDecl(uint32_t ID);
 
-  /// \brief Resolve a selector ID into a selector.
+  /// Resolve a selector ID into a selector.
   ///
   /// This operation only needs to be implemented if the AST source
   /// returns non-zero for GetNumKnownSelectors().
@@ -113,13 +113,13 @@ public:
   /// The default implementation of this method is a no-op.
   virtual Selector GetExternalSelector(uint32_t ID);
 
-  /// \brief Returns the number of selectors known to the external AST
+  /// Returns the number of selectors known to the external AST
   /// source.
   ///
   /// The default implementation of this method is a no-op.
   virtual uint32_t GetNumExternalSelectors();
 
-  /// \brief Resolve the offset of a statement in the decl stream into
+  /// Resolve the offset of a statement in the decl stream into
   /// a statement.
   ///
   /// This operation is meant to be used via a LazyOffsetPtr.  It only
@@ -129,22 +129,22 @@ public:
   /// The default implementation of this method is a no-op.
   virtual Stmt *GetExternalDeclStmt(uint64_t Offset);
 
-  /// \brief Resolve the offset of a set of C++ constructor initializers in
+  /// Resolve the offset of a set of C++ constructor initializers in
   /// the decl stream into an array of initializers.
   ///
   /// The default implementation of this method is a no-op.
   virtual CXXCtorInitializer **GetExternalCXXCtorInitializers(uint64_t Offset);
 
-  /// \brief Resolve the offset of a set of C++ base specifiers in the decl
+  /// Resolve the offset of a set of C++ base specifiers in the decl
   /// stream into an array of specifiers.
   ///
   /// The default implementation of this method is a no-op.
   virtual CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset);
 
-  /// \brief Update an out-of-date identifier.
+  /// Update an out-of-date identifier.
   virtual void updateOutOfDateIdentifier(IdentifierInfo &II) {}
 
-  /// \brief Find all declarations with the given name in the given context,
+  /// Find all declarations with the given name in the given context,
   /// and add them to the context by calling SetExternalVisibleDeclsForName
   /// or SetNoExternalVisibleDeclsForName.
   /// \return \c true if any declarations might have been found, \c false if
@@ -154,13 +154,13 @@ public:
   virtual bool
   FindExternalVisibleDeclsByName(const DeclContext *DC, DeclarationName Name);
 
-  /// \brief Ensures that the table of all visible declarations inside this
+  /// Ensures that the table of all visible declarations inside this
   /// context is up to date.
   ///
   /// The default implementation of this function is a no-op.
   virtual void completeVisibleDeclsMap(const DeclContext *DC);
 
-  /// \brief Retrieve the module that corresponds to the given module ID.
+  /// Retrieve the module that corresponds to the given module ID.
   virtual Module *getModule(unsigned ID) { return nullptr; }
 
   /// Abstracts clang modules and precompiled header files and holds
@@ -195,7 +195,7 @@ public:
 
   virtual ExtKind hasExternalDefinitions(const Decl *D);
 
-  /// \brief Finds all declarations lexically contained within the given
+  /// Finds all declarations lexically contained within the given
   /// DeclContext, after applying an optional filter predicate.
   ///
   /// \param IsKindWeWant a predicate function that returns true if the passed
@@ -207,31 +207,31 @@ public:
                            llvm::function_ref<bool(Decl::Kind)> IsKindWeWant,
                            SmallVectorImpl<Decl *> &Result);
 
-  /// \brief Finds all declarations lexically contained within the given
+  /// Finds all declarations lexically contained within the given
   /// DeclContext.
   void FindExternalLexicalDecls(const DeclContext *DC,
                                 SmallVectorImpl<Decl *> &Result) {
     FindExternalLexicalDecls(DC, [](Decl::Kind) { return true; }, Result);
   }
 
-  /// \brief Get the decls that are contained in a file in the Offset/Length
+  /// Get the decls that are contained in a file in the Offset/Length
   /// range. \p Length can be 0 to indicate a point at \p Offset instead of
   /// a range.
   virtual void FindFileRegionDecls(FileID File, unsigned Offset,
                                    unsigned Length,
                                    SmallVectorImpl<Decl *> &Decls);
 
-  /// \brief Gives the external AST source an opportunity to complete
+  /// Gives the external AST source an opportunity to complete
   /// the redeclaration chain for a declaration. Called each time we
   /// need the most recent declaration of a declaration after the
   /// generation count is incremented.
   virtual void CompleteRedeclChain(const Decl *D);
 
-  /// \brief Gives the external AST source an opportunity to complete
+  /// Gives the external AST source an opportunity to complete
   /// an incomplete type.
   virtual void CompleteType(TagDecl *Tag);
 
-  /// \brief Gives the external AST source an opportunity to complete an
+  /// Gives the external AST source an opportunity to complete an
   /// incomplete Objective-C class.
   ///
   /// This routine will only be invoked if the "externally completed" bit is
@@ -239,35 +239,35 @@ public:
   /// \c ObjCInterfaceDecl::setExternallyCompleted().
   virtual void CompleteType(ObjCInterfaceDecl *Class);
 
-  /// \brief Loads comment ranges.
+  /// Loads comment ranges.
   virtual void ReadComments();
 
-  /// \brief Notify ExternalASTSource that we started deserialization of
+  /// Notify ExternalASTSource that we started deserialization of
   /// a decl or type so until FinishedDeserializing is called there may be
   /// decls that are initializing. Must be paired with FinishedDeserializing.
   ///
   /// The default implementation of this method is a no-op.
   virtual void StartedDeserializing();
 
-  /// \brief Notify ExternalASTSource that we finished the deserialization of
+  /// Notify ExternalASTSource that we finished the deserialization of
   /// a decl or type. Must be paired with StartedDeserializing.
   ///
   /// The default implementation of this method is a no-op.
   virtual void FinishedDeserializing();
 
-  /// \brief Function that will be invoked when we begin parsing a new
+  /// Function that will be invoked when we begin parsing a new
   /// translation unit involving this external AST source.
   ///
   /// The default implementation of this method is a no-op.
   virtual void StartTranslationUnit(ASTConsumer *Consumer);
 
-  /// \brief Print any statistics that have been gathered regarding
+  /// Print any statistics that have been gathered regarding
   /// the external AST source.
   ///
   /// The default implementation of this method is a no-op.
   virtual void PrintStats();
   
-  /// \brief Perform layout on the given record.
+  /// Perform layout on the given record.
   ///
   /// This routine allows the external AST source to provide an specific 
   /// layout for a record, overriding the layout that would normally be
@@ -332,11 +332,11 @@ protected:
   SetNoExternalVisibleDeclsForName(const DeclContext *DC,
                                    DeclarationName Name);
 
-  /// \brief Increment the current generation.
+  /// Increment the current generation.
   uint32_t incrementGeneration(ASTContext &C);
 };
 
-/// \brief A lazy pointer to an AST node (of base type T) that resides
+/// A lazy pointer to an AST node (of base type T) that resides
 /// within an external AST source.
 ///
 /// The AST node is identified within the external AST source by a
@@ -344,7 +344,7 @@ protected:
 /// external AST source itself.
 template<typename T, typename OffsT, T* (ExternalASTSource::*Get)(OffsT Offset)>
 struct LazyOffsetPtr {
-  /// \brief Either a pointer to an AST node or the offset within the
+  /// Either a pointer to an AST node or the offset within the
   /// external AST source where the AST node can be found.
   ///
   /// If the low bit is clear, a pointer to the AST node. If the low
@@ -376,20 +376,20 @@ public:
     return *this;
   }
 
-  /// \brief Whether this pointer is non-NULL.
+  /// Whether this pointer is non-NULL.
   ///
   /// This operation does not require the AST node to be deserialized.
   explicit operator bool() const { return Ptr != 0; }
 
-  /// \brief Whether this pointer is non-NULL.
+  /// Whether this pointer is non-NULL.
   ///
   /// This operation does not require the AST node to be deserialized.
   bool isValid() const { return Ptr != 0; }
 
-  /// \brief Whether this pointer is currently stored as an offset.
+  /// Whether this pointer is currently stored as an offset.
   bool isOffset() const { return Ptr & 0x01; }
 
-  /// \brief Retrieve the pointer to the AST node that this lazy pointer
+  /// Retrieve the pointer to the AST node that this lazy pointer
   ///
   /// \param Source the external AST source.
   ///
@@ -404,7 +404,7 @@ public:
   }
 };
 
-/// \brief A lazy value (of type T) that is within an AST node of type Owner,
+/// A lazy value (of type T) that is within an AST node of type Owner,
 /// where the value might change in later generations of the external AST
 /// source.
 template<typename Owner, typename T, void (ExternalASTSource::*Update)(Owner)>
@@ -505,7 +505,7 @@ struct PointerLikeTypeTraits<
 
 namespace clang {
 
-/// \brief Represents a lazily-loaded vector of data.
+/// Represents a lazily-loaded vector of data.
 ///
 /// The lazily-loaded vector of data contains data that is partially loaded
 /// from an external source and partially added by local translation. The 
@@ -589,20 +589,20 @@ public:
   }
 };
 
-/// \brief A lazy pointer to a statement.
+/// A lazy pointer to a statement.
 using LazyDeclStmtPtr =
     LazyOffsetPtr<Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt>;
 
-/// \brief A lazy pointer to a declaration.
+/// A lazy pointer to a declaration.
 using LazyDeclPtr =
     LazyOffsetPtr<Decl, uint32_t, &ExternalASTSource::GetExternalDecl>;
 
-/// \brief A lazy pointer to a set of CXXCtorInitializers.
+/// A lazy pointer to a set of CXXCtorInitializers.
 using LazyCXXCtorInitializersPtr =
     LazyOffsetPtr<CXXCtorInitializer *, uint64_t,
                   &ExternalASTSource::GetExternalCXXCtorInitializers>;
 
-/// \brief A lazy pointer to a set of CXXBaseSpecifiers.
+/// A lazy pointer to a set of CXXBaseSpecifiers.
 using LazyCXXBaseSpecifiersPtr =
     LazyOffsetPtr<CXXBaseSpecifier, uint64_t,
                   &ExternalASTSource::GetExternalCXXBaseSpecifiers>;

Modified: cfe/trunk/include/clang/AST/LambdaCapture.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/LambdaCapture.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/LambdaCapture.h (original)
+++ cfe/trunk/include/clang/AST/LambdaCapture.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the LambdaCapture class.
+/// Defines the LambdaCapture class.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -21,21 +21,21 @@
 
 namespace clang {
 
-/// \brief Describes the capture of a variable or of \c this, or of a
+/// Describes the capture of a variable or of \c this, or of a
 /// C++1y init-capture.
 class LambdaCapture {
   enum {
-    /// \brief Flag used by the Capture class to indicate that the given
+    /// Flag used by the Capture class to indicate that the given
     /// capture was implicit.
     Capture_Implicit = 0x01,
 
-    /// \brief Flag used by the Capture class to indicate that the
+    /// Flag used by the Capture class to indicate that the
     /// given capture was by-copy.
     ///
     /// This includes the case of a non-reference init-capture.
     Capture_ByCopy = 0x02,
 
-    /// \brief Flag used by the Capture class to distinguish between a capture
+    /// Flag used by the Capture class to distinguish between a capture
     /// of '*this' and a capture of a VLA type.
     Capture_This = 0x04
   };
@@ -56,7 +56,7 @@ class LambdaCapture {
   friend class ASTStmtWriter;
 
 public:
-  /// \brief Create a new capture of a variable or of \c this.
+  /// Create a new capture of a variable or of \c this.
   ///
   /// \param Loc The source location associated with this capture.
   ///
@@ -75,29 +75,29 @@ public:
                 VarDecl *Var = nullptr,
                 SourceLocation EllipsisLoc = SourceLocation());
 
-  /// \brief Determine the kind of capture.
+  /// Determine the kind of capture.
   LambdaCaptureKind getCaptureKind() const;
 
-  /// \brief Determine whether this capture handles the C++ \c this
+  /// Determine whether this capture handles the C++ \c this
   /// pointer.
   bool capturesThis() const {
     return DeclAndBits.getPointer() == nullptr &&
           (DeclAndBits.getInt() & Capture_This);
   }
 
-  /// \brief Determine whether this capture handles a variable.
+  /// Determine whether this capture handles a variable.
   bool capturesVariable() const {
     return dyn_cast_or_null<VarDecl>(DeclAndBits.getPointer());
   }
 
-  /// \brief Determine whether this captures a variable length array bound
+  /// Determine whether this captures a variable length array bound
   /// expression.
   bool capturesVLAType() const {
     return DeclAndBits.getPointer() == nullptr &&
            !(DeclAndBits.getInt() & Capture_This);
   }
 
-  /// \brief Retrieve the declaration of the local variable being
+  /// Retrieve the declaration of the local variable being
   /// captured.
   ///
   /// This operation is only valid if this capture is a variable capture
@@ -107,17 +107,17 @@ public:
     return static_cast<VarDecl *>(DeclAndBits.getPointer());
   }
 
-  /// \brief Determine whether this was an implicit capture (not
+  /// Determine whether this was an implicit capture (not
   /// written between the square brackets introducing the lambda).
   bool isImplicit() const {
     return DeclAndBits.getInt() & Capture_Implicit;
   }
 
-  /// \brief Determine whether this was an explicit capture (written
+  /// Determine whether this was an explicit capture (written
   /// between the square brackets introducing the lambda).
   bool isExplicit() const { return !isImplicit(); }
 
-  /// \brief Retrieve the source location of the capture.
+  /// Retrieve the source location of the capture.
   ///
   /// For an explicit capture, this returns the location of the
   /// explicit capture in the source. For an implicit capture, this
@@ -125,11 +125,11 @@ public:
   /// used.
   SourceLocation getLocation() const { return Loc; }
 
-  /// \brief Determine whether this capture is a pack expansion,
+  /// Determine whether this capture is a pack expansion,
   /// which captures a function parameter pack.
   bool isPackExpansion() const { return EllipsisLoc.isValid(); }
 
-  /// \brief Retrieve the location of the ellipsis for a capture
+  /// Retrieve the location of the ellipsis for a capture
   /// that is a pack expansion.
   SourceLocation getEllipsisLoc() const {
     assert(isPackExpansion() && "No ellipsis location for a non-expansion");

Modified: cfe/trunk/include/clang/AST/LocInfoType.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/LocInfoType.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/LocInfoType.h (original)
+++ cfe/trunk/include/clang/AST/LocInfoType.h Tue May  8 18:00:01 2018
@@ -20,7 +20,7 @@ namespace clang {
 
 class TypeSourceInfo;
 
-/// \brief Holds a QualType and a TypeSourceInfo* that came out of a declarator
+/// Holds a QualType and a TypeSourceInfo* that came out of a declarator
 /// parsing.
 ///
 /// LocInfoType is a "transient" type, only needed for passing to/from Parser

Modified: cfe/trunk/include/clang/AST/Mangle.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Mangle.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Mangle.h (original)
+++ cfe/trunk/include/clang/AST/Mangle.h Tue May  8 18:00:01 2018
@@ -183,14 +183,14 @@ public:
   explicit MicrosoftMangleContext(ASTContext &C, DiagnosticsEngine &D)
       : MangleContext(C, D, MK_Microsoft) {}
 
-  /// \brief Mangle vftable symbols.  Only a subset of the bases along the path
+  /// Mangle vftable symbols.  Only a subset of the bases along the path
   /// to the vftable are included in the name.  It's up to the caller to pick
   /// them correctly.
   virtual void mangleCXXVFTable(const CXXRecordDecl *Derived,
                                 ArrayRef<const CXXRecordDecl *> BasePath,
                                 raw_ostream &Out) = 0;
 
-  /// \brief Mangle vbtable symbols.  Only a subset of the bases along the path
+  /// Mangle vbtable symbols.  Only a subset of the bases along the path
   /// to the vbtable are included in the name.  It's up to the caller to pick
   /// them correctly.
   virtual void mangleCXXVBTable(const CXXRecordDecl *Derived,

Modified: cfe/trunk/include/clang/AST/MangleNumberingContext.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/MangleNumberingContext.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/MangleNumberingContext.h (original)
+++ cfe/trunk/include/clang/AST/MangleNumberingContext.h Tue May  8 18:00:01 2018
@@ -27,29 +27,29 @@ class TagDecl;
 class Type;
 class VarDecl;
 
-/// \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 MangleNumberingContext {
 public:
   virtual ~MangleNumberingContext() {}
 
-  /// \brief Retrieve the mangling number of a new lambda expression with the
+  /// Retrieve the mangling number of a new lambda expression with the
   /// given call operator within this context.
   virtual unsigned getManglingNumber(const CXXMethodDecl *CallOperator) = 0;
 
-  /// \brief Retrieve the mangling number of a new block literal within this
+  /// Retrieve the mangling number of a new block literal within this
   /// context.
   virtual unsigned getManglingNumber(const BlockDecl *BD) = 0;
 
   /// Static locals are numbered by source order.
   virtual unsigned getStaticLocalNumber(const VarDecl *VD) = 0;
 
-  /// \brief Retrieve the mangling number of a static local variable within
+  /// Retrieve the mangling number of a static local variable within
   /// this context.
   virtual unsigned getManglingNumber(const VarDecl *VD,
                                      unsigned MSLocalManglingNumber) = 0;
 
-  /// \brief Retrieve the mangling number of a static local variable within
+  /// Retrieve the mangling number of a static local variable within
   /// this context.
   virtual unsigned getManglingNumber(const TagDecl *TD,
                                      unsigned MSLocalManglingNumber) = 0;

Modified: cfe/trunk/include/clang/AST/NSAPI.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/NSAPI.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/NSAPI.h (original)
+++ cfe/trunk/include/clang/AST/NSAPI.h Tue May  8 18:00:01 2018
@@ -20,7 +20,7 @@ namespace clang {
   class QualType;
   class Expr;
 
-// \brief Provides info and caches identifiers/selectors for NSFoundation API.
+// Provides info and caches identifiers/selectors for NSFoundation API.
 class NSAPI {
 public:
   explicit NSAPI(ASTContext &Ctx);
@@ -53,25 +53,25 @@ public:
 
   IdentifierInfo *getNSClassId(NSClassIdKindKind K) const;
 
-  /// \brief The Objective-C NSString selectors.
+  /// The Objective-C NSString selectors.
   Selector getNSStringSelector(NSStringMethodKind MK) const;
 
-  /// \brief Return NSStringMethodKind if \param Sel is such a selector.
+  /// Return NSStringMethodKind if \param Sel is such a selector.
   Optional<NSStringMethodKind> getNSStringMethodKind(Selector Sel) const;
 
-  /// \brief Returns true if the expression \param E is a reference of
+  /// Returns true if the expression \param E is a reference of
   /// "NSUTF8StringEncoding" enum constant.
   bool isNSUTF8StringEncodingConstant(const Expr *E) const {
     return isObjCEnumerator(E, "NSUTF8StringEncoding", NSUTF8StringEncodingId);
   }
 
-  /// \brief Returns true if the expression \param E is a reference of
+  /// Returns true if the expression \param E is a reference of
   /// "NSASCIIStringEncoding" enum constant.
   bool isNSASCIIStringEncodingConstant(const Expr *E) const {
     return isObjCEnumerator(E, "NSASCIIStringEncoding",NSASCIIStringEncodingId);
   }
 
-  /// \brief Enumerates the NSArray/NSMutableArray methods used to generate
+  /// Enumerates the NSArray/NSMutableArray methods used to generate
   /// literals and to apply some checks.
   enum NSArrayMethodKind {
     NSArr_array,
@@ -89,13 +89,13 @@ public:
   };
   static const unsigned NumNSArrayMethods = 12;
 
-  /// \brief The Objective-C NSArray selectors.
+  /// The Objective-C NSArray selectors.
   Selector getNSArraySelector(NSArrayMethodKind MK) const;
 
-  /// \brief Return NSArrayMethodKind if \p Sel is such a selector.
+  /// Return NSArrayMethodKind if \p Sel is such a selector.
   Optional<NSArrayMethodKind> getNSArrayMethodKind(Selector Sel);
 
-  /// \brief Enumerates the NSDictionary/NSMutableDictionary methods used
+  /// Enumerates the NSDictionary/NSMutableDictionary methods used
   /// to generate literals and to apply some checks.
   enum NSDictionaryMethodKind {
     NSDict_dictionary,
@@ -114,13 +114,13 @@ public:
   };
   static const unsigned NumNSDictionaryMethods = 13;
   
-  /// \brief The Objective-C NSDictionary selectors.
+  /// The Objective-C NSDictionary selectors.
   Selector getNSDictionarySelector(NSDictionaryMethodKind MK) const;
 
-  /// \brief Return NSDictionaryMethodKind if \p Sel is such a selector.
+  /// Return NSDictionaryMethodKind if \p Sel is such a selector.
   Optional<NSDictionaryMethodKind> getNSDictionaryMethodKind(Selector Sel);
 
-  /// \brief Enumerates the NSMutableSet/NSOrderedSet methods used
+  /// Enumerates the NSMutableSet/NSOrderedSet methods used
   /// to apply some checks.
   enum NSSetMethodKind {
     NSMutableSet_addObject,
@@ -131,42 +131,42 @@ public:
   };
   static const unsigned NumNSSetMethods = 5;
 
-  /// \brief The Objective-C NSSet selectors.
+  /// The Objective-C NSSet selectors.
   Selector getNSSetSelector(NSSetMethodKind MK) const;
 
-  /// \brief Return NSSetMethodKind if \p Sel is such a selector.
+  /// Return NSSetMethodKind if \p Sel is such a selector.
   Optional<NSSetMethodKind> getNSSetMethodKind(Selector Sel);
 
-  /// \brief Returns selector for "objectForKeyedSubscript:".
+  /// Returns selector for "objectForKeyedSubscript:".
   Selector getObjectForKeyedSubscriptSelector() const {
     return getOrInitSelector(StringRef("objectForKeyedSubscript"),
                              objectForKeyedSubscriptSel);
   }
 
-  /// \brief Returns selector for "objectAtIndexedSubscript:".
+  /// Returns selector for "objectAtIndexedSubscript:".
   Selector getObjectAtIndexedSubscriptSelector() const {
     return getOrInitSelector(StringRef("objectAtIndexedSubscript"),
                              objectAtIndexedSubscriptSel);
   }
 
-  /// \brief Returns selector for "setObject:forKeyedSubscript".
+  /// Returns selector for "setObject:forKeyedSubscript".
   Selector getSetObjectForKeyedSubscriptSelector() const {
     StringRef Ids[] = { "setObject", "forKeyedSubscript" };
     return getOrInitSelector(Ids, setObjectForKeyedSubscriptSel);
   }
 
-  /// \brief Returns selector for "setObject:atIndexedSubscript".
+  /// Returns selector for "setObject:atIndexedSubscript".
   Selector getSetObjectAtIndexedSubscriptSelector() const {
     StringRef Ids[] = { "setObject", "atIndexedSubscript" };
     return getOrInitSelector(Ids, setObjectAtIndexedSubscriptSel);
   }
 
-  /// \brief Returns selector for "isEqual:".
+  /// Returns selector for "isEqual:".
   Selector getIsEqualSelector() const {
     return getOrInitSelector(StringRef("isEqual"), isEqualSel);
   }
 
-  /// \brief Enumerates the NSNumber methods used to generate literals.
+  /// Enumerates the NSNumber methods used to generate literals.
   enum NSNumberLiteralMethodKind {
     NSNumberWithChar,
     NSNumberWithUnsignedChar,
@@ -186,7 +186,7 @@ public:
   };
   static const unsigned NumNSNumberLiteralMethods = 15;
 
-  /// \brief The Objective-C NSNumber selectors used to create NSNumber literals.
+  /// The Objective-C NSNumber selectors used to create NSNumber literals.
   /// \param Instance if true it will return the selector for the init* method
   /// otherwise it will return the selector for the number* method.
   Selector getNSNumberLiteralSelector(NSNumberLiteralMethodKind MK,
@@ -198,29 +198,29 @@ public:
            Sel == getNSNumberLiteralSelector(MK, true);
   }
 
-  /// \brief Return NSNumberLiteralMethodKind if \p Sel is such a selector.
+  /// Return NSNumberLiteralMethodKind if \p Sel is such a selector.
   Optional<NSNumberLiteralMethodKind>
       getNSNumberLiteralMethodKind(Selector Sel) const;
 
-  /// \brief Determine the appropriate NSNumber factory method kind for a
+  /// Determine the appropriate NSNumber factory method kind for a
   /// literal of the given type.
   Optional<NSNumberLiteralMethodKind>
       getNSNumberFactoryMethodKind(QualType T) const;
 
-  /// \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 isObjCBOOLType(QualType T) const;
-  /// \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 isObjCNSIntegerType(QualType T) const;
-  /// \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 isObjCNSUIntegerType(QualType T) const;
-  /// \brief Returns one of NSIntegral typedef names if \param T is a typedef
+  /// Returns one of NSIntegral typedef names if \param T is a typedef
   /// of that name in objective-c.
   StringRef GetNSIntegralKind(QualType T) const;
 
-  /// \brief Returns \c true if \p Id is currently defined as a macro.
+  /// Returns \c true if \p Id is currently defined as a macro.
   bool isMacroDefined(StringRef Id) const;
 
-  /// \brief Returns \c true if \p InterfaceDecl is subclass of \p NSClassKind
+  /// Returns \c true if \p InterfaceDecl is subclass of \p NSClassKind
   bool isSubclassOfNSClass(ObjCInterfaceDecl *InterfaceDecl,
                            NSClassIdKindKind NSClassKind) const;
 
@@ -236,16 +236,16 @@ private:
 
   mutable Selector NSStringSelectors[NumNSStringMethods];
 
-  /// \brief The selectors for Objective-C NSArray methods.
+  /// The selectors for Objective-C NSArray methods.
   mutable Selector NSArraySelectors[NumNSArrayMethods];
 
-  /// \brief The selectors for Objective-C NSDictionary methods.
+  /// The selectors for Objective-C NSDictionary methods.
   mutable Selector NSDictionarySelectors[NumNSDictionaryMethods];
 
-  /// \brief The selectors for Objective-C NSSet methods.
+  /// The selectors for Objective-C NSSet methods.
   mutable Selector NSSetSelectors[NumNSSetMethods];
 
-  /// \brief The Objective-C NSNumber selectors used to create NSNumber literals.
+  /// The Objective-C NSNumber selectors used to create NSNumber literals.
   mutable Selector NSNumberClassSelectors[NumNSNumberLiteralMethods];
   mutable Selector NSNumberInstanceSelectors[NumNSNumberLiteralMethods];
 

Modified: cfe/trunk/include/clang/AST/NestedNameSpecifier.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/NestedNameSpecifier.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/NestedNameSpecifier.h (original)
+++ cfe/trunk/include/clang/AST/NestedNameSpecifier.h Tue May  8 18:00:01 2018
@@ -36,7 +36,7 @@ struct PrintingPolicy;
 class Type;
 class TypeLoc;
 
-/// \brief Represents a C++ nested name specifier, such as
+/// Represents a C++ nested name specifier, such as
 /// "\::std::vector<int>::".
 ///
 /// C++ nested name specifiers are the prefixes to qualified
@@ -47,7 +47,7 @@ class TypeLoc;
 /// The last two specifiers can only appear at the start of a 
 /// nested-namespace-specifier.
 class NestedNameSpecifier : public llvm::FoldingSetNode {
-  /// \brief Enumeration describing
+  /// Enumeration describing
   enum StoredSpecifierKind {
     StoredIdentifier = 0,
     StoredDecl = 1,
@@ -55,7 +55,7 @@ class NestedNameSpecifier : public llvm:
     StoredTypeSpecWithTemplate = 3
   };
 
-  /// \brief The nested name specifier that precedes this nested name
+  /// The nested name specifier that precedes this nested name
   /// specifier.
   ///
   /// The pointer is the nested-name-specifier that precedes this
@@ -63,7 +63,7 @@ class NestedNameSpecifier : public llvm:
   /// SpecifierKind.
   llvm::PointerIntPair<NestedNameSpecifier *, 2, StoredSpecifierKind> Prefix;
 
-  /// \brief The last component in the nested name specifier, which
+  /// The last component in the nested name specifier, which
   /// can be an identifier, a declaration, or a type.
   ///
   /// When the pointer is NULL, this specifier represents the global
@@ -73,42 +73,42 @@ class NestedNameSpecifier : public llvm:
   void* Specifier = nullptr;
 
 public:
-  /// \brief The kind of specifier that completes this nested name
+  /// The kind of specifier that completes this nested name
   /// specifier.
   enum SpecifierKind {
-    /// \brief An identifier, stored as an IdentifierInfo*.
+    /// An identifier, stored as an IdentifierInfo*.
     Identifier,
 
-    /// \brief A namespace, stored as a NamespaceDecl*.
+    /// A namespace, stored as a NamespaceDecl*.
     Namespace,
 
-    /// \brief A namespace alias, stored as a NamespaceAliasDecl*.
+    /// A namespace alias, stored as a NamespaceAliasDecl*.
     NamespaceAlias,
 
-    /// \brief A type, stored as a Type*.
+    /// A type, stored as a Type*.
     TypeSpec,
 
-    /// \brief A type that was preceded by the 'template' keyword,
+    /// A type that was preceded by the 'template' keyword,
     /// stored as a Type*.
     TypeSpecWithTemplate,
 
-    /// \brief The global specifier '::'. There is no stored value.
+    /// The global specifier '::'. There is no stored value.
     Global,
 
-    /// \brief Microsoft's '__super' specifier, stored as a CXXRecordDecl* of
+    /// Microsoft's '__super' specifier, stored as a CXXRecordDecl* of
     /// the class it appeared in.
     Super
   };
 
 private:
-  /// \brief Builds the global specifier.
+  /// Builds the global specifier.
   NestedNameSpecifier() : Prefix(nullptr, StoredIdentifier) {}
 
-  /// \brief Copy constructor used internally to clone nested name
+  /// Copy constructor used internally to clone nested name
   /// specifiers.
   NestedNameSpecifier(const NestedNameSpecifier &Other) = default;
 
-  /// \brief Either find or insert the given nested name specifier
+  /// Either find or insert the given nested name specifier
   /// mockup in the given context.
   static NestedNameSpecifier *FindOrInsert(const ASTContext &Context,
                                            const NestedNameSpecifier &Mockup);
@@ -116,7 +116,7 @@ private:
 public:
   NestedNameSpecifier &operator=(const NestedNameSpecifier &) = delete;
 
-  /// \brief Builds a specifier combining a prefix and an identifier.
+  /// Builds a specifier combining a prefix and an identifier.
   ///
   /// The prefix must be dependent, since nested name specifiers
   /// referencing an identifier are only permitted when the identifier
@@ -125,22 +125,22 @@ public:
                                      NestedNameSpecifier *Prefix,
                                      IdentifierInfo *II);
 
-  /// \brief Builds a nested name specifier that names a namespace.
+  /// Builds a nested name specifier that names a namespace.
   static NestedNameSpecifier *Create(const ASTContext &Context,
                                      NestedNameSpecifier *Prefix,
                                      const NamespaceDecl *NS);
 
-  /// \brief Builds a nested name specifier that names a namespace alias.
+  /// Builds a nested name specifier that names a namespace alias.
   static NestedNameSpecifier *Create(const ASTContext &Context,
                                      NestedNameSpecifier *Prefix,
                                      NamespaceAliasDecl *Alias);
 
-  /// \brief Builds a nested name specifier that names a type.
+  /// Builds a nested name specifier that names a type.
   static NestedNameSpecifier *Create(const ASTContext &Context,
                                      NestedNameSpecifier *Prefix,
                                      bool Template, const Type *T);
 
-  /// \brief Builds a specifier that consists of just an identifier.
+  /// Builds a specifier that consists of just an identifier.
   ///
   /// The nested-name-specifier is assumed to be dependent, but has no
   /// prefix because the prefix is implied by something outside of the
@@ -149,16 +149,16 @@ public:
   static NestedNameSpecifier *Create(const ASTContext &Context,
                                      IdentifierInfo *II);
 
-  /// \brief Returns the nested name specifier representing the global
+  /// Returns the nested name specifier representing the global
   /// scope.
   static NestedNameSpecifier *GlobalSpecifier(const ASTContext &Context);
 
-  /// \brief Returns the nested name specifier representing the __super scope
+  /// Returns the nested name specifier representing the __super scope
   /// for the given CXXRecordDecl.
   static NestedNameSpecifier *SuperSpecifier(const ASTContext &Context,
                                              CXXRecordDecl *RD);
 
-  /// \brief Return the prefix of this nested name specifier.
+  /// Return the prefix of this nested name specifier.
   ///
   /// The prefix contains all of the parts of the nested name
   /// specifier that preced this current specifier. For example, for a
@@ -167,10 +167,10 @@ public:
   /// "foo::".
   NestedNameSpecifier *getPrefix() const { return Prefix.getPointer(); }
 
-  /// \brief Determine what kind of nested name specifier is stored.
+  /// Determine what kind of nested name specifier is stored.
   SpecifierKind getKind() const;
 
-  /// \brief Retrieve the identifier stored in this nested name
+  /// Retrieve the identifier stored in this nested name
   /// specifier.
   IdentifierInfo *getAsIdentifier() const {
     if (Prefix.getInt() == StoredIdentifier)
@@ -179,19 +179,19 @@ public:
     return nullptr;
   }
 
-  /// \brief Retrieve the namespace stored in this nested name
+  /// Retrieve the namespace stored in this nested name
   /// specifier.
   NamespaceDecl *getAsNamespace() const;
 
-  /// \brief Retrieve the namespace alias stored in this nested name
+  /// Retrieve the namespace alias stored in this nested name
   /// specifier.
   NamespaceAliasDecl *getAsNamespaceAlias() const;
 
-  /// \brief Retrieve the record declaration stored in this nested name
+  /// Retrieve the record declaration stored in this nested name
   /// specifier.
   CXXRecordDecl *getAsRecordDecl() const;
 
-  /// \brief Retrieve the type stored in this nested name specifier.
+  /// Retrieve the type stored in this nested name specifier.
   const Type *getAsType() const {
     if (Prefix.getInt() == StoredTypeSpec ||
         Prefix.getInt() == StoredTypeSpecWithTemplate)
@@ -200,19 +200,19 @@ public:
     return nullptr;
   }
 
-  /// \brief Whether this nested name specifier refers to a dependent
+  /// Whether this nested name specifier refers to a dependent
   /// type or not.
   bool isDependent() const;
 
-  /// \brief Whether this nested name specifier involves a template
+  /// Whether this nested name specifier involves a template
   /// parameter.
   bool isInstantiationDependent() const;
 
-  /// \brief Whether this nested-name-specifier contains an unexpanded
+  /// Whether this nested-name-specifier contains an unexpanded
   /// parameter pack (for C++11 variadic templates).
   bool containsUnexpandedParameterPack() const;
 
-  /// \brief Print this nested name specifier to the given output
+  /// Print this nested name specifier to the given output
   /// stream.
   void print(raw_ostream &OS, const PrintingPolicy &Policy) const;
 
@@ -221,53 +221,53 @@ public:
     ID.AddPointer(Specifier);
   }
 
-  /// \brief Dump the nested name specifier to standard output to aid
+  /// Dump the nested name specifier to standard output to aid
   /// in debugging.
   void dump(const LangOptions &LO) const;
   void dump() const;
 };
 
-/// \brief A C++ nested-name-specifier augmented with source location
+/// A C++ nested-name-specifier augmented with source location
 /// information.
 class NestedNameSpecifierLoc {
   NestedNameSpecifier *Qualifier = nullptr;
   void *Data = nullptr;
 
-  /// \brief Determines the data length for the last component in the
+  /// Determines the data length for the last component in the
   /// given nested-name-specifier.
   static unsigned getLocalDataLength(NestedNameSpecifier *Qualifier);
 
-  /// \brief Determines the data length for the entire
+  /// Determines the data length for the entire
   /// nested-name-specifier.
   static unsigned getDataLength(NestedNameSpecifier *Qualifier);
 
 public:
-  /// \brief Construct an empty nested-name-specifier.
+  /// Construct an empty nested-name-specifier.
   NestedNameSpecifierLoc() = default;
 
-  /// \brief Construct a nested-name-specifier with source location information
+  /// Construct a nested-name-specifier with source location information
   /// from
   NestedNameSpecifierLoc(NestedNameSpecifier *Qualifier, void *Data)
       : Qualifier(Qualifier), Data(Data) {}
 
-  /// \brief Evaluates true when this nested-name-specifier location is
+  /// Evaluates true when this nested-name-specifier location is
   /// non-empty.
   explicit operator bool() const { return Qualifier; }
 
-  /// \brief Evaluates true when this nested-name-specifier location is
+  /// Evaluates true when this nested-name-specifier location is
   /// empty.
   bool hasQualifier() const { return Qualifier; }
 
-  /// \brief Retrieve the nested-name-specifier to which this instance
+  /// Retrieve the nested-name-specifier to which this instance
   /// refers.
   NestedNameSpecifier *getNestedNameSpecifier() const {
     return Qualifier;
   }
 
-  /// \brief Retrieve the opaque pointer that refers to source-location data.
+  /// Retrieve the opaque pointer that refers to source-location data.
   void *getOpaqueData() const { return Data; }
 
-  /// \brief Retrieve the source range covering the entirety of this
+  /// Retrieve the source range covering the entirety of this
   /// nested-name-specifier.
   ///
   /// For example, if this instance refers to a nested-name-specifier
@@ -275,7 +275,7 @@ public:
   /// from the initial '::' to the last '::'.
   SourceRange getSourceRange() const LLVM_READONLY;
 
-  /// \brief Retrieve the source range covering just the last part of
+  /// Retrieve the source range covering just the last part of
   /// this nested-name-specifier, not including the prefix.
   ///
   /// For example, if this instance refers to a nested-name-specifier
@@ -283,31 +283,31 @@ public:
   /// from "vector" to the last '::'.
   SourceRange getLocalSourceRange() const;
 
-  /// \brief Retrieve the location of the beginning of this
+  /// Retrieve the location of the beginning of this
   /// nested-name-specifier.
   SourceLocation getBeginLoc() const {
     return getSourceRange().getBegin();
   }
 
-  /// \brief Retrieve the location of the end of this
+  /// Retrieve the location of the end of this
   /// nested-name-specifier.
   SourceLocation getEndLoc() const {
     return getSourceRange().getEnd();
   }
 
-  /// \brief Retrieve the location of the beginning of this
+  /// Retrieve the location of the beginning of this
   /// component of the nested-name-specifier.
   SourceLocation getLocalBeginLoc() const {
     return getLocalSourceRange().getBegin();
   }
 
-  /// \brief Retrieve the location of the end of this component of the
+  /// Retrieve the location of the end of this component of the
   /// nested-name-specifier.
   SourceLocation getLocalEndLoc() const {
     return getLocalSourceRange().getEnd();
   }
 
-  /// \brief Return the prefix of this nested-name-specifier.
+  /// Return the prefix of this nested-name-specifier.
   ///
   /// For example, if this instance refers to a nested-name-specifier
   /// \c \::std::vector<int>::, the prefix is \c \::std::. Note that the
@@ -320,11 +320,11 @@ public:
     return NestedNameSpecifierLoc(Qualifier->getPrefix(), Data);
   }
 
-  /// \brief For a nested-name-specifier that refers to a type,
+  /// For a nested-name-specifier that refers to a type,
   /// retrieve the type with source-location information.
   TypeLoc getTypeLoc() const;
 
-  /// \brief Determines the data length for the entire
+  /// Determines the data length for the entire
   /// nested-name-specifier.
   unsigned getDataLength() const { return getDataLength(Qualifier); }
 
@@ -339,15 +339,15 @@ public:
   }
 };
 
-/// \brief Class that aids in the construction of nested-name-specifiers along
+/// Class that aids in the construction of nested-name-specifiers along
 /// with source-location information for all of the components of the
 /// nested-name-specifier.
 class NestedNameSpecifierLocBuilder {
-  /// \brief The current representation of the nested-name-specifier we're
+  /// The current representation of the nested-name-specifier we're
   /// building.
   NestedNameSpecifier *Representation = nullptr;
 
-  /// \brief Buffer used to store source-location information for the
+  /// Buffer used to store source-location information for the
   /// nested-name-specifier.
   ///
   /// Note that we explicitly manage the buffer (rather than using a
@@ -355,11 +355,11 @@ class NestedNameSpecifierLocBuilder {
   /// a \c CXXScopeSpec, and CXXScopeSpec uses a NestedNameSpecifierLocBuilder.
   char *Buffer = nullptr;
 
-  /// \brief The size of the buffer used to store source-location information
+  /// The size of the buffer used to store source-location information
   /// for the nested-name-specifier.
   unsigned BufferSize = 0;
 
-  /// \brief The capacity of the buffer used to store source-location
+  /// The capacity of the buffer used to store source-location
   /// information for the nested-name-specifier.
   unsigned BufferCapacity = 0;
 
@@ -375,10 +375,10 @@ public:
       free(Buffer);
   }
 
-  /// \brief Retrieve the representation of the nested-name-specifier.
+  /// Retrieve the representation of the nested-name-specifier.
   NestedNameSpecifier *getRepresentation() const { return Representation; }
 
-  /// \brief Extend the current nested-name-specifier by another
+  /// Extend the current nested-name-specifier by another
   /// nested-name-specifier component of the form 'type::'.
   ///
   /// \param Context The AST context in which this nested-name-specifier
@@ -392,7 +392,7 @@ public:
   void Extend(ASTContext &Context, SourceLocation TemplateKWLoc, TypeLoc TL,
               SourceLocation ColonColonLoc);
 
-  /// \brief Extend the current nested-name-specifier by another
+  /// Extend the current nested-name-specifier by another
   /// nested-name-specifier component of the form 'identifier::'.
   ///
   /// \param Context The AST context in which this nested-name-specifier
@@ -406,7 +406,7 @@ public:
   void Extend(ASTContext &Context, IdentifierInfo *Identifier,
               SourceLocation IdentifierLoc, SourceLocation ColonColonLoc);
 
-  /// \brief Extend the current nested-name-specifier by another
+  /// Extend the current nested-name-specifier by another
   /// nested-name-specifier component of the form 'namespace::'.
   ///
   /// \param Context The AST context in which this nested-name-specifier
@@ -420,7 +420,7 @@ public:
   void Extend(ASTContext &Context, NamespaceDecl *Namespace,
               SourceLocation NamespaceLoc, SourceLocation ColonColonLoc);
 
-  /// \brief Extend the current nested-name-specifier by another
+  /// Extend the current nested-name-specifier by another
   /// nested-name-specifier component of the form 'namespace-alias::'.
   ///
   /// \param Context The AST context in which this nested-name-specifier
@@ -435,11 +435,11 @@ public:
   void Extend(ASTContext &Context, NamespaceAliasDecl *Alias,
               SourceLocation AliasLoc, SourceLocation ColonColonLoc);
 
-  /// \brief Turn this (empty) nested-name-specifier into the global
+  /// Turn this (empty) nested-name-specifier into the global
   /// nested-name-specifier '::'.
   void MakeGlobal(ASTContext &Context, SourceLocation ColonColonLoc);
   
-  /// \brief Turns this (empty) nested-name-specifier into '__super'
+  /// Turns this (empty) nested-name-specifier into '__super'
   /// nested-name-specifier.
   ///
   /// \param Context The AST context in which this nested-name-specifier
@@ -455,7 +455,7 @@ public:
   void MakeSuper(ASTContext &Context, CXXRecordDecl *RD, 
                  SourceLocation SuperLoc, SourceLocation ColonColonLoc);
 
-  /// \brief Make a new nested-name-specifier from incomplete source-location
+  /// Make a new nested-name-specifier from incomplete source-location
   /// information.
   ///
   /// This routine should be used very, very rarely, in cases where we
@@ -464,23 +464,23 @@ public:
   void MakeTrivial(ASTContext &Context, NestedNameSpecifier *Qualifier,
                    SourceRange R);
 
-  /// \brief Adopt an existing nested-name-specifier (with source-range
+  /// Adopt an existing nested-name-specifier (with source-range
   /// information).
   void Adopt(NestedNameSpecifierLoc Other);
 
-  /// \brief Retrieve the source range covered by this nested-name-specifier.
+  /// Retrieve the source range covered by this nested-name-specifier.
   SourceRange getSourceRange() const LLVM_READONLY {
     return NestedNameSpecifierLoc(Representation, Buffer).getSourceRange();
   }
 
-  /// \brief Retrieve a nested-name-specifier with location information,
+  /// Retrieve a nested-name-specifier with location information,
   /// copied into the given AST context.
   ///
   /// \param Context The context into which this nested-name-specifier will be
   /// copied.
   NestedNameSpecifierLoc getWithLocInContext(ASTContext &Context) const;
 
-  /// \brief Retrieve a nested-name-specifier with location
+  /// Retrieve a nested-name-specifier with location
   /// information based on the information in this builder.
   ///
   /// This loc will contain references to the builder's internal data and may
@@ -489,14 +489,14 @@ public:
     return NestedNameSpecifierLoc(Representation, Buffer);
   }
 
-  /// \brief Clear out this builder, and prepare it to build another
+  /// Clear out this builder, and prepare it to build another
   /// nested-name-specifier with source-location information.
   void Clear() {
     Representation = nullptr;
     BufferSize = 0;
   }
 
-  /// \brief Retrieve the underlying buffer.
+  /// Retrieve the underlying buffer.
   ///
   /// \returns A pair containing a pointer to the buffer of source-location
   /// data and the size of the source-location data that resides in that




More information about the cfe-commits mailing list