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


Modified: cfe/trunk/include/clang/AST/OpenMPClause.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/OpenMPClause.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/OpenMPClause.h (original)
+++ cfe/trunk/include/clang/AST/OpenMPClause.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief This file defines OpenMP AST classes for clauses.
+/// This file defines OpenMP AST classes for clauses.
 /// There are clauses for executable directives, clauses for declarative
 /// directives and clauses which can be used in both kinds of directives.
 //
@@ -47,15 +47,15 @@ class ASTContext;
 // AST classes for clauses.
 //===----------------------------------------------------------------------===//
 
-/// \brief This is a basic class for representing single OpenMP clause.
+/// This is a basic class for representing single OpenMP clause.
 class OMPClause {
-  /// \brief Starting location of the clause (the clause keyword).
+  /// Starting location of the clause (the clause keyword).
   SourceLocation StartLoc;
 
-  /// \brief Ending location of the clause.
+  /// Ending location of the clause.
   SourceLocation EndLoc;
 
-  /// \brief Kind of the clause.
+  /// Kind of the clause.
   OpenMPClauseKind Kind;
 
 protected:
@@ -63,19 +63,19 @@ protected:
       : StartLoc(StartLoc), EndLoc(EndLoc), Kind(K) {}
 
 public:
-  /// \brief Returns the starting location of the clause.
+  /// Returns the starting location of the clause.
   SourceLocation getLocStart() const { return StartLoc; }
 
-  /// \brief Returns the ending location of the clause.
+  /// Returns the ending location of the clause.
   SourceLocation getLocEnd() const { return EndLoc; }
 
-  /// \brief Sets the starting location of the clause.
+  /// Sets the starting location of the clause.
   void setLocStart(SourceLocation Loc) { StartLoc = Loc; }
 
-  /// \brief Sets the ending location of the clause.
+  /// Sets the ending location of the clause.
   void setLocEnd(SourceLocation Loc) { EndLoc = Loc; }
 
-  /// \brief Returns kind of OpenMP clause (private, shared, reduction, etc.).
+  /// Returns kind of OpenMP clause (private, shared, reduction, etc.).
   OpenMPClauseKind getClauseKind() const { return Kind; }
 
   bool isImplicit() const { return StartLoc.isInvalid(); }
@@ -157,20 +157,20 @@ public:
   static const OMPClauseWithPostUpdate *get(const OMPClause *C);
 };
 
-/// \brief This represents clauses with the list of variables like 'private',
+/// This represents clauses with the list of variables like 'private',
 /// 'firstprivate', 'copyin', 'shared', or 'reduction' clauses in the
 /// '#pragma omp ...' directives.
 template <class T> class OMPVarListClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Number of variables in the list.
+  /// Number of variables in the list.
   unsigned NumVars;
 
 protected:
-  /// \brief Build a clause with \a N variables
+  /// Build a clause with \a N variables
   ///
   /// \param K Kind of the clause.
   /// \param StartLoc Starting location of the clause (the clause keyword).
@@ -181,13 +181,13 @@ protected:
                    SourceLocation LParenLoc, SourceLocation EndLoc, unsigned N)
       : OMPClause(K, StartLoc, EndLoc), LParenLoc(LParenLoc), NumVars(N) {}
 
-  /// \brief Fetches list of variables associated with this clause.
+  /// Fetches list of variables associated with this clause.
   MutableArrayRef<Expr *> getVarRefs() {
     return MutableArrayRef<Expr *>(
         static_cast<T *>(this)->template getTrailingObjects<Expr *>(), NumVars);
   }
 
-  /// \brief Sets the list of variables for this clause.
+  /// Sets the list of variables for this clause.
   void setVarRefs(ArrayRef<Expr *> VL) {
     assert(VL.size() == NumVars &&
            "Number of variables is not the same as the preallocated buffer");
@@ -216,13 +216,13 @@ public:
   varlist_const_iterator varlist_begin() const { return getVarRefs().begin(); }
   varlist_const_iterator varlist_end() const { return getVarRefs().end(); }
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Fetches list of all variables in the clause.
+  /// Fetches list of all variables in the clause.
   ArrayRef<const Expr *> getVarRefs() const {
     return llvm::makeArrayRef(
         static_cast<const T *>(this)->template getTrailingObjects<Expr *>(),
@@ -230,7 +230,7 @@ public:
   }
 };
 
-/// \brief This represents 'if' clause in the '#pragma omp ...' directive.
+/// This represents 'if' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp parallel if(parallel:a > 5)
@@ -240,35 +240,35 @@ public:
 class OMPIfClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Condition of the 'if' clause.
+  /// Condition of the 'if' clause.
   Stmt *Condition = nullptr;
 
-  /// \brief Location of ':' (if any).
+  /// Location of ':' (if any).
   SourceLocation ColonLoc;
 
-  /// \brief Directive name modifier for the clause.
+  /// Directive name modifier for the clause.
   OpenMPDirectiveKind NameModifier = OMPD_unknown;
 
-  /// \brief Name modifier location.
+  /// Name modifier location.
   SourceLocation NameModifierLoc;
 
-  /// \brief Set condition.
+  /// Set condition.
   void setCondition(Expr *Cond) { Condition = Cond; }
 
-  /// \brief Set directive name modifier for the clause.
+  /// Set directive name modifier for the clause.
   void setNameModifier(OpenMPDirectiveKind NM) { NameModifier = NM; }
 
-  /// \brief Set location of directive name modifier for the clause.
+  /// Set location of directive name modifier for the clause.
   void setNameModifierLoc(SourceLocation Loc) { NameModifierLoc = Loc; }
 
-  /// \brief Set location of ':'.
+  /// Set location of ':'.
   void setColonLoc(SourceLocation Loc) { ColonLoc = Loc; }
 
 public:
-  /// \brief Build 'if' clause with condition \a Cond.
+  /// Build 'if' clause with condition \a Cond.
   ///
   /// \param NameModifier [OpenMP 4.1] Directive name modifier of clause.
   /// \param Cond Condition of the clause.
@@ -290,27 +290,27 @@ public:
     setPreInitStmt(HelperCond, CaptureRegion);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPIfClause()
       : OMPClause(OMPC_if, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return the location of ':'.
+  /// Return the location of ':'.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
-  /// \brief Returns condition.
+  /// Returns condition.
   Expr *getCondition() const { return cast_or_null<Expr>(Condition); }
 
-  /// \brief Return directive name modifier associated with the clause.
+  /// Return directive name modifier associated with the clause.
   OpenMPDirectiveKind getNameModifier() const { return NameModifier; }
 
-  /// \brief Return the location of directive name modifier.
+  /// Return the location of directive name modifier.
   SourceLocation getNameModifierLoc() const { return NameModifierLoc; }
 
   child_range children() { return child_range(&Condition, &Condition + 1); }
@@ -320,7 +320,7 @@ public:
   }
 };
 
-/// \brief This represents 'final' clause in the '#pragma omp ...' directive.
+/// This represents 'final' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp task final(a > 5)
@@ -330,17 +330,17 @@ public:
 class OMPFinalClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Condition of the 'if' clause.
+  /// Condition of the 'if' clause.
   Stmt *Condition = nullptr;
 
-  /// \brief Set condition.
+  /// Set condition.
   void setCondition(Expr *Cond) { Condition = Cond; }
 
 public:
-  /// \brief Build 'final' clause with condition \a Cond.
+  /// Build 'final' clause with condition \a Cond.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -351,17 +351,17 @@ public:
       : OMPClause(OMPC_final, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Condition(Cond) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPFinalClause()
       : OMPClause(OMPC_final, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Returns condition.
+  /// Returns condition.
   Expr *getCondition() const { return cast_or_null<Expr>(Condition); }
 
   child_range children() { return child_range(&Condition, &Condition + 1); }
@@ -371,7 +371,7 @@ public:
   }
 };
 
-/// \brief This represents 'num_threads' clause in the '#pragma omp ...'
+/// This represents 'num_threads' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -382,17 +382,17 @@ public:
 class OMPNumThreadsClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Condition of the 'num_threads' clause.
+  /// Condition of the 'num_threads' clause.
   Stmt *NumThreads = nullptr;
 
-  /// \brief Set condition.
+  /// Set condition.
   void setNumThreads(Expr *NThreads) { NumThreads = NThreads; }
 
 public:
-  /// \brief Build 'num_threads' clause with condition \a NumThreads.
+  /// Build 'num_threads' clause with condition \a NumThreads.
   ///
   /// \param NumThreads Number of threads for the construct.
   /// \param HelperNumThreads Helper Number of threads for the construct.
@@ -411,18 +411,18 @@ public:
     setPreInitStmt(HelperNumThreads, CaptureRegion);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPNumThreadsClause()
       : OMPClause(OMPC_num_threads, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Returns number of threads.
+  /// Returns number of threads.
   Expr *getNumThreads() const { return cast_or_null<Expr>(NumThreads); }
 
   child_range children() { return child_range(&NumThreads, &NumThreads + 1); }
@@ -432,7 +432,7 @@ public:
   }
 };
 
-/// \brief This represents 'safelen' clause in the '#pragma omp ...'
+/// This represents 'safelen' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -447,17 +447,17 @@ public:
 class OMPSafelenClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Safe iteration space distance.
+  /// Safe iteration space distance.
   Stmt *Safelen = nullptr;
 
-  /// \brief Set safelen.
+  /// Set safelen.
   void setSafelen(Expr *Len) { Safelen = Len; }
 
 public:
-  /// \brief Build 'safelen' clause.
+  /// Build 'safelen' clause.
   ///
   /// \param Len Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -467,17 +467,17 @@ public:
       : OMPClause(OMPC_safelen, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Safelen(Len) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPSafelenClause()
       : OMPClause(OMPC_safelen, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return safe iteration space distance.
+  /// Return safe iteration space distance.
   Expr *getSafelen() const { return cast_or_null<Expr>(Safelen); }
 
   child_range children() { return child_range(&Safelen, &Safelen + 1); }
@@ -487,7 +487,7 @@ public:
   }
 };
 
-/// \brief This represents 'simdlen' clause in the '#pragma omp ...'
+/// This represents 'simdlen' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -501,17 +501,17 @@ public:
 class OMPSimdlenClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Safe iteration space distance.
+  /// Safe iteration space distance.
   Stmt *Simdlen = nullptr;
 
-  /// \brief Set simdlen.
+  /// Set simdlen.
   void setSimdlen(Expr *Len) { Simdlen = Len; }
 
 public:
-  /// \brief Build 'simdlen' clause.
+  /// Build 'simdlen' clause.
   ///
   /// \param Len Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -521,17 +521,17 @@ public:
       : OMPClause(OMPC_simdlen, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Simdlen(Len) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPSimdlenClause()
       : OMPClause(OMPC_simdlen, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return safe iteration space distance.
+  /// Return safe iteration space distance.
   Expr *getSimdlen() const { return cast_or_null<Expr>(Simdlen); }
 
   child_range children() { return child_range(&Simdlen, &Simdlen + 1); }
@@ -541,7 +541,7 @@ public:
   }
 };
 
-/// \brief This represents 'collapse' clause in the '#pragma omp ...'
+/// This represents 'collapse' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -555,17 +555,17 @@ public:
 class OMPCollapseClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Number of for-loops.
+  /// Number of for-loops.
   Stmt *NumForLoops = nullptr;
 
-  /// \brief Set the number of associated for-loops.
+  /// Set the number of associated for-loops.
   void setNumForLoops(Expr *Num) { NumForLoops = Num; }
 
 public:
-  /// \brief Build 'collapse' clause.
+  /// Build 'collapse' clause.
   ///
   /// \param Num Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -576,17 +576,17 @@ public:
       : OMPClause(OMPC_collapse, StartLoc, EndLoc), LParenLoc(LParenLoc),
         NumForLoops(Num) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPCollapseClause()
       : OMPClause(OMPC_collapse, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return the number of associated for-loops.
+  /// Return the number of associated for-loops.
   Expr *getNumForLoops() const { return cast_or_null<Expr>(NumForLoops); }
 
   child_range children() { return child_range(&NumForLoops, &NumForLoops + 1); }
@@ -596,7 +596,7 @@ public:
   }
 };
 
-/// \brief This represents 'default' clause in the '#pragma omp ...' directive.
+/// This represents 'default' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp parallel default(shared)
@@ -606,27 +606,27 @@ public:
 class OMPDefaultClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief A kind of the 'default' clause.
+  /// A kind of the 'default' clause.
   OpenMPDefaultClauseKind Kind = OMPC_DEFAULT_unknown;
 
-  /// \brief Start location of the kind in source code.
+  /// Start location of the kind in source code.
   SourceLocation KindKwLoc;
 
-  /// \brief Set kind of the clauses.
+  /// Set kind of the clauses.
   ///
   /// \param K Argument of clause.
   void setDefaultKind(OpenMPDefaultClauseKind K) { Kind = K; }
 
-  /// \brief Set argument location.
+  /// Set argument location.
   ///
   /// \param KLoc Argument location.
   void setDefaultKindKwLoc(SourceLocation KLoc) { KindKwLoc = KLoc; }
 
 public:
-  /// \brief Build 'default' clause with argument \a A ('none' or 'shared').
+  /// Build 'default' clause with argument \a A ('none' or 'shared').
   ///
   /// \param A Argument of the clause ('none' or 'shared').
   /// \param ALoc Starting location of the argument.
@@ -639,20 +639,20 @@ public:
       : OMPClause(OMPC_default, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Kind(A), KindKwLoc(ALoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPDefaultClause()
       : OMPClause(OMPC_default, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Returns kind of the clause.
+  /// Returns kind of the clause.
   OpenMPDefaultClauseKind getDefaultKind() const { return Kind; }
 
-  /// \brief Returns location of clause kind.
+  /// Returns location of clause kind.
   SourceLocation getDefaultKindKwLoc() const { return KindKwLoc; }
 
   child_range children() {
@@ -664,7 +664,7 @@ public:
   }
 };
 
-/// \brief This represents 'proc_bind' clause in the '#pragma omp ...'
+/// This represents 'proc_bind' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -675,27 +675,27 @@ public:
 class OMPProcBindClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief A kind of the 'proc_bind' clause.
+  /// A kind of the 'proc_bind' clause.
   OpenMPProcBindClauseKind Kind = OMPC_PROC_BIND_unknown;
 
-  /// \brief Start location of the kind in source code.
+  /// Start location of the kind in source code.
   SourceLocation KindKwLoc;
 
-  /// \brief Set kind of the clause.
+  /// Set kind of the clause.
   ///
   /// \param K Kind of clause.
   void setProcBindKind(OpenMPProcBindClauseKind K) { Kind = K; }
 
-  /// \brief Set clause kind location.
+  /// Set clause kind location.
   ///
   /// \param KLoc Kind location.
   void setProcBindKindKwLoc(SourceLocation KLoc) { KindKwLoc = KLoc; }
 
 public:
-  /// \brief Build 'proc_bind' clause with argument \a A ('master', 'close' or
+  /// Build 'proc_bind' clause with argument \a A ('master', 'close' or
   ///        'spread').
   ///
   /// \param A Argument of the clause ('master', 'close' or 'spread').
@@ -709,20 +709,20 @@ public:
       : OMPClause(OMPC_proc_bind, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Kind(A), KindKwLoc(ALoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPProcBindClause()
       : OMPClause(OMPC_proc_bind, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Returns kind of the clause.
+  /// Returns kind of the clause.
   OpenMPProcBindClauseKind getProcBindKind() const { return Kind; }
 
-  /// \brief Returns location of clause kind.
+  /// Returns location of clause kind.
   SourceLocation getProcBindKindKwLoc() const { return KindKwLoc; }
 
   child_range children() {
@@ -734,7 +734,7 @@ public:
   }
 };
 
-/// \brief This represents 'schedule' clause in the '#pragma omp ...' directive.
+/// This represents 'schedule' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp for schedule(static, 3)
@@ -744,58 +744,58 @@ public:
 class OMPScheduleClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief A kind of the 'schedule' clause.
+  /// A kind of the 'schedule' clause.
   OpenMPScheduleClauseKind Kind = OMPC_SCHEDULE_unknown;
 
-  /// \brief Modifiers for 'schedule' clause.
+  /// Modifiers for 'schedule' clause.
   enum {FIRST, SECOND, NUM_MODIFIERS};
   OpenMPScheduleClauseModifier Modifiers[NUM_MODIFIERS];
 
-  /// \brief Locations of modifiers.
+  /// Locations of modifiers.
   SourceLocation ModifiersLoc[NUM_MODIFIERS];
 
-  /// \brief Start location of the schedule ind in source code.
+  /// Start location of the schedule ind in source code.
   SourceLocation KindLoc;
 
-  /// \brief Location of ',' (if any).
+  /// Location of ',' (if any).
   SourceLocation CommaLoc;
 
-  /// \brief Chunk size.
+  /// Chunk size.
   Expr *ChunkSize = nullptr;
 
-  /// \brief Set schedule kind.
+  /// Set schedule kind.
   ///
   /// \param K Schedule kind.
   void setScheduleKind(OpenMPScheduleClauseKind K) { Kind = K; }
 
-  /// \brief Set the first schedule modifier.
+  /// Set the first schedule modifier.
   ///
   /// \param M Schedule modifier.
   void setFirstScheduleModifier(OpenMPScheduleClauseModifier M) {
     Modifiers[FIRST] = M;
   }
 
-  /// \brief Set the second schedule modifier.
+  /// Set the second schedule modifier.
   ///
   /// \param M Schedule modifier.
   void setSecondScheduleModifier(OpenMPScheduleClauseModifier M) {
     Modifiers[SECOND] = M;
   }
 
-  /// \brief Set location of the first schedule modifier.
+  /// Set location of the first schedule modifier.
   void setFirstScheduleModifierLoc(SourceLocation Loc) {
     ModifiersLoc[FIRST] = Loc;
   }
 
-  /// \brief Set location of the second schedule modifier.
+  /// Set location of the second schedule modifier.
   void setSecondScheduleModifierLoc(SourceLocation Loc) {
     ModifiersLoc[SECOND] = Loc;
   }
 
-  /// \brief Set schedule modifier location.
+  /// Set schedule modifier location.
   ///
   /// \param M Schedule modifier location.
   void setScheduleModifer(OpenMPScheduleClauseModifier M) {
@@ -807,28 +807,28 @@ class OMPScheduleClause : public OMPClau
     }
   }
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   ///
   /// \param Loc Location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Set schedule kind start location.
+  /// Set schedule kind start location.
   ///
   /// \param KLoc Schedule kind location.
   void setScheduleKindLoc(SourceLocation KLoc) { KindLoc = KLoc; }
 
-  /// \brief Set location of ','.
+  /// Set location of ','.
   ///
   /// \param Loc Location of ','.
   void setCommaLoc(SourceLocation Loc) { CommaLoc = Loc; }
 
-  /// \brief Set chunk size.
+  /// Set chunk size.
   ///
   /// \param E Chunk size.
   void setChunkSize(Expr *E) { ChunkSize = E; }
 
 public:
-  /// \brief Build 'schedule' clause with schedule kind \a Kind and chunk size
+  /// Build 'schedule' clause with schedule kind \a Kind and chunk size
   /// expression \a ChunkSize.
   ///
   /// \param StartLoc Starting location of the clause.
@@ -859,7 +859,7 @@ public:
     ModifiersLoc[SECOND] = M2Loc;
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPScheduleClause()
       : OMPClause(OMPC_schedule, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {
@@ -867,42 +867,42 @@ public:
     Modifiers[SECOND] = OMPC_SCHEDULE_MODIFIER_unknown;
   }
 
-  /// \brief Get kind of the clause.
+  /// Get kind of the clause.
   OpenMPScheduleClauseKind getScheduleKind() const { return Kind; }
 
-  /// \brief Get the first modifier of the clause.
+  /// Get the first modifier of the clause.
   OpenMPScheduleClauseModifier getFirstScheduleModifier() const {
     return Modifiers[FIRST];
   }
 
-  /// \brief Get the second modifier of the clause.
+  /// Get the second modifier of the clause.
   OpenMPScheduleClauseModifier getSecondScheduleModifier() const {
     return Modifiers[SECOND];
   }
 
-  /// \brief Get location of '('.
+  /// Get location of '('.
   SourceLocation getLParenLoc() { return LParenLoc; }
 
-  /// \brief Get kind location.
+  /// Get kind location.
   SourceLocation getScheduleKindLoc() { return KindLoc; }
 
-  /// \brief Get the first modifier location.
+  /// Get the first modifier location.
   SourceLocation getFirstScheduleModifierLoc() const {
     return ModifiersLoc[FIRST];
   }
 
-  /// \brief Get the second modifier location.
+  /// Get the second modifier location.
   SourceLocation getSecondScheduleModifierLoc() const {
     return ModifiersLoc[SECOND];
   }
 
-  /// \brief Get location of ','.
+  /// Get location of ','.
   SourceLocation getCommaLoc() { return CommaLoc; }
 
-  /// \brief Get chunk size.
+  /// Get chunk size.
   Expr *getChunkSize() { return ChunkSize; }
 
-  /// \brief Get chunk size.
+  /// Get chunk size.
   const Expr *getChunkSize() const { return ChunkSize; }
 
   child_range children() {
@@ -915,7 +915,7 @@ public:
   }
 };
 
-/// \brief This represents 'ordered' clause in the '#pragma omp ...' directive.
+/// This represents 'ordered' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp for ordered (2)
@@ -925,17 +925,17 @@ public:
 class OMPOrderedClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Number of for-loops.
+  /// Number of for-loops.
   Stmt *NumForLoops = nullptr;
 
-  /// \brief Set the number of associated for-loops.
+  /// Set the number of associated for-loops.
   void setNumForLoops(Expr *Num) { NumForLoops = Num; }
 
 public:
-  /// \brief Build 'ordered' clause.
+  /// Build 'ordered' clause.
   ///
   /// \param Num Expression, possibly associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -946,17 +946,17 @@ public:
       : OMPClause(OMPC_ordered, StartLoc, EndLoc), LParenLoc(LParenLoc),
         NumForLoops(Num) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPOrderedClause()
       : OMPClause(OMPC_ordered, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return the number of associated for-loops.
+  /// Return the number of associated for-loops.
   Expr *getNumForLoops() const { return cast_or_null<Expr>(NumForLoops); }
 
   child_range children() { return child_range(&NumForLoops, &NumForLoops + 1); }
@@ -966,7 +966,7 @@ public:
   }
 };
 
-/// \brief This represents 'nowait' clause in the '#pragma omp ...' directive.
+/// This represents 'nowait' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp for nowait
@@ -974,14 +974,14 @@ public:
 /// In this example directive '#pragma omp for' has 'nowait' clause.
 class OMPNowaitClause : public OMPClause {
 public:
-  /// \brief Build 'nowait' clause.
+  /// Build 'nowait' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPNowaitClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_nowait, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPNowaitClause()
       : OMPClause(OMPC_nowait, SourceLocation(), SourceLocation()) {}
 
@@ -994,7 +994,7 @@ public:
   }
 };
 
-/// \brief This represents 'untied' clause in the '#pragma omp ...' directive.
+/// This represents 'untied' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp task untied
@@ -1002,14 +1002,14 @@ public:
 /// In this example directive '#pragma omp task' has 'untied' clause.
 class OMPUntiedClause : public OMPClause {
 public:
-  /// \brief Build 'untied' clause.
+  /// Build 'untied' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPUntiedClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_untied, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPUntiedClause()
       : OMPClause(OMPC_untied, SourceLocation(), SourceLocation()) {}
 
@@ -1022,7 +1022,7 @@ public:
   }
 };
 
-/// \brief This represents 'mergeable' clause in the '#pragma omp ...'
+/// This represents 'mergeable' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -1031,14 +1031,14 @@ public:
 /// In this example directive '#pragma omp task' has 'mergeable' clause.
 class OMPMergeableClause : public OMPClause {
 public:
-  /// \brief Build 'mergeable' clause.
+  /// Build 'mergeable' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPMergeableClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_mergeable, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPMergeableClause()
       : OMPClause(OMPC_mergeable, SourceLocation(), SourceLocation()) {}
 
@@ -1051,7 +1051,7 @@ public:
   }
 };
 
-/// \brief This represents 'read' clause in the '#pragma omp atomic' directive.
+/// This represents 'read' clause in the '#pragma omp atomic' directive.
 ///
 /// \code
 /// #pragma omp atomic read
@@ -1059,14 +1059,14 @@ public:
 /// In this example directive '#pragma omp atomic' has 'read' clause.
 class OMPReadClause : public OMPClause {
 public:
-  /// \brief Build 'read' clause.
+  /// Build 'read' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPReadClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_read, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPReadClause() : OMPClause(OMPC_read, SourceLocation(), SourceLocation()) {}
 
   child_range children() {
@@ -1078,7 +1078,7 @@ public:
   }
 };
 
-/// \brief This represents 'write' clause in the '#pragma omp atomic' directive.
+/// This represents 'write' clause in the '#pragma omp atomic' directive.
 ///
 /// \code
 /// #pragma omp atomic write
@@ -1086,14 +1086,14 @@ public:
 /// In this example directive '#pragma omp atomic' has 'write' clause.
 class OMPWriteClause : public OMPClause {
 public:
-  /// \brief Build 'write' clause.
+  /// Build 'write' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPWriteClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_write, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPWriteClause()
       : OMPClause(OMPC_write, SourceLocation(), SourceLocation()) {}
 
@@ -1106,7 +1106,7 @@ public:
   }
 };
 
-/// \brief This represents 'update' clause in the '#pragma omp atomic'
+/// This represents 'update' clause in the '#pragma omp atomic'
 /// directive.
 ///
 /// \code
@@ -1115,14 +1115,14 @@ public:
 /// In this example directive '#pragma omp atomic' has 'update' clause.
 class OMPUpdateClause : public OMPClause {
 public:
-  /// \brief Build 'update' clause.
+  /// Build 'update' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPUpdateClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_update, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPUpdateClause()
       : OMPClause(OMPC_update, SourceLocation(), SourceLocation()) {}
 
@@ -1135,7 +1135,7 @@ public:
   }
 };
 
-/// \brief This represents 'capture' clause in the '#pragma omp atomic'
+/// This represents 'capture' clause in the '#pragma omp atomic'
 /// directive.
 ///
 /// \code
@@ -1144,14 +1144,14 @@ public:
 /// In this example directive '#pragma omp atomic' has 'capture' clause.
 class OMPCaptureClause : public OMPClause {
 public:
-  /// \brief Build 'capture' clause.
+  /// Build 'capture' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPCaptureClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_capture, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPCaptureClause()
       : OMPClause(OMPC_capture, SourceLocation(), SourceLocation()) {}
 
@@ -1164,7 +1164,7 @@ public:
   }
 };
 
-/// \brief This represents 'seq_cst' clause in the '#pragma omp atomic'
+/// This represents 'seq_cst' clause in the '#pragma omp atomic'
 /// directive.
 ///
 /// \code
@@ -1173,14 +1173,14 @@ public:
 /// In this example directive '#pragma omp atomic' has 'seq_cst' clause.
 class OMPSeqCstClause : public OMPClause {
 public:
-  /// \brief Build 'seq_cst' clause.
+  /// Build 'seq_cst' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPSeqCstClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_seq_cst, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPSeqCstClause()
       : OMPClause(OMPC_seq_cst, SourceLocation(), SourceLocation()) {}
 
@@ -1193,7 +1193,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'private' in the '#pragma omp ...' directives.
+/// This represents clause 'private' in the '#pragma omp ...' directives.
 ///
 /// \code
 /// #pragma omp parallel private(a,b)
@@ -1207,7 +1207,7 @@ class OMPPrivateClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1218,7 +1218,7 @@ class OMPPrivateClause final
       : OMPVarListClause<OMPPrivateClause>(OMPC_private, StartLoc, LParenLoc,
                                            EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPPrivateClause(unsigned N)
@@ -1226,12 +1226,12 @@ class OMPPrivateClause final
                                            SourceLocation(), SourceLocation(),
                                            N) {}
 
-  /// \brief Sets the list of references to private copies with initializers for
+  /// Sets the list of references to private copies with initializers for
   /// new private variables.
   /// \param VL List of references.
   void setPrivateCopies(ArrayRef<Expr *> VL);
 
-  /// \brief Gets the list of references to private copies with initializers for
+  /// Gets the list of references to private copies with initializers for
   /// new private variables.
   MutableArrayRef<Expr *> getPrivateCopies() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
@@ -1241,7 +1241,7 @@ class OMPPrivateClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -1254,7 +1254,7 @@ public:
                                   SourceLocation EndLoc, ArrayRef<Expr *> VL,
                                   ArrayRef<Expr *> PrivateVL);
 
-  /// \brief Creates an empty clause with the place for \a N variables.
+  /// Creates an empty clause with the place for \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -1286,7 +1286,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'firstprivate' in the '#pragma omp ...'
+/// This represents clause 'firstprivate' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -1302,7 +1302,7 @@ class OMPFirstprivateClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1314,7 +1314,7 @@ class OMPFirstprivateClause final
                                                 LParenLoc, EndLoc, N),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPFirstprivateClause(unsigned N)
@@ -1323,12 +1323,12 @@ class OMPFirstprivateClause final
             SourceLocation(), N),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the list of references to private copies with initializers for
+  /// Sets the list of references to private copies with initializers for
   /// new private variables.
   /// \param VL List of references.
   void setPrivateCopies(ArrayRef<Expr *> VL);
 
-  /// \brief Gets the list of references to private copies with initializers for
+  /// Gets the list of references to private copies with initializers for
   /// new private variables.
   MutableArrayRef<Expr *> getPrivateCopies() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
@@ -1337,12 +1337,12 @@ class OMPFirstprivateClause final
     return llvm::makeArrayRef(varlist_end(), varlist_size());
   }
 
-  /// \brief Sets the list of references to initializer variables for new
+  /// Sets the list of references to initializer variables for new
   /// private variables.
   /// \param VL List of references.
   void setInits(ArrayRef<Expr *> VL);
 
-  /// \brief Gets the list of references to initializer variables for new
+  /// Gets the list of references to initializer variables for new
   /// private variables.
   MutableArrayRef<Expr *> getInits() {
     return MutableArrayRef<Expr *>(getPrivateCopies().end(), varlist_size());
@@ -1352,7 +1352,7 @@ class OMPFirstprivateClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -1370,7 +1370,7 @@ public:
          SourceLocation EndLoc, ArrayRef<Expr *> VL, ArrayRef<Expr *> PrivateVL,
          ArrayRef<Expr *> InitVL, Stmt *PreInit);
 
-  /// \brief Creates an empty clause with the place for \a N variables.
+  /// Creates an empty clause with the place for \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -1413,7 +1413,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'lastprivate' in the '#pragma omp ...'
+/// This represents clause 'lastprivate' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -1445,7 +1445,7 @@ class OMPLastprivateClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1457,7 +1457,7 @@ class OMPLastprivateClause final
                                                LParenLoc, EndLoc, N),
         OMPClauseWithPostUpdate(this) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPLastprivateClause(unsigned N)
@@ -1466,7 +1466,7 @@ class OMPLastprivateClause final
             SourceLocation(), N),
         OMPClauseWithPostUpdate(this) {}
 
-  /// \brief Get the list of helper expressions for initialization of private
+  /// Get the list of helper expressions for initialization of private
   /// copies for lastprivate variables.
   MutableArrayRef<Expr *> getPrivateCopies() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
@@ -1475,13 +1475,13 @@ class OMPLastprivateClause final
     return llvm::makeArrayRef(varlist_end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent private variables (for arrays, single
   /// array element) in the final assignment statement performed by the
   /// lastprivate clause.
   void setSourceExprs(ArrayRef<Expr *> SrcExprs);
 
-  /// \brief Get the list of helper source expressions.
+  /// Get the list of helper source expressions.
   MutableArrayRef<Expr *> getSourceExprs() {
     return MutableArrayRef<Expr *>(getPrivateCopies().end(), varlist_size());
   }
@@ -1489,13 +1489,13 @@ class OMPLastprivateClause final
     return llvm::makeArrayRef(getPrivateCopies().end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent original variables (for arrays, single
   /// array element) in the final assignment statement performed by the
   /// lastprivate clause.
   void setDestinationExprs(ArrayRef<Expr *> DstExprs);
 
-  /// \brief Get the list of helper destination expressions.
+  /// Get the list of helper destination expressions.
   MutableArrayRef<Expr *> getDestinationExprs() {
     return MutableArrayRef<Expr *>(getSourceExprs().end(), varlist_size());
   }
@@ -1503,12 +1503,12 @@ class OMPLastprivateClause final
     return llvm::makeArrayRef(getSourceExprs().end(), varlist_size());
   }
 
-  /// \brief Set list of helper assignment expressions, required for proper
+  /// Set list of helper assignment expressions, required for proper
   /// codegen of the clause. These expressions are assignment expressions that
   /// assign private copy of the variable to original variable.
   void setAssignmentOps(ArrayRef<Expr *> AssignmentOps);
 
-  /// \brief Get the list of helper assignment expressions.
+  /// Get the list of helper assignment expressions.
   MutableArrayRef<Expr *> getAssignmentOps() {
     return MutableArrayRef<Expr *>(getDestinationExprs().end(), varlist_size());
   }
@@ -1517,7 +1517,7 @@ class OMPLastprivateClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -1547,7 +1547,7 @@ public:
          ArrayRef<Expr *> DstExprs, ArrayRef<Expr *> AssignmentOps,
          Stmt *PreInit, Expr *PostUpdate);
 
-  /// \brief Creates an empty clause with the place for \a N variables.
+  /// Creates an empty clause with the place for \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -1559,7 +1559,7 @@ public:
   using helper_expr_const_range =
       llvm::iterator_range<helper_expr_const_iterator>;
 
-  /// \brief Set list of helper expressions, required for generation of private
+  /// Set list of helper expressions, required for generation of private
   /// copies of original lastprivate variables.
   void setPrivateCopies(ArrayRef<Expr *> PrivateCopies);
 
@@ -1612,7 +1612,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'shared' in the '#pragma omp ...' directives.
+/// This represents clause 'shared' in the '#pragma omp ...' directives.
 ///
 /// \code
 /// #pragma omp parallel shared(a,b)
@@ -1625,7 +1625,7 @@ class OMPSharedClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1636,7 +1636,7 @@ class OMPSharedClause final
       : OMPVarListClause<OMPSharedClause>(OMPC_shared, StartLoc, LParenLoc,
                                           EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPSharedClause(unsigned N)
@@ -1645,7 +1645,7 @@ class OMPSharedClause final
                                           N) {}
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -1656,7 +1656,7 @@ public:
                                  SourceLocation LParenLoc,
                                  SourceLocation EndLoc, ArrayRef<Expr *> VL);
 
-  /// \brief Creates an empty clause with \a N variables.
+  /// Creates an empty clause with \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -1672,7 +1672,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'reduction' in the '#pragma omp ...'
+/// This represents clause 'reduction' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -1688,16 +1688,16 @@ class OMPReductionClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Location of ':'.
+  /// Location of ':'.
   SourceLocation ColonLoc;
 
-  /// \brief Nested name specifier for C++.
+  /// Nested name specifier for C++.
   NestedNameSpecifierLoc QualifierLoc;
 
-  /// \brief Name of custom operator.
+  /// Name of custom operator.
   DeclarationNameInfo NameInfo;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1715,7 +1715,7 @@ class OMPReductionClause final
         OMPClauseWithPostUpdate(this), ColonLoc(ColonLoc),
         QualifierLoc(QualifierLoc), NameInfo(NameInfo) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPReductionClause(unsigned N)
@@ -1724,21 +1724,21 @@ class OMPReductionClause final
                                              N),
         OMPClauseWithPostUpdate(this) {}
 
-  /// \brief Sets location of ':' symbol in clause.
+  /// Sets location of ':' symbol in clause.
   void setColonLoc(SourceLocation CL) { ColonLoc = CL; }
 
-  /// \brief Sets the name info for specified reduction identifier.
+  /// Sets the name info for specified reduction identifier.
   void setNameInfo(DeclarationNameInfo DNI) { NameInfo = DNI; }
 
-  /// \brief Sets the nested name specifier.
+  /// Sets the nested name specifier.
   void setQualifierLoc(NestedNameSpecifierLoc NSL) { QualifierLoc = NSL; }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent private copy of the reduction
   /// variable.
   void setPrivates(ArrayRef<Expr *> Privates);
 
-  /// \brief Get the list of helper privates.
+  /// Get the list of helper privates.
   MutableArrayRef<Expr *> getPrivates() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
   }
@@ -1746,12 +1746,12 @@ class OMPReductionClause final
     return llvm::makeArrayRef(varlist_end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent LHS expression in the final
   /// reduction expression performed by the reduction clause.
   void setLHSExprs(ArrayRef<Expr *> LHSExprs);
 
-  /// \brief Get the list of helper LHS expressions.
+  /// Get the list of helper LHS expressions.
   MutableArrayRef<Expr *> getLHSExprs() {
     return MutableArrayRef<Expr *>(getPrivates().end(), varlist_size());
   }
@@ -1759,14 +1759,14 @@ class OMPReductionClause final
     return llvm::makeArrayRef(getPrivates().end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent RHS expression in the final
   /// reduction expression performed by the reduction clause.
   /// Also, variables in these expressions are used for proper initialization of
   /// reduction copies.
   void setRHSExprs(ArrayRef<Expr *> RHSExprs);
 
-  /// \brief Get the list of helper destination expressions.
+  /// Get the list of helper destination expressions.
   MutableArrayRef<Expr *> getRHSExprs() {
     return MutableArrayRef<Expr *>(getLHSExprs().end(), varlist_size());
   }
@@ -1774,13 +1774,13 @@ class OMPReductionClause final
     return llvm::makeArrayRef(getLHSExprs().end(), varlist_size());
   }
 
-  /// \brief Set list of helper reduction expressions, required for proper
+  /// Set list of helper reduction expressions, required for proper
   /// codegen of the clause. These expressions are binary expressions or
   /// operator/custom reduction call that calculates new value from source
   /// helper expressions to destination helper expressions.
   void setReductionOps(ArrayRef<Expr *> ReductionOps);
 
-  /// \brief Get the list of helper reduction expressions.
+  /// Get the list of helper reduction expressions.
   MutableArrayRef<Expr *> getReductionOps() {
     return MutableArrayRef<Expr *>(getRHSExprs().end(), varlist_size());
   }
@@ -1789,7 +1789,7 @@ class OMPReductionClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -1829,19 +1829,19 @@ public:
          ArrayRef<Expr *> LHSExprs, ArrayRef<Expr *> RHSExprs,
          ArrayRef<Expr *> ReductionOps, Stmt *PreInit, Expr *PostUpdate);
 
-  /// \brief Creates an empty clause with the place for \a N variables.
+  /// Creates an empty clause with the place for \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
   static OMPReductionClause *CreateEmpty(const ASTContext &C, unsigned N);
 
-  /// \brief Gets location of ':' symbol in clause.
+  /// Gets location of ':' symbol in clause.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
-  /// \brief Gets the name info for specified reduction identifier.
+  /// Gets the name info for specified reduction identifier.
   const DeclarationNameInfo &getNameInfo() const { return NameInfo; }
 
-  /// \brief Gets the nested name specifier.
+  /// Gets the nested name specifier.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
   using helper_expr_iterator = MutableArrayRef<Expr *>::iterator;
@@ -2357,7 +2357,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'linear' in the '#pragma omp ...'
+/// This represents clause 'linear' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -2373,22 +2373,22 @@ class OMPLinearClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Modifier of 'linear' clause.
+  /// Modifier of 'linear' clause.
   OpenMPLinearClauseKind Modifier = OMPC_LINEAR_val;
 
-  /// \brief Location of linear modifier if any.
+  /// Location of linear modifier if any.
   SourceLocation ModifierLoc;
 
-  /// \brief Location of ':'.
+  /// Location of ':'.
   SourceLocation ColonLoc;
 
-  /// \brief Sets the linear step for clause.
+  /// Sets the linear step for clause.
   void setStep(Expr *Step) { *(getFinals().end()) = Step; }
 
-  /// \brief Sets the expression to calculate linear step for clause.
+  /// Sets the expression to calculate linear step for clause.
   void setCalcStep(Expr *CalcStep) { *(getFinals().end() + 1) = CalcStep; }
 
-  /// \brief Build 'linear' clause with given number of variables \a NumVars.
+  /// Build 'linear' clause with given number of variables \a NumVars.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -2404,7 +2404,7 @@ class OMPLinearClause final
         OMPClauseWithPostUpdate(this), Modifier(Modifier),
         ModifierLoc(ModifierLoc), ColonLoc(ColonLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param NumVars Number of variables.
   explicit OMPLinearClause(unsigned NumVars)
@@ -2413,7 +2413,7 @@ class OMPLinearClause final
                                           NumVars),
         OMPClauseWithPostUpdate(this) {}
 
-  /// \brief Gets the list of initial values for linear variables.
+  /// Gets the list of initial values for linear variables.
   ///
   /// There are NumVars expressions with initial values allocated after the
   /// varlist, they are followed by NumVars update expressions (used to update
@@ -2439,7 +2439,7 @@ class OMPLinearClause final
     return llvm::makeArrayRef(getPrivates().end(), varlist_size());
   }
 
-  /// \brief Sets the list of update expressions for linear variables.
+  /// Sets the list of update expressions for linear variables.
   MutableArrayRef<Expr *> getUpdates() {
     return MutableArrayRef<Expr *>(getInits().end(), varlist_size());
   }
@@ -2447,7 +2447,7 @@ class OMPLinearClause final
     return llvm::makeArrayRef(getInits().end(), varlist_size());
   }
 
-  /// \brief Sets the list of final update expressions for linear variables.
+  /// Sets the list of final update expressions for linear variables.
   MutableArrayRef<Expr *> getFinals() {
     return MutableArrayRef<Expr *>(getUpdates().end(), varlist_size());
   }
@@ -2455,16 +2455,16 @@ class OMPLinearClause final
     return llvm::makeArrayRef(getUpdates().end(), varlist_size());
   }
 
-  /// \brief Sets the list of the copies of original linear variables.
+  /// Sets the list of the copies of original linear variables.
   /// \param PL List of expressions.
   void setPrivates(ArrayRef<Expr *> PL);
 
-  /// \brief Sets the list of the initial values for linear variables.
+  /// Sets the list of the initial values for linear variables.
   /// \param IL List of expressions.
   void setInits(ArrayRef<Expr *> IL);
 
 public:
-  /// \brief Creates clause with a list of variables \a VL and a linear step
+  /// Creates clause with a list of variables \a VL and a linear step
   /// \a Step.
   ///
   /// \param C AST Context.
@@ -2490,47 +2490,47 @@ public:
          ArrayRef<Expr *> PL, ArrayRef<Expr *> IL, Expr *Step, Expr *CalcStep,
          Stmt *PreInit, Expr *PostUpdate);
 
-  /// \brief Creates an empty clause with the place for \a NumVars variables.
+  /// Creates an empty clause with the place for \a NumVars variables.
   ///
   /// \param C AST context.
   /// \param NumVars Number of variables.
   static OMPLinearClause *CreateEmpty(const ASTContext &C, unsigned NumVars);
 
-  /// \brief Set modifier.
+  /// Set modifier.
   void setModifier(OpenMPLinearClauseKind Kind) { Modifier = Kind; }
 
-  /// \brief Return modifier.
+  /// Return modifier.
   OpenMPLinearClauseKind getModifier() const { return Modifier; }
 
-  /// \brief Set modifier location.
+  /// Set modifier location.
   void setModifierLoc(SourceLocation Loc) { ModifierLoc = Loc; }
 
-  /// \brief Return modifier location.
+  /// Return modifier location.
   SourceLocation getModifierLoc() const { return ModifierLoc; }
 
-  /// \brief Sets the location of ':'.
+  /// Sets the location of ':'.
   void setColonLoc(SourceLocation Loc) { ColonLoc = Loc; }
 
-  /// \brief Returns the location of ':'.
+  /// Returns the location of ':'.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
-  /// \brief Returns linear step.
+  /// Returns linear step.
   Expr *getStep() { return *(getFinals().end()); }
 
-  /// \brief Returns linear step.
+  /// Returns linear step.
   const Expr *getStep() const { return *(getFinals().end()); }
 
-  /// \brief Returns expression to calculate linear step.
+  /// Returns expression to calculate linear step.
   Expr *getCalcStep() { return *(getFinals().end() + 1); }
 
-  /// \brief Returns expression to calculate linear step.
+  /// Returns expression to calculate linear step.
   const Expr *getCalcStep() const { return *(getFinals().end() + 1); }
 
-  /// \brief Sets the list of update expressions for linear variables.
+  /// Sets the list of update expressions for linear variables.
   /// \param UL List of expressions.
   void setUpdates(ArrayRef<Expr *> UL);
 
-  /// \brief Sets the list of final update expressions for linear variables.
+  /// Sets the list of final update expressions for linear variables.
   /// \param FL List of expressions.
   void setFinals(ArrayRef<Expr *> FL);
 
@@ -2596,7 +2596,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'aligned' in the '#pragma omp ...'
+/// This represents clause 'aligned' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -2611,13 +2611,13 @@ class OMPAlignedClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Location of ':'.
+  /// Location of ':'.
   SourceLocation ColonLoc;
 
-  /// \brief Sets the alignment for clause.
+  /// Sets the alignment for clause.
   void setAlignment(Expr *A) { *varlist_end() = A; }
 
-  /// \brief Build 'aligned' clause with given number of variables \a NumVars.
+  /// Build 'aligned' clause with given number of variables \a NumVars.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -2631,7 +2631,7 @@ class OMPAlignedClause final
                                            EndLoc, NumVars),
         ColonLoc(ColonLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param NumVars Number of variables.
   explicit OMPAlignedClause(unsigned NumVars)
@@ -2640,7 +2640,7 @@ class OMPAlignedClause final
                                            NumVars) {}
 
 public:
-  /// \brief Creates clause with a list of variables \a VL and alignment \a A.
+  /// Creates clause with a list of variables \a VL and alignment \a A.
   ///
   /// \param C AST Context.
   /// \param StartLoc Starting location of the clause.
@@ -2655,22 +2655,22 @@ public:
                                   SourceLocation EndLoc, ArrayRef<Expr *> VL,
                                   Expr *A);
 
-  /// \brief Creates an empty clause with the place for \a NumVars variables.
+  /// Creates an empty clause with the place for \a NumVars variables.
   ///
   /// \param C AST context.
   /// \param NumVars Number of variables.
   static OMPAlignedClause *CreateEmpty(const ASTContext &C, unsigned NumVars);
 
-  /// \brief Sets the location of ':'.
+  /// Sets the location of ':'.
   void setColonLoc(SourceLocation Loc) { ColonLoc = Loc; }
 
-  /// \brief Returns the location of ':'.
+  /// Returns the location of ':'.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
-  /// \brief Returns alignment.
+  /// Returns alignment.
   Expr *getAlignment() { return *varlist_end(); }
 
-  /// \brief Returns alignment.
+  /// Returns alignment.
   const Expr *getAlignment() const { return *varlist_end(); }
 
   child_range children() {
@@ -2683,7 +2683,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'copyin' in the '#pragma omp ...' directives.
+/// This represents clause 'copyin' in the '#pragma omp ...' directives.
 ///
 /// \code
 /// #pragma omp parallel copyin(a,b)
@@ -2710,7 +2710,7 @@ class OMPCopyinClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -2721,7 +2721,7 @@ class OMPCopyinClause final
       : OMPVarListClause<OMPCopyinClause>(OMPC_copyin, StartLoc, LParenLoc,
                                           EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPCopyinClause(unsigned N)
@@ -2729,12 +2729,12 @@ class OMPCopyinClause final
                                           SourceLocation(), SourceLocation(),
                                           N) {}
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent source expression in the final
   /// assignment statement performed by the copyin clause.
   void setSourceExprs(ArrayRef<Expr *> SrcExprs);
 
-  /// \brief Get the list of helper source expressions.
+  /// Get the list of helper source expressions.
   MutableArrayRef<Expr *> getSourceExprs() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
   }
@@ -2742,12 +2742,12 @@ class OMPCopyinClause final
     return llvm::makeArrayRef(varlist_end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent destination expression in the final
   /// assignment statement performed by the copyin clause.
   void setDestinationExprs(ArrayRef<Expr *> DstExprs);
 
-  /// \brief Get the list of helper destination expressions.
+  /// Get the list of helper destination expressions.
   MutableArrayRef<Expr *> getDestinationExprs() {
     return MutableArrayRef<Expr *>(getSourceExprs().end(), varlist_size());
   }
@@ -2755,13 +2755,13 @@ class OMPCopyinClause final
     return llvm::makeArrayRef(getSourceExprs().end(), varlist_size());
   }
 
-  /// \brief Set list of helper assignment expressions, required for proper
+  /// Set list of helper assignment expressions, required for proper
   /// codegen of the clause. These expressions are assignment expressions that
   /// assign source helper expressions to destination helper expressions
   /// correspondingly.
   void setAssignmentOps(ArrayRef<Expr *> AssignmentOps);
 
-  /// \brief Get the list of helper assignment expressions.
+  /// Get the list of helper assignment expressions.
   MutableArrayRef<Expr *> getAssignmentOps() {
     return MutableArrayRef<Expr *>(getDestinationExprs().end(), varlist_size());
   }
@@ -2770,7 +2770,7 @@ class OMPCopyinClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -2796,7 +2796,7 @@ public:
          SourceLocation EndLoc, ArrayRef<Expr *> VL, ArrayRef<Expr *> SrcExprs,
          ArrayRef<Expr *> DstExprs, ArrayRef<Expr *> AssignmentOps);
 
-  /// \brief Creates an empty clause with \a N variables.
+  /// Creates an empty clause with \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -2847,7 +2847,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'copyprivate' in the '#pragma omp ...'
+/// This represents clause 'copyprivate' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -2862,7 +2862,7 @@ class OMPCopyprivateClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -2873,7 +2873,7 @@ class OMPCopyprivateClause final
       : OMPVarListClause<OMPCopyprivateClause>(OMPC_copyprivate, StartLoc,
                                                LParenLoc, EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPCopyprivateClause(unsigned N)
@@ -2881,12 +2881,12 @@ class OMPCopyprivateClause final
             OMPC_copyprivate, SourceLocation(), SourceLocation(),
             SourceLocation(), N) {}
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent source expression in the final
   /// assignment statement performed by the copyprivate clause.
   void setSourceExprs(ArrayRef<Expr *> SrcExprs);
 
-  /// \brief Get the list of helper source expressions.
+  /// Get the list of helper source expressions.
   MutableArrayRef<Expr *> getSourceExprs() {
     return MutableArrayRef<Expr *>(varlist_end(), varlist_size());
   }
@@ -2894,12 +2894,12 @@ class OMPCopyprivateClause final
     return llvm::makeArrayRef(varlist_end(), varlist_size());
   }
 
-  /// \brief Set list of helper expressions, required for proper codegen of the
+  /// Set list of helper expressions, required for proper codegen of the
   /// clause. These expressions represent destination expression in the final
   /// assignment statement performed by the copyprivate clause.
   void setDestinationExprs(ArrayRef<Expr *> DstExprs);
 
-  /// \brief Get the list of helper destination expressions.
+  /// Get the list of helper destination expressions.
   MutableArrayRef<Expr *> getDestinationExprs() {
     return MutableArrayRef<Expr *>(getSourceExprs().end(), varlist_size());
   }
@@ -2907,13 +2907,13 @@ class OMPCopyprivateClause final
     return llvm::makeArrayRef(getSourceExprs().end(), varlist_size());
   }
 
-  /// \brief Set list of helper assignment expressions, required for proper
+  /// Set list of helper assignment expressions, required for proper
   /// codegen of the clause. These expressions are assignment expressions that
   /// assign source helper expressions to destination helper expressions
   /// correspondingly.
   void setAssignmentOps(ArrayRef<Expr *> AssignmentOps);
 
-  /// \brief Get the list of helper assignment expressions.
+  /// Get the list of helper assignment expressions.
   MutableArrayRef<Expr *> getAssignmentOps() {
     return MutableArrayRef<Expr *>(getDestinationExprs().end(), varlist_size());
   }
@@ -2922,7 +2922,7 @@ class OMPCopyprivateClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -2947,7 +2947,7 @@ public:
          SourceLocation EndLoc, ArrayRef<Expr *> VL, ArrayRef<Expr *> SrcExprs,
          ArrayRef<Expr *> DstExprs, ArrayRef<Expr *> AssignmentOps);
 
-  /// \brief Creates an empty clause with \a N variables.
+  /// Creates an empty clause with \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -2998,7 +2998,7 @@ public:
   }
 };
 
-/// \brief This represents implicit clause 'flush' for the '#pragma omp flush'
+/// This represents implicit clause 'flush' for the '#pragma omp flush'
 /// directive.
 /// This clause does not exist by itself, it can be only as a part of 'omp
 /// flush' directive. This clause is introduced to keep the original structure
@@ -3016,7 +3016,7 @@ class OMPFlushClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -3027,7 +3027,7 @@ class OMPFlushClause final
       : OMPVarListClause<OMPFlushClause>(OMPC_flush, StartLoc, LParenLoc,
                                          EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPFlushClause(unsigned N)
@@ -3036,7 +3036,7 @@ class OMPFlushClause final
                                          N) {}
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -3047,7 +3047,7 @@ public:
                                 SourceLocation LParenLoc, SourceLocation EndLoc,
                                 ArrayRef<Expr *> VL);
 
-  /// \brief Creates an empty clause with \a N variables.
+  /// Creates an empty clause with \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
@@ -3063,7 +3063,7 @@ public:
   }
 };
 
-/// \brief This represents implicit clause 'depend' for the '#pragma omp task'
+/// This represents implicit clause 'depend' for the '#pragma omp task'
 /// directive.
 ///
 /// \code
@@ -3078,16 +3078,16 @@ class OMPDependClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Dependency type (one of in, out, inout).
+  /// Dependency type (one of in, out, inout).
   OpenMPDependClauseKind DepKind = OMPC_DEPEND_unknown;
 
-  /// \brief Dependency type location.
+  /// Dependency type location.
   SourceLocation DepLoc;
 
-  /// \brief Colon location.
+  /// Colon location.
   SourceLocation ColonLoc;
 
-  /// \brief Build clause with number of variables \a N.
+  /// Build clause with number of variables \a N.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -3098,7 +3098,7 @@ class OMPDependClause final
       : OMPVarListClause<OMPDependClause>(OMPC_depend, StartLoc, LParenLoc,
                                           EndLoc, N) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param N Number of variables.
   explicit OMPDependClause(unsigned N)
@@ -3106,17 +3106,17 @@ class OMPDependClause final
                                           SourceLocation(), SourceLocation(),
                                           N) {}
 
-  /// \brief Set dependency kind.
+  /// Set dependency kind.
   void setDependencyKind(OpenMPDependClauseKind K) { DepKind = K; }
 
-  /// \brief Set dependency kind and its location.
+  /// Set dependency kind and its location.
   void setDependencyLoc(SourceLocation Loc) { DepLoc = Loc; }
 
-  /// \brief Set colon location.
+  /// Set colon location.
   void setColonLoc(SourceLocation Loc) { ColonLoc = Loc; }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -3131,19 +3131,19 @@ public:
          SourceLocation EndLoc, OpenMPDependClauseKind DepKind,
          SourceLocation DepLoc, SourceLocation ColonLoc, ArrayRef<Expr *> VL);
 
-  /// \brief Creates an empty clause with \a N variables.
+  /// Creates an empty clause with \a N variables.
   ///
   /// \param C AST context.
   /// \param N The number of variables.
   static OMPDependClause *CreateEmpty(const ASTContext &C, unsigned N);
 
-  /// \brief Get dependency type.
+  /// Get dependency type.
   OpenMPDependClauseKind getDependencyKind() const { return DepKind; }
 
-  /// \brief Get dependency type location.
+  /// Get dependency type location.
   SourceLocation getDependencyLoc() const { return DepLoc; }
 
-  /// \brief Get colon location.
+  /// Get colon location.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
   /// Set the loop counter value for the depend clauses with 'sink|source' kind
@@ -3166,7 +3166,7 @@ public:
   }
 };
 
-/// \brief This represents 'device' clause in the '#pragma omp ...'
+/// This represents 'device' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -3177,19 +3177,19 @@ public:
 class OMPDeviceClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Device number.
+  /// Device number.
   Stmt *Device = nullptr;
 
-  /// \brief Set the device number.
+  /// Set the device number.
   ///
   /// \param E Device number.
   void setDevice(Expr *E) { Device = E; }
 
 public:
-  /// \brief Build 'device' clause.
+  /// Build 'device' clause.
   ///
   /// \param E Expression associated with this clause.
   /// \param CaptureRegion Innermost OpenMP region where expressions in this
@@ -3205,21 +3205,21 @@ public:
     setPreInitStmt(HelperE, CaptureRegion);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPDeviceClause()
       : OMPClause(OMPC_device, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return device number.
+  /// Return device number.
   Expr *getDevice() { return cast<Expr>(Device); }
 
-  /// \brief Return device number.
+  /// Return device number.
   Expr *getDevice() const { return cast<Expr>(Device); }
 
   child_range children() { return child_range(&Device, &Device + 1); }
@@ -3229,7 +3229,7 @@ public:
   }
 };
 
-/// \brief This represents 'threads' clause in the '#pragma omp ...' directive.
+/// This represents 'threads' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp ordered threads
@@ -3237,14 +3237,14 @@ public:
 /// In this example directive '#pragma omp ordered' has simple 'threads' clause.
 class OMPThreadsClause : public OMPClause {
 public:
-  /// \brief Build 'threads' clause.
+  /// Build 'threads' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPThreadsClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_threads, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPThreadsClause()
       : OMPClause(OMPC_threads, SourceLocation(), SourceLocation()) {}
 
@@ -3257,7 +3257,7 @@ public:
   }
 };
 
-/// \brief This represents 'simd' clause in the '#pragma omp ...' directive.
+/// This represents 'simd' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp ordered simd
@@ -3265,14 +3265,14 @@ public:
 /// In this example directive '#pragma omp ordered' has simple 'simd' clause.
 class OMPSIMDClause : public OMPClause {
 public:
-  /// \brief Build 'simd' clause.
+  /// Build 'simd' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPSIMDClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_simd, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPSIMDClause() : OMPClause(OMPC_simd, SourceLocation(), SourceLocation()) {}
 
   child_range children() {
@@ -3284,7 +3284,7 @@ public:
   }
 };
 
-/// \brief Struct that defines common infrastructure to handle mappable
+/// Struct that defines common infrastructure to handle mappable
 /// expressions used in OpenMP clauses.
 class OMPClauseMappableExprCommon {
 public:
@@ -3320,29 +3320,29 @@ public:
     }
   };
 
-  // \brief List of components of an expression. This first one is the whole
+  // List of components of an expression. This first one is the whole
   // expression and the last one is the base expression.
   using MappableExprComponentList = SmallVector<MappableComponent, 8>;
   using MappableExprComponentListRef = ArrayRef<MappableComponent>;
 
-  // \brief List of all component lists associated to the same base declaration.
+  // List of all component lists associated to the same base declaration.
   // E.g. if both 'S.a' and 'S.b' are a mappable expressions, each will have
   // their component list but the same base declaration 'S'.
   using MappableExprComponentLists = SmallVector<MappableExprComponentList, 8>;
   using MappableExprComponentListsRef = ArrayRef<MappableExprComponentList>;
 
 protected:
-  // \brief Return the total number of elements in a list of component lists.
+  // Return the total number of elements in a list of component lists.
   static unsigned
   getComponentsTotalNumber(MappableExprComponentListsRef ComponentLists);
 
-  // \brief Return the total number of elements in a list of declarations. All
+  // Return the total number of elements in a list of declarations. All
   // declarations are expected to be canonical.
   static unsigned
   getUniqueDeclarationsTotalNumber(ArrayRef<const ValueDecl *> Declarations);
 };
 
-/// \brief This represents clauses with a list of expressions that are mappable.
+/// This represents clauses with a list of expressions that are mappable.
 /// Examples of these clauses are 'map' in
 /// '#pragma omp target [enter|exit] [data]...' directives, and  'to' and 'from
 /// in '#pragma omp target update...' directives.
@@ -3351,17 +3351,17 @@ class OMPMappableExprListClause : public
                                   public OMPClauseMappableExprCommon {
   friend class OMPClauseReader;
 
-  /// \brief Number of unique declarations in this clause.
+  /// Number of unique declarations in this clause.
   unsigned NumUniqueDeclarations;
 
-  /// \brief Number of component lists in this clause.
+  /// Number of component lists in this clause.
   unsigned NumComponentLists;
 
-  /// \brief Total number of components in this clause.
+  /// Total number of components in this clause.
   unsigned NumComponents;
 
 protected:
-  /// \brief Build a clause for \a NumUniqueDeclarations declarations, \a
+  /// Build a clause for \a NumUniqueDeclarations declarations, \a
   /// NumComponentLists total component lists, and \a NumComponents total
   /// components.
   ///
@@ -3383,7 +3383,7 @@ protected:
         NumUniqueDeclarations(NumUniqueDeclarations),
         NumComponentLists(NumComponentLists), NumComponents(NumComponents) {}
 
-  /// \brief Get the unique declarations that are in the trailing objects of the
+  /// Get the unique declarations that are in the trailing objects of the
   /// class.
   MutableArrayRef<ValueDecl *> getUniqueDeclsRef() {
     return MutableArrayRef<ValueDecl *>(
@@ -3391,7 +3391,7 @@ protected:
         NumUniqueDeclarations);
   }
 
-  /// \brief Get the unique declarations that are in the trailing objects of the
+  /// Get the unique declarations that are in the trailing objects of the
   /// class.
   ArrayRef<ValueDecl *> getUniqueDeclsRef() const {
     return ArrayRef<ValueDecl *>(
@@ -3400,7 +3400,7 @@ protected:
         NumUniqueDeclarations);
   }
 
-  /// \brief Set the unique declarations that are in the trailing objects of the
+  /// Set the unique declarations that are in the trailing objects of the
   /// class.
   void setUniqueDecls(ArrayRef<ValueDecl *> UDs) {
     assert(UDs.size() == NumUniqueDeclarations &&
@@ -3408,7 +3408,7 @@ protected:
     std::copy(UDs.begin(), UDs.end(), getUniqueDeclsRef().begin());
   }
 
-  /// \brief Get the number of lists per declaration that are in the trailing
+  /// Get the number of lists per declaration that are in the trailing
   /// objects of the class.
   MutableArrayRef<unsigned> getDeclNumListsRef() {
     return MutableArrayRef<unsigned>(
@@ -3416,7 +3416,7 @@ protected:
         NumUniqueDeclarations);
   }
 
-  /// \brief Get the number of lists per declaration that are in the trailing
+  /// Get the number of lists per declaration that are in the trailing
   /// objects of the class.
   ArrayRef<unsigned> getDeclNumListsRef() const {
     return ArrayRef<unsigned>(
@@ -3424,7 +3424,7 @@ protected:
         NumUniqueDeclarations);
   }
 
-  /// \brief Set the number of lists per declaration that are in the trailing
+  /// Set the number of lists per declaration that are in the trailing
   /// objects of the class.
   void setDeclNumLists(ArrayRef<unsigned> DNLs) {
     assert(DNLs.size() == NumUniqueDeclarations &&
@@ -3432,7 +3432,7 @@ protected:
     std::copy(DNLs.begin(), DNLs.end(), getDeclNumListsRef().begin());
   }
 
-  /// \brief Get the cumulative component lists sizes that are in the trailing
+  /// Get the cumulative component lists sizes that are in the trailing
   /// objects of the class. They are appended after the number of lists.
   MutableArrayRef<unsigned> getComponentListSizesRef() {
     return MutableArrayRef<unsigned>(
@@ -3441,7 +3441,7 @@ protected:
         NumComponentLists);
   }
 
-  /// \brief Get the cumulative component lists sizes that are in the trailing
+  /// Get the cumulative component lists sizes that are in the trailing
   /// objects of the class. They are appended after the number of lists.
   ArrayRef<unsigned> getComponentListSizesRef() const {
     return ArrayRef<unsigned>(
@@ -3450,7 +3450,7 @@ protected:
         NumComponentLists);
   }
 
-  /// \brief Set the cumulative component lists sizes that are in the trailing
+  /// Set the cumulative component lists sizes that are in the trailing
   /// objects of the class.
   void setComponentListSizes(ArrayRef<unsigned> CLSs) {
     assert(CLSs.size() == NumComponentLists &&
@@ -3458,7 +3458,7 @@ protected:
     std::copy(CLSs.begin(), CLSs.end(), getComponentListSizesRef().begin());
   }
 
-  /// \brief Get the components that are in the trailing objects of the class.
+  /// Get the components that are in the trailing objects of the class.
   MutableArrayRef<MappableComponent> getComponentsRef() {
     return MutableArrayRef<MappableComponent>(
         static_cast<T *>(this)
@@ -3466,7 +3466,7 @@ protected:
         NumComponents);
   }
 
-  /// \brief Get the components that are in the trailing objects of the class.
+  /// Get the components that are in the trailing objects of the class.
   ArrayRef<MappableComponent> getComponentsRef() const {
     return ArrayRef<MappableComponent>(
         static_cast<const T *>(this)
@@ -3474,7 +3474,7 @@ protected:
         NumComponents);
   }
 
-  /// \brief Set the components that are in the trailing objects of the class.
+  /// Set the components that are in the trailing objects of the class.
   /// This requires the list sizes so that it can also fill the original
   /// expressions, which are the first component of each list.
   void setComponents(ArrayRef<MappableComponent> Components,
@@ -3486,7 +3486,7 @@ protected:
     std::copy(Components.begin(), Components.end(), getComponentsRef().begin());
   }
 
-  /// \brief Fill the clause information from the list of declarations and
+  /// Fill the clause information from the list of declarations and
   /// associated component lists.
   void setClauseInfo(ArrayRef<ValueDecl *> Declarations,
                      MappableExprComponentListsRef ComponentLists) {
@@ -3563,17 +3563,17 @@ protected:
   }
 
 public:
-  /// \brief Return the number of unique base declarations in this clause.
+  /// Return the number of unique base declarations in this clause.
   unsigned getUniqueDeclarationsNum() const { return NumUniqueDeclarations; }
 
-  /// \brief Return the number of lists derived from the clause expressions.
+  /// Return the number of lists derived from the clause expressions.
   unsigned getTotalComponentListNum() const { return NumComponentLists; }
 
-  /// \brief Return the total number of components in all lists derived from the
+  /// Return the total number of components in all lists derived from the
   /// clause.
   unsigned getTotalComponentsNum() const { return NumComponents; }
 
-  /// \brief Iterator that browse the components by lists. It also allows
+  /// Iterator that browse the components by lists. It also allows
   /// browsing components of a single declaration.
   class const_component_lists_iterator
       : public llvm::iterator_adaptor_base<
@@ -3603,7 +3603,7 @@ public:
     MappableExprComponentListRef::const_iterator End;
 
   public:
-    /// \brief Construct an iterator that scans all lists.
+    /// Construct an iterator that scans all lists.
     explicit const_component_lists_iterator(
         ArrayRef<ValueDecl *> UniqueDecls, ArrayRef<unsigned> DeclsListNum,
         ArrayRef<unsigned> CumulativeListSizes,
@@ -3619,7 +3619,7 @@ public:
         RemainingLists = *NumListsCur;
     }
 
-    /// \brief Construct an iterator that scan lists for a given declaration \a
+    /// Construct an iterator that scan lists for a given declaration \a
     /// Declaration.
     explicit const_component_lists_iterator(
         const ValueDecl *Declaration, ArrayRef<ValueDecl *> UniqueDecls,
@@ -3709,7 +3709,7 @@ public:
   using const_component_lists_range =
       llvm::iterator_range<const_component_lists_iterator>;
 
-  /// \brief Iterators for all component lists.
+  /// Iterators for all component lists.
   const_component_lists_iterator component_lists_begin() const {
     return const_component_lists_iterator(
         getUniqueDeclsRef(), getDeclNumListsRef(), getComponentListSizesRef(),
@@ -3725,7 +3725,7 @@ public:
     return {component_lists_begin(), component_lists_end()};
   }
 
-  /// \brief Iterators for component lists associated with the provided
+  /// Iterators for component lists associated with the provided
   /// declaration.
   const_component_lists_iterator
   decl_component_lists_begin(const ValueDecl *VD) const {
@@ -3778,7 +3778,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'map' in the '#pragma omp ...'
+/// This represents clause 'map' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -3807,22 +3807,22 @@ class OMPMapClause final : public OMPMap
     return getUniqueDeclarationsNum() + getTotalComponentListNum();
   }
 
-  /// \brief Map type modifier for the 'map' clause.
+  /// Map type modifier for the 'map' clause.
   OpenMPMapClauseKind MapTypeModifier = OMPC_MAP_unknown;
 
-  /// \brief Map type for the 'map' clause.
+  /// Map type for the 'map' clause.
   OpenMPMapClauseKind MapType = OMPC_MAP_unknown;
 
-  /// \brief Is this an implicit map type or not.
+  /// Is this an implicit map type or not.
   bool MapTypeIsImplicit = false;
 
-  /// \brief Location of the map type.
+  /// Location of the map type.
   SourceLocation MapLoc;
 
-  /// \brief Colon location.
+  /// Colon location.
   SourceLocation ColonLoc;
 
-  /// \brief Build a clause for \a NumVars listed expressions, \a
+  /// Build a clause for \a NumVars listed expressions, \a
   /// NumUniqueDeclarations declarations, \a NumComponentLists total component
   /// lists, and \a NumComponents total expression components.
   ///
@@ -3849,7 +3849,7 @@ class OMPMapClause final : public OMPMap
         MapTypeModifier(MapTypeModifier), MapType(MapType),
         MapTypeIsImplicit(MapTypeIsImplicit), MapLoc(MapLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param NumVars Number of expressions listed in this clause.
   /// \param NumUniqueDeclarations Number of unique base declarations in this
@@ -3862,26 +3862,26 @@ class OMPMapClause final : public OMPMap
             OMPC_map, SourceLocation(), SourceLocation(), SourceLocation(),
             NumVars, NumUniqueDeclarations, NumComponentLists, NumComponents) {}
 
-  /// \brief Set type modifier for the clause.
+  /// Set type modifier for the clause.
   ///
   /// \param T Type Modifier for the clause.
   void setMapTypeModifier(OpenMPMapClauseKind T) { MapTypeModifier = T; }
 
-  /// \brief Set type for the clause.
+  /// Set type for the clause.
   ///
   /// \param T Type for the clause.
   void setMapType(OpenMPMapClauseKind T) { MapType = T; }
 
-  /// \brief Set type location.
+  /// Set type location.
   ///
   /// \param TLoc Type location.
   void setMapLoc(SourceLocation TLoc) { MapLoc = TLoc; }
 
-  /// \brief Set colon location.
+  /// Set colon location.
   void setColonLoc(SourceLocation Loc) { ColonLoc = Loc; }
 
 public:
-  /// \brief Creates clause with a list of variables \a VL.
+  /// Creates clause with a list of variables \a VL.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -3902,7 +3902,7 @@ public:
                               OpenMPMapClauseKind Type, bool TypeIsImplicit,
                               SourceLocation TypeLoc);
 
-  /// \brief Creates an empty clause with the place for \a NumVars original
+  /// Creates an empty clause with the place for \a NumVars original
   /// expressions, \a NumUniqueDeclarations declarations, \NumComponentLists
   /// lists, and \a NumComponents expression components.
   ///
@@ -3918,25 +3918,25 @@ public:
                                    unsigned NumComponentLists,
                                    unsigned NumComponents);
 
-  /// \brief Fetches mapping kind for the clause.
+  /// Fetches mapping kind for the clause.
   OpenMPMapClauseKind getMapType() const LLVM_READONLY { return MapType; }
 
-  /// \brief Is this an implicit map type?
+  /// Is this an implicit map type?
   /// We have to capture 'IsMapTypeImplicit' from the parser for more
   /// informative error messages.  It helps distinguish map(r) from
   /// map(tofrom: r), which is important to print more helpful error
   /// messages for some target directives.
   bool isImplicitMapType() const LLVM_READONLY { return MapTypeIsImplicit; }
 
-  /// \brief Fetches the map type modifier for the clause.
+  /// Fetches the map type modifier for the clause.
   OpenMPMapClauseKind getMapTypeModifier() const LLVM_READONLY {
     return MapTypeModifier;
   }
 
-  /// \brief Fetches location of clause mapping kind.
+  /// Fetches location of clause mapping kind.
   SourceLocation getMapLoc() const LLVM_READONLY { return MapLoc; }
 
-  /// \brief Get colon location.
+  /// Get colon location.
   SourceLocation getColonLoc() const { return ColonLoc; }
 
   child_range children() {
@@ -3950,7 +3950,7 @@ public:
   }
 };
 
-/// \brief This represents 'num_teams' clause in the '#pragma omp ...'
+/// This represents 'num_teams' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -3961,19 +3961,19 @@ public:
 class OMPNumTeamsClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief NumTeams number.
+  /// NumTeams number.
   Stmt *NumTeams = nullptr;
 
-  /// \brief Set the NumTeams number.
+  /// Set the NumTeams number.
   ///
   /// \param E NumTeams number.
   void setNumTeams(Expr *E) { NumTeams = E; }
 
 public:
-  /// \brief Build 'num_teams' clause.
+  /// Build 'num_teams' clause.
   ///
   /// \param E Expression associated with this clause.
   /// \param HelperE Helper Expression associated with this clause.
@@ -3990,21 +3990,21 @@ public:
     setPreInitStmt(HelperE, CaptureRegion);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPNumTeamsClause()
       : OMPClause(OMPC_num_teams, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return NumTeams number.
+  /// Return NumTeams number.
   Expr *getNumTeams() { return cast<Expr>(NumTeams); }
 
-  /// \brief Return NumTeams number.
+  /// Return NumTeams number.
   Expr *getNumTeams() const { return cast<Expr>(NumTeams); }
 
   child_range children() { return child_range(&NumTeams, &NumTeams + 1); }
@@ -4014,7 +4014,7 @@ public:
   }
 };
 
-/// \brief This represents 'thread_limit' clause in the '#pragma omp ...'
+/// This represents 'thread_limit' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -4025,19 +4025,19 @@ public:
 class OMPThreadLimitClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief ThreadLimit number.
+  /// ThreadLimit number.
   Stmt *ThreadLimit = nullptr;
 
-  /// \brief Set the ThreadLimit number.
+  /// Set the ThreadLimit number.
   ///
   /// \param E ThreadLimit number.
   void setThreadLimit(Expr *E) { ThreadLimit = E; }
 
 public:
-  /// \brief Build 'thread_limit' clause.
+  /// Build 'thread_limit' clause.
   ///
   /// \param E Expression associated with this clause.
   /// \param HelperE Helper Expression associated with this clause.
@@ -4055,21 +4055,21 @@ public:
     setPreInitStmt(HelperE, CaptureRegion);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPThreadLimitClause()
       : OMPClause(OMPC_thread_limit, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return ThreadLimit number.
+  /// Return ThreadLimit number.
   Expr *getThreadLimit() { return cast<Expr>(ThreadLimit); }
 
-  /// \brief Return ThreadLimit number.
+  /// Return ThreadLimit number.
   Expr *getThreadLimit() const { return cast<Expr>(ThreadLimit); }
 
   child_range children() { return child_range(&ThreadLimit, &ThreadLimit + 1); }
@@ -4079,7 +4079,7 @@ public:
   }
 };
 
-/// \brief This represents 'priority' clause in the '#pragma omp ...'
+/// This represents 'priority' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -4090,19 +4090,19 @@ public:
 class OMPPriorityClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Priority number.
+  /// Priority number.
   Stmt *Priority = nullptr;
 
-  /// \brief Set the Priority number.
+  /// Set the Priority number.
   ///
   /// \param E Priority number.
   void setPriority(Expr *E) { Priority = E; }
 
 public:
-  /// \brief Build 'priority' clause.
+  /// Build 'priority' clause.
   ///
   /// \param E Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -4113,20 +4113,20 @@ public:
       : OMPClause(OMPC_priority, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Priority(E) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPPriorityClause()
       : OMPClause(OMPC_priority, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return Priority number.
+  /// Return Priority number.
   Expr *getPriority() { return cast<Expr>(Priority); }
 
-  /// \brief Return Priority number.
+  /// Return Priority number.
   Expr *getPriority() const { return cast<Expr>(Priority); }
 
   child_range children() { return child_range(&Priority, &Priority + 1); }
@@ -4136,7 +4136,7 @@ public:
   }
 };
 
-/// \brief This represents 'grainsize' clause in the '#pragma omp ...'
+/// This represents 'grainsize' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -4147,17 +4147,17 @@ public:
 class OMPGrainsizeClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Safe iteration space distance.
+  /// Safe iteration space distance.
   Stmt *Grainsize = nullptr;
 
-  /// \brief Set safelen.
+  /// Set safelen.
   void setGrainsize(Expr *Size) { Grainsize = Size; }
 
 public:
-  /// \brief Build 'grainsize' clause.
+  /// Build 'grainsize' clause.
   ///
   /// \param Size Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -4167,17 +4167,17 @@ public:
       : OMPClause(OMPC_grainsize, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Grainsize(Size) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPGrainsizeClause()
       : OMPClause(OMPC_grainsize, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return safe iteration space distance.
+  /// Return safe iteration space distance.
   Expr *getGrainsize() const { return cast_or_null<Expr>(Grainsize); }
 
   child_range children() { return child_range(&Grainsize, &Grainsize + 1); }
@@ -4187,7 +4187,7 @@ public:
   }
 };
 
-/// \brief This represents 'nogroup' clause in the '#pragma omp ...' directive.
+/// This represents 'nogroup' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp taskloop nogroup
@@ -4195,14 +4195,14 @@ public:
 /// In this example directive '#pragma omp taskloop' has 'nogroup' clause.
 class OMPNogroupClause : public OMPClause {
 public:
-  /// \brief Build 'nogroup' clause.
+  /// Build 'nogroup' clause.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
   OMPNogroupClause(SourceLocation StartLoc, SourceLocation EndLoc)
       : OMPClause(OMPC_nogroup, StartLoc, EndLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPNogroupClause()
       : OMPClause(OMPC_nogroup, SourceLocation(), SourceLocation()) {}
 
@@ -4215,7 +4215,7 @@ public:
   }
 };
 
-/// \brief This represents 'num_tasks' clause in the '#pragma omp ...'
+/// This represents 'num_tasks' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -4226,17 +4226,17 @@ public:
 class OMPNumTasksClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Safe iteration space distance.
+  /// Safe iteration space distance.
   Stmt *NumTasks = nullptr;
 
-  /// \brief Set safelen.
+  /// Set safelen.
   void setNumTasks(Expr *Size) { NumTasks = Size; }
 
 public:
-  /// \brief Build 'num_tasks' clause.
+  /// Build 'num_tasks' clause.
   ///
   /// \param Size Expression associated with this clause.
   /// \param StartLoc Starting location of the clause.
@@ -4246,17 +4246,17 @@ public:
       : OMPClause(OMPC_num_tasks, StartLoc, EndLoc), LParenLoc(LParenLoc),
         NumTasks(Size) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPNumTasksClause()
       : OMPClause(OMPC_num_tasks, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Return safe iteration space distance.
+  /// Return safe iteration space distance.
   Expr *getNumTasks() const { return cast_or_null<Expr>(NumTasks); }
 
   child_range children() { return child_range(&NumTasks, &NumTasks + 1); }
@@ -4266,7 +4266,7 @@ public:
   }
 };
 
-/// \brief This represents 'hint' clause in the '#pragma omp ...' directive.
+/// This represents 'hint' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp critical (name) hint(6)
@@ -4276,17 +4276,17 @@ public:
 class OMPHintClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Hint expression of the 'hint' clause.
+  /// Hint expression of the 'hint' clause.
   Stmt *Hint = nullptr;
 
-  /// \brief Set hint expression.
+  /// Set hint expression.
   void setHint(Expr *H) { Hint = H; }
 
 public:
-  /// \brief Build 'hint' clause with expression \a Hint.
+  /// Build 'hint' clause with expression \a Hint.
   ///
   /// \param Hint Hint expression.
   /// \param StartLoc Starting location of the clause.
@@ -4297,16 +4297,16 @@ public:
       : OMPClause(OMPC_hint, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Hint(Hint) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   OMPHintClause() : OMPClause(OMPC_hint, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Returns the location of '('.
+  /// Returns the location of '('.
   SourceLocation getLParenLoc() const { return LParenLoc; }
 
-  /// \brief Returns number of threads.
+  /// Returns number of threads.
   Expr *getHint() const { return cast_or_null<Expr>(Hint); }
 
   child_range children() { return child_range(&Hint, &Hint + 1); }
@@ -4316,7 +4316,7 @@ public:
   }
 };
 
-/// \brief This represents 'dist_schedule' clause in the '#pragma omp ...'
+/// This represents 'dist_schedule' clause in the '#pragma omp ...'
 /// directive.
 ///
 /// \code
@@ -4327,48 +4327,48 @@ public:
 class OMPDistScheduleClause : public OMPClause, public OMPClauseWithPreInit {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief A kind of the 'schedule' clause.
+  /// A kind of the 'schedule' clause.
   OpenMPDistScheduleClauseKind Kind = OMPC_DIST_SCHEDULE_unknown;
 
-  /// \brief Start location of the schedule kind in source code.
+  /// Start location of the schedule kind in source code.
   SourceLocation KindLoc;
 
-  /// \brief Location of ',' (if any).
+  /// Location of ',' (if any).
   SourceLocation CommaLoc;
 
-  /// \brief Chunk size.
+  /// Chunk size.
   Expr *ChunkSize = nullptr;
 
-  /// \brief Set schedule kind.
+  /// Set schedule kind.
   ///
   /// \param K Schedule kind.
   void setDistScheduleKind(OpenMPDistScheduleClauseKind K) { Kind = K; }
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   ///
   /// \param Loc Location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Set schedule kind start location.
+  /// Set schedule kind start location.
   ///
   /// \param KLoc Schedule kind location.
   void setDistScheduleKindLoc(SourceLocation KLoc) { KindLoc = KLoc; }
 
-  /// \brief Set location of ','.
+  /// Set location of ','.
   ///
   /// \param Loc Location of ','.
   void setCommaLoc(SourceLocation Loc) { CommaLoc = Loc; }
 
-  /// \brief Set chunk size.
+  /// Set chunk size.
   ///
   /// \param E Chunk size.
   void setChunkSize(Expr *E) { ChunkSize = E; }
 
 public:
-  /// \brief Build 'dist_schedule' clause with schedule kind \a Kind and chunk
+  /// Build 'dist_schedule' clause with schedule kind \a Kind and chunk
   /// size expression \a ChunkSize.
   ///
   /// \param StartLoc Starting location of the clause.
@@ -4390,27 +4390,27 @@ public:
     setPreInitStmt(HelperChunkSize);
   }
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPDistScheduleClause()
       : OMPClause(OMPC_dist_schedule, SourceLocation(), SourceLocation()),
         OMPClauseWithPreInit(this) {}
 
-  /// \brief Get kind of the clause.
+  /// Get kind of the clause.
   OpenMPDistScheduleClauseKind getDistScheduleKind() const { return Kind; }
 
-  /// \brief Get location of '('.
+  /// Get location of '('.
   SourceLocation getLParenLoc() { return LParenLoc; }
 
-  /// \brief Get kind location.
+  /// Get kind location.
   SourceLocation getDistScheduleKindLoc() { return KindLoc; }
 
-  /// \brief Get location of ','.
+  /// Get location of ','.
   SourceLocation getCommaLoc() { return CommaLoc; }
 
-  /// \brief Get chunk size.
+  /// Get chunk size.
   Expr *getChunkSize() { return ChunkSize; }
 
-  /// \brief Get chunk size.
+  /// Get chunk size.
   const Expr *getChunkSize() const { return ChunkSize; }
 
   child_range children() {
@@ -4423,7 +4423,7 @@ public:
   }
 };
 
-/// \brief This represents 'defaultmap' clause in the '#pragma omp ...' directive.
+/// This represents 'defaultmap' clause in the '#pragma omp ...' directive.
 ///
 /// \code
 /// #pragma omp target defaultmap(tofrom: scalar)
@@ -4433,50 +4433,50 @@ public:
 class OMPDefaultmapClause : public OMPClause {
   friend class OMPClauseReader;
 
-  /// \brief Location of '('.
+  /// Location of '('.
   SourceLocation LParenLoc;
 
-  /// \brief Modifiers for 'defaultmap' clause.
+  /// Modifiers for 'defaultmap' clause.
   OpenMPDefaultmapClauseModifier Modifier = OMPC_DEFAULTMAP_MODIFIER_unknown;
 
-  /// \brief Locations of modifiers.
+  /// Locations of modifiers.
   SourceLocation ModifierLoc;
 
-  /// \brief A kind of the 'defaultmap' clause.
+  /// A kind of the 'defaultmap' clause.
   OpenMPDefaultmapClauseKind Kind = OMPC_DEFAULTMAP_unknown;
 
-  /// \brief Start location of the defaultmap kind in source code.
+  /// Start location of the defaultmap kind in source code.
   SourceLocation KindLoc;
 
-  /// \brief Set defaultmap kind.
+  /// Set defaultmap kind.
   ///
   /// \param K Defaultmap kind.
   void setDefaultmapKind(OpenMPDefaultmapClauseKind K) { Kind = K; }
 
-  /// \brief Set the defaultmap modifier.
+  /// Set the defaultmap modifier.
   ///
   /// \param M Defaultmap modifier.
   void setDefaultmapModifier(OpenMPDefaultmapClauseModifier M) {
     Modifier = M;
   }
 
-  /// \brief Set location of the defaultmap modifier.
+  /// Set location of the defaultmap modifier.
   void setDefaultmapModifierLoc(SourceLocation Loc) {
     ModifierLoc = Loc;
   }
 
-  /// \brief Sets the location of '('.
+  /// Sets the location of '('.
   ///
   /// \param Loc Location of '('.
   void setLParenLoc(SourceLocation Loc) { LParenLoc = Loc; }
 
-  /// \brief Set defaultmap kind start location.
+  /// Set defaultmap kind start location.
   ///
   /// \param KLoc Defaultmap kind location.
   void setDefaultmapKindLoc(SourceLocation KLoc) { KindLoc = KLoc; }
 
 public:
-  /// \brief Build 'defaultmap' clause with defaultmap kind \a Kind
+  /// Build 'defaultmap' clause with defaultmap kind \a Kind
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param LParenLoc Location of '('.
@@ -4492,25 +4492,25 @@ public:
       : OMPClause(OMPC_defaultmap, StartLoc, EndLoc), LParenLoc(LParenLoc),
         Modifier(M), ModifierLoc(MLoc), Kind(Kind), KindLoc(KLoc) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   explicit OMPDefaultmapClause()
       : OMPClause(OMPC_defaultmap, SourceLocation(), SourceLocation()) {}
 
-  /// \brief Get kind of the clause.
+  /// Get kind of the clause.
   OpenMPDefaultmapClauseKind getDefaultmapKind() const { return Kind; }
 
-  /// \brief Get the modifier of the clause.
+  /// Get the modifier of the clause.
   OpenMPDefaultmapClauseModifier getDefaultmapModifier() const {
     return Modifier;
   }
 
-  /// \brief Get location of '('.
+  /// Get location of '('.
   SourceLocation getLParenLoc() { return LParenLoc; }
 
-  /// \brief Get kind location.
+  /// Get kind location.
   SourceLocation getDefaultmapKindLoc() { return KindLoc; }
 
-  /// \brief Get the modifier location.
+  /// Get the modifier location.
   SourceLocation getDefaultmapModifierLoc() const {
     return ModifierLoc;
   }
@@ -4524,7 +4524,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'to' in the '#pragma omp ...'
+/// This represents clause 'to' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -4541,7 +4541,7 @@ class OMPToClause final : public OMPMapp
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a NumVars.
+  /// Build clause with number of variables \a NumVars.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
@@ -4558,7 +4558,7 @@ class OMPToClause final : public OMPMapp
                                   NumUniqueDeclarations, NumComponentLists,
                                   NumComponents) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param NumVars Number of expressions listed in this clause.
   /// \param NumUniqueDeclarations Number of unique base declarations in this
@@ -4584,7 +4584,7 @@ class OMPToClause final : public OMPMapp
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a Vars.
+  /// Creates clause with a list of variables \a Vars.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -4598,7 +4598,7 @@ public:
                              ArrayRef<ValueDecl *> Declarations,
                              MappableExprComponentListsRef ComponentLists);
 
-  /// \brief Creates an empty clause with the place for \a NumVars variables.
+  /// Creates an empty clause with the place for \a NumVars variables.
   ///
   /// \param C AST context.
   /// \param NumVars Number of expressions listed in the clause.
@@ -4622,7 +4622,7 @@ public:
   }
 };
 
-/// \brief This represents clause 'from' in the '#pragma omp ...'
+/// This represents clause 'from' in the '#pragma omp ...'
 /// directives.
 ///
 /// \code
@@ -4640,7 +4640,7 @@ class OMPFromClause final
   friend OMPVarListClause;
   friend TrailingObjects;
 
-  /// \brief Build clause with number of variables \a NumVars.
+  /// Build clause with number of variables \a NumVars.
   ///
   /// \param StartLoc Starting location of the clause.
   /// \param EndLoc Ending location of the clause.
@@ -4657,7 +4657,7 @@ class OMPFromClause final
                                   NumVars, NumUniqueDeclarations,
                                   NumComponentLists, NumComponents) {}
 
-  /// \brief Build an empty clause.
+  /// Build an empty clause.
   ///
   /// \param NumVars Number of expressions listed in this clause.
   /// \param NumUniqueDeclarations Number of unique base declarations in this
@@ -4683,7 +4683,7 @@ class OMPFromClause final
   }
 
 public:
-  /// \brief Creates clause with a list of variables \a Vars.
+  /// Creates clause with a list of variables \a Vars.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the clause.
@@ -4697,7 +4697,7 @@ public:
                                ArrayRef<ValueDecl *> Declarations,
                                MappableExprComponentListsRef ComponentLists);
 
-  /// \brief Creates an empty clause with the place for \a NumVars variables.
+  /// Creates an empty clause with the place for \a NumVars variables.
   ///
   /// \param C AST context.
   /// \param NumVars Number of expressions listed in the clause.

Modified: cfe/trunk/include/clang/AST/OperationKinds.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/OperationKinds.def?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/OperationKinds.def (original)
+++ cfe/trunk/include/clang/AST/OperationKinds.def Tue May  8 18:00:01 2018
@@ -227,87 +227,87 @@ CAST_OPERATION(BlockPointerToObjCPointer
 /// to a block pointer.  Block-to-block casts are bitcasts.
 CAST_OPERATION(AnyPointerToBlockPointerCast)
 
-/// \brief Converting between two Objective-C object types, which
+/// Converting between two Objective-C object types, which
 /// can occur when performing reference binding to an Objective-C
 /// object.
 CAST_OPERATION(ObjCObjectLValueCast)
 
-/// \brief A conversion of a floating point real to a floating point
+/// A conversion of a floating point real to a floating point
 /// complex of the original type.  Injects the value as the real
 /// component with a zero imaginary component.
 ///   float -> _Complex float
 CAST_OPERATION(FloatingRealToComplex)
 
-/// \brief Converts a floating point complex to floating point real
+/// Converts a floating point complex to floating point real
 /// of the source's element type.  Just discards the imaginary
 /// component.
 ///   _Complex long double -> long double
 CAST_OPERATION(FloatingComplexToReal)
 
-/// \brief Converts a floating point complex to bool by comparing
+/// Converts a floating point complex to bool by comparing
 /// against 0+0i.
 CAST_OPERATION(FloatingComplexToBoolean)
 
-/// \brief Converts between different floating point complex types.
+/// Converts between different floating point complex types.
 ///   _Complex float -> _Complex double
 CAST_OPERATION(FloatingComplexCast)
 
-/// \brief Converts from a floating complex to an integral complex.
+/// Converts from a floating complex to an integral complex.
 ///   _Complex float -> _Complex int
 CAST_OPERATION(FloatingComplexToIntegralComplex)
 
-/// \brief Converts from an integral real to an integral complex
+/// Converts from an integral real to an integral complex
 /// whose element type matches the source.  Injects the value as
 /// the real component with a zero imaginary component.
 ///   long -> _Complex long
 CAST_OPERATION(IntegralRealToComplex)
 
-/// \brief Converts an integral complex to an integral real of the
+/// Converts an integral complex to an integral real of the
 /// source's element type by discarding the imaginary component.
 ///   _Complex short -> short
 CAST_OPERATION(IntegralComplexToReal)
 
-/// \brief Converts an integral complex to bool by comparing against
+/// Converts an integral complex to bool by comparing against
 /// 0+0i.
 CAST_OPERATION(IntegralComplexToBoolean)
 
-/// \brief Converts between different integral complex types.
+/// Converts between different integral complex types.
 ///   _Complex char -> _Complex long long
 ///   _Complex unsigned int -> _Complex signed int
 CAST_OPERATION(IntegralComplexCast)
 
-/// \brief Converts from an integral complex to a floating complex.
+/// Converts from an integral complex to a floating complex.
 ///   _Complex unsigned -> _Complex float
 CAST_OPERATION(IntegralComplexToFloatingComplex)
 
-/// \brief [ARC] Produces a retainable object pointer so that it may
+/// [ARC] Produces a retainable object pointer so that it may
 /// be consumed, e.g. by being passed to a consuming parameter.
 /// Calls objc_retain.
 CAST_OPERATION(ARCProduceObject)
 
-/// \brief [ARC] Consumes a retainable object pointer that has just
+/// [ARC] Consumes a retainable object pointer that has just
 /// been produced, e.g. as the return value of a retaining call.
 /// Enters a cleanup to call objc_release at some indefinite time.
 CAST_OPERATION(ARCConsumeObject)
 
-/// \brief [ARC] Reclaim a retainable object pointer object that may
+/// [ARC] Reclaim a retainable object pointer object that may
 /// have been produced and autoreleased as part of a function return
 /// sequence.
 CAST_OPERATION(ARCReclaimReturnedObject)
 
-/// \brief [ARC] Causes a value of block type to be copied to the
+/// [ARC] Causes a value of block type to be copied to the
 /// heap, if it is not already there.  A number of other operations
 /// in ARC cause blocks to be copied; this is for cases where that
 /// would not otherwise be guaranteed, such as when casting to a
 /// non-block pointer type.
 CAST_OPERATION(ARCExtendBlockObject)
 
-/// \brief Converts from _Atomic(T) to T.
+/// Converts from _Atomic(T) to T.
 CAST_OPERATION(AtomicToNonAtomic)
-/// \brief Converts from T to _Atomic(T).
+/// Converts from T to _Atomic(T).
 CAST_OPERATION(NonAtomicToAtomic)
 
-/// \brief Causes a block literal to by copied to the heap and then 
+/// Causes a block literal to by copied to the heap and then 
 /// autoreleased.
 ///
 /// This particular cast kind is used for the conversion from a C++11

Modified: cfe/trunk/include/clang/AST/OperationKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/OperationKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/OperationKinds.h (original)
+++ cfe/trunk/include/clang/AST/OperationKinds.h Tue May  8 18:00:01 2018
@@ -33,15 +33,15 @@ enum UnaryOperatorKind {
 #include "clang/AST/OperationKinds.def"
 };
 
-/// \brief The kind of bridging performed by the Objective-C bridge cast.
+/// The kind of bridging performed by the Objective-C bridge cast.
 enum ObjCBridgeCastKind {
-  /// \brief Bridging via __bridge, which does nothing but reinterpret
+  /// Bridging via __bridge, which does nothing but reinterpret
   /// the bits.
   OBC_Bridge,
-  /// \brief Bridging via __bridge_transfer, which transfers ownership of an
+  /// Bridging via __bridge_transfer, which transfers ownership of an
   /// Objective-C pointer into ARC.
   OBC_BridgeTransfer,
-  /// \brief Bridging via __bridge_retain, which makes an ARC object available
+  /// Bridging via __bridge_retain, which makes an ARC object available
   /// as a +1 C pointer.
   OBC_BridgeRetained
 };

Modified: cfe/trunk/include/clang/AST/ParentMap.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/ParentMap.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/ParentMap.h (original)
+++ cfe/trunk/include/clang/AST/ParentMap.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@ public:
   ParentMap(Stmt* ASTRoot);
   ~ParentMap();
 
-  /// \brief Adds and/or updates the parent/child-relations of the complete
+  /// Adds and/or updates the parent/child-relations of the complete
   /// stmt tree of S. All children of S including indirect descendants are
   /// visited and updated or inserted but not the parents of S.
   void addStmt(Stmt* S);

Modified: cfe/trunk/include/clang/AST/PrettyPrinter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/PrettyPrinter.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/PrettyPrinter.h (original)
+++ cfe/trunk/include/clang/AST/PrettyPrinter.h Tue May  8 18:00:01 2018
@@ -36,7 +36,7 @@ public:
 /// This type is intended to be small and suitable for passing by value.
 /// It is very frequently copied.
 struct PrintingPolicy {
-  /// \brief Create a default printing policy for the specified language.
+  /// Create a default printing policy for the specified language.
   PrintingPolicy(const LangOptions &LO)
     : Indentation(2), SuppressSpecifiers(false),
       SuppressTagKeyword(LO.CPlusPlus),

Modified: cfe/trunk/include/clang/AST/QualTypeNames.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/QualTypeNames.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/QualTypeNames.h (original)
+++ cfe/trunk/include/clang/AST/QualTypeNames.h Tue May  8 18:00:01 2018
@@ -63,7 +63,7 @@
 
 namespace clang {
 namespace TypeName {
-/// \brief Get the fully qualified name for a type. This includes full
+/// Get the fully qualified name for a type. This includes full
 /// qualification of all template parameters etc.
 ///
 /// \param[in] QT - the type for which the fully qualified name will be
@@ -75,7 +75,7 @@ std::string getFullyQualifiedName(QualTy
                                   const PrintingPolicy &Policy,
                                   bool WithGlobalNsPrefix = false);
 
-/// \brief Generates a QualType that can be used to name the same type
+/// Generates a QualType that can be used to name the same type
 /// if used at the end of the current translation unit. This ignores
 /// issues such as type shadowing.
 ///

Modified: cfe/trunk/include/clang/AST/RawCommentList.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RawCommentList.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/RawCommentList.h (original)
+++ cfe/trunk/include/clang/AST/RawCommentList.h Tue May  8 18:00:01 2018
@@ -132,7 +132,7 @@ private:
   bool IsTrailingComment : 1;
   bool IsAlmostTrailingComment : 1;
 
-  /// \brief Constructor for AST deserialization.
+  /// Constructor for AST deserialization.
   RawComment(SourceRange SR, CommentKind K, bool IsTrailingComment,
              bool IsAlmostTrailingComment) :
     Range(SR), RawTextValid(false), BriefTextValid(false), Kind(K),
@@ -147,7 +147,7 @@ private:
   friend class ASTReader;
 };
 
-/// \brief Compare comments' source locations.
+/// Compare comments' source locations.
 template<>
 class BeforeThanCompare<RawComment> {
   const SourceManager &SM;
@@ -164,7 +164,7 @@ public:
   }
 };
 
-/// \brief This class represents all comments included in the translation unit,
+/// This class represents all comments included in the translation unit,
 /// sorted in order of appearance in the translation unit.
 class RawCommentList {
 public:

Modified: cfe/trunk/include/clang/AST/RecordLayout.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecordLayout.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/RecordLayout.h (original)
+++ cfe/trunk/include/clang/AST/RecordLayout.h Tue May  8 18:00:01 2018
@@ -111,7 +111,7 @@ private:
     /// Only used for MS-ABI.
     bool EndsWithZeroSizedObject : 1;
 
-    /// \brief True if this class is zero sized or first base is zero sized or
+    /// True if this class is zero sized or first base is zero sized or
     /// has this property.  Only used for MS-ABI.
     bool LeadsWithZeroSizedBase : 1;
 

Modified: cfe/trunk/include/clang/AST/RecursiveASTVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (original)
+++ cfe/trunk/include/clang/AST/RecursiveASTVisitor.h Tue May  8 18:00:01 2018
@@ -83,7 +83,7 @@ namespace clang {
       return false;                                                            \
   } while (false)
 
-/// \brief A class that does preorder or postorder
+/// A class that does preorder or postorder
 /// depth-first traversal on the entire Clang AST and visits each node.
 ///
 /// This class performs three distinct tasks:
@@ -158,25 +158,25 @@ public:
   typedef SmallVectorImpl<llvm::PointerIntPair<Stmt *, 1, bool>>
     DataRecursionQueue;
 
-  /// \brief Return a reference to the derived class.
+  /// Return a reference to the derived class.
   Derived &getDerived() { return *static_cast<Derived *>(this); }
 
-  /// \brief Return whether this visitor should recurse into
+  /// Return whether this visitor should recurse into
   /// template instantiations.
   bool shouldVisitTemplateInstantiations() const { return false; }
 
-  /// \brief Return whether this visitor should recurse into the types of
+  /// Return whether this visitor should recurse into the types of
   /// TypeLocs.
   bool shouldWalkTypesOfTypeLocs() const { return true; }
 
-  /// \brief Return whether this visitor should recurse into implicit
+  /// Return whether this visitor should recurse into implicit
   /// code, e.g., implicit constructors and destructors.
   bool shouldVisitImplicitCode() const { return false; }
 
-  /// \brief Return whether this visitor should traverse post-order.
+  /// Return whether this visitor should traverse post-order.
   bool shouldTraversePostOrder() const { return false; }
 
-  /// \brief Recursively visit a statement or expression, by
+  /// Recursively visit a statement or expression, by
   /// dispatching to Traverse*() based on the argument's dynamic type.
   ///
   /// \returns false if the visitation was terminated early, true
@@ -195,70 +195,70 @@ public:
   /// \returns false if the visitation was terminated early, true otherwise.
   bool dataTraverseStmtPost(Stmt *S) { return true; }
 
-  /// \brief Recursively visit a type, by dispatching to
+  /// Recursively visit a type, by dispatching to
   /// Traverse*Type() based on the argument's getTypeClass() property.
   ///
   /// \returns false if the visitation was terminated early, true
   /// otherwise (including when the argument is a Null type).
   bool TraverseType(QualType T);
 
-  /// \brief Recursively visit a type with location, by dispatching to
+  /// Recursively visit a type with location, by dispatching to
   /// Traverse*TypeLoc() based on the argument type's getTypeClass() property.
   ///
   /// \returns false if the visitation was terminated early, true
   /// otherwise (including when the argument is a Null type location).
   bool TraverseTypeLoc(TypeLoc TL);
 
-  /// \brief Recursively visit an attribute, by dispatching to
+  /// Recursively visit an attribute, by dispatching to
   /// Traverse*Attr() based on the argument's dynamic type.
   ///
   /// \returns false if the visitation was terminated early, true
   /// otherwise (including when the argument is a Null type location).
   bool TraverseAttr(Attr *At);
 
-  /// \brief Recursively visit a declaration, by dispatching to
+  /// Recursively visit a declaration, by dispatching to
   /// Traverse*Decl() based on the argument's dynamic type.
   ///
   /// \returns false if the visitation was terminated early, true
   /// otherwise (including when the argument is NULL).
   bool TraverseDecl(Decl *D);
 
-  /// \brief Recursively visit a C++ nested-name-specifier.
+  /// Recursively visit a C++ nested-name-specifier.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseNestedNameSpecifier(NestedNameSpecifier *NNS);
 
-  /// \brief Recursively visit a C++ nested-name-specifier with location
+  /// Recursively visit a C++ nested-name-specifier with location
   /// information.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseNestedNameSpecifierLoc(NestedNameSpecifierLoc NNS);
 
-  /// \brief Recursively visit a name with its location information.
+  /// Recursively visit a name with its location information.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseDeclarationNameInfo(DeclarationNameInfo NameInfo);
 
-  /// \brief Recursively visit a template name and dispatch to the
+  /// Recursively visit a template name and dispatch to the
   /// appropriate method.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseTemplateName(TemplateName Template);
 
-  /// \brief Recursively visit a template argument and dispatch to the
+  /// Recursively visit a template argument and dispatch to the
   /// appropriate method for the argument type.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   // FIXME: migrate callers to TemplateArgumentLoc instead.
   bool TraverseTemplateArgument(const TemplateArgument &Arg);
 
-  /// \brief Recursively visit a template argument location and dispatch to the
+  /// Recursively visit a template argument location and dispatch to the
   /// appropriate method for the argument type.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseTemplateArgumentLoc(const TemplateArgumentLoc &ArgLoc);
 
-  /// \brief Recursively visit a set of template arguments.
+  /// Recursively visit a set of template arguments.
   /// This can be overridden by a subclass, but it's not expected that
   /// will be needed -- this visitor always dispatches to another.
   ///
@@ -267,13 +267,13 @@ public:
   bool TraverseTemplateArguments(const TemplateArgument *Args,
                                  unsigned NumArgs);
 
-  /// \brief Recursively visit a base specifier. This can be overridden by a
+  /// Recursively visit a base specifier. This can be overridden by a
   /// subclass.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseCXXBaseSpecifier(const CXXBaseSpecifier &Base);
 
-  /// \brief Recursively visit a constructor initializer.  This
+  /// Recursively visit a constructor initializer.  This
   /// automatically dispatches to another visitor for the initializer
   /// expression, but not for the name of the initializer, so may
   /// be overridden for clients that need access to the name.
@@ -281,14 +281,14 @@ public:
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseConstructorInitializer(CXXCtorInitializer *Init);
 
-  /// \brief Recursively visit a lambda capture. \c Init is the expression that
+  /// Recursively visit a lambda capture. \c Init is the expression that
   /// will be used to initialize the capture.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C,
                              Expr *Init);
 
-  /// \brief Recursively visit the body of a lambda expression.
+  /// Recursively visit the body of a lambda expression.
   ///
   /// This provides a hook for visitors that need more context when visiting
   /// \c LE->getBody().
@@ -296,7 +296,7 @@ public:
   /// \returns false if the visitation was terminated early, true otherwise.
   bool TraverseLambdaBody(LambdaExpr *LE, DataRecursionQueue *Queue = nullptr);
 
-  /// \brief Recursively visit the syntactic or semantic form of an
+  /// Recursively visit the syntactic or semantic form of an
   /// initialization list.
   ///
   /// \returns false if the visitation was terminated early, true otherwise.
@@ -305,7 +305,7 @@ public:
 
   // ---- Methods on Attrs ----
 
-  // \brief Visit an attribute.
+  // Visit an attribute.
   bool VisitAttr(Attr *A) { return true; }
 
 // Declare Traverse* and empty Visit* for all Attr classes.
@@ -529,7 +529,7 @@ private:
   bool TraverseOMPClause(OMPClause *C);
 #define OPENMP_CLAUSE(Name, Class) bool Visit##Class(Class *C);
 #include "clang/Basic/OpenMPKinds.def"
-  /// \brief Process clauses with list of variables.
+  /// Process clauses with list of variables.
   template <typename T> bool VisitOMPClauseList(T *Node);
   /// Process clauses with pre-initis.
   bool VisitOMPClauseWithPreInit(OMPClauseWithPreInit *Node);

Modified: cfe/trunk/include/clang/AST/Redeclarable.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Redeclarable.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Redeclarable.h (original)
+++ cfe/trunk/include/clang/AST/Redeclarable.h Tue May  8 18:00:01 2018
@@ -82,7 +82,7 @@ class Decl;
 //        | link                +-----+                  |
 //        +-->-------------------------------------------+
 
-/// \brief Provides common interface for the Decls that can be redeclared.
+/// Provides common interface for the Decls that can be redeclared.
 template<typename decl_type>
 class Redeclarable {
 protected:
@@ -176,7 +176,7 @@ protected:
     return DeclLink(DeclLink::LatestLink, Ctx);
   }
 
-  /// \brief Points to the next redeclaration in the chain.
+  /// Points to the next redeclaration in the chain.
   ///
   /// If NextIsPrevious() is true, this is a link to the previous declaration
   /// of this same Decl. If NextIsLatest() is true, this is the first
@@ -203,7 +203,7 @@ public:
       : RedeclLink(LatestDeclLink(Ctx)),
         First(static_cast<decl_type *>(this)) {}
 
-  /// \brief Return the previous declaration of this declaration or NULL if this
+  /// Return the previous declaration of this declaration or NULL if this
   /// is the first declaration.
   decl_type *getPreviousDecl() {
     if (RedeclLink.NextIsPrevious())
@@ -215,32 +215,32 @@ public:
                  static_cast<const decl_type*>(this))->getPreviousDecl();
   }
 
-  /// \brief Return the first declaration of this declaration or itself if this
+  /// Return the first declaration of this declaration or itself if this
   /// is the only declaration.
   decl_type *getFirstDecl() { return First; }
 
-  /// \brief Return the first declaration of this declaration or itself if this
+  /// Return the first declaration of this declaration or itself if this
   /// is the only declaration.
   const decl_type *getFirstDecl() const { return First; }
 
-  /// \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 RedeclLink.NextIsLatest(); }
 
-  /// \brief Returns the most recent (re)declaration of this declaration.
+  /// Returns the most recent (re)declaration of this declaration.
   decl_type *getMostRecentDecl() {
     return getFirstDecl()->getNextRedeclaration();
   }
 
-  /// \brief Returns the most recent (re)declaration of this declaration.
+  /// Returns the most recent (re)declaration of this declaration.
   const decl_type *getMostRecentDecl() const {
     return getFirstDecl()->getNextRedeclaration();
   }
 
-  /// \brief Set the previous declaration. If PrevDecl is NULL, set this as the
+  /// Set the previous declaration. If PrevDecl is NULL, set this as the
   /// first and only declaration.
   void setPreviousDecl(decl_type *PrevDecl);
 
-  /// \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_type *Current = nullptr;
@@ -294,7 +294,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(redecl_iterator(const_cast<decl_type *>(
@@ -306,11 +306,11 @@ public:
   redecl_iterator redecls_end() const { return redecls().end(); }
 };
 
-/// \brief Get the primary declaration for a declaration from an AST file. That
+/// Get the primary declaration for a declaration from an AST file. That
 /// will be the first-loaded declaration.
 Decl *getPrimaryMergedDecl(Decl *D);
 
-/// \brief Provides common interface for the Decls that cannot be redeclared,
+/// Provides common interface for the Decls that cannot be redeclared,
 /// but can be merged if the same declaration is brought in from multiple
 /// modules.
 template<typename decl_type>
@@ -318,7 +318,7 @@ class Mergeable {
 public:
   Mergeable() = default;
 
-  /// \brief Return the first declaration of this declaration or itself if this
+  /// Return the first declaration of this declaration or itself if this
   /// is the only declaration.
   decl_type *getFirstDecl() {
     auto *D = static_cast<decl_type *>(this);
@@ -327,7 +327,7 @@ public:
     return cast<decl_type>(getPrimaryMergedDecl(const_cast<decl_type*>(D)));
   }
 
-  /// \brief Return the first declaration of this declaration or itself if this
+  /// Return the first declaration of this declaration or itself if this
   /// is the only declaration.
   const decl_type *getFirstDecl() const {
     const auto *D = static_cast<const decl_type *>(this);
@@ -336,7 +336,7 @@ public:
     return cast<decl_type>(getPrimaryMergedDecl(const_cast<decl_type*>(D)));
   }
 
-  /// \brief Returns true if this is the first declaration.
+  /// Returns true if this is the first declaration.
   bool isFirstDecl() const { return getFirstDecl() == this; }
 };
 

Modified: cfe/trunk/include/clang/AST/SelectorLocationsKind.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/SelectorLocationsKind.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/SelectorLocationsKind.h (original)
+++ cfe/trunk/include/clang/AST/SelectorLocationsKind.h Tue May  8 18:00:01 2018
@@ -23,32 +23,32 @@ namespace clang {
   class Expr;
   class ParmVarDecl;
 
-/// \brief Whether all locations of the selector identifiers are in a
+/// Whether all locations of the selector identifiers are in a
 /// "standard" position.
 enum SelectorLocationsKind {
-  /// \brief Non-standard.
+  /// Non-standard.
   SelLoc_NonStandard = 0,
 
-  /// \brief For nullary selectors, immediately before the end:
+  /// For nullary selectors, immediately before the end:
   ///    "[foo release]" / "-(void)release;"
   /// Or immediately before the arguments:
   ///    "[foo first:1 second:2]" / "-(id)first:(int)x second:(int)y;
   SelLoc_StandardNoSpace = 1,
 
-  /// \brief For nullary selectors, immediately before the end:
+  /// For nullary selectors, immediately before the end:
   ///    "[foo release]" / "-(void)release;"
   /// Or with a space between the arguments:
   ///    "[foo first: 1 second: 2]" / "-(id)first: (int)x second: (int)y;
   SelLoc_StandardWithSpace = 2
 };
 
-/// \brief Returns true if all \p SelLocs are in a "standard" location.
+/// Returns true if all \p SelLocs are in a "standard" location.
 SelectorLocationsKind hasStandardSelectorLocs(Selector Sel,
                                               ArrayRef<SourceLocation> SelLocs,
                                               ArrayRef<Expr *> Args,
                                               SourceLocation EndLoc);
 
-/// \brief Get the "standard" location of a selector identifier, e.g:
+/// Get the "standard" location of a selector identifier, e.g:
 /// For nullary selectors, immediately before ']': "[foo release]"
 ///
 /// \param WithArgSpace if true the standard location is with a space apart
@@ -60,13 +60,13 @@ SourceLocation getStandardSelectorLoc(un
                                       ArrayRef<Expr *> Args,
                                       SourceLocation EndLoc);
 
-/// \brief Returns true if all \p SelLocs are in a "standard" location.
+/// Returns true if all \p SelLocs are in a "standard" location.
 SelectorLocationsKind hasStandardSelectorLocs(Selector Sel,
                                               ArrayRef<SourceLocation> SelLocs,
                                               ArrayRef<ParmVarDecl *> Args,
                                               SourceLocation EndLoc);
 
-/// \brief Get the "standard" location of a selector identifier, e.g:
+/// Get the "standard" location of a selector identifier, e.g:
 /// For nullary selectors, immediately before ']': "[foo release]"
 ///
 /// \param WithArgSpace if true the standard location is with a space apart

Modified: cfe/trunk/include/clang/AST/Stmt.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Stmt.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Stmt.h (original)
+++ cfe/trunk/include/clang/AST/Stmt.h Tue May  8 18:00:01 2018
@@ -92,7 +92,7 @@ protected:
   class StmtBitfields {
     friend class Stmt;
 
-    /// \brief The statement class.
+    /// The statement class.
     unsigned sClass : 8;
   };
   enum { NumStmtBits = 8 };
@@ -272,14 +272,14 @@ protected:
     
     unsigned : NumExprBits;
     
-    /// \brief The kind of type trait, which is a value of a TypeTrait enumerator.
+    /// The kind of type trait, which is a value of a TypeTrait enumerator.
     unsigned Kind : 8;
     
-    /// \brief If this expression is not value-dependent, this indicates whether
+    /// If this expression is not value-dependent, this indicates whether
     /// the trait evaluated true or false.
     unsigned Value : 1;
 
-    /// \brief The number of arguments to this type trait.
+    /// The number of arguments to this type trait.
     unsigned NumArgs : 32 - 8 - 1 - NumExprBits;
   };
 
@@ -330,7 +330,7 @@ public:
   void operator delete(void *, void *) noexcept {}
 
 public:
-  /// \brief A placeholder type used to construct an empty shell of a
+  /// A placeholder type used to construct an empty shell of a
   /// type, that will be filled in later (e.g., by some
   /// de-serialization).
   struct EmptyShell {};
@@ -369,11 +369,11 @@ protected:
   };
 
 private:
-  /// \brief Whether statistic collection is enabled.
+  /// Whether statistic collection is enabled.
   static bool StatisticsEnabled;
 
 protected:
-  /// \brief Construct an empty statement.
+  /// Construct an empty statement.
   explicit Stmt(StmtClass SC, EmptyShell) : Stmt(SC) {}
 
 public:
@@ -404,7 +404,7 @@ public:
   static void EnableStatistics();
   static void PrintStats();
 
-  /// \brief Dumps the specified AST fragment and all subtrees to
+  /// Dumps the specified AST fragment and all subtrees to
   /// \c llvm::errs().
   void dump() const;
   void dump(SourceManager &SM) const;
@@ -432,7 +432,7 @@ public:
     return const_cast<Stmt *>(this)->IgnoreImplicit();
   }
 
-  /// \brief Skip no-op (attributed, compound) container stmts and skip captured
+  /// Skip no-op (attributed, compound) container stmts and skip captured
   /// stmt at the top, if \a IgnoreCaptured is true.
   Stmt *IgnoreContainers(bool IgnoreCaptured = false);
   const Stmt *IgnoreContainers(bool IgnoreCaptured = false) const {
@@ -467,7 +467,7 @@ public:
   const_child_iterator child_begin() const { return children().begin(); }
   const_child_iterator child_end() const { return children().end(); }
 
-  /// \brief Produce a unique representation of the given statement.
+  /// Produce a unique representation of the given statement.
   ///
   /// \param ID once the profiling operation is complete, will contain
   /// the unique representation of the given statement.
@@ -482,7 +482,7 @@ public:
   void Profile(llvm::FoldingSetNodeID &ID, const ASTContext &Context,
                bool Canonical) const;
 
-  /// \brief Calculate a unique representation for a statement that is
+  /// Calculate a unique representation for a statement that is
   /// stable across compiler invocations.
   ///
   /// \param ID profile information will be stored in ID.
@@ -504,7 +504,7 @@ public:
   DeclStmt(DeclGroupRef dg, SourceLocation startLoc, SourceLocation endLoc)
       : Stmt(DeclStmtClass), DG(dg), StartLoc(startLoc), EndLoc(endLoc) {}
 
-  /// \brief Build an empty declaration statement.
+  /// Build an empty declaration statement.
   explicit DeclStmt(EmptyShell Empty) : Stmt(DeclStmtClass, Empty) {}
 
   /// isSingleDecl - This method returns true if this DeclStmt refers
@@ -570,7 +570,7 @@ public:
 class NullStmt : public Stmt {
   SourceLocation SemiLoc;
 
-  /// \brief True if the null statement was preceded by an empty macro, e.g:
+  /// True if the null statement was preceded by an empty macro, e.g:
   /// @code
   ///   #define CALL(x)
   ///   CALL(0);
@@ -585,7 +585,7 @@ public:
       : Stmt(NullStmtClass), SemiLoc(L),
         HasLeadingEmptyMacro(hasLeadingEmptyMacro) {}
 
-  /// \brief Build an empty null statement.
+  /// Build an empty null statement.
   explicit NullStmt(EmptyShell Empty) : Stmt(NullStmtClass, Empty) {}
 
   SourceLocation getSemiLoc() const { return SemiLoc; }
@@ -622,13 +622,13 @@ public:
   static CompoundStmt *Create(const ASTContext &C, ArrayRef<Stmt *> Stmts,
                               SourceLocation LB, SourceLocation RB);
 
-  // \brief Build an empty compound statement with a location.
+  // Build an empty compound statement with a location.
   explicit CompoundStmt(SourceLocation Loc)
       : Stmt(CompoundStmtClass), LBraceLoc(Loc), RBraceLoc(Loc) {
     CompoundStmtBits.NumStmts = 0;
   }
 
-  // \brief Build an empty compound statement.
+  // Build an empty compound statement.
   static CompoundStmt *CreateEmpty(const ASTContext &C, unsigned NumStmts);
 
   bool body_empty() const { return CompoundStmtBits.NumStmts == 0; }
@@ -767,7 +767,7 @@ public:
     EllipsisLoc = ellipsisLoc;
   }
 
-  /// \brief Build an empty switch case statement.
+  /// Build an empty switch case statement.
   explicit CaseStmt(EmptyShell Empty) : SwitchCase(CaseStmtClass, Empty) {}
 
   SourceLocation getCaseLoc() const { return KeywordLoc; }
@@ -823,7 +823,7 @@ public:
   DefaultStmt(SourceLocation DL, SourceLocation CL, Stmt *substmt) :
     SwitchCase(DefaultStmtClass, DL, CL), SubStmt(substmt) {}
 
-  /// \brief Build an empty default statement.
+  /// Build an empty default statement.
   explicit DefaultStmt(EmptyShell Empty)
       : SwitchCase(DefaultStmtClass, Empty) {}
 
@@ -868,7 +868,7 @@ public:
                   "LabelStmt too big");
   }
 
-  // \brief Build an empty label statement.
+  // Build an empty label statement.
   explicit LabelStmt(EmptyShell Empty) : Stmt(LabelStmtClass, Empty) {}
 
   SourceLocation getIdentLoc() const { return IdentLoc; }
@@ -890,7 +890,7 @@ public:
   }
 };
 
-/// \brief Represents an attribute applied to a statement.
+/// Represents an attribute applied to a statement.
 ///
 /// Represents an attribute applied to a statement. For example:
 ///   [[omp::for(...)]] for (...) { ... }
@@ -924,7 +924,7 @@ public:
   static AttributedStmt *Create(const ASTContext &C, SourceLocation Loc,
                                 ArrayRef<const Attr*> Attrs, Stmt *SubStmt);
 
-  // \brief Build an empty attributed statement.
+  // Build an empty attributed statement.
   static AttributedStmt *CreateEmpty(const ASTContext &C, unsigned NumAttrs);
 
   SourceLocation getAttrLoc() const { return AttrLoc; }
@@ -959,10 +959,10 @@ public:
          Stmt *then, SourceLocation EL = SourceLocation(),
          Stmt *elsev = nullptr);
 
-  /// \brief Build an empty if/then/else statement
+  /// Build an empty if/then/else statement
   explicit IfStmt(EmptyShell Empty) : Stmt(IfStmtClass, Empty) {}
 
-  /// \brief Retrieve the variable declared in this "if" statement, if any.
+  /// Retrieve the variable declared in this "if" statement, if any.
   ///
   /// In the following example, "x" is the condition variable.
   /// \code
@@ -1038,10 +1038,10 @@ class SwitchStmt : public Stmt {
 public:
   SwitchStmt(const ASTContext &C, Stmt *Init, VarDecl *Var, Expr *cond);
 
-  /// \brief Build a empty switch statement.
+  /// Build a empty switch statement.
   explicit SwitchStmt(EmptyShell Empty) : Stmt(SwitchStmtClass, Empty) {}
 
-  /// \brief Retrieve the variable declared in this "switch" statement, if any.
+  /// Retrieve the variable declared in this "switch" statement, if any.
   ///
   /// In the following example, "x" is the condition variable.
   /// \code
@@ -1072,7 +1072,7 @@ public:
   void setBody(Stmt *S) { SubExprs[BODY] = S; }
   SwitchCase *getSwitchCaseList() { return FirstCase.getPointer(); }
 
-  /// \brief Set the case list for this switch statement.
+  /// Set the case list for this switch statement.
   void setSwitchCaseList(SwitchCase *SC) { FirstCase.setPointer(SC); }
 
   SourceLocation getSwitchLoc() const { return SwitchLoc; }
@@ -1124,10 +1124,10 @@ public:
   WhileStmt(const ASTContext &C, VarDecl *Var, Expr *cond, Stmt *body,
             SourceLocation WL);
 
-  /// \brief Build an empty while statement.
+  /// Build an empty while statement.
   explicit WhileStmt(EmptyShell Empty) : Stmt(WhileStmtClass, Empty) {}
 
-  /// \brief Retrieve the variable declared in this "while" statement, if any.
+  /// Retrieve the variable declared in this "while" statement, if any.
   ///
   /// In the following example, "x" is the condition variable.
   /// \code
@@ -1186,7 +1186,7 @@ public:
     SubExprs[BODY] = body;
   }
 
-  /// \brief Build an empty do-while statement.
+  /// Build an empty do-while statement.
   explicit DoStmt(EmptyShell Empty) : Stmt(DoStmtClass, Empty) {}
 
   Expr *getCond() { return reinterpret_cast<Expr*>(SubExprs[COND]); }
@@ -1231,12 +1231,12 @@ public:
           Expr *Inc, Stmt *Body, SourceLocation FL, SourceLocation LP,
           SourceLocation RP);
 
-  /// \brief Build an empty for statement.
+  /// Build an empty for statement.
   explicit ForStmt(EmptyShell Empty) : Stmt(ForStmtClass, Empty) {}
 
   Stmt *getInit() { return SubExprs[INIT]; }
 
-  /// \brief Retrieve the variable declared in this "for" statement, if any.
+  /// Retrieve the variable declared in this "for" statement, if any.
   ///
   /// In the following example, "y" is the condition variable.
   /// \code
@@ -1300,7 +1300,7 @@ public:
   GotoStmt(LabelDecl *label, SourceLocation GL, SourceLocation LL)
       : Stmt(GotoStmtClass), Label(label), GotoLoc(GL), LabelLoc(LL) {}
 
-  /// \brief Build an empty goto statement.
+  /// Build an empty goto statement.
   explicit GotoStmt(EmptyShell Empty) : Stmt(GotoStmtClass, Empty) {}
 
   LabelDecl *getLabel() const { return Label; }
@@ -1336,7 +1336,7 @@ public:
     : Stmt(IndirectGotoStmtClass), GotoLoc(gotoLoc), StarLoc(starLoc),
       Target((Stmt*)target) {}
 
-  /// \brief Build an empty indirect goto statement.
+  /// Build an empty indirect goto statement.
   explicit IndirectGotoStmt(EmptyShell Empty)
       : Stmt(IndirectGotoStmtClass, Empty) {}
 
@@ -1374,7 +1374,7 @@ class ContinueStmt : public Stmt {
 public:
   ContinueStmt(SourceLocation CL) : Stmt(ContinueStmtClass), ContinueLoc(CL) {}
 
-  /// \brief Build an empty continue statement.
+  /// Build an empty continue statement.
   explicit ContinueStmt(EmptyShell Empty) : Stmt(ContinueStmtClass, Empty) {}
 
   SourceLocation getContinueLoc() const { return ContinueLoc; }
@@ -1403,7 +1403,7 @@ public:
                   "BreakStmt too large");
   }
 
-  /// \brief Build an empty break statement.
+  /// Build an empty break statement.
   explicit BreakStmt(EmptyShell Empty) : Stmt(BreakStmtClass, Empty) {}
 
   SourceLocation getBreakLoc() const { return BreakLoc; }
@@ -1442,7 +1442,7 @@ public:
       : Stmt(ReturnStmtClass), RetLoc(RL), RetExpr((Stmt *)E),
         NRVOCandidate(NRVOCandidate) {}
 
-  /// \brief Build an empty return expression.
+  /// Build an empty return expression.
   explicit ReturnStmt(EmptyShell Empty) : Stmt(ReturnStmtClass, Empty) {}
 
   const Expr *getRetValue() const;
@@ -1452,7 +1452,7 @@ public:
   SourceLocation getReturnLoc() const { return RetLoc; }
   void setReturnLoc(SourceLocation L) { RetLoc = L; }
 
-  /// \brief Retrieve the variable that might be used for the named return
+  /// Retrieve the variable that might be used for the named return
   /// value optimization.
   ///
   /// The optimization itself can only be performed if the variable is
@@ -1484,11 +1484,11 @@ protected:
 
   SourceLocation AsmLoc;
 
-  /// \brief True if the assembly statement does not have any input or output
+  /// True if the assembly statement does not have any input or output
   /// operands.
   bool IsSimple;
 
-  /// \brief If true, treat this inline assembly as having side effects.
+  /// If true, treat this inline assembly as having side effects.
   /// This assembly statement should not be optimized, deleted or moved.
   bool IsVolatile;
 
@@ -1505,7 +1505,7 @@ protected:
         NumClobbers(numclobbers) {}
 
 public:
-  /// \brief Build an empty inline-assembly statement.
+  /// Build an empty inline-assembly statement.
   explicit AsmStmt(StmtClass SC, EmptyShell Empty) : Stmt(SC, Empty) {}
 
   SourceLocation getAsmLoc() const { return AsmLoc; }
@@ -1651,7 +1651,7 @@ public:
              StringLiteral *asmstr, unsigned numclobbers,
              StringLiteral **clobbers, SourceLocation rparenloc);
 
-  /// \brief Build an empty inline-assembly statement.
+  /// Build an empty inline-assembly statement.
   explicit GCCAsmStmt(EmptyShell Empty) : AsmStmt(GCCAsmStmtClass, Empty) {}
 
   SourceLocation getRParenLoc() const { return RParenLoc; }
@@ -1828,7 +1828,7 @@ public:
             ArrayRef<Expr*> exprs, StringRef asmstr,
             ArrayRef<StringRef> clobbers, SourceLocation endloc);
 
-  /// \brief Build an empty MS-style inline-assembly statement.
+  /// Build an empty MS-style inline-assembly statement.
   explicit MSAsmStmt(EmptyShell Empty) : AsmStmt(MSAsmStmtClass, Empty) {}
 
   SourceLocation getLBraceLoc() const { return LBraceLoc; }
@@ -2039,7 +2039,7 @@ public:
   explicit SEHLeaveStmt(SourceLocation LL)
       : Stmt(SEHLeaveStmtClass), LeaveLoc(LL) {}
 
-  /// \brief Build an empty __leave statement.
+  /// Build an empty __leave statement.
   explicit SEHLeaveStmt(EmptyShell Empty) : Stmt(SEHLeaveStmtClass, Empty) {}
 
   SourceLocation getLeaveLoc() const { return LeaveLoc; }
@@ -2058,7 +2058,7 @@ public:
   }
 };
 
-/// \brief This captures a statement into a function. For example, the following
+/// This captures a statement into a function. For example, the following
 /// pragma annotated compound statement can be represented as a CapturedStmt,
 /// and this compound statement is the body of an anonymous outlined function.
 /// @code
@@ -2069,7 +2069,7 @@ public:
 /// @endcode
 class CapturedStmt : public Stmt {
 public:
-  /// \brief The different capture forms: by 'this', by reference, capture for
+  /// The different capture forms: by 'this', by reference, capture for
   /// variable-length array type etc.
   enum VariableCaptureKind {
     VCK_This,
@@ -2078,7 +2078,7 @@ public:
     VCK_VLAType,
   };
 
-  /// \brief Describes the capture of either a variable, or 'this', or
+  /// Describes the capture of either a variable, or 'this', or
   /// variable-length array type.
   class Capture {
     llvm::PointerIntPair<VarDecl *, 2, VariableCaptureKind> VarAndKind;
@@ -2087,7 +2087,7 @@ public:
   public:
     friend class ASTStmtReader;
 
-    /// \brief Create a new capture.
+    /// Create a new capture.
     ///
     /// \param Loc The source location associated with this capture.
     ///
@@ -2097,52 +2097,52 @@ public:
     Capture(SourceLocation Loc, VariableCaptureKind Kind,
             VarDecl *Var = nullptr);
 
-    /// \brief Determine the kind of capture.
+    /// Determine the kind of capture.
     VariableCaptureKind getCaptureKind() const;
 
-    /// \brief Retrieve the source location at which the variable or 'this' was
+    /// Retrieve the source location at which the variable or 'this' was
     /// first used.
     SourceLocation getLocation() const { return Loc; }
 
-    /// \brief Determine whether this capture handles the C++ 'this' pointer.
+    /// Determine whether this capture handles the C++ 'this' pointer.
     bool capturesThis() const { return getCaptureKind() == VCK_This; }
 
-    /// \brief Determine whether this capture handles a variable (by reference).
+    /// Determine whether this capture handles a variable (by reference).
     bool capturesVariable() const { return getCaptureKind() == VCK_ByRef; }
 
-    /// \brief Determine whether this capture handles a variable by copy.
+    /// Determine whether this capture handles a variable by copy.
     bool capturesVariableByCopy() const {
       return getCaptureKind() == VCK_ByCopy;
     }
 
-    /// \brief Determine whether this capture handles a variable-length array
+    /// Determine whether this capture handles a variable-length array
     /// type.
     bool capturesVariableArrayType() const {
       return getCaptureKind() == VCK_VLAType;
     }
 
-    /// \brief Retrieve the declaration of the variable being captured.
+    /// Retrieve the declaration of the variable being captured.
     ///
     /// This operation is only valid if this capture captures a variable.
     VarDecl *getCapturedVar() const;
   };
 
 private:
-  /// \brief The number of variable captured, including 'this'.
+  /// The number of variable captured, including 'this'.
   unsigned NumCaptures;
 
-  /// \brief The pointer part is the implicit the outlined function and the 
+  /// The pointer part is the implicit the outlined function and the 
   /// int part is the captured region kind, 'CR_Default' etc.
   llvm::PointerIntPair<CapturedDecl *, 1, CapturedRegionKind> CapDeclAndKind;
 
-  /// \brief The record for captured variables, a RecordDecl or CXXRecordDecl.
+  /// The record for captured variables, a RecordDecl or CXXRecordDecl.
   RecordDecl *TheRecordDecl = nullptr;
 
-  /// \brief Construct a captured statement.
+  /// Construct a captured statement.
   CapturedStmt(Stmt *S, CapturedRegionKind Kind, ArrayRef<Capture> Captures,
                ArrayRef<Expr *> CaptureInits, CapturedDecl *CD, RecordDecl *RD);
 
-  /// \brief Construct an empty captured statement.
+  /// Construct an empty captured statement.
   CapturedStmt(EmptyShell Empty, unsigned NumCaptures);
 
   Stmt **getStoredStmts() { return reinterpret_cast<Stmt **>(this + 1); }
@@ -2167,36 +2167,36 @@ public:
   static CapturedStmt *CreateDeserialized(const ASTContext &Context,
                                           unsigned NumCaptures);
 
-  /// \brief Retrieve the statement being captured.
+  /// Retrieve the statement being captured.
   Stmt *getCapturedStmt() { return getStoredStmts()[NumCaptures]; }
   const Stmt *getCapturedStmt() const { return getStoredStmts()[NumCaptures]; }
 
-  /// \brief Retrieve the outlined function declaration.
+  /// Retrieve the outlined function declaration.
   CapturedDecl *getCapturedDecl();
   const CapturedDecl *getCapturedDecl() const;
 
-  /// \brief Set the outlined function declaration.
+  /// Set the outlined function declaration.
   void setCapturedDecl(CapturedDecl *D);
 
-  /// \brief Retrieve the captured region kind.
+  /// Retrieve the captured region kind.
   CapturedRegionKind getCapturedRegionKind() const;
 
-  /// \brief Set the captured region kind.
+  /// Set the captured region kind.
   void setCapturedRegionKind(CapturedRegionKind Kind);
 
-  /// \brief Retrieve the record declaration for captured variables.
+  /// Retrieve the record declaration for captured variables.
   const RecordDecl *getCapturedRecordDecl() const { return TheRecordDecl; }
 
-  /// \brief Set the record declaration for captured variables.
+  /// Set the record declaration for captured variables.
   void setCapturedRecordDecl(RecordDecl *D) {
     assert(D && "null RecordDecl");
     TheRecordDecl = D;
   }
 
-  /// \brief True if this variable has been captured.
+  /// True if this variable has been captured.
   bool capturesVariable(const VarDecl *Var) const;
 
-  /// \brief An iterator that walks over the captures.
+  /// An iterator that walks over the captures.
   using capture_iterator = Capture *;
   using const_capture_iterator = const Capture *;
   using capture_range = llvm::iterator_range<capture_iterator>;
@@ -2209,24 +2209,24 @@ public:
     return capture_const_range(capture_begin(), capture_end());
   }
 
-  /// \brief Retrieve an iterator pointing to the first capture.
+  /// Retrieve an iterator pointing to the first capture.
   capture_iterator capture_begin() { return getStoredCaptures(); }
   const_capture_iterator capture_begin() const { return getStoredCaptures(); }
 
-  /// \brief Retrieve an iterator pointing past the end of the sequence of
+  /// Retrieve an iterator pointing past the end of the sequence of
   /// captures.
   capture_iterator capture_end() const {
     return getStoredCaptures() + NumCaptures;
   }
 
-  /// \brief Retrieve the number of captures, including 'this'.
+  /// Retrieve the number of captures, including 'this'.
   unsigned capture_size() const { return NumCaptures; }
 
-  /// \brief Iterator that walks over the capture initialization arguments.
+  /// Iterator that walks over the capture initialization arguments.
   using capture_init_iterator = Expr **;
   using capture_init_range = llvm::iterator_range<capture_init_iterator>;
 
-  /// \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 *;
   using const_capture_init_range =
@@ -2240,7 +2240,7 @@ public:
     return const_capture_init_range(capture_init_begin(), capture_init_end());
   }
 
-  /// \brief Retrieve the first initialization argument.
+  /// Retrieve the first initialization argument.
   capture_init_iterator capture_init_begin() {
     return reinterpret_cast<Expr **>(getStoredStmts());
   }
@@ -2249,7 +2249,7 @@ public:
     return reinterpret_cast<Expr *const *>(getStoredStmts());
   }
 
-  /// \brief Retrieve the iterator pointing one past the last initialization
+  /// Retrieve the iterator pointing one past the last initialization
   /// argument.
   capture_init_iterator capture_init_end() {
     return capture_init_begin() + NumCaptures;

Modified: cfe/trunk/include/clang/AST/StmtCXX.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/StmtCXX.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/StmtCXX.h (original)
+++ cfe/trunk/include/clang/AST/StmtCXX.h Tue May  8 18:00:01 2018
@@ -210,7 +210,7 @@ public:
   }
 };
 
-/// \brief Representation of a Microsoft __if_exists or __if_not_exists
+/// Representation of a Microsoft __if_exists or __if_not_exists
 /// statement with a dependent name.
 ///
 /// The __if_exists statement can be used to include a sequence of statements
@@ -257,25 +257,25 @@ public:
     QualifierLoc(QualifierLoc), NameInfo(NameInfo),
     SubStmt(reinterpret_cast<Stmt *>(SubStmt)) { }
 
-  /// \brief Retrieve the location of the __if_exists or __if_not_exists
+  /// Retrieve the location of the __if_exists or __if_not_exists
   /// keyword.
   SourceLocation getKeywordLoc() const { return KeywordLoc; }
 
-  /// \brief Determine whether this is an __if_exists statement.
+  /// Determine whether this is an __if_exists statement.
   bool isIfExists() const { return IsIfExists; }
 
-  /// \brief Determine whether this is an __if_exists statement.
+  /// Determine whether this is an __if_exists statement.
   bool isIfNotExists() const { return !IsIfExists; }
 
-  /// \brief Retrieve the nested-name-specifier that qualifies this name, if
+  /// Retrieve the nested-name-specifier that qualifies this name, if
   /// any.
   NestedNameSpecifierLoc getQualifierLoc() const { return QualifierLoc; }
 
-  /// \brief Retrieve the name of the entity we're testing for, along with
+  /// Retrieve the name of the entity we're testing for, along with
   /// location information
   DeclarationNameInfo getNameInfo() const { return NameInfo; }
 
-  /// \brief Retrieve the compound statement that will be included in the
+  /// Retrieve the compound statement that will be included in the
   /// program only if the existence of the symbol matches the initial keyword.
   CompoundStmt *getSubStmt() const {
     return reinterpret_cast<CompoundStmt *>(SubStmt);
@@ -293,7 +293,7 @@ public:
   }
 };
 
-/// \brief Represents the body of a coroutine. This wraps the normal function
+/// Represents the body of a coroutine. This wraps the normal function
 /// body and holds the additional semantic context required to set up and tear
 /// down the coroutine frame.
 class CoroutineBodyStmt final
@@ -355,7 +355,7 @@ public:
     return getPromiseDecl()->getType()->isDependentType();
   }
 
-  /// \brief Retrieve the body of the coroutine as written. This will be either
+  /// Retrieve the body of the coroutine as written. This will be either
   /// a CompoundStmt or a TryStmt.
   Stmt *getBody() const {
     return getStoredStmts()[SubStmt::Body];
@@ -418,7 +418,7 @@ public:
   }
 };
 
-/// \brief Represents a 'co_return' statement in the C++ Coroutines TS.
+/// Represents a 'co_return' statement in the C++ Coroutines TS.
 ///
 /// This statament models the initialization of the coroutine promise
 /// (encapsulating the eventual notional return value) from an expression
@@ -451,11 +451,11 @@ public:
 
   SourceLocation getKeywordLoc() const { return CoreturnLoc; }
 
-  /// \brief Retrieve the operand of the 'co_return' statement. Will be nullptr
+  /// Retrieve the operand of the 'co_return' statement. Will be nullptr
   /// if none was specified.
   Expr *getOperand() const { return static_cast<Expr*>(SubStmts[Operand]); }
 
-  /// \brief Retrieve the promise call that results from this 'co_return'
+  /// Retrieve the promise call that results from this 'co_return'
   /// statement. Will be nullptr if either the coroutine has not yet been
   /// finalized or the coroutine has no eventual return type.
   Expr *getPromiseCall() const {

Modified: cfe/trunk/include/clang/AST/StmtObjC.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/StmtObjC.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/StmtObjC.h (original)
+++ cfe/trunk/include/clang/AST/StmtObjC.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 /// \file
-/// \brief Defines the Objective-C statement AST node classes.
+/// Defines the Objective-C statement AST node classes.
 
 #ifndef LLVM_CLANG_AST_STMTOBJC_H
 #define LLVM_CLANG_AST_STMTOBJC_H
@@ -18,7 +18,7 @@
 
 namespace clang {
 
-/// \brief Represents Objective-C's collection statement.
+/// Represents Objective-C's collection statement.
 ///
 /// This is represented as 'for (element 'in' collection-expression)' stmt.
 class ObjCForCollectionStmt : public Stmt {
@@ -70,7 +70,7 @@ public:
   }
 };
 
-/// \brief Represents Objective-C's \@catch statement.
+/// Represents Objective-C's \@catch statement.
 class ObjCAtCatchStmt : public Stmt {
 private:
   VarDecl *ExceptionDecl;
@@ -116,7 +116,7 @@ public:
   child_range children() { return child_range(&Body, &Body + 1); }
 };
 
-/// \brief Represents Objective-C's \@finally statement
+/// Represents Objective-C's \@finally statement
 class ObjCAtFinallyStmt : public Stmt {
   SourceLocation AtFinallyLoc;
   Stmt *AtFinallyStmt;
@@ -150,7 +150,7 @@ public:
   }
 };
 
-/// \brief Represents Objective-C's \@try ... \@catch ... \@finally statement.
+/// Represents Objective-C's \@try ... \@catch ... \@finally statement.
 class ObjCAtTryStmt : public Stmt {
 private:
   // The location of the @ in the \@try.
@@ -162,7 +162,7 @@ private:
   // Whether this statement has a \@finally statement.
   bool HasFinally : 1;
   
-  /// \brief Retrieve the statements that are stored after this \@try statement.
+  /// Retrieve the statements that are stored after this \@try statement.
   ///
   /// The order of the statements in memory follows the order in the source,
   /// with the \@try body first, followed by the \@catch statements (if any)
@@ -189,38 +189,38 @@ public:
   static ObjCAtTryStmt *CreateEmpty(const ASTContext &Context,
                                     unsigned NumCatchStmts, bool HasFinally);
   
-  /// \brief Retrieve the location of the @ in the \@try.
+  /// Retrieve the location of the @ in the \@try.
   SourceLocation getAtTryLoc() const { return AtTryLoc; }
   void setAtTryLoc(SourceLocation Loc) { AtTryLoc = Loc; }
 
-  /// \brief Retrieve the \@try body.
+  /// Retrieve the \@try body.
   const Stmt *getTryBody() const { return getStmts()[0]; }
   Stmt *getTryBody() { return getStmts()[0]; }
   void setTryBody(Stmt *S) { getStmts()[0] = S; }
 
-  /// \brief Retrieve the number of \@catch statements in this try-catch-finally
+  /// Retrieve the number of \@catch statements in this try-catch-finally
   /// block.
   unsigned getNumCatchStmts() const { return NumCatchStmts; }
   
-  /// \brief Retrieve a \@catch statement.
+  /// Retrieve a \@catch statement.
   const ObjCAtCatchStmt *getCatchStmt(unsigned I) const {
     assert(I < NumCatchStmts && "Out-of-bounds @catch index");
     return cast_or_null<ObjCAtCatchStmt>(getStmts()[I + 1]);
   }
   
-  /// \brief Retrieve a \@catch statement.
+  /// Retrieve a \@catch statement.
   ObjCAtCatchStmt *getCatchStmt(unsigned I) {
     assert(I < NumCatchStmts && "Out-of-bounds @catch index");
     return cast_or_null<ObjCAtCatchStmt>(getStmts()[I + 1]);
   }
   
-  /// \brief Set a particular catch statement.
+  /// Set a particular catch statement.
   void setCatchStmt(unsigned I, ObjCAtCatchStmt *S) {
     assert(I < NumCatchStmts && "Out-of-bounds @catch index");
     getStmts()[I + 1] = S;
   }
   
-  /// \brief Retrieve the \@finally statement, if any.
+  /// Retrieve the \@finally statement, if any.
   const ObjCAtFinallyStmt *getFinallyStmt() const {
     if (!HasFinally)
       return nullptr;
@@ -251,7 +251,7 @@ public:
   }
 };
 
-/// \brief Represents Objective-C's \@synchronized statement.
+/// Represents Objective-C's \@synchronized statement.
 ///
 /// Example:
 /// \code
@@ -309,7 +309,7 @@ public:
   }
 };
 
-/// \brief Represents Objective-C's \@throw statement.
+/// Represents Objective-C's \@throw statement.
 class ObjCAtThrowStmt : public Stmt {
   SourceLocation AtThrowLoc;
   Stmt *Throw;
@@ -341,7 +341,7 @@ public:
   child_range children() { return child_range(&Throw, &Throw+1); }
 };
 
-/// \brief Represents Objective-C's \@autoreleasepool Statement
+/// Represents Objective-C's \@autoreleasepool Statement
 class ObjCAutoreleasePoolStmt : public Stmt {
   SourceLocation AtLoc;
   Stmt *SubStmt;

Modified: cfe/trunk/include/clang/AST/StmtOpenMP.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/StmtOpenMP.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/StmtOpenMP.h (original)
+++ cfe/trunk/include/clang/AST/StmtOpenMP.h Tue May  8 18:00:01 2018
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 /// \file
-/// \brief This file defines OpenMP AST classes for executable directives and
+/// This file defines OpenMP AST classes for executable directives and
 /// clauses.
 ///
 //===----------------------------------------------------------------------===//
@@ -27,28 +27,28 @@ namespace clang {
 // AST classes for directives.
 //===----------------------------------------------------------------------===//
 
-/// \brief This is a basic class for representing single OpenMP executable
+/// This is a basic class for representing single OpenMP executable
 /// directive.
 ///
 class OMPExecutableDirective : public Stmt {
   friend class ASTStmtReader;
-  /// \brief Kind of the directive.
+  /// Kind of the directive.
   OpenMPDirectiveKind Kind;
-  /// \brief Starting location of the directive (directive keyword).
+  /// Starting location of the directive (directive keyword).
   SourceLocation StartLoc;
-  /// \brief Ending location of the directive.
+  /// Ending location of the directive.
   SourceLocation EndLoc;
-  /// \brief Numbers of clauses.
+  /// Numbers of clauses.
   const unsigned NumClauses;
-  /// \brief Number of child expressions/stmts.
+  /// Number of child expressions/stmts.
   const unsigned NumChildren;
-  /// \brief Offset from this to the start of clauses.
+  /// Offset from this to the start of clauses.
   /// There are NumClauses pointers to clauses, they are followed by
   /// NumChildren pointers to child stmts/exprs (if the directive type
   /// requires an associated stmt, then it has to be the first of them).
   const unsigned ClausesOffset;
 
-  /// \brief Get the clauses storage.
+  /// Get the clauses storage.
   MutableArrayRef<OMPClause *> getClauses() {
     OMPClause **ClauseStorage = reinterpret_cast<OMPClause **>(
         reinterpret_cast<char *>(this) + ClausesOffset);
@@ -56,7 +56,7 @@ class OMPExecutableDirective : public St
   }
 
 protected:
-  /// \brief Build instance of directive of class \a K.
+  /// Build instance of directive of class \a K.
   ///
   /// \param SC Statement class.
   /// \param K Kind of OpenMP directive.
@@ -72,13 +72,13 @@ protected:
         NumChildren(NumChildren),
         ClausesOffset(llvm::alignTo(sizeof(T), alignof(OMPClause *))) {}
 
-  /// \brief Sets the list of variables for this clause.
+  /// Sets the list of variables for this clause.
   ///
   /// \param Clauses The list of clauses for the directive.
   ///
   void setClauses(ArrayRef<OMPClause *> Clauses);
 
-  /// \brief Set the associated statement for the directive.
+  /// Set the associated statement for the directive.
   ///
   /// /param S Associated statement.
   ///
@@ -88,7 +88,7 @@ protected:
   }
 
 public:
-  /// \brief Iterates over a filtered subrange of clauses applied to a
+  /// Iterates over a filtered subrange of clauses applied to a
   /// directive.
   ///
   /// This iterator visits only clauses of type SpecificClause.
@@ -164,35 +164,35 @@ public:
     return Clauses.begin() != Clauses.end();
   }
 
-  /// \brief Returns starting location of directive kind.
+  /// Returns starting location of directive kind.
   SourceLocation getLocStart() const { return StartLoc; }
-  /// \brief Returns ending location of directive.
+  /// Returns ending location of directive.
   SourceLocation getLocEnd() const { return EndLoc; }
 
-  /// \brief Set starting location of directive kind.
+  /// Set starting location of directive kind.
   ///
   /// \param Loc New starting location of directive.
   ///
   void setLocStart(SourceLocation Loc) { StartLoc = Loc; }
-  /// \brief Set ending location of directive.
+  /// Set ending location of directive.
   ///
   /// \param Loc New ending location of directive.
   ///
   void setLocEnd(SourceLocation Loc) { EndLoc = Loc; }
 
-  /// \brief Get number of clauses.
+  /// Get number of clauses.
   unsigned getNumClauses() const { return NumClauses; }
 
-  /// \brief Returns specified clause.
+  /// Returns specified clause.
   ///
   /// \param i Number of clause.
   ///
   OMPClause *getClause(unsigned i) const { return clauses()[i]; }
 
-  /// \brief Returns true if directive has associated statement.
+  /// Returns true if directive has associated statement.
   bool hasAssociatedStmt() const { return NumChildren > 0; }
 
-  /// \brief Returns statement associated with the directive.
+  /// Returns statement associated with the directive.
   const Stmt *getAssociatedStmt() const {
     assert(hasAssociatedStmt() && "no associated statement.");
     return *child_begin();
@@ -202,7 +202,7 @@ public:
     return *child_begin();
   }
 
-  /// \brief Returns the captured statement associated with the
+  /// Returns the captured statement associated with the
   /// component region within the (combined) directive.
   //
   // \param RegionKind Component region kind.
@@ -262,7 +262,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp parallel' directive.
+/// This represents '#pragma omp parallel' directive.
 ///
 /// \code
 /// #pragma omp parallel private(a,b) reduction(+: c,d)
@@ -273,10 +273,10 @@ public:
 ///
 class OMPParallelDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief true if the construct has inner cancel directive.
+  /// true if the construct has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive (directive keyword).
   /// \param EndLoc Ending Location of the directive.
@@ -287,7 +287,7 @@ class OMPParallelDirective : public OMPE
                                StartLoc, EndLoc, NumClauses, 1),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -297,11 +297,11 @@ class OMPParallelDirective : public OMPE
                                1),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -314,7 +314,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place for \a N clauses.
+  /// Creates an empty directive with the place for \a N clauses.
   ///
   /// \param C AST context.
   /// \param NumClauses Number of clauses.
@@ -322,7 +322,7 @@ public:
   static OMPParallelDirective *CreateEmpty(const ASTContext &C,
                                            unsigned NumClauses, EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -330,15 +330,15 @@ public:
   }
 };
 
-/// \brief This is a common base class for loop directives ('omp simd', 'omp
+/// This is a common base class for loop directives ('omp simd', 'omp
 /// for', 'omp for simd' etc.). It is responsible for the loop code generation.
 ///
 class OMPLoopDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Number of collapsed loops as specified by 'collapse' clause.
+  /// Number of collapsed loops as specified by 'collapse' clause.
   unsigned CollapsedNum;
 
-  /// \brief Offsets to the stored exprs.
+  /// Offsets to the stored exprs.
   /// This enumeration contains offsets to all the pointers to children
   /// expressions stored in OMPLoopDirective.
   /// The first 9 children are necessary for all the loop directives,
@@ -395,21 +395,21 @@ class OMPLoopDirective : public OMPExecu
     CombinedDistributeEnd = 28,
   };
 
-  /// \brief Get the counters storage.
+  /// Get the counters storage.
   MutableArrayRef<Expr *> getCounters() {
     Expr **Storage = reinterpret_cast<Expr **>(
         &(*(std::next(child_begin(), getArraysOffset(getDirectiveKind())))));
     return MutableArrayRef<Expr *>(Storage, CollapsedNum);
   }
 
-  /// \brief Get the private counters storage.
+  /// Get the private counters storage.
   MutableArrayRef<Expr *> getPrivateCounters() {
     Expr **Storage = reinterpret_cast<Expr **>(&*std::next(
         child_begin(), getArraysOffset(getDirectiveKind()) + CollapsedNum));
     return MutableArrayRef<Expr *>(Storage, CollapsedNum);
   }
 
-  /// \brief Get the updates storage.
+  /// Get the updates storage.
   MutableArrayRef<Expr *> getInits() {
     Expr **Storage = reinterpret_cast<Expr **>(
         &*std::next(child_begin(),
@@ -417,7 +417,7 @@ class OMPLoopDirective : public OMPExecu
     return MutableArrayRef<Expr *>(Storage, CollapsedNum);
   }
 
-  /// \brief Get the updates storage.
+  /// Get the updates storage.
   MutableArrayRef<Expr *> getUpdates() {
     Expr **Storage = reinterpret_cast<Expr **>(
         &*std::next(child_begin(),
@@ -425,7 +425,7 @@ class OMPLoopDirective : public OMPExecu
     return MutableArrayRef<Expr *>(Storage, CollapsedNum);
   }
 
-  /// \brief Get the final counter updates storage.
+  /// Get the final counter updates storage.
   MutableArrayRef<Expr *> getFinals() {
     Expr **Storage = reinterpret_cast<Expr **>(
         &*std::next(child_begin(),
@@ -434,7 +434,7 @@ class OMPLoopDirective : public OMPExecu
   }
 
 protected:
-  /// \brief Build instance of loop directive of class \a Kind.
+  /// Build instance of loop directive of class \a Kind.
   ///
   /// \param SC Statement class.
   /// \param Kind Kind of OpenMP directive.
@@ -454,7 +454,7 @@ protected:
                                    NumSpecialChildren),
         CollapsedNum(CollapsedNum) {}
 
-  /// \brief Offset to the start of children expression arrays.
+  /// Offset to the start of children expression arrays.
   static unsigned getArraysOffset(OpenMPDirectiveKind Kind) {
     if (isOpenMPLoopBoundSharingDirective(Kind))
       return CombinedDistributeEnd;
@@ -464,7 +464,7 @@ protected:
     return DefaultEnd;
   }
 
-  /// \brief Children number.
+  /// Children number.
   static unsigned numLoopChildren(unsigned CollapsedNum,
                                   OpenMPDirectiveKind Kind) {
     return getArraysOffset(Kind) + 5 * CollapsedNum; // Counters,
@@ -637,64 +637,64 @@ public:
     Expr *NUB;
   };
 
-  /// \brief The expressions built for the OpenMP loop CodeGen for the
+  /// The expressions built for the OpenMP loop CodeGen for the
   /// whole collapsed loop nest.
   struct HelperExprs {
-    /// \brief Loop iteration variable.
+    /// Loop iteration variable.
     Expr *IterationVarRef;
-    /// \brief Loop last iteration number.
+    /// Loop last iteration number.
     Expr *LastIteration;
-    /// \brief Loop number of iterations.
+    /// Loop number of iterations.
     Expr *NumIterations;
-    /// \brief Calculation of last iteration.
+    /// Calculation of last iteration.
     Expr *CalcLastIteration;
-    /// \brief Loop pre-condition.
+    /// Loop pre-condition.
     Expr *PreCond;
-    /// \brief Loop condition.
+    /// Loop condition.
     Expr *Cond;
-    /// \brief Loop iteration variable init.
+    /// Loop iteration variable init.
     Expr *Init;
-    /// \brief Loop increment.
+    /// Loop increment.
     Expr *Inc;
-    /// \brief IsLastIteration - local flag variable passed to runtime.
+    /// IsLastIteration - local flag variable passed to runtime.
     Expr *IL;
-    /// \brief LowerBound - local variable passed to runtime.
+    /// LowerBound - local variable passed to runtime.
     Expr *LB;
-    /// \brief UpperBound - local variable passed to runtime.
+    /// UpperBound - local variable passed to runtime.
     Expr *UB;
-    /// \brief Stride - local variable passed to runtime.
+    /// Stride - local variable passed to runtime.
     Expr *ST;
-    /// \brief EnsureUpperBound -- expression UB = min(UB, NumIterations).
+    /// EnsureUpperBound -- expression UB = min(UB, NumIterations).
     Expr *EUB;
-    /// \brief Update of LowerBound for statically scheduled 'omp for' loops.
+    /// Update of LowerBound for statically scheduled 'omp for' loops.
     Expr *NLB;
-    /// \brief Update of UpperBound for statically scheduled 'omp for' loops.
+    /// Update of UpperBound for statically scheduled 'omp for' loops.
     Expr *NUB;
-    /// \brief PreviousLowerBound - local variable passed to runtime in the
+    /// PreviousLowerBound - local variable passed to runtime in the
     /// enclosing schedule or null if that does not apply.
     Expr *PrevLB;
-    /// \brief PreviousUpperBound - local variable passed to runtime in the
+    /// PreviousUpperBound - local variable passed to runtime in the
     /// enclosing schedule or null if that does not apply.
     Expr *PrevUB;
-    /// \brief DistInc - increment expression for distribute loop when found
+    /// DistInc - increment expression for distribute loop when found
     /// combined with a further loop level (e.g. in 'distribute parallel for')
     /// expression IV = IV + ST
     Expr *DistInc;
-    /// \brief PrevEUB - expression similar to EUB but to be used when loop
+    /// PrevEUB - expression similar to EUB but to be used when loop
     /// scheduling uses PrevLB and PrevUB (e.g.  in 'distribute parallel for'
     /// when ensuring that the UB is either the calculated UB by the runtime or
     /// the end of the assigned distribute chunk)
     /// expression UB = min (UB, PrevUB)
     Expr *PrevEUB;
-    /// \brief Counters Loop counters.
+    /// Counters Loop counters.
     SmallVector<Expr *, 4> Counters;
-    /// \brief PrivateCounters Loop counters.
+    /// PrivateCounters Loop counters.
     SmallVector<Expr *, 4> PrivateCounters;
-    /// \brief Expressions for loop counters inits for CodeGen.
+    /// Expressions for loop counters inits for CodeGen.
     SmallVector<Expr *, 4> Inits;
-    /// \brief Expressions for loop counters update for CodeGen.
+    /// Expressions for loop counters update for CodeGen.
     SmallVector<Expr *, 4> Updates;
-    /// \brief Final loop counter values for GodeGen.
+    /// Final loop counter values for GodeGen.
     SmallVector<Expr *, 4> Finals;
     /// Init statement for all captured expressions.
     Stmt *PreInits;
@@ -702,7 +702,7 @@ public:
     /// Expressions used when combining OpenMP loop pragmas
     DistCombinedHelperExprs DistCombinedFields;
 
-    /// \brief Check if all the expressions are built (does not check the
+    /// Check if all the expressions are built (does not check the
     /// worksharing ones).
     bool builtAll() {
       return IterationVarRef != nullptr && LastIteration != nullptr &&
@@ -710,7 +710,7 @@ public:
              Cond != nullptr && Init != nullptr && Inc != nullptr;
     }
 
-    /// \brief Initialize all the fields to null.
+    /// Initialize all the fields to null.
     /// \param Size Number of elements in the counters/finals/updates arrays.
     void clear(unsigned Size) {
       IterationVarRef = nullptr;
@@ -755,7 +755,7 @@ public:
     }
   };
 
-  /// \brief Get number of collapsed loops.
+  /// Get number of collapsed loops.
   unsigned getCollapsedNumber() const { return CollapsedNum; }
 
   Expr *getIterationVariable() const {
@@ -991,7 +991,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp simd' directive.
+/// This represents '#pragma omp simd' directive.
 ///
 /// \code
 /// #pragma omp simd private(a,b) linear(i,j:s) reduction(+:c,d)
@@ -1002,7 +1002,7 @@ public:
 ///
 class OMPSimdDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1014,7 +1014,7 @@ class OMPSimdDirective : public OMPLoopD
       : OMPLoopDirective(this, OMPSimdDirectiveClass, OMPD_simd, StartLoc,
                          EndLoc, CollapsedNum, NumClauses) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -1025,7 +1025,7 @@ class OMPSimdDirective : public OMPLoopD
                          NumClauses) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1041,7 +1041,7 @@ public:
                                   Stmt *AssociatedStmt,
                                   const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -1056,7 +1056,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp for' directive.
+/// This represents '#pragma omp for' directive.
 ///
 /// \code
 /// #pragma omp for private(a,b) reduction(+:c,d)
@@ -1068,10 +1068,10 @@ public:
 class OMPForDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current directive has inner cancel directive.
+  /// true if current directive has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1084,7 +1084,7 @@ class OMPForDirective : public OMPLoopDi
                          CollapsedNum, NumClauses),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -1094,11 +1094,11 @@ class OMPForDirective : public OMPLoopDi
                          SourceLocation(), CollapsedNum, NumClauses),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1115,7 +1115,7 @@ public:
                                  Stmt *AssociatedStmt, const HelperExprs &Exprs,
                                  bool HasCancel);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -1125,7 +1125,7 @@ public:
   static OMPForDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses,
                                       unsigned CollapsedNum, EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1133,7 +1133,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp for simd' directive.
+/// This represents '#pragma omp for simd' directive.
 ///
 /// \code
 /// #pragma omp for simd private(a,b) linear(i,j:s) reduction(+:c,d)
@@ -1144,7 +1144,7 @@ public:
 ///
 class OMPForSimdDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1156,7 +1156,7 @@ class OMPForSimdDirective : public OMPLo
       : OMPLoopDirective(this, OMPForSimdDirectiveClass, OMPD_for_simd,
                          StartLoc, EndLoc, CollapsedNum, NumClauses) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -1167,7 +1167,7 @@ class OMPForSimdDirective : public OMPLo
                          NumClauses) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1182,7 +1182,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -1198,7 +1198,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp sections' directive.
+/// This represents '#pragma omp sections' directive.
 ///
 /// \code
 /// #pragma omp sections private(a,b) reduction(+:c,d)
@@ -1210,10 +1210,10 @@ public:
 class OMPSectionsDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current directive has inner cancel directive.
+  /// true if current directive has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1225,7 +1225,7 @@ class OMPSectionsDirective : public OMPE
                                StartLoc, EndLoc, NumClauses, 1),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -1235,11 +1235,11 @@ class OMPSectionsDirective : public OMPE
                                1),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1252,7 +1252,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -1261,7 +1261,7 @@ public:
   static OMPSectionsDirective *CreateEmpty(const ASTContext &C,
                                            unsigned NumClauses, EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1269,7 +1269,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp section' directive.
+/// This represents '#pragma omp section' directive.
 ///
 /// \code
 /// #pragma omp section
@@ -1278,10 +1278,10 @@ public:
 class OMPSectionDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current directive has inner cancel directive.
+  /// true if current directive has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1291,7 +1291,7 @@ class OMPSectionDirective : public OMPEx
                                StartLoc, EndLoc, 0, 1),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPSectionDirective()
       : OMPExecutableDirective(this, OMPSectionDirectiveClass, OMPD_section,
@@ -1299,7 +1299,7 @@ class OMPSectionDirective : public OMPEx
         HasCancel(false) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1312,16 +1312,16 @@ public:
                                      SourceLocation EndLoc,
                                      Stmt *AssociatedStmt, bool HasCancel);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
   static OMPSectionDirective *CreateEmpty(const ASTContext &C, EmptyShell);
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1329,7 +1329,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp single' directive.
+/// This represents '#pragma omp single' directive.
 ///
 /// \code
 /// #pragma omp single private(a,b) copyprivate(c,d)
@@ -1339,7 +1339,7 @@ public:
 ///
 class OMPSingleDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1350,7 +1350,7 @@ class OMPSingleDirective : public OMPExe
       : OMPExecutableDirective(this, OMPSingleDirectiveClass, OMPD_single,
                                StartLoc, EndLoc, NumClauses, 1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -1360,7 +1360,7 @@ class OMPSingleDirective : public OMPExe
                                1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1372,7 +1372,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -1386,7 +1386,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp master' directive.
+/// This represents '#pragma omp master' directive.
 ///
 /// \code
 /// #pragma omp master
@@ -1394,7 +1394,7 @@ public:
 ///
 class OMPMasterDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1403,14 +1403,14 @@ class OMPMasterDirective : public OMPExe
       : OMPExecutableDirective(this, OMPMasterDirectiveClass, OMPD_master,
                                StartLoc, EndLoc, 0, 1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPMasterDirective()
       : OMPExecutableDirective(this, OMPMasterDirectiveClass, OMPD_master,
                                SourceLocation(), SourceLocation(), 0, 1) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1422,7 +1422,7 @@ public:
                                     SourceLocation EndLoc,
                                     Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
@@ -1433,7 +1433,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp critical' directive.
+/// This represents '#pragma omp critical' directive.
 ///
 /// \code
 /// #pragma omp critical
@@ -1441,9 +1441,9 @@ public:
 ///
 class OMPCriticalDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Name of the directive.
+  /// Name of the directive.
   DeclarationNameInfo DirName;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param Name Name of the directive.
   /// \param StartLoc Starting location of the directive kind.
@@ -1456,7 +1456,7 @@ class OMPCriticalDirective : public OMPE
                                StartLoc, EndLoc, NumClauses, 1),
         DirName(Name) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -1466,14 +1466,14 @@ class OMPCriticalDirective : public OMPE
                                1),
         DirName() {}
 
-  /// \brief Set name of the directive.
+  /// Set name of the directive.
   ///
   /// \param Name Name of the directive.
   ///
   void setDirectiveName(const DeclarationNameInfo &Name) { DirName = Name; }
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param Name Name of the directive.
@@ -1487,7 +1487,7 @@ public:
          SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   /// \param NumClauses Number of clauses.
@@ -1495,7 +1495,7 @@ public:
   static OMPCriticalDirective *CreateEmpty(const ASTContext &C,
                                            unsigned NumClauses, EmptyShell);
 
-  /// \brief Return name of the directive.
+  /// Return name of the directive.
   ///
   DeclarationNameInfo getDirectiveName() const { return DirName; }
 
@@ -1504,7 +1504,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp parallel for' directive.
+/// This represents '#pragma omp parallel for' directive.
 ///
 /// \code
 /// #pragma omp parallel for private(a,b) reduction(+:c,d)
@@ -1516,10 +1516,10 @@ public:
 class OMPParallelForDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current region has inner cancel directive.
+  /// true if current region has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1532,7 +1532,7 @@ class OMPParallelForDirective : public O
                          StartLoc, EndLoc, CollapsedNum, NumClauses),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -1543,11 +1543,11 @@ class OMPParallelForDirective : public O
                          NumClauses),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1563,7 +1563,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -1575,7 +1575,7 @@ public:
                                               unsigned CollapsedNum,
                                               EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1583,7 +1583,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp parallel for simd' directive.
+/// This represents '#pragma omp parallel for simd' directive.
 ///
 /// \code
 /// #pragma omp parallel for simd private(a,b) linear(i,j:s) reduction(+:c,d)
@@ -1595,7 +1595,7 @@ public:
 ///
 class OMPParallelForSimdDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1608,7 +1608,7 @@ class OMPParallelForSimdDirective : publ
                          OMPD_parallel_for_simd, StartLoc, EndLoc, CollapsedNum,
                          NumClauses) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -1620,7 +1620,7 @@ class OMPParallelForSimdDirective : publ
                          SourceLocation(), CollapsedNum, NumClauses) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1635,7 +1635,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -1652,7 +1652,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp parallel sections' directive.
+/// This represents '#pragma omp parallel sections' directive.
 ///
 /// \code
 /// #pragma omp parallel sections private(a,b) reduction(+:c,d)
@@ -1664,10 +1664,10 @@ public:
 class OMPParallelSectionsDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current directive has inner cancel directive.
+  /// true if current directive has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1680,7 +1680,7 @@ class OMPParallelSectionsDirective : pub
                                NumClauses, 1),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -1690,11 +1690,11 @@ class OMPParallelSectionsDirective : pub
                                SourceLocation(), NumClauses, 1),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1707,7 +1707,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -1716,7 +1716,7 @@ public:
   static OMPParallelSectionsDirective *
   CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1724,7 +1724,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp task' directive.
+/// This represents '#pragma omp task' directive.
 ///
 /// \code
 /// #pragma omp task private(a,b) final(d)
@@ -1734,10 +1734,10 @@ public:
 ///
 class OMPTaskDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief true if this directive has inner cancel directive.
+  /// true if this directive has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1749,7 +1749,7 @@ class OMPTaskDirective : public OMPExecu
                                EndLoc, NumClauses, 1),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -1759,11 +1759,11 @@ class OMPTaskDirective : public OMPExecu
                                1),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1777,7 +1777,7 @@ public:
                                   ArrayRef<OMPClause *> Clauses,
                                   Stmt *AssociatedStmt, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -1786,7 +1786,7 @@ public:
   static OMPTaskDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses,
                                        EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -1794,7 +1794,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp taskyield' directive.
+/// This represents '#pragma omp taskyield' directive.
 ///
 /// \code
 /// #pragma omp taskyield
@@ -1802,7 +1802,7 @@ public:
 ///
 class OMPTaskyieldDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1811,14 +1811,14 @@ class OMPTaskyieldDirective : public OMP
       : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, OMPD_taskyield,
                                StartLoc, EndLoc, 0, 0) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPTaskyieldDirective()
       : OMPExecutableDirective(this, OMPTaskyieldDirectiveClass, OMPD_taskyield,
                                SourceLocation(), SourceLocation(), 0, 0) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1827,7 +1827,7 @@ public:
   static OMPTaskyieldDirective *
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
@@ -1838,7 +1838,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp barrier' directive.
+/// This represents '#pragma omp barrier' directive.
 ///
 /// \code
 /// #pragma omp barrier
@@ -1846,7 +1846,7 @@ public:
 ///
 class OMPBarrierDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1855,14 +1855,14 @@ class OMPBarrierDirective : public OMPEx
       : OMPExecutableDirective(this, OMPBarrierDirectiveClass, OMPD_barrier,
                                StartLoc, EndLoc, 0, 0) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPBarrierDirective()
       : OMPExecutableDirective(this, OMPBarrierDirectiveClass, OMPD_barrier,
                                SourceLocation(), SourceLocation(), 0, 0) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1871,7 +1871,7 @@ public:
   static OMPBarrierDirective *
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
@@ -1882,7 +1882,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp taskwait' directive.
+/// This represents '#pragma omp taskwait' directive.
 ///
 /// \code
 /// #pragma omp taskwait
@@ -1890,7 +1890,7 @@ public:
 ///
 class OMPTaskwaitDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -1899,14 +1899,14 @@ class OMPTaskwaitDirective : public OMPE
       : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, OMPD_taskwait,
                                StartLoc, EndLoc, 0, 0) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPTaskwaitDirective()
       : OMPExecutableDirective(this, OMPTaskwaitDirectiveClass, OMPD_taskwait,
                                SourceLocation(), SourceLocation(), 0, 0) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -1915,7 +1915,7 @@ public:
   static OMPTaskwaitDirective *
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
@@ -1995,7 +1995,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp flush' directive.
+/// This represents '#pragma omp flush' directive.
 ///
 /// \code
 /// #pragma omp flush(a,b)
@@ -2007,7 +2007,7 @@ public:
 /// FlushClause.
 class OMPFlushDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2018,7 +2018,7 @@ class OMPFlushDirective : public OMPExec
       : OMPExecutableDirective(this, OMPFlushDirectiveClass, OMPD_flush,
                                StartLoc, EndLoc, NumClauses, 0) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2028,7 +2028,7 @@ class OMPFlushDirective : public OMPExec
                                0) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2040,7 +2040,7 @@ public:
                                    SourceLocation EndLoc,
                                    ArrayRef<OMPClause *> Clauses);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -2054,7 +2054,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp ordered' directive.
+/// This represents '#pragma omp ordered' directive.
 ///
 /// \code
 /// #pragma omp ordered
@@ -2062,7 +2062,7 @@ public:
 ///
 class OMPOrderedDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2073,7 +2073,7 @@ class OMPOrderedDirective : public OMPEx
       : OMPExecutableDirective(this, OMPOrderedDirectiveClass, OMPD_ordered,
                                StartLoc, EndLoc, NumClauses, 1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2083,7 +2083,7 @@ class OMPOrderedDirective : public OMPEx
                                1) {}
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2095,7 +2095,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   /// \param NumClauses Number of clauses.
@@ -2108,7 +2108,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp atomic' directive.
+/// This represents '#pragma omp atomic' directive.
 ///
 /// \code
 /// #pragma omp atomic capture
@@ -2117,7 +2117,7 @@ public:
 ///
 class OMPAtomicDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Used for 'atomic update' or 'atomic capture' constructs. They may
+  /// Used for 'atomic update' or 'atomic capture' constructs. They may
   /// have atomic expressions of forms
   /// \code
   /// x = x binop expr;
@@ -2127,7 +2127,7 @@ class OMPAtomicDirective : public OMPExe
   /// second. Required for correct codegen of non-associative operations (like
   /// << or >>).
   bool IsXLHSInRHSPart;
-  /// \brief Used for 'atomic update' or 'atomic capture' constructs. They may
+  /// Used for 'atomic update' or 'atomic capture' constructs. They may
   /// have atomic expressions of forms
   /// \code
   /// v = x; <update x>;
@@ -2137,7 +2137,7 @@ class OMPAtomicDirective : public OMPExe
   /// otherwise.
   bool IsPostfixUpdate;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2149,7 +2149,7 @@ class OMPAtomicDirective : public OMPExe
                                StartLoc, EndLoc, NumClauses, 5),
         IsXLHSInRHSPart(false), IsPostfixUpdate(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2159,19 +2159,19 @@ class OMPAtomicDirective : public OMPExe
                                5),
         IsXLHSInRHSPart(false), IsPostfixUpdate(false) {}
 
-  /// \brief Set 'x' part of the associated expression/statement.
+  /// Set 'x' part of the associated expression/statement.
   void setX(Expr *X) { *std::next(child_begin()) = X; }
-  /// \brief Set helper expression of the form
+  /// Set helper expression of the form
   /// 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or
   /// 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
   void setUpdateExpr(Expr *UE) { *std::next(child_begin(), 2) = UE; }
-  /// \brief Set 'v' part of the associated expression/statement.
+  /// Set 'v' part of the associated expression/statement.
   void setV(Expr *V) { *std::next(child_begin(), 3) = V; }
-  /// \brief Set 'expr' part of the associated expression/statement.
+  /// Set 'expr' part of the associated expression/statement.
   void setExpr(Expr *E) { *std::next(child_begin(), 4) = E; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses and 'x', 'v' and 'expr'
+  /// Creates directive with a list of \a Clauses and 'x', 'v' and 'expr'
   /// parts of the atomic construct (see Section 2.12.6, atomic Construct, for
   /// detailed description of 'x', 'v' and 'expr').
   ///
@@ -2195,7 +2195,7 @@ public:
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *X, Expr *V,
          Expr *E, Expr *UE, bool IsXLHSInRHSPart, bool IsPostfixUpdate);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -2204,12 +2204,12 @@ public:
   static OMPAtomicDirective *CreateEmpty(const ASTContext &C,
                                          unsigned NumClauses, EmptyShell);
 
-  /// \brief Get 'x' part of the associated expression/statement.
+  /// Get 'x' part of the associated expression/statement.
   Expr *getX() { return cast_or_null<Expr>(*std::next(child_begin())); }
   const Expr *getX() const {
     return cast_or_null<Expr>(*std::next(child_begin()));
   }
-  /// \brief Get helper expression of the form
+  /// Get helper expression of the form
   /// 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or
   /// 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
   Expr *getUpdateExpr() {
@@ -2218,19 +2218,19 @@ public:
   const Expr *getUpdateExpr() const {
     return cast_or_null<Expr>(*std::next(child_begin(), 2));
   }
-  /// \brief Return true if helper update expression has form
+  /// Return true if helper update expression has form
   /// 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' and false if it has form
   /// 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
   bool isXLHSInRHSPart() const { return IsXLHSInRHSPart; }
-  /// \brief Return true if 'v' expression must be updated to original value of
+  /// Return true if 'v' expression must be updated to original value of
   /// 'x', false if 'v' must be updated to the new value of 'x'.
   bool isPostfixUpdate() const { return IsPostfixUpdate; }
-  /// \brief Get 'v' part of the associated expression/statement.
+  /// Get 'v' part of the associated expression/statement.
   Expr *getV() { return cast_or_null<Expr>(*std::next(child_begin(), 3)); }
   const Expr *getV() const {
     return cast_or_null<Expr>(*std::next(child_begin(), 3));
   }
-  /// \brief Get 'expr' part of the associated expression/statement.
+  /// Get 'expr' part of the associated expression/statement.
   Expr *getExpr() { return cast_or_null<Expr>(*std::next(child_begin(), 4)); }
   const Expr *getExpr() const {
     return cast_or_null<Expr>(*std::next(child_begin(), 4));
@@ -2241,7 +2241,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target' directive.
+/// This represents '#pragma omp target' directive.
 ///
 /// \code
 /// #pragma omp target if(a)
@@ -2251,7 +2251,7 @@ public:
 ///
 class OMPTargetDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2262,7 +2262,7 @@ class OMPTargetDirective : public OMPExe
       : OMPExecutableDirective(this, OMPTargetDirectiveClass, OMPD_target,
                                StartLoc, EndLoc, NumClauses, 1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2272,7 +2272,7 @@ class OMPTargetDirective : public OMPExe
                                1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2284,7 +2284,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -2298,7 +2298,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target data' directive.
+/// This represents '#pragma omp target data' directive.
 ///
 /// \code
 /// #pragma omp target data device(0) if(a) map(b[:])
@@ -2309,7 +2309,7 @@ public:
 ///
 class OMPTargetDataDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending Location of the directive.
@@ -2321,7 +2321,7 @@ class OMPTargetDataDirective : public OM
                                OMPD_target_data, StartLoc, EndLoc, NumClauses,
                                1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2331,7 +2331,7 @@ class OMPTargetDataDirective : public OM
                                SourceLocation(), NumClauses, 1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2343,7 +2343,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a N clauses.
+  /// Creates an empty directive with the place for \a N clauses.
   ///
   /// \param C AST context.
   /// \param N The number of clauses.
@@ -2356,7 +2356,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target enter data' directive.
+/// This represents '#pragma omp target enter data' directive.
 ///
 /// \code
 /// #pragma omp target enter data device(0) if(a) map(b[:])
@@ -2367,7 +2367,7 @@ public:
 ///
 class OMPTargetEnterDataDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending Location of the directive.
@@ -2379,7 +2379,7 @@ class OMPTargetEnterDataDirective : publ
                                OMPD_target_enter_data, StartLoc, EndLoc,
                                NumClauses, /*NumChildren=*/1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2390,7 +2390,7 @@ class OMPTargetEnterDataDirective : publ
                                /*NumChildren=*/1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2402,7 +2402,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a N clauses.
+  /// Creates an empty directive with the place for \a N clauses.
   ///
   /// \param C AST context.
   /// \param N The number of clauses.
@@ -2415,7 +2415,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target exit data' directive.
+/// This represents '#pragma omp target exit data' directive.
 ///
 /// \code
 /// #pragma omp target exit data device(0) if(a) map(b[:])
@@ -2426,7 +2426,7 @@ public:
 ///
 class OMPTargetExitDataDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending Location of the directive.
@@ -2438,7 +2438,7 @@ class OMPTargetExitDataDirective : publi
                                OMPD_target_exit_data, StartLoc, EndLoc,
                                NumClauses, /*NumChildren=*/1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2449,7 +2449,7 @@ class OMPTargetExitDataDirective : publi
                                /*NumChildren=*/1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2461,7 +2461,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a N clauses.
+  /// Creates an empty directive with the place for \a N clauses.
   ///
   /// \param C AST context.
   /// \param N The number of clauses.
@@ -2474,7 +2474,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target parallel' directive.
+/// This represents '#pragma omp target parallel' directive.
 ///
 /// \code
 /// #pragma omp target parallel if(a)
@@ -2484,7 +2484,7 @@ public:
 ///
 class OMPTargetParallelDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2496,7 +2496,7 @@ class OMPTargetParallelDirective : publi
                                OMPD_target_parallel, StartLoc, EndLoc,
                                NumClauses, /*NumChildren=*/1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2507,7 +2507,7 @@ class OMPTargetParallelDirective : publi
                                /*NumChildren=*/1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2519,7 +2519,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -2533,7 +2533,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target parallel for' directive.
+/// This represents '#pragma omp target parallel for' directive.
 ///
 /// \code
 /// #pragma omp target parallel for private(a,b) reduction(+:c,d)
@@ -2545,10 +2545,10 @@ public:
 class OMPTargetParallelForDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
 
-  /// \brief true if current region has inner cancel directive.
+  /// true if current region has inner cancel directive.
   bool HasCancel;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2562,7 +2562,7 @@ class OMPTargetParallelForDirective : pu
                          CollapsedNum, NumClauses),
         HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -2574,11 +2574,11 @@ class OMPTargetParallelForDirective : pu
                          SourceLocation(), CollapsedNum, NumClauses),
         HasCancel(false) {}
 
-  /// \brief Set cancel state.
+  /// Set cancel state.
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2594,7 +2594,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -2606,7 +2606,7 @@ public:
                                                     unsigned CollapsedNum,
                                                     EmptyShell);
 
-  /// \brief Return true if current directive has inner cancel directive.
+  /// Return true if current directive has inner cancel directive.
   bool hasCancel() const { return HasCancel; }
 
   static bool classof(const Stmt *T) {
@@ -2614,7 +2614,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp teams' directive.
+/// This represents '#pragma omp teams' directive.
 ///
 /// \code
 /// #pragma omp teams if(a)
@@ -2624,7 +2624,7 @@ public:
 ///
 class OMPTeamsDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2635,7 +2635,7 @@ class OMPTeamsDirective : public OMPExec
       : OMPExecutableDirective(this, OMPTeamsDirectiveClass, OMPD_teams,
                                StartLoc, EndLoc, NumClauses, 1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -2645,7 +2645,7 @@ class OMPTeamsDirective : public OMPExec
                                1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2658,7 +2658,7 @@ public:
                                    ArrayRef<OMPClause *> Clauses,
                                    Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -2672,7 +2672,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp cancellation point' directive.
+/// This represents '#pragma omp cancellation point' directive.
 ///
 /// \code
 /// #pragma omp cancellation point for
@@ -2682,7 +2682,7 @@ public:
 class OMPCancellationPointDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
   OpenMPDirectiveKind CancelRegion;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2692,7 +2692,7 @@ class OMPCancellationPointDirective : pu
                                OMPD_cancellation_point, StartLoc, EndLoc, 0, 0),
         CancelRegion(OMPD_unknown) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   explicit OMPCancellationPointDirective()
       : OMPExecutableDirective(this, OMPCancellationPointDirectiveClass,
@@ -2700,12 +2700,12 @@ class OMPCancellationPointDirective : pu
                                SourceLocation(), 0, 0),
         CancelRegion(OMPD_unknown) {}
 
-  /// \brief Set cancel region for current cancellation point.
+  /// Set cancel region for current cancellation point.
   /// \param CR Cancellation region.
   void setCancelRegion(OpenMPDirectiveKind CR) { CancelRegion = CR; }
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2715,14 +2715,14 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          OpenMPDirectiveKind CancelRegion);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   ///
   static OMPCancellationPointDirective *CreateEmpty(const ASTContext &C,
                                                     EmptyShell);
 
-  /// \brief Get cancellation region for the current cancellation point.
+  /// Get cancellation region for the current cancellation point.
   OpenMPDirectiveKind getCancelRegion() const { return CancelRegion; }
 
   static bool classof(const Stmt *T) {
@@ -2730,7 +2730,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp cancel' directive.
+/// This represents '#pragma omp cancel' directive.
 ///
 /// \code
 /// #pragma omp cancel for
@@ -2740,7 +2740,7 @@ public:
 class OMPCancelDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
   OpenMPDirectiveKind CancelRegion;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2752,7 +2752,7 @@ class OMPCancelDirective : public OMPExe
                                StartLoc, EndLoc, NumClauses, 0),
         CancelRegion(OMPD_unknown) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   explicit OMPCancelDirective(unsigned NumClauses)
@@ -2761,12 +2761,12 @@ class OMPCancelDirective : public OMPExe
                                0),
         CancelRegion(OMPD_unknown) {}
 
-  /// \brief Set cancel region for current cancellation point.
+  /// Set cancel region for current cancellation point.
   /// \param CR Cancellation region.
   void setCancelRegion(OpenMPDirectiveKind CR) { CancelRegion = CR; }
 
 public:
-  /// \brief Creates directive.
+  /// Creates directive.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2777,7 +2777,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, OpenMPDirectiveKind CancelRegion);
 
-  /// \brief Creates an empty directive.
+  /// Creates an empty directive.
   ///
   /// \param C AST context.
   /// \param NumClauses Number of clauses.
@@ -2785,7 +2785,7 @@ public:
   static OMPCancelDirective *CreateEmpty(const ASTContext &C,
                                          unsigned NumClauses, EmptyShell);
 
-  /// \brief Get cancellation region for the current cancellation point.
+  /// Get cancellation region for the current cancellation point.
   OpenMPDirectiveKind getCancelRegion() const { return CancelRegion; }
 
   static bool classof(const Stmt *T) {
@@ -2793,7 +2793,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp taskloop' directive.
+/// This represents '#pragma omp taskloop' directive.
 ///
 /// \code
 /// #pragma omp taskloop private(a,b) grainsize(val) num_tasks(num)
@@ -2804,7 +2804,7 @@ public:
 ///
 class OMPTaskLoopDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2816,7 +2816,7 @@ class OMPTaskLoopDirective : public OMPL
       : OMPLoopDirective(this, OMPTaskLoopDirectiveClass, OMPD_taskloop,
                          StartLoc, EndLoc, CollapsedNum, NumClauses) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -2827,7 +2827,7 @@ class OMPTaskLoopDirective : public OMPL
                          NumClauses) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2842,7 +2842,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -2858,7 +2858,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp taskloop simd' directive.
+/// This represents '#pragma omp taskloop simd' directive.
 ///
 /// \code
 /// #pragma omp taskloop simd private(a,b) grainsize(val) num_tasks(num)
@@ -2869,7 +2869,7 @@ public:
 ///
 class OMPTaskLoopSimdDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2882,7 +2882,7 @@ class OMPTaskLoopSimdDirective : public
                          OMPD_taskloop_simd, StartLoc, EndLoc, CollapsedNum,
                          NumClauses) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -2893,7 +2893,7 @@ class OMPTaskLoopSimdDirective : public
                          CollapsedNum, NumClauses) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2908,7 +2908,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -2925,7 +2925,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp distribute' directive.
+/// This represents '#pragma omp distribute' directive.
 ///
 /// \code
 /// #pragma omp distribute private(a,b)
@@ -2936,7 +2936,7 @@ public:
 class OMPDistributeDirective : public OMPLoopDirective {
   friend class ASTStmtReader;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -2949,7 +2949,7 @@ class OMPDistributeDirective : public OM
                          StartLoc, EndLoc, CollapsedNum, NumClauses)
         {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -2961,7 +2961,7 @@ class OMPDistributeDirective : public OM
         {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -2976,7 +2976,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.
@@ -2992,7 +2992,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp target update' directive.
+/// This represents '#pragma omp target update' directive.
 ///
 /// \code
 /// #pragma omp target update to(a) from(b) device(1)
@@ -3003,7 +3003,7 @@ public:
 ///
 class OMPTargetUpdateDirective : public OMPExecutableDirective {
   friend class ASTStmtReader;
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending Location of the directive.
@@ -3015,7 +3015,7 @@ class OMPTargetUpdateDirective : public
                                OMPD_target_update, StartLoc, EndLoc, NumClauses,
                                1) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param NumClauses Number of clauses.
   ///
@@ -3025,7 +3025,7 @@ class OMPTargetUpdateDirective : public
                                SourceLocation(), NumClauses, 1) {}
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -3037,7 +3037,7 @@ public:
   Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
          ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);
 
-  /// \brief Creates an empty directive with the place for \a NumClauses
+  /// Creates an empty directive with the place for \a NumClauses
   /// clauses.
   ///
   /// \param C AST context.
@@ -3051,7 +3051,7 @@ public:
   }
 };
 
-/// \brief This represents '#pragma omp distribute parallel for' composite
+/// This represents '#pragma omp distribute parallel for' composite
 ///  directive.
 ///
 /// \code
@@ -3065,7 +3065,7 @@ class OMPDistributeParallelForDirective
   /// true if the construct has inner cancel directive.
   bool HasCancel = false;
 
-  /// \brief Build directive with the given start and end location.
+  /// Build directive with the given start and end location.
   ///
   /// \param StartLoc Starting location of the directive kind.
   /// \param EndLoc Ending location of the directive.
@@ -3079,7 +3079,7 @@ class OMPDistributeParallelForDirective
                          OMPD_distribute_parallel_for, StartLoc, EndLoc,
                          CollapsedNum, NumClauses), HasCancel(false) {}
 
-  /// \brief Build an empty directive.
+  /// Build an empty directive.
   ///
   /// \param CollapsedNum Number of collapsed nested loops.
   /// \param NumClauses Number of clauses.
@@ -3095,7 +3095,7 @@ class OMPDistributeParallelForDirective
   void setHasCancel(bool Has) { HasCancel = Has; }
 
 public:
-  /// \brief Creates directive with a list of \a Clauses.
+  /// Creates directive with a list of \a Clauses.
   ///
   /// \param C AST context.
   /// \param StartLoc Starting location of the directive kind.
@@ -3111,7 +3111,7 @@ public:
          unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses,
          Stmt *AssociatedStmt, const HelperExprs &Exprs, bool HasCancel);
 
-  /// \brief Creates an empty directive with the place
+  /// Creates an empty directive with the place
   /// for \a NumClauses clauses.
   ///
   /// \param C AST context.

Modified: cfe/trunk/include/clang/AST/StmtVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/StmtVisitor.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/StmtVisitor.h (original)
+++ cfe/trunk/include/clang/AST/StmtVisitor.h Tue May  8 18:00:01 2018
@@ -195,7 +195,7 @@ template<typename ImplClass, typename Re
 class ConstStmtVisitor
  : public StmtVisitorBase<make_const_ptr, ImplClass, RetTy, ParamTys...> {};
 
-/// \brief This class implements a simple visitor for OMPClause
+/// This class implements a simple visitor for OMPClause
 /// subclasses.
 template<class ImplClass, template <typename> class Ptr, typename RetTy>
 class OMPClauseVisitorBase {

Modified: cfe/trunk/include/clang/AST/TemplateBase.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TemplateBase.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/TemplateBase.h (original)
+++ cfe/trunk/include/clang/AST/TemplateBase.h Tue May  8 18:00:01 2018
@@ -47,12 +47,12 @@ struct PrintingPolicy;
 class TypeSourceInfo;
 class ValueDecl;
 
-/// \brief Represents a template argument.
+/// Represents a template argument.
 class TemplateArgument {
 public:
-  /// \brief The kind of template argument we're storing.
+  /// The kind of template argument we're storing.
   enum ArgKind {
-    /// \brief Represents an empty template argument, e.g., one that has not
+    /// Represents an empty template argument, e.g., one that has not
     /// been deduced.
     Null = 0,
 
@@ -92,7 +92,7 @@ public:
   };
 
 private:
-  /// \brief The kind of template argument we're storing.
+  /// The kind of template argument we're storing.
 
   struct DA {
     unsigned Kind;
@@ -138,16 +138,16 @@ private:
   };
 
 public:
-  /// \brief Construct an empty, invalid template argument.
+  /// Construct an empty, invalid template argument.
   constexpr TemplateArgument() : TypeOrValue({Null, 0}) {}
 
-  /// \brief Construct a template type argument.
+  /// Construct a template type argument.
   TemplateArgument(QualType T, bool isNullPtr = false) {
     TypeOrValue.Kind = isNullPtr ? NullPtr : Type;
     TypeOrValue.V = reinterpret_cast<uintptr_t>(T.getAsOpaquePtr());
   }
 
-  /// \brief Construct a template argument that refers to a
+  /// Construct a template argument that refers to a
   /// declaration, which is either an external declaration or a
   /// template declaration.
   TemplateArgument(ValueDecl *D, QualType QT) {
@@ -157,18 +157,18 @@ public:
     DeclArg.D = D;
   }
 
-  /// \brief Construct an integral constant template argument. The memory to
+  /// Construct an integral constant template argument. The memory to
   /// store the value is allocated with Ctx.
   TemplateArgument(ASTContext &Ctx, const llvm::APSInt &Value, QualType Type);
 
-  /// \brief Construct an integral constant template argument with the same
+  /// Construct an integral constant template argument with the same
   /// value as Other but a different type.
   TemplateArgument(const TemplateArgument &Other, QualType Type) {
     Integer = Other.Integer;
     Integer.Type = Type.getAsOpaquePtr();
   }
 
-  /// \brief Construct a template argument that is a template.
+  /// Construct a template argument that is a template.
   ///
   /// This form of template argument is generally used for template template
   /// parameters. However, the template name could be a dependent template
@@ -182,7 +182,7 @@ public:
     TemplateArg.NumExpansions = 0;
   }
 
-  /// \brief Construct a template argument that is a template pack expansion.
+  /// Construct a template argument that is a template pack expansion.
   ///
   /// This form of template argument is generally used for template template
   /// parameters. However, the template name could be a dependent template
@@ -202,7 +202,7 @@ public:
       TemplateArg.NumExpansions = 0;
   }
 
-  /// \brief Construct a template argument that is an expression.
+  /// Construct a template argument that is an expression.
   ///
   /// This form of template argument only occurs in template argument
   /// lists used for dependent types and for expression; it will not
@@ -212,7 +212,7 @@ public:
     TypeOrValue.V = reinterpret_cast<uintptr_t>(E);
   }
 
-  /// \brief Construct a template argument that is a template argument pack.
+  /// Construct a template argument that is a template argument pack.
   ///
   /// We assume that storage for the template arguments provided
   /// outlives the TemplateArgument itself.
@@ -226,40 +226,40 @@ public:
 
   static TemplateArgument getEmptyPack() { return TemplateArgument(None); }
 
-  /// \brief Create a new template argument pack by copying the given set of
+  /// Create a new template argument pack by copying the given set of
   /// template arguments.
   static TemplateArgument CreatePackCopy(ASTContext &Context,
                                          ArrayRef<TemplateArgument> Args);
 
-  /// \brief Return the kind of stored template argument.
+  /// Return the kind of stored template argument.
   ArgKind getKind() const { return (ArgKind)TypeOrValue.Kind; }
 
-  /// \brief Determine whether this template argument has no value.
+  /// Determine whether this template argument has no value.
   bool isNull() const { return getKind() == Null; }
 
-  /// \brief Whether this template argument is dependent on a template
+  /// Whether this template argument is dependent on a template
   /// parameter such that its result can change from one instantiation to
   /// another.
   bool isDependent() const;
 
-  /// \brief Whether this template argument is dependent on a template
+  /// Whether this template argument is dependent on a template
   /// parameter.
   bool isInstantiationDependent() const;
 
-  /// \brief Whether this template argument contains an unexpanded
+  /// Whether this template argument contains an unexpanded
   /// parameter pack.
   bool containsUnexpandedParameterPack() const;
 
-  /// \brief Determine whether this template argument is a pack expansion.
+  /// Determine whether this template argument is a pack expansion.
   bool isPackExpansion() const;
   
-  /// \brief Retrieve the type for a type template argument.
+  /// Retrieve the type for a type template argument.
   QualType getAsType() const {
     assert(getKind() == Type && "Unexpected kind");
     return QualType::getFromOpaquePtr(reinterpret_cast<void*>(TypeOrValue.V));
   }
 
-  /// \brief Retrieve the declaration for a declaration non-type
+  /// Retrieve the declaration for a declaration non-type
   /// template argument.
   ValueDecl *getAsDecl() const {
     assert(getKind() == Declaration && "Unexpected kind");
@@ -271,19 +271,19 @@ public:
     return QualType::getFromOpaquePtr(DeclArg.QT);
   }
 
-  /// \brief Retrieve the type for null non-type template argument.
+  /// Retrieve the type for null non-type template argument.
   QualType getNullPtrType() const {
     assert(getKind() == NullPtr && "Unexpected kind");
     return QualType::getFromOpaquePtr(reinterpret_cast<void*>(TypeOrValue.V));
   }
 
-  /// \brief Retrieve the template name for a template name argument.
+  /// Retrieve the template name for a template name argument.
   TemplateName getAsTemplate() const {
     assert(getKind() == Template && "Unexpected kind");
     return TemplateName::getFromVoidPointer(TemplateArg.Name);
   }
 
-  /// \brief Retrieve the template argument as a template name; if the argument
+  /// Retrieve the template argument as a template name; if the argument
   /// is a pack expansion, return the pattern as a template name.
   TemplateName getAsTemplateOrTemplatePattern() const {
     assert((getKind() == Template || getKind() == TemplateExpansion) &&
@@ -292,11 +292,11 @@ public:
     return TemplateName::getFromVoidPointer(TemplateArg.Name);
   }
 
-  /// \brief Retrieve the number of expansions that a template template argument
+  /// Retrieve the number of expansions that a template template argument
   /// expansion will produce, if known.
   Optional<unsigned> getNumTemplateExpansions() const;
   
-  /// \brief Retrieve the template argument as an integral value.
+  /// Retrieve the template argument as an integral value.
   // FIXME: Provide a way to read the integral data without copying the value.
   llvm::APSInt getAsIntegral() const {
     assert(getKind() == Integral && "Unexpected kind");
@@ -311,7 +311,7 @@ public:
                   Integer.IsUnsigned);
   }
 
-  /// \brief Retrieve the type of the integral value.
+  /// Retrieve the type of the integral value.
   QualType getIntegralType() const {
     assert(getKind() == Integral && "Unexpected kind");
     return QualType::getFromOpaquePtr(Integer.Type);
@@ -322,70 +322,70 @@ public:
     Integer.Type = T.getAsOpaquePtr();
   }
 
-  /// \brief If this is a non-type template argument, get its type. Otherwise,
+  /// If this is a non-type template argument, get its type. Otherwise,
   /// returns a null QualType.
   QualType getNonTypeTemplateArgumentType() const;
 
-  /// \brief Retrieve the template argument as an expression.
+  /// Retrieve the template argument as an expression.
   Expr *getAsExpr() const {
     assert(getKind() == Expression && "Unexpected kind");
     return reinterpret_cast<Expr *>(TypeOrValue.V);
   }
 
-  /// \brief Iterator that traverses the elements of a template argument pack.
+  /// Iterator that traverses the elements of a template argument pack.
   using pack_iterator = const TemplateArgument *;
 
-  /// \brief Iterator referencing the first argument of a template argument
+  /// Iterator referencing the first argument of a template argument
   /// pack.
   pack_iterator pack_begin() const {
     assert(getKind() == Pack);
     return Args.Args;
   }
 
-  /// \brief Iterator referencing one past the last argument of a template
+  /// Iterator referencing one past the last argument of a template
   /// argument pack.
   pack_iterator pack_end() const {
     assert(getKind() == Pack);
     return Args.Args + Args.NumArgs;
   }
 
-  /// \brief Iterator range referencing all of the elements of a template
+  /// Iterator range referencing all of the elements of a template
   /// argument pack.
   ArrayRef<TemplateArgument> pack_elements() const {
     return llvm::makeArrayRef(pack_begin(), pack_end());
   }
 
-  /// \brief The number of template arguments in the given template argument
+  /// The number of template arguments in the given template argument
   /// pack.
   unsigned pack_size() const {
     assert(getKind() == Pack);
     return Args.NumArgs;
   }
 
-  /// \brief Return the array of arguments in this template argument pack.
+  /// Return the array of arguments in this template argument pack.
   ArrayRef<TemplateArgument> getPackAsArray() const {
     assert(getKind() == Pack);
     return llvm::makeArrayRef(Args.Args, Args.NumArgs);
   }
 
-  /// \brief Determines whether two template arguments are superficially the
+  /// Determines whether two template arguments are superficially the
   /// same.
   bool structurallyEquals(const TemplateArgument &Other) const;
 
-  /// \brief When the template argument is a pack expansion, returns
+  /// When the template argument is a pack expansion, returns
   /// the pattern of the pack expansion.
   TemplateArgument getPackExpansionPattern() const;
 
-  /// \brief Print this template argument to the given output stream.
+  /// Print this template argument to the given output stream.
   void print(const PrintingPolicy &Policy, raw_ostream &Out) const;
              
-  /// \brief Debugging aid that dumps the template argument.
+  /// Debugging aid that dumps the template argument.
   void dump(raw_ostream &Out) const;
 
-  /// \brief Debugging aid that dumps the template argument to standard error.
+  /// Debugging aid that dumps the template argument to standard error.
   void dump() const;
              
-  /// \brief Used to insert TemplateArguments into FoldingSets.
+  /// Used to insert TemplateArguments into FoldingSets.
   void Profile(llvm::FoldingSetNodeID &ID, const ASTContext &Context) const;
 };
 
@@ -478,7 +478,7 @@ public:
            Argument.getKind() == TemplateArgument::TemplateExpansion);
   }
   
-  /// \brief - Fetches the primary location of the argument.
+  /// - Fetches the primary location of the argument.
   SourceLocation getLocation() const {
     if (Argument.getKind() == TemplateArgument::Template ||
         Argument.getKind() == TemplateArgument::TemplateExpansion)
@@ -487,7 +487,7 @@ public:
     return getSourceRange().getBegin();
   }
 
-  /// \brief - Fetches the full source range of the argument.
+  /// - Fetches the full source range of the argument.
   SourceRange getSourceRange() const LLVM_READONLY;
 
   const TemplateArgument &getArgument() const {
@@ -588,7 +588,7 @@ public:
   }
 };
 
-/// \brief Represents an explicit template argument list in C++, e.g.,
+/// Represents an explicit template argument list in C++, e.g.,
 /// the "<int>" in "sort<int>".
 /// This is safe to be used inside an AST node, in contrast with
 /// TemplateArgumentListInfo.
@@ -602,16 +602,16 @@ private:
   ASTTemplateArgumentListInfo(const TemplateArgumentListInfo &List);
 
 public:
-  /// \brief The source location of the left angle bracket ('<').
+  /// The source location of the left angle bracket ('<').
   SourceLocation LAngleLoc;
 
-  /// \brief The source location of the right angle bracket ('>').
+  /// The source location of the right angle bracket ('>').
   SourceLocation RAngleLoc;
 
-  /// \brief The number of template arguments in TemplateArgs.
+  /// The number of template arguments in TemplateArgs.
   unsigned NumTemplateArgs;
 
-  /// \brief Retrieve the template arguments
+  /// Retrieve the template arguments
   const TemplateArgumentLoc *getTemplateArgs() const {
     return getTrailingObjects<TemplateArgumentLoc>();
   }
@@ -628,7 +628,7 @@ public:
   Create(ASTContext &C, const TemplateArgumentListInfo &List);
 };
 
-/// \brief Represents an explicit template argument list in C++, e.g.,
+/// Represents an explicit template argument list in C++, e.g.,
 /// the "<int>" in "sort<int>".
 ///
 /// It is intended to be used as a trailing object on AST nodes, and
@@ -636,19 +636,19 @@ public:
 /// but expects the containing object to also provide storage for
 /// that.
 struct alignas(void *) ASTTemplateKWAndArgsInfo {
-  /// \brief The source location of the left angle bracket ('<').
+  /// The source location of the left angle bracket ('<').
   SourceLocation LAngleLoc;
 
-  /// \brief The source location of the right angle bracket ('>').
+  /// The source location of the right angle bracket ('>').
   SourceLocation RAngleLoc;
 
-  /// \brief The source location of the template keyword; this is used
+  /// The source location of the template keyword; this is used
   /// as part of the representation of qualified identifiers, such as
   /// S<T>::template apply<T>.  Will be empty if this expression does
   /// not have a template keyword.
   SourceLocation TemplateKWLoc;
 
-  /// \brief The number of template arguments in TemplateArgs.
+  /// The number of template arguments in TemplateArgs.
   unsigned NumTemplateArgs;
 
   void initializeFrom(SourceLocation TemplateKWLoc,

Modified: cfe/trunk/include/clang/AST/TemplateName.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TemplateName.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/TemplateName.h (original)
+++ cfe/trunk/include/clang/AST/TemplateName.h Tue May  8 18:00:01 2018
@@ -39,7 +39,7 @@ class TemplateArgument;
 class TemplateDecl;
 class TemplateTemplateParmDecl;
   
-/// \brief Implementation class used to describe either a set of overloaded
+/// Implementation class used to describe either a set of overloaded
 /// template names or an already-substituted template template parameter pack.
 class UncommonTemplateNameStorage {
 protected:
@@ -50,10 +50,10 @@ protected:
   };
 
   struct BitsTag {
-    /// \brief A Kind.
+    /// A Kind.
     unsigned Kind : 2;
     
-    /// \brief The number of stored templates or template arguments,
+    /// The number of stored templates or template arguments,
     /// depending on which subclass we have.
     unsigned Size : 30;
   };
@@ -90,7 +90,7 @@ public:
   }
 };
   
-/// \brief A structure for storing the information associated with an
+/// A structure for storing the information associated with an
 /// overloaded template name.
 class OverloadedTemplateStorage : public UncommonTemplateNameStorage {
   friend class ASTContext;
@@ -112,7 +112,7 @@ public:
   iterator end() const { return getStorage() + size(); }
 };
 
-/// \brief A structure for storing an already-substituted template template
+/// A structure for storing an already-substituted template template
 /// parameter pack.
 ///
 /// This kind of template names occurs when the parameter pack has been 
@@ -131,12 +131,12 @@ public:
       : UncommonTemplateNameStorage(SubstTemplateTemplateParmPack, Size),
         Parameter(Parameter), Arguments(Arguments) {}
   
-  /// \brief Retrieve the template template parameter pack being substituted.
+  /// Retrieve the template template parameter pack being substituted.
   TemplateTemplateParmDecl *getParameterPack() const {
     return Parameter;
   }
   
-  /// \brief Retrieve the template template argument pack with which this
+  /// Retrieve the template template argument pack with which this
   /// parameter was substituted.
   TemplateArgument getArgumentPack() const;
   
@@ -148,7 +148,7 @@ public:
                       const TemplateArgument &ArgPack);
 };
 
-/// \brief Represents a C++ template name within the type system.
+/// Represents a C++ template name within the type system.
 ///
 /// A C++ template name refers to a template within the C++ type
 /// system. In most cases, a template name is simply a reference to a
@@ -185,27 +185,27 @@ class TemplateName {
   explicit TemplateName(void *Ptr);
 
 public:
-  // \brief Kind of name that is actually stored.
+  // Kind of name that is actually stored.
   enum NameKind {
-    /// \brief A single template declaration.
+    /// A single template declaration.
     Template,
 
-    /// \brief A set of overloaded template declarations.
+    /// A set of overloaded template declarations.
     OverloadedTemplate,
 
-    /// \brief A qualified template name, where the qualification is kept 
+    /// A qualified template name, where the qualification is kept 
     /// to describe the source code as written.
     QualifiedTemplate,
 
-    /// \brief A dependent template name that has not been resolved to a 
+    /// A dependent template name that has not been resolved to a 
     /// template (or set of templates).
     DependentTemplate,
 
-    /// \brief A template template parameter that has been substituted
+    /// A template template parameter that has been substituted
     /// for some other template name.
     SubstTemplateTemplateParm,
 
-    /// \brief A template template parameter pack that has been substituted for 
+    /// A template template parameter pack that has been substituted for 
     /// a template template argument pack, but has not yet been expanded into
     /// individual arguments.
     SubstTemplateTemplateParmPack
@@ -219,13 +219,13 @@ public:
   explicit TemplateName(QualifiedTemplateName *Qual);
   explicit TemplateName(DependentTemplateName *Dep);
 
-  /// \brief Determine whether this template name is NULL.
+  /// Determine whether this template name is NULL.
   bool isNull() const;
   
-  // \brief Get the kind of name that is actually stored.
+  // Get the kind of name that is actually stored.
   NameKind getKind() const;
 
-  /// \brief Retrieve the underlying template declaration that
+  /// Retrieve the underlying template declaration that
   /// this template name refers to, if known.
   ///
   /// \returns The template declaration that this template name refers
@@ -234,7 +234,7 @@ public:
   /// set of function templates, returns NULL.
   TemplateDecl *getAsTemplateDecl() const;
 
-  /// \brief Retrieve the underlying, overloaded function template
+  /// Retrieve the underlying, overloaded function template
   // declarations that this template name refers to, if known.
   ///
   /// \returns The set of overloaded function templates that this template
@@ -243,14 +243,14 @@ public:
   /// refers to a single template, returns NULL.
   OverloadedTemplateStorage *getAsOverloadedTemplate() const;
 
-  /// \brief Retrieve the substituted template template parameter, if 
+  /// Retrieve the substituted template template parameter, if 
   /// known.
   ///
   /// \returns The storage for the substituted template template parameter,
   /// if known. Otherwise, returns NULL.
   SubstTemplateTemplateParmStorage *getAsSubstTemplateTemplateParm() const;
 
-  /// \brief Retrieve the substituted template template parameter pack, if 
+  /// Retrieve the substituted template template parameter pack, if 
   /// known.
   ///
   /// \returns The storage for the substituted template template parameter pack,
@@ -258,11 +258,11 @@ public:
   SubstTemplateTemplateParmPackStorage *
   getAsSubstTemplateTemplateParmPack() const;
 
-  /// \brief Retrieve the underlying qualified template name
+  /// Retrieve the underlying qualified template name
   /// structure, if any.
   QualifiedTemplateName *getAsQualifiedTemplateName() const;
 
-  /// \brief Retrieve the underlying dependent template name
+  /// Retrieve the underlying dependent template name
   /// structure, if any.
   DependentTemplateName *getAsDependentTemplateName() const;
 
@@ -273,18 +273,18 @@ public:
   /// the template, including any default template arguments.
   TemplateName getNameToSubstitute() const;
 
-  /// \brief Determines whether this is a dependent template name.
+  /// Determines whether this is a dependent template name.
   bool isDependent() const;
 
-  /// \brief Determines whether this is a template name that somehow
+  /// Determines whether this is a template name that somehow
   /// depends on a template parameter.
   bool isInstantiationDependent() const;
 
-  /// \brief Determines whether this template name contains an
+  /// Determines whether this template name contains an
   /// unexpanded parameter pack (for C++0x variadic templates).
   bool containsUnexpandedParameterPack() const;
 
-  /// \brief Print the template name.
+  /// Print the template name.
   ///
   /// \param OS the output stream to which the template name will be
   /// printed.
@@ -295,10 +295,10 @@ public:
   void print(raw_ostream &OS, const PrintingPolicy &Policy,
              bool SuppressNNS = false) const;
 
-  /// \brief Debugging aid that dumps the template name.
+  /// Debugging aid that dumps the template name.
   void dump(raw_ostream &OS) const;
 
-  /// \brief Debugging aid that dumps the template name to standard
+  /// Debugging aid that dumps the template name to standard
   /// error.
   void dump() const;
 
@@ -306,10 +306,10 @@ public:
     ID.AddPointer(Storage.getOpaqueValue());
   }
 
-  /// \brief Retrieve the template name as a void pointer.
+  /// Retrieve the template name as a void pointer.
   void *getAsVoidPointer() const { return Storage.getOpaqueValue(); }
 
-  /// \brief Build a template name from a void pointer.
+  /// Build a template name from a void pointer.
   static TemplateName getFromVoidPointer(void *Ptr) {
     return TemplateName(Ptr);
   }
@@ -320,7 +320,7 @@ public:
 const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
                                     TemplateName N);
 
-/// \brief A structure for storing the information associated with a
+/// A structure for storing the information associated with a
 /// substituted template template parameter.
 class SubstTemplateTemplateParmStorage
   : public UncommonTemplateNameStorage, public llvm::FoldingSetNode {
@@ -352,7 +352,7 @@ inline TemplateName TemplateName::getUnd
   return *this;
 }
 
-/// \brief Represents a template name that was expressed as a
+/// Represents a template name that was expressed as a
 /// qualified name.
 ///
 /// This kind of template name refers to a template name that was
@@ -366,7 +366,7 @@ inline TemplateName TemplateName::getUnd
 class QualifiedTemplateName : public llvm::FoldingSetNode {
   friend class ASTContext;
 
-  /// \brief The nested name specifier that qualifies the template name.
+  /// The nested name specifier that qualifies the template name.
   ///
   /// The bit is used to indicate whether the "template" keyword was
   /// present before the template name itself. Note that the
@@ -375,7 +375,7 @@ class QualifiedTemplateName : public llv
   /// this name with DependentTemplateName).
   llvm::PointerIntPair<NestedNameSpecifier *, 1> Qualifier;
 
-  /// \brief The template declaration or set of overloaded function templates
+  /// The template declaration or set of overloaded function templates
   /// that this qualified name refers to.
   TemplateDecl *Template;
 
@@ -384,18 +384,18 @@ class QualifiedTemplateName : public llv
       : Qualifier(NNS, TemplateKeyword? 1 : 0), Template(Template) {}
 
 public:
-  /// \brief Return the nested name specifier that qualifies this name.
+  /// Return the nested name specifier that qualifies this name.
   NestedNameSpecifier *getQualifier() const { return Qualifier.getPointer(); }
 
-  /// \brief Whether the template name was prefixed by the "template"
+  /// Whether the template name was prefixed by the "template"
   /// keyword.
   bool hasTemplateKeyword() const { return Qualifier.getInt(); }
 
-  /// \brief The template declaration that this qualified name refers
+  /// The template declaration that this qualified name refers
   /// to.
   TemplateDecl *getDecl() const { return Template; }
 
-  /// \brief The template declaration to which this qualified name
+  /// The template declaration to which this qualified name
   /// refers.
   TemplateDecl *getTemplateDecl() const { return Template; }
 
@@ -411,7 +411,7 @@ public:
   }
 };
 
-/// \brief Represents a dependent template name that cannot be
+/// Represents a dependent template name that cannot be
 /// resolved prior to template instantiation.
 ///
 /// This kind of template name refers to a dependent template name,
@@ -422,7 +422,7 @@ public:
 class DependentTemplateName : public llvm::FoldingSetNode {
   friend class ASTContext;
 
-  /// \brief The nested name specifier that qualifies the template
+  /// The nested name specifier that qualifies the template
   /// name.
   ///
   /// The bit stored in this qualifier describes whether the \c Name field
@@ -430,20 +430,20 @@ class DependentTemplateName : public llv
   /// overloaded operator kind (when set).
   llvm::PointerIntPair<NestedNameSpecifier *, 1, bool> Qualifier;
 
-  /// \brief The dependent template name.
+  /// The dependent template name.
   union {
-    /// \brief The identifier template name.
+    /// The identifier template name.
     ///
     /// Only valid when the bit on \c Qualifier is clear.
     const IdentifierInfo *Identifier;
     
-    /// \brief The overloaded operator name.
+    /// The overloaded operator name.
     ///
     /// Only valid when the bit on \c Qualifier is set.
     OverloadedOperatorKind Operator;
   };
 
-  /// \brief The canonical template name to which this dependent
+  /// The canonical template name to which this dependent
   /// template name refers.
   ///
   /// The canonical template name for a dependent template name is
@@ -474,23 +474,23 @@ class DependentTemplateName : public llv
          CanonicalTemplateName(Canon) {}
   
 public:
-  /// \brief Return the nested name specifier that qualifies this name.
+  /// Return the nested name specifier that qualifies this name.
   NestedNameSpecifier *getQualifier() const { return Qualifier.getPointer(); }
 
-  /// \brief Determine whether this template name refers to an identifier.
+  /// Determine whether this template name refers to an identifier.
   bool isIdentifier() const { return !Qualifier.getInt(); }
 
-  /// \brief Returns the identifier to which this template name refers.
+  /// Returns the identifier to which this template name refers.
   const IdentifierInfo *getIdentifier() const { 
     assert(isIdentifier() && "Template name isn't an identifier?");
     return Identifier;
   }
   
-  /// \brief Determine whether this template name refers to an overloaded
+  /// Determine whether this template name refers to an overloaded
   /// operator.
   bool isOverloadedOperator() const { return Qualifier.getInt(); }
   
-  /// \brief Return the overloaded operator to which this template name refers.
+  /// Return the overloaded operator to which this template name refers.
   OverloadedOperatorKind getOperator() const { 
     assert(isOverloadedOperator() &&
            "Template name isn't an overloaded operator?");
@@ -523,7 +523,7 @@ public:
 
 namespace llvm {
 
-/// \brief The clang::TemplateName class is effectively a pointer.
+/// The clang::TemplateName class is effectively a pointer.
 template<>
 struct PointerLikeTypeTraits<clang::TemplateName> {
   static inline void *getAsVoidPointer(clang::TemplateName TN) {

Modified: cfe/trunk/include/clang/AST/Type.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/Type.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/Type.h (original)
+++ cfe/trunk/include/clang/AST/Type.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief C Language Family Type Representation
+/// C Language Family Type Representation
 ///
 /// This file defines the clang::Type interface and subclasses, used to
 /// represent types for languages in the C family.
@@ -445,7 +445,7 @@ public:
     }
   }
 
-  /// \brief Remove the qualifiers from the given set from this set.
+  /// Remove the qualifiers from the given set from this set.
   void removeQualifiers(Qualifiers Q) {
     // If the other set doesn't have any non-boolean qualifiers, just
     // bit-and the inverse in.
@@ -508,7 +508,7 @@ public:
            (!other.hasUnaligned() || hasUnaligned());
   }
 
-  /// \brief Determines if these qualifiers compatibly include another set of
+  /// Determines if these qualifiers compatibly include another set of
   /// qualifiers from the narrow perspective of Objective-C ARC lifetime.
   ///
   /// One set of Objective-C lifetime qualifiers compatibly includes the other
@@ -528,7 +528,7 @@ public:
     return hasConst();
   }
 
-  /// \brief Determine whether this set of qualifiers is a strict superset of
+  /// Determine whether this set of qualifiers is a strict superset of
   /// another set of qualifiers, not considering qualifier compatibility.
   bool isStrictSupersetOf(Qualifiers Other) const;
 
@@ -554,7 +554,7 @@ public:
     return *this;
   }
 
-  /// \brief Compute the difference between two qualifier sets.
+  /// Compute the difference between two qualifier sets.
   friend Qualifiers operator-(Qualifiers L, Qualifiers R) {
     L -= R;
     return L;
@@ -719,69 +719,69 @@ public:
     return Value.getPointer().isNull();
   }
 
-  /// \brief Determine whether this particular QualType instance has the
+  /// Determine whether this particular QualType instance has the
   /// "const" qualifier set, without looking through typedefs that may have
   /// added "const" at a different level.
   bool isLocalConstQualified() const {
     return (getLocalFastQualifiers() & Qualifiers::Const);
   }
 
-  /// \brief Determine whether this type is const-qualified.
+  /// Determine whether this type is const-qualified.
   bool isConstQualified() const;
 
-  /// \brief Determine whether this particular QualType instance has the
+  /// Determine whether this particular QualType instance has the
   /// "restrict" qualifier set, without looking through typedefs that may have
   /// added "restrict" at a different level.
   bool isLocalRestrictQualified() const {
     return (getLocalFastQualifiers() & Qualifiers::Restrict);
   }
 
-  /// \brief Determine whether this type is restrict-qualified.
+  /// Determine whether this type is restrict-qualified.
   bool isRestrictQualified() const;
 
-  /// \brief Determine whether this particular QualType instance has the
+  /// Determine whether this particular QualType instance has the
   /// "volatile" qualifier set, without looking through typedefs that may have
   /// added "volatile" at a different level.
   bool isLocalVolatileQualified() const {
     return (getLocalFastQualifiers() & Qualifiers::Volatile);
   }
 
-  /// \brief Determine whether this type is volatile-qualified.
+  /// Determine whether this type is volatile-qualified.
   bool isVolatileQualified() const;
 
-  /// \brief Determine whether this particular QualType instance has any
+  /// Determine whether this particular QualType instance has any
   /// qualifiers, without looking through any typedefs that might add
   /// qualifiers at a different level.
   bool hasLocalQualifiers() const {
     return getLocalFastQualifiers() || hasLocalNonFastQualifiers();
   }
 
-  /// \brief Determine whether this type has any qualifiers.
+  /// Determine whether this type has any qualifiers.
   bool hasQualifiers() const;
 
-  /// \brief Determine whether this particular QualType instance has any
+  /// Determine whether this particular QualType instance has any
   /// "non-fast" qualifiers, e.g., those that are stored in an ExtQualType
   /// instance.
   bool hasLocalNonFastQualifiers() const {
     return Value.getPointer().is<const ExtQuals*>();
   }
 
-  /// \brief Retrieve the set of qualifiers local to this particular QualType
+  /// Retrieve the set of qualifiers local to this particular QualType
   /// instance, not including any qualifiers acquired through typedefs or
   /// other sugar.
   Qualifiers getLocalQualifiers() const;
 
-  /// \brief Retrieve the set of qualifiers applied to this type.
+  /// Retrieve the set of qualifiers applied to this type.
   Qualifiers getQualifiers() const;
 
-  /// \brief Retrieve the set of CVR (const-volatile-restrict) qualifiers
+  /// Retrieve the set of CVR (const-volatile-restrict) qualifiers
   /// local to this particular QualType instance, not including any qualifiers
   /// acquired through typedefs or other sugar.
   unsigned getLocalCVRQualifiers() const {
     return getLocalFastQualifiers();
   }
 
-  /// \brief Retrieve the set of CVR (const-volatile-restrict) qualifiers
+  /// Retrieve the set of CVR (const-volatile-restrict) qualifiers
   /// applied to this type.
   unsigned getCVRQualifiers() const;
 
@@ -789,7 +789,7 @@ public:
     return QualType::isConstant(*this, Ctx);
   }
 
-  /// \brief Determine whether this is a Plain Old Data (POD) type (C++ 3.9p10).
+  /// Determine whether this is a Plain Old Data (POD) type (C++ 3.9p10).
   bool isPODType(const ASTContext &Context) const;
 
   /// Return true if this is a POD type according to the rules of the C++98
@@ -879,12 +879,12 @@ public:
 
   QualType getCanonicalType() const;
 
-  /// \brief Return this type with all of the instance-specific qualifiers
+  /// Return this type with all of the instance-specific qualifiers
   /// removed, but without removing any qualifiers that may have been applied
   /// through typedefs.
   QualType getLocalUnqualifiedType() const { return QualType(getTypePtr(), 0); }
 
-  /// \brief Retrieve the unqualified variant of the given type,
+  /// Retrieve the unqualified variant of the given type,
   /// removing as little sugar as possible.
   ///
   /// This routine looks through various kinds of sugar to find the
@@ -915,17 +915,17 @@ public:
   /// ASTContext::getUnqualifiedArrayType.
   inline SplitQualType getSplitUnqualifiedType() const;
 
-  /// \brief Determine whether this type is more qualified than the other
+  /// Determine whether this type is more qualified than the other
   /// given type, requiring exact equality for non-CVR qualifiers.
   bool isMoreQualifiedThan(QualType Other) const;
 
-  /// \brief Determine whether this type is at least as qualified as the other
+  /// Determine whether this type is at least as qualified as the other
   /// given type, requiring exact equality for non-CVR qualifiers.
   bool isAtLeastAsQualifiedAs(QualType Other) const;
 
   QualType getNonReferenceType() const;
 
-  /// \brief Determine the type of a (typically non-lvalue) expression with the
+  /// Determine the type of a (typically non-lvalue) expression with the
   /// specified result type.
   ///
   /// This routine should be used for expressions for which the return type is
@@ -951,7 +951,7 @@ public:
     return getSplitDesugaredType(*this);
   }
 
-  /// \brief Return the specified type with one level of "sugar" removed from
+  /// Return the specified type with one level of "sugar" removed from
   /// the type.
   ///
   /// This routine takes off the first typedef, typeof, etc. If the outer level
@@ -1272,7 +1272,7 @@ struct PointerLikeTypeTraits<clang::Qual
 
 namespace clang {
 
-/// \brief Base class that is common to both the \c ExtQuals and \c Type
+/// Base class that is common to both the \c ExtQuals and \c Type
 /// classes, which allows \c QualType to access the common fields between the
 /// two.
 class ExtQualsTypeCommonBase {
@@ -1280,14 +1280,14 @@ class ExtQualsTypeCommonBase {
   friend class QualType;
   friend class Type;
 
-  /// \brief The "base" type of an extended qualifiers type (\c ExtQuals) or
+  /// The "base" type of an extended qualifiers type (\c ExtQuals) or
   /// a self-referential pointer (for \c Type).
   ///
   /// This pointer allows an efficient mapping from a QualType to its
   /// underlying type pointer.
   const Type *const BaseType;
 
-  /// \brief The canonical type of this type.  A QualType.
+  /// The canonical type of this type.  A QualType.
   QualType CanonicalType;
 
   ExtQualsTypeCommonBase(const Type *baseType, QualType canon)
@@ -1368,25 +1368,25 @@ public:
 /// This determines whether a member function's "this" object can be an
 /// lvalue, rvalue, or neither.
 enum RefQualifierKind {
-  /// \brief No ref-qualifier was provided.
+  /// No ref-qualifier was provided.
   RQ_None = 0,
 
-  /// \brief An lvalue ref-qualifier was provided (\c &).
+  /// An lvalue ref-qualifier was provided (\c &).
   RQ_LValue,
 
-  /// \brief An rvalue ref-qualifier was provided (\c &&).
+  /// An rvalue ref-qualifier was provided (\c &&).
   RQ_RValue
 };
 
 /// Which keyword(s) were used to create an AutoType.
 enum class AutoTypeKeyword {
-  /// \brief auto
+  /// auto
   Auto,
 
-  /// \brief decltype(auto)
+  /// decltype(auto)
   DecltypeAuto,
 
-  /// \brief __auto_type (GNU extension)
+  /// __auto_type (GNU extension)
   GNUAutoType
 };
 
@@ -1445,21 +1445,21 @@ private:
     /// Whether this type is a variably-modified type (C99 6.7.5).
     unsigned VariablyModified : 1;
 
-    /// \brief Whether this type contains an unexpanded parameter pack
+    /// Whether this type contains an unexpanded parameter pack
     /// (for C++11 variadic templates).
     unsigned ContainsUnexpandedParameterPack : 1;
 
-    /// \brief True if the cache (i.e. the bitfields here starting with
+    /// True if the cache (i.e. the bitfields here starting with
     /// 'Cache') is valid.
     mutable unsigned CacheValid : 1;
 
-    /// \brief Linkage of this type.
+    /// Linkage of this type.
     mutable unsigned CachedLinkage : 3;
 
-    /// \brief Whether this type involves and local or unnamed types.
+    /// Whether this type involves and local or unnamed types.
     mutable unsigned CachedLocalOrUnnamed : 1;
 
-    /// \brief Whether this type comes from an AST file.
+    /// Whether this type comes from an AST file.
     mutable unsigned FromAST : 1;
 
     bool isCacheValid() const {
@@ -1524,7 +1524,7 @@ protected:
     /// cv-qualifier-seq, [...], are part of the function type.
     unsigned TypeQuals : 4;
 
-    /// \brief The ref-qualifier associated with a \c FunctionProtoType.
+    /// The ref-qualifier associated with a \c FunctionProtoType.
     ///
     /// This is a value of type \c RefQualifierKind.
     unsigned RefQualifier : 2;
@@ -1629,7 +1629,7 @@ protected:
 private:
   template <class T> friend class TypePropertyCache;
 
-  /// \brief Set whether this type comes from an AST file.
+  /// Set whether this type comes from an AST file.
   void setFromAST(bool V = true) const {
     TypeBits.FromAST = V;
   }
@@ -1680,10 +1680,10 @@ public:
 
   TypeClass getTypeClass() const { return static_cast<TypeClass>(TypeBits.TC); }
 
-  /// \brief Whether this type comes from an AST file.
+  /// Whether this type comes from an AST file.
   bool isFromAST() const { return TypeBits.FromAST; }
 
-  /// \brief Whether this type is or contains an unexpanded parameter
+  /// Whether this type is or contains an unexpanded parameter
   /// pack, used to support C++0x variadic templates.
   ///
   /// A type that contains a parameter pack shall be expanded by the
@@ -1721,7 +1721,7 @@ public:
   /// determine its size (e.g. void, or a fwd declared struct). Clients of this
   /// routine will need to determine if the size is actually required.
   ///
-  /// \brief Def If non-null, and the type refers to some kind of declaration
+  /// Def If non-null, and the type refers to some kind of declaration
   /// that can be completed (such as a C struct, C++ class, or Objective-C
   /// class), will be set to the declaration.
   bool isIncompleteType(NamedDecl **Def = nullptr) const;
@@ -1732,7 +1732,7 @@ public:
     return !isFunctionType();
   }
 
-  /// \brief Determine whether this type is an object type.
+  /// Determine whether this type is an object type.
   bool isObjectType() const {
     // C++ [basic.types]p8:
     //   An object type is a (possibly cv-qualified) type that is not a
@@ -1927,7 +1927,7 @@ public:
   /// somehow depends on a template parameter (C++ [temp.dep.type]).
   bool isDependentType() const { return TypeBits.Dependent; }
 
-  /// \brief Determine whether this type is an instantiation-dependent type,
+  /// Determine whether this type is an instantiation-dependent type,
   /// meaning that the type involves a template parameter (even if the
   /// definition does not actually depend on the type substituted for that
   /// template parameter).
@@ -1935,24 +1935,24 @@ public:
     return TypeBits.InstantiationDependent;
   }
 
-  /// \brief Determine whether this type is an undeduced type, meaning that
+  /// Determine whether this type is an undeduced type, meaning that
   /// it somehow involves a C++11 'auto' type or similar which has not yet been
   /// deduced.
   bool isUndeducedType() const;
 
-  /// \brief Whether this type is a variably-modified type (C99 6.7.5).
+  /// Whether this type is a variably-modified type (C99 6.7.5).
   bool isVariablyModifiedType() const { return TypeBits.VariablyModified; }
 
-  /// \brief Whether this type involves a variable-length array type
+  /// Whether this type involves a variable-length array type
   /// with a definite size.
   bool hasSizedVLAType() const;
 
-  /// \brief Whether this type is or contains a local or unnamed type.
+  /// Whether this type is or contains a local or unnamed type.
   bool hasUnnamedOrLocalType() const;
 
   bool isOverloadableType() const;
 
-  /// \brief Determine wither this type is a C++ elaborated-type-specifier.
+  /// Determine wither this type is a C++ elaborated-type-specifier.
   bool isElaboratedTypeSpecifier() const;
 
   bool canDecayToPointerType() const;
@@ -1966,19 +1966,19 @@ public:
   /// purpose of GC'ability
   bool hasObjCPointerRepresentation() const;
 
-  /// \brief Determine whether this type has an integer representation
+  /// Determine whether this type has an integer representation
   /// of some sort, e.g., it is an integer type or a vector.
   bool hasIntegerRepresentation() const;
 
-  /// \brief Determine whether this type has an signed integer representation
+  /// Determine whether this type has an signed integer representation
   /// of some sort, e.g., it is an signed integer type or a vector.
   bool hasSignedIntegerRepresentation() const;
 
-  /// \brief Determine whether this type has an unsigned integer representation
+  /// Determine whether this type has an unsigned integer representation
   /// of some sort, e.g., it is an unsigned integer type or a vector.
   bool hasUnsignedIntegerRepresentation() const;
 
-  /// \brief Determine whether this type has a floating-point representation
+  /// Determine whether this type has a floating-point representation
   /// of some sort, e.g., it is a floating-point type or a vector thereof.
   bool hasFloatingRepresentation() const;
 
@@ -1998,12 +1998,12 @@ public:
   const ObjCObjectPointerType *getAsObjCQualifiedClassType() const;
   const ObjCObjectType *getAsObjCQualifiedInterfaceType() const;
 
-  /// \brief Retrieves the CXXRecordDecl that this type refers to, either
+  /// Retrieves the CXXRecordDecl that this type refers to, either
   /// because the type is a RecordType or because it is the injected-class-name
   /// type of a class template or class template partial specialization.
   CXXRecordDecl *getAsCXXRecordDecl() const;
 
-  /// \brief Retrieves the TagDecl that this type refers to, either
+  /// Retrieves the TagDecl that this type refers to, either
   /// because the type is a TagType or because it is the injected-class-name
   /// type of a class template or class template partial specialization.
   TagDecl *getAsTagDecl() const;
@@ -2183,16 +2183,16 @@ public:
   void dump(llvm::raw_ostream &OS) const;
 };
 
-/// \brief This will check for a TypedefType by removing any existing sugar
+/// This will check for a TypedefType by removing any existing sugar
 /// until it reaches a TypedefType or a non-sugared type.
 template <> const TypedefType *Type::getAs() const;
 
-/// \brief This will check for a TemplateSpecializationType by removing any
+/// This will check for a TemplateSpecializationType by removing any
 /// existing sugar until it reaches a TemplateSpecializationType or a
 /// non-sugared type.
 template <> const TemplateSpecializationType *Type::getAs() const;
 
-/// \brief This will check for an AttributedType by removing any existing sugar
+/// This will check for an AttributedType by removing any existing sugar
 /// until it reaches an AttributedType or a non-sugared type.
 template <> const AttributedType *Type::getAs() const;
 
@@ -2707,13 +2707,13 @@ public:
   bool isSugared() const { return false; }
   QualType desugar() const { return QualType(this, 0); }
 
-  /// \brief Determine the number of bits required to address a member of
+  /// Determine the number of bits required to address a member of
   // an array with the given element type and number of elements.
   static unsigned getNumAddressingBits(const ASTContext &Context,
                                        QualType ElementType,
                                        const llvm::APInt &NumElements);
 
-  /// \brief Determine the maximum number of active bits that an array's size
+  /// Determine the maximum number of active bits that an array's size
   /// can require, which limits the maximum size of the array.
   static unsigned getMaxSizeBits(const ASTContext &Context);
 
@@ -2844,7 +2844,7 @@ class DependentSizedArrayType : public A
 
   const ASTContext &Context;
 
-  /// \brief An assignment expression that will instantiate to the
+  /// An assignment expression that will instantiate to the
   /// size of the array.
   ///
   /// The expression itself might be null, in which case the array
@@ -3293,7 +3293,7 @@ public:
   bool isVolatile() const { return getTypeQuals() & Qualifiers::Volatile; }
   bool isRestrict() const { return getTypeQuals() & Qualifiers::Restrict; }
 
-  /// \brief Determine the type of an expression that calls a function of
+  /// Determine the type of an expression that calls a function of
   /// this type.
   QualType getCallResultType(const ASTContext &Context) const {
     return getReturnType().getNonLValueExprType(Context);
@@ -3488,7 +3488,7 @@ public:
 private:
   friend class ASTContext; // ASTContext creates these.
 
-  /// \brief Determine whether there are any argument types that
+  /// Determine whether there are any argument types that
   /// contain an unexpanded parameter pack.
   static bool containsAnyUnexpandedParameterPack(const QualType *ArgArray,
                                                  unsigned numArgs) {
@@ -3653,7 +3653,7 @@ public:
     return *reinterpret_cast<Expr *const *>(param_type_end());
   }
 
-  /// \brief If this function type has an exception specification which hasn't
+  /// If this function type has an exception specification which hasn't
   /// been determined yet (either because it has not been evaluated or because
   /// it has not been instantiated), this is the function whose exception
   /// specification is represented by this type.
@@ -3664,7 +3664,7 @@ public:
     return reinterpret_cast<FunctionDecl *const *>(param_type_end())[0];
   }
 
-  /// \brief If this function type has an uninstantiated exception
+  /// If this function type has an uninstantiated exception
   /// specification, this is the function whose exception specification
   /// should be instantiated to find the exception specification for
   /// this type.
@@ -3793,7 +3793,7 @@ public:
                       bool Canonical);
 };
 
-/// \brief Represents the dependent type named by a dependently-scoped
+/// Represents the dependent type named by a dependently-scoped
 /// typename using declaration, e.g.
 ///   using typename Base<T>::foo;
 ///
@@ -3864,16 +3864,16 @@ protected:
 public:
   Expr *getUnderlyingExpr() const { return TOExpr; }
 
-  /// \brief Remove a single level of sugar.
+  /// Remove a single level of sugar.
   QualType desugar() const;
 
-  /// \brief Returns whether this type directly provides sugar.
+  /// Returns whether this type directly provides sugar.
   bool isSugared() const;
 
   static bool classof(const Type *T) { return T->getTypeClass() == TypeOfExpr; }
 };
 
-/// \brief Internal representation of canonical, dependent
+/// Internal representation of canonical, dependent
 /// `typeof(expr)` types.
 ///
 /// This class is used internally by the ASTContext to manage
@@ -3913,10 +3913,10 @@ class TypeOfType : public Type {
 public:
   QualType getUnderlyingType() const { return TOType; }
 
-  /// \brief Remove a single level of sugar.
+  /// Remove a single level of sugar.
   QualType desugar() const { return getUnderlyingType(); }
 
-  /// \brief Returns whether this type directly provides sugar.
+  /// Returns whether this type directly provides sugar.
   bool isSugared() const { return true; }
 
   static bool classof(const Type *T) { return T->getTypeClass() == TypeOf; }
@@ -3936,16 +3936,16 @@ public:
   Expr *getUnderlyingExpr() const { return E; }
   QualType getUnderlyingType() const { return UnderlyingType; }
 
-  /// \brief Remove a single level of sugar.
+  /// Remove a single level of sugar.
   QualType desugar() const;
 
-  /// \brief Returns whether this type directly provides sugar.
+  /// Returns whether this type directly provides sugar.
   bool isSugared() const;
 
   static bool classof(const Type *T) { return T->getTypeClass() == Decltype; }
 };
 
-/// \brief Internal representation of canonical, dependent
+/// Internal representation of canonical, dependent
 /// decltype(expr) types.
 ///
 /// This class is used internally by the ASTContext to manage
@@ -4001,7 +4001,7 @@ public:
   }
 };
 
-/// \brief Internal representation of canonical, dependent
+/// Internal representation of canonical, dependent
 /// __underlying_type(type) types.
 ///
 /// This class is used internally by the ASTContext to manage
@@ -4321,7 +4321,7 @@ public:
   }
 };
 
-/// \brief Represents the result of substituting a type for a template
+/// Represents the result of substituting a type for a template
 /// type parameter.
 ///
 /// Within an instantiated template, all template type parameters have
@@ -4372,7 +4372,7 @@ public:
   }
 };
 
-/// \brief Represents the result of substituting a set of types for a template
+/// Represents the result of substituting a set of types for a template
 /// type parameter pack.
 ///
 /// When a pack expansion in the source code contains multiple parameter packs
@@ -4387,14 +4387,14 @@ public:
 class SubstTemplateTypeParmPackType : public Type, public llvm::FoldingSetNode {
   friend class ASTContext;
 
-  /// \brief The original type parameter.
+  /// The original type parameter.
   const TemplateTypeParmType *Replaced;
 
-  /// \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;
 
   SubstTemplateTypeParmPackType(const TemplateTypeParmType *Param,
@@ -4424,7 +4424,7 @@ public:
   }
 };
 
-/// \brief Common base class for placeholders for types that get replaced by
+/// Common base class for placeholders for types that get replaced by
 /// placeholder type deduction: C++11 auto, C++14 decltype(auto), C++17 deduced
 /// class template types, and (eventually) constrained type names from the C++
 /// Concepts TS.
@@ -4457,7 +4457,7 @@ public:
   bool isSugared() const { return !isCanonicalUnqualified(); }
   QualType desugar() const { return getCanonicalTypeInternal(); }
 
-  /// \brief Get the type deduced for this placeholder type, or null if it's
+  /// Get the type deduced for this placeholder type, or null if it's
   /// either not been deduced or was deduced to a dependent type.
   QualType getDeducedType() const {
     return !isCanonicalUnqualified() ? getCanonicalTypeInternal() : QualType();
@@ -4472,7 +4472,7 @@ public:
   }
 };
 
-/// \brief Represents a C++11 auto or C++14 decltype(auto) type.
+/// Represents a C++11 auto or C++14 decltype(auto) type.
 class AutoType : public DeducedType, public llvm::FoldingSetNode {
   friend class ASTContext; // ASTContext creates these
 
@@ -4508,7 +4508,7 @@ public:
   }
 };
 
-/// \brief Represents a C++17 deduced template specialization type.
+/// Represents a C++17 deduced template specialization type.
 class DeducedTemplateSpecializationType : public DeducedType,
                                           public llvm::FoldingSetNode {
   friend class ASTContext; // ASTContext creates these
@@ -4545,7 +4545,7 @@ public:
   }
 };
 
-/// \brief Represents a type template specialization; the template
+/// Represents a type template specialization; the template
 /// must be a class template, a type alias template, or a template
 /// template parameter.  A template which cannot be resolved to one of
 /// these, e.g. because it is written with a dependent scope
@@ -4605,7 +4605,7 @@ public:
     return isa<InjectedClassNameType>(getCanonicalTypeInternal());
   }
 
-  /// \brief Determine if this template specialization type is for a type alias
+  /// Determine if this template specialization type is for a type alias
   /// template that has been substituted.
   ///
   /// Nearly every template specialization type whose template is an alias
@@ -4674,7 +4674,7 @@ public:
   }
 };
 
-/// \brief Print a template argument list, including the '<' and '>'
+/// Print a template argument list, including the '<' and '>'
 /// enclosing the template arguments.
 void printTemplateArgumentList(raw_ostream &OS,
                                ArrayRef<TemplateArgument> Args,
@@ -4757,47 +4757,47 @@ public:
   }
 };
 
-/// \brief The kind of a tag type.
+/// The kind of a tag type.
 enum TagTypeKind {
-  /// \brief The "struct" keyword.
+  /// The "struct" keyword.
   TTK_Struct,
 
-  /// \brief The "__interface" keyword.
+  /// The "__interface" keyword.
   TTK_Interface,
 
-  /// \brief The "union" keyword.
+  /// The "union" keyword.
   TTK_Union,
 
-  /// \brief The "class" keyword.
+  /// The "class" keyword.
   TTK_Class,
 
-  /// \brief The "enum" keyword.
+  /// The "enum" keyword.
   TTK_Enum
 };
 
-/// \brief The elaboration keyword that precedes a qualified type name or
+/// The elaboration keyword that precedes a qualified type name or
 /// introduces an elaborated-type-specifier.
 enum ElaboratedTypeKeyword {
-  /// \brief The "struct" keyword introduces the elaborated-type-specifier.
+  /// The "struct" keyword introduces the elaborated-type-specifier.
   ETK_Struct,
 
-  /// \brief The "__interface" keyword introduces the elaborated-type-specifier.
+  /// The "__interface" keyword introduces the elaborated-type-specifier.
   ETK_Interface,
 
-  /// \brief The "union" keyword introduces the elaborated-type-specifier.
+  /// The "union" keyword introduces the elaborated-type-specifier.
   ETK_Union,
 
-  /// \brief The "class" keyword introduces the elaborated-type-specifier.
+  /// The "class" keyword introduces the elaborated-type-specifier.
   ETK_Class,
 
-  /// \brief The "enum" keyword introduces the elaborated-type-specifier.
+  /// The "enum" keyword introduces the elaborated-type-specifier.
   ETK_Enum,
 
-  /// \brief The "typename" keyword precedes the qualified type name, e.g.,
+  /// The "typename" keyword precedes the qualified type name, e.g.,
   /// \c typename T::type.
   ETK_Typename,
 
-  /// \brief No keyword precedes the qualified type name.
+  /// No keyword precedes the qualified type name.
   ETK_None
 };
 
@@ -4848,7 +4848,7 @@ public:
   static CannotCastToThisType classof(const Type *);
 };
 
-/// \brief Represents a type that was referred to using an elaborated type
+/// 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.
 ///
@@ -4909,7 +4909,7 @@ public:
   }
 };
 
-/// \brief Represents a qualified type name for which the type name is
+/// Represents a qualified type name for which the type name is
 /// dependent.
 ///
 /// DependentNameType represents a class of dependent types that involve a
@@ -4924,10 +4924,10 @@ public:
 class DependentNameType : public TypeWithKeyword, public llvm::FoldingSetNode {
   friend class ASTContext; // ASTContext creates these
 
-  /// \brief The nested name specifier containing the qualifier.
+  /// The nested name specifier containing the qualifier.
   NestedNameSpecifier *NNS;
 
-  /// \brief The type that this typename specifier refers to.
+  /// The type that this typename specifier refers to.
   const IdentifierInfo *Name;
 
   DependentNameType(ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS,
@@ -4984,7 +4984,7 @@ class LLVM_ALIGNAS(/*alignof(uint64_t)*/
   /// The identifier of the template.
   const IdentifierInfo *Name;
 
-  /// \brief The number of template arguments named in this class template
+  /// The number of template arguments named in this class template
   /// specialization.
   unsigned NumArgs;
 
@@ -5006,12 +5006,12 @@ public:
   NestedNameSpecifier *getQualifier() const { return NNS; }
   const IdentifierInfo *getIdentifier() const { return Name; }
 
-  /// \brief Retrieve the template arguments.
+  /// Retrieve the template arguments.
   const TemplateArgument *getArgs() const {
     return getArgBuffer();
   }
 
-  /// \brief Retrieve the number of template arguments.
+  /// Retrieve the number of template arguments.
   unsigned getNumArgs() const { return NumArgs; }
 
   const TemplateArgument &getArg(unsigned Idx) const; // in TemplateBase.h
@@ -5044,7 +5044,7 @@ public:
   }
 };
 
-/// \brief Represents a pack expansion of types.
+/// Represents a pack expansion of types.
 ///
 /// Pack expansions are part of C++11 variadic templates. A pack
 /// expansion contains a pattern, which itself contains one or more
@@ -5069,10 +5069,10 @@ public:
 class PackExpansionType : public Type, public llvm::FoldingSetNode {
   friend class ASTContext; // ASTContext creates these
 
-  /// \brief The pattern of the pack expansion.
+  /// The pattern of the pack expansion.
   QualType Pattern;
 
-  /// \brief The number of expansions that this pack expansion will
+  /// The number of expansions that this pack expansion will
   /// generate when substituted (+1), or indicates that
   ///
   /// This field will only have a non-zero value when some of the parameter
@@ -5090,12 +5090,12 @@ class PackExpansionType : public Type, p
         NumExpansions(NumExpansions ? *NumExpansions + 1 : 0) {}
 
 public:
-  /// \brief Retrieve the pattern of this pack expansion, which is the
+  /// Retrieve the pattern of this pack expansion, which is the
   /// type that will be repeatedly instantiated when instantiating the
   /// pack expansion itself.
   QualType getPattern() const { return Pattern; }
 
-  /// \brief Retrieve the number of expansions that this pack expansion will
+  /// Retrieve the number of expansions that this pack expansion will
   /// generate, if known.
   Optional<unsigned> getNumExpansions() const {
     if (NumExpansions)
@@ -6321,13 +6321,13 @@ inline bool Type::isUndeducedType() cons
   return DT && !DT->isDeduced();
 }
 
-/// \brief Determines whether this is a type for which one can define
+/// Determines whether this is a type for which one can define
 /// an overloaded operator.
 inline bool Type::isOverloadableType() const {
   return isDependentType() || isRecordType() || isEnumeralType();
 }
 
-/// \brief Determines whether this type can decay to a pointer type.
+/// Determines whether this type can decay to a pointer type.
 inline bool Type::canDecayToPointerType() const {
   return isFunctionType() || isArrayType();
 }

Modified: cfe/trunk/include/clang/AST/TypeLoc.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TypeLoc.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/TypeLoc.h (original)
+++ cfe/trunk/include/clang/AST/TypeLoc.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::TypeLoc interface and its subclasses.
+/// Defines the clang::TypeLoc interface and its subclasses.
 //
 //===----------------------------------------------------------------------===//
 
@@ -49,7 +49,7 @@ class UnresolvedUsingTypenameDecl;
   class Class##TypeLoc;
 #include "clang/AST/TypeLocNodes.def"
 
-/// \brief Base wrapper for a particular "section" of type source info.
+/// Base wrapper for a particular "section" of type source info.
 ///
 /// A client should use the TypeLoc subclasses through castAs()/getAs()
 /// in order to get at the actual information.
@@ -67,7 +67,7 @@ public:
   TypeLoc(const Type *ty, void *opaqueData)
       : Ty(ty), Data(opaqueData) {}
 
-  /// \brief Convert to the specified TypeLoc type, asserting that this TypeLoc
+  /// Convert to the specified TypeLoc type, asserting that this TypeLoc
   /// is of the desired type.
   ///
   /// \pre T::isKind(*this)
@@ -80,7 +80,7 @@ public:
     return t;
   }
 
-  /// \brief Convert to the specified TypeLoc type, returning a null TypeLoc if
+  /// Convert to the specified TypeLoc type, returning a null TypeLoc if
   /// this TypeLoc is not of the desired type.
   template<typename T>
   T getAs() const {
@@ -92,7 +92,7 @@ public:
     return t;
   }
 
-  /// \brief Convert to the specified TypeLoc type, returning a null TypeLoc if
+  /// Convert to the specified TypeLoc type, returning a null TypeLoc if
   /// this TypeLock is not of the desired type. It will consider type
   /// adjustments from a type that wad written as a T to another type that is
   /// still canonically a T (ignores parens, attributes, elaborated types, etc).
@@ -118,14 +118,14 @@ public:
   bool isNull() const { return !Ty; }
   explicit operator bool() const { return Ty; }
 
-  /// \brief Returns the size of type source info data block for the given type.
+  /// Returns the size of type source info data block for the given type.
   static unsigned getFullDataSizeForType(QualType Ty);
 
-  /// \brief Returns the alignment of type source info data block for
+  /// Returns the alignment of type source info data block for
   /// the given type.
   static unsigned getLocalAlignmentForType(QualType Ty);
 
-  /// \brief Get the type for which this source info wrapper provides
+  /// Get the type for which this source info wrapper provides
   /// information.
   QualType getType() const {
     return QualType::getFromOpaquePtr(Ty);
@@ -135,18 +135,18 @@ public:
     return QualType::getFromOpaquePtr(Ty).getTypePtr();
   }
 
-  /// \brief Get the pointer where source information is stored.
+  /// Get the pointer where source information is stored.
   void *getOpaqueData() const {
     return Data;
   }
 
-  /// \brief Get the begin source location.
+  /// Get the begin source location.
   SourceLocation getBeginLoc() const;
 
-  /// \brief Get the end source location.
+  /// Get the end source location.
   SourceLocation getEndLoc() const;
 
-  /// \brief Get the full source range.
+  /// Get the full source range.
   SourceRange getSourceRange() const LLVM_READONLY {
     return SourceRange(getBeginLoc(), getEndLoc());
   }
@@ -154,28 +154,28 @@ public:
   SourceLocation getLocStart() const LLVM_READONLY { return getBeginLoc(); }
   SourceLocation getLocEnd() const LLVM_READONLY { return getEndLoc(); }
 
-  /// \brief Get the local source range.
+  /// Get the local source range.
   SourceRange getLocalSourceRange() const {
     return getLocalSourceRangeImpl(*this);
   }
 
-  /// \brief Returns the size of the type source info data block.
+  /// Returns the size of the type source info data block.
   unsigned getFullDataSize() const {
     return getFullDataSizeForType(getType());
   }
 
-  /// \brief Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the
+  /// Get the next TypeLoc pointed by this TypeLoc, e.g for "int*" the
   /// TypeLoc is a PointerLoc and next TypeLoc is for "int".
   TypeLoc getNextTypeLoc() const {
     return getNextTypeLocImpl(*this);
   }
 
-  /// \brief Skips past any qualifiers, if this is qualified.
+  /// Skips past any qualifiers, if this is qualified.
   UnqualTypeLoc getUnqualifiedLoc() const; // implemented in this header
 
   TypeLoc IgnoreParens() const;
 
-  /// \brief Find a type with the location of an explicit type qualifier.
+  /// Find a type with the location of an explicit type qualifier.
   ///
   /// The result, if non-null, will be one of:
   ///   QualifiedTypeLoc
@@ -183,7 +183,7 @@ public:
   ///   AttributedTypeLoc, for those type attributes that behave as qualifiers
   TypeLoc findExplicitQualifierLoc() const;
 
-  /// \brief Initializes this to state that every location in this
+  /// Initializes this to state that every location in this
   /// type is the given location.
   ///
   /// This method exists to provide a simple transition for code that
@@ -192,14 +192,14 @@ public:
     initializeImpl(Context, *this, Loc);
   }
 
-  /// \brief Initializes this by copying its information from another
+  /// Initializes this by copying its information from another
   /// TypeLoc of the same type.
   void initializeFullCopy(TypeLoc Other) {
     assert(getType() == Other.getType());
     copy(Other);
   }
 
-  /// \brief Initializes this by copying its information from another
+  /// Initializes this by copying its information from another
   /// TypeLoc of the same type.  The given size must be the full data
   /// size.
   void initializeFullCopy(TypeLoc Other, unsigned Size) {
@@ -235,13 +235,13 @@ private:
   static SourceRange getLocalSourceRangeImpl(TypeLoc TL);
 };
 
-/// \brief Return the TypeLoc for a type source info.
+/// Return the TypeLoc for a type source info.
 inline TypeLoc TypeSourceInfo::getTypeLoc() const {
   // TODO: is this alignment already sufficient?
   return TypeLoc(Ty, const_cast<void*>(static_cast<const void*>(this + 1)));
 }
 
-/// \brief Wrapper of type source information for a type with
+/// Wrapper of type source information for a type with
 /// no direct qualifiers.
 class UnqualTypeLoc : public TypeLoc {
 public:
@@ -264,7 +264,7 @@ private:
   }
 };
 
-/// \brief Wrapper of type source information for a type with
+/// Wrapper of type source information for a type with
 /// non-trivial direct qualifiers.
 ///
 /// Currently, we intentionally do not provide source location for
@@ -295,7 +295,7 @@ public:
     return getUnqualifiedLoc();
   }
 
-  /// \brief Returns the size of the type source info data block that is
+  /// Returns the size of the type source info data block that is
   /// specific to this type.
   unsigned getLocalDataSize() const {
     // In fact, we don't currently preserve any location information
@@ -303,7 +303,7 @@ public:
     return 0;
   }
 
-  /// \brief Returns the alignment of the type source info data block that is
+  /// Returns the alignment of the type source info data block that is
   /// specific to this type.
   unsigned getLocalDataAlignment() const {
     // We don't preserve any location information.
@@ -503,7 +503,7 @@ struct TypeSpecLocInfo {
   SourceLocation NameLoc;
 };
 
-/// \brief A reasonable base class for TypeLocs that correspond to
+/// A reasonable base class for TypeLocs that correspond to
 /// types that are written as a type-specifier.
 class TypeSpecTypeLoc : public ConcreteTypeLoc<UnqualTypeLoc,
                                                TypeSpecTypeLoc,
@@ -541,7 +541,7 @@ struct BuiltinLocInfo {
   SourceRange BuiltinRange;
 };
 
-/// \brief Wrapper for source info for builtin types.
+/// Wrapper for source info for builtin types.
 class BuiltinTypeLoc : public ConcreteTypeLoc<UnqualTypeLoc,
                                               BuiltinTypeLoc,
                                               BuiltinType,
@@ -661,7 +661,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for typedefs.
+/// Wrapper for source info for typedefs.
 class TypedefTypeLoc : public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
                                                         TypedefTypeLoc,
                                                         TypedefType> {
@@ -671,7 +671,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for injected class names of class
+/// Wrapper for source info for injected class names of class
 /// templates.
 class InjectedClassNameTypeLoc :
     public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
@@ -683,7 +683,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for unresolved typename using decls.
+/// Wrapper for source info for unresolved typename using decls.
 class UnresolvedUsingTypeLoc :
     public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
                                      UnresolvedUsingTypeLoc,
@@ -694,7 +694,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for tag types.  Note that this only
+/// Wrapper for source info for tag types.  Note that this only
 /// records source info for the name itself; a type written 'struct foo'
 /// should be represented as an ElaboratedTypeLoc.  We currently
 /// only do that when C++ is enabled because of the expense of
@@ -705,7 +705,7 @@ class TagTypeLoc : public InheritingConc
 public:
   TagDecl *getDecl() const { return getTypePtr()->getDecl(); }
 
-  /// \brief True if the tag was defined in this type specifier.
+  /// True if the tag was defined in this type specifier.
   bool isDefinition() const {
     TagDecl *D = getDecl();
     return D->isCompleteDefinition() &&
@@ -713,7 +713,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for record types.
+/// Wrapper for source info for record types.
 class RecordTypeLoc : public InheritingConcreteTypeLoc<TagTypeLoc,
                                                        RecordTypeLoc,
                                                        RecordType> {
@@ -721,7 +721,7 @@ public:
   RecordDecl *getDecl() const { return getTypePtr()->getDecl(); }
 };
 
-/// \brief Wrapper for source info for enum types.
+/// Wrapper for source info for enum types.
 class EnumTypeLoc : public InheritingConcreteTypeLoc<TagTypeLoc,
                                                      EnumTypeLoc,
                                                      EnumType> {
@@ -729,7 +729,7 @@ public:
   EnumDecl *getDecl() const { return getTypePtr()->getDecl(); }
 };
 
-/// \brief Wrapper for template type parameters.
+/// Wrapper for template type parameters.
 class TemplateTypeParmTypeLoc :
     public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
                                      TemplateTypeParmTypeLoc,
@@ -828,14 +828,14 @@ public:
   }
 };
 
-/// \brief Wrapper for substituted template type parameters.
+/// Wrapper for substituted template type parameters.
 class SubstTemplateTypeParmTypeLoc :
     public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
                                      SubstTemplateTypeParmTypeLoc,
                                      SubstTemplateTypeParmType> {
 };
 
-  /// \brief Wrapper for substituted template type parameters.
+  /// Wrapper for substituted template type parameters.
 class SubstTemplateTypeParmPackTypeLoc :
     public InheritingConcreteTypeLoc<TypeSpecTypeLoc,
                                      SubstTemplateTypeParmPackTypeLoc,
@@ -855,7 +855,7 @@ struct AttributedLocInfo {
   SourceLocation AttrLoc;
 };
 
-/// \brief Type source information for an attributed type.
+/// Type source information for an attributed type.
 class AttributedTypeLoc : public ConcreteTypeLoc<UnqualTypeLoc,
                                                  AttributedTypeLoc,
                                                  AttributedType,
@@ -1114,7 +1114,7 @@ struct ObjCInterfaceLocInfo {
   SourceLocation NameEndLoc;
 };
 
-/// \brief Wrapper for source info for ObjC interfaces.
+/// Wrapper for source info for ObjC interfaces.
 class ObjCInterfaceTypeLoc : public ConcreteTypeLoc<ObjCObjectTypeLoc,
                                                     ObjCInterfaceTypeLoc,
                                                     ObjCInterfaceType,
@@ -1227,7 +1227,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for pointers decayed from arrays and
+/// Wrapper for source info for pointers decayed from arrays and
 /// functions.
 class DecayedTypeLoc : public InheritingConcreteTypeLoc<
                            AdjustedTypeLoc, DecayedTypeLoc, DecayedType> {
@@ -1267,7 +1267,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for pointers.
+/// Wrapper for source info for pointers.
 class PointerTypeLoc : public PointerLikeTypeLoc<PointerTypeLoc,
                                                  PointerType> {
 public:
@@ -1280,7 +1280,7 @@ public:
   }
 };
 
-/// \brief Wrapper for source info for block pointers.
+/// Wrapper for source info for block pointers.
 class BlockPointerTypeLoc : public PointerLikeTypeLoc<BlockPointerTypeLoc,
                                                       BlockPointerType> {
 public:
@@ -1297,7 +1297,7 @@ struct MemberPointerLocInfo : public Poi
   TypeSourceInfo *ClassTInfo;
 };
 
-/// \brief Wrapper for source info for member pointers.
+/// Wrapper for source info for member pointers.
 class MemberPointerTypeLoc : public PointerLikeTypeLoc<MemberPointerTypeLoc,
                                                        MemberPointerType,
                                                        MemberPointerLocInfo> {
@@ -1392,7 +1392,7 @@ struct FunctionLocInfo {
   SourceLocation LocalRangeEnd;
 };
 
-/// \brief Wrapper for source info for functions.
+/// Wrapper for source info for functions.
 class FunctionTypeLoc : public ConcreteTypeLoc<UnqualTypeLoc,
                                                FunctionTypeLoc,
                                                FunctionType,
@@ -1496,7 +1496,7 @@ public:
       setExceptionSpecRange(Loc);
   }
 
-  /// \brief Returns the size of the type source info data block that is
+  /// Returns the size of the type source info data block that is
   /// specific to this type.
   unsigned getExtraLocalDataSize() const {
     unsigned ExceptSpecSize = hasExceptionSpec() ? sizeof(SourceRange) : 0;
@@ -1525,7 +1525,7 @@ struct ArrayLocInfo {
   Expr *Size;
 };
 
-/// \brief Wrapper for source info for arrays.
+/// Wrapper for source info for arrays.
 class ArrayTypeLoc : public ConcreteTypeLoc<UnqualTypeLoc,
                                             ArrayTypeLoc,
                                             ArrayType,
@@ -1670,7 +1670,7 @@ public:
     getLocalData()->NameLoc = Loc;
   }
 
-  /// \brief - Copy the location information from the given info.
+  /// - Copy the location information from the given info.
   void copy(TemplateSpecializationTypeLoc Loc) {
     unsigned size = getFullDataSize();
     assert(size == Loc.getFullDataSize());
@@ -1989,7 +1989,7 @@ public:
 struct ElaboratedLocInfo {
   SourceLocation ElaboratedKWLoc;
 
-  /// \brief Data associated with the nested-name-specifier location.
+  /// Data associated with the nested-name-specifier location.
   void *QualifierData;
 };
 

Modified: cfe/trunk/include/clang/AST/TypeOrdering.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TypeOrdering.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/TypeOrdering.h (original)
+++ cfe/trunk/include/clang/AST/TypeOrdering.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Allows QualTypes to be sorted and hence used in maps and sets.
+/// Allows QualTypes to be sorted and hence used in maps and sets.
 ///
 /// Defines clang::QualTypeOrdering, a total ordering on clang::QualType,
 /// and hence enables QualType values to be sorted and to be used in
@@ -25,7 +25,7 @@
 
 namespace clang {
 
-/// \brief Function object that provides a total ordering on QualType values.
+/// Function object that provides a total ordering on QualType values.
 struct QualTypeOrdering {
   bool operator()(QualType T1, QualType T2) const {
     return std::less<void*>()(T1.getAsOpaquePtr(), T2.getAsOpaquePtr());

Modified: cfe/trunk/include/clang/AST/TypeVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/TypeVisitor.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/TypeVisitor.h (original)
+++ cfe/trunk/include/clang/AST/TypeVisitor.h Tue May  8 18:00:01 2018
@@ -22,7 +22,7 @@ namespace clang {
   return static_cast<ImplClass*>(this)-> \
            Visit##CLASS(static_cast<const CLASS*>(T))
 
-/// \brief An operation on a type.
+/// An operation on a type.
 ///
 /// \tparam ImplClass Class implementing the operation. Must be inherited from
 ///         TypeVisitor.
@@ -65,7 +65,7 @@ template<typename ImplClass, typename Re
 class TypeVisitor {
 public:
 
-  /// \brief Performs the operation associated with this visitor object.
+  /// Performs the operation associated with this visitor object.
   RetTy Visit(const Type *T) {
     // Top switch stmt: dispatch to VisitFooType for each FooType.
     switch (T->getTypeClass()) {
@@ -83,7 +83,7 @@ public:
 }
 #include "clang/AST/TypeNodes.def"
 
-  /// \brief Method called if \c ImpClass doesn't provide specific handler
+  /// Method called if \c ImpClass doesn't provide specific handler
   /// for some type class.
   RetTy VisitType(const Type*) { return RetTy(); }
 };

Modified: cfe/trunk/include/clang/AST/UnresolvedSet.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/UnresolvedSet.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/UnresolvedSet.h (original)
+++ cfe/trunk/include/clang/AST/UnresolvedSet.h Tue May  8 18:00:01 2018
@@ -57,7 +57,7 @@ public:
   NamedDecl *operator->() const { return **this; }
 };
 
-/// \brief A set of unresolved declarations.
+/// A set of unresolved declarations.
 class UnresolvedSetImpl {
   using DeclsTy = SmallVectorImpl<DeclAccessPair>;
 
@@ -140,7 +140,7 @@ private:
   }
 };
 
-/// \brief A set of unresolved declarations.
+/// A set of unresolved declarations.
 template <unsigned InlineCapacity> class UnresolvedSet :
     public UnresolvedSetImpl {
   SmallVector<DeclAccessPair, InlineCapacity> Decls;

Modified: cfe/trunk/include/clang/AST/VTTBuilder.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/VTTBuilder.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/VTTBuilder.h (original)
+++ cfe/trunk/include/clang/AST/VTTBuilder.h Tue May  8 18:00:01 2018
@@ -68,48 +68,48 @@ struct VTTComponent {
      : VTableIndex(VTableIndex), VTableBase(VTableBase) {}
 };
 
-/// \brief Class for building VTT layout information.
+/// Class for building VTT layout information.
 class VTTBuilder {
   ASTContext &Ctx;
 
-  /// \brief The most derived class for which we're building this vtable.
+  /// The most derived class for which we're building this vtable.
   const CXXRecordDecl *MostDerivedClass;
 
   using VTTVTablesVectorTy = SmallVector<VTTVTable, 64>;
   
-  /// \brief The VTT vtables.
+  /// The VTT vtables.
   VTTVTablesVectorTy VTTVTables;
   
   using VTTComponentsVectorTy = SmallVector<VTTComponent, 64>;
   
-  /// \brief The VTT components.
+  /// The VTT components.
   VTTComponentsVectorTy VTTComponents;
   
-  /// \brief The AST record layout of the most derived class.
+  /// The AST record layout of the most derived class.
   const ASTRecordLayout &MostDerivedClassLayout;
 
   using VisitedVirtualBasesSetTy = llvm::SmallPtrSet<const CXXRecordDecl *, 4>;
 
   using AddressPointsMapTy = llvm::DenseMap<BaseSubobject, uint64_t>;
 
-  /// \brief The sub-VTT indices for the bases of the most derived class.
+  /// The sub-VTT indices for the bases of the most derived class.
   llvm::DenseMap<BaseSubobject, uint64_t> SubVTTIndicies;
 
-  /// \brief The secondary virtual pointer indices of all subobjects of
+  /// The secondary virtual pointer indices of all subobjects of
   /// the most derived class.
   llvm::DenseMap<BaseSubobject, uint64_t> SecondaryVirtualPointerIndices;
 
-  /// \brief Whether the VTT builder should generate LLVM IR for the VTT.
+  /// Whether the VTT builder should generate LLVM IR for the VTT.
   bool GenerateDefinition;
 
-  /// \brief Add a vtable pointer to the VTT currently being built.
+  /// Add a vtable pointer to the VTT currently being built.
   void AddVTablePointer(BaseSubobject Base, uint64_t VTableIndex,
                         const CXXRecordDecl *VTableClass);
                         
-  /// \brief Lay out the secondary VTTs of the given base subobject.
+  /// Lay out the secondary VTTs of the given base subobject.
   void LayoutSecondaryVTTs(BaseSubobject Base);
   
-  /// \brief Lay out the secondary virtual pointers for the given base
+  /// Lay out the secondary virtual pointers for the given base
   /// subobject.
   ///
   /// \param BaseIsMorallyVirtual whether the base subobject is a virtual base
@@ -120,17 +120,17 @@ class VTTBuilder {
                                       const CXXRecordDecl *VTableClass,
                                       VisitedVirtualBasesSetTy &VBases);
   
-  /// \brief Lay out the secondary virtual pointers for the given base
+  /// Lay out the secondary virtual pointers for the given base
   /// subobject.
   void LayoutSecondaryVirtualPointers(BaseSubobject Base, 
                                       uint64_t VTableIndex);
 
-  /// \brief Lay out the VTTs for the virtual base classes of the given
+  /// Lay out the VTTs for the virtual base classes of the given
   /// record declaration.
   void LayoutVirtualVTTs(const CXXRecordDecl *RD,
                          VisitedVirtualBasesSetTy &VBases);
   
-  /// \brief Lay out the VTT for the given subobject, including any
+  /// Lay out the VTT for the given subobject, including any
   /// secondary VTTs, secondary virtual pointers and virtual VTTs.
   void LayoutVTT(BaseSubobject Base, bool BaseIsVirtual);
   
@@ -138,22 +138,22 @@ public:
   VTTBuilder(ASTContext &Ctx, const CXXRecordDecl *MostDerivedClass,
              bool GenerateDefinition);
 
-  // \brief Returns a reference to the VTT components.
+  // Returns a reference to the VTT components.
   const VTTComponentsVectorTy &getVTTComponents() const {
     return VTTComponents;
   }
   
-  // \brief Returns a reference to the VTT vtables.
+  // Returns a reference to the VTT vtables.
   const VTTVTablesVectorTy &getVTTVTables() const {
     return VTTVTables;
   }
   
-  /// \brief Returns a reference to the sub-VTT indices.
+  /// Returns a reference to the sub-VTT indices.
   const llvm::DenseMap<BaseSubobject, uint64_t> &getSubVTTIndicies() const {
     return SubVTTIndicies;
   }
   
-  /// \brief Returns a reference to the secondary virtual pointer indices.
+  /// Returns a reference to the secondary virtual pointer indices.
   const llvm::DenseMap<BaseSubobject, uint64_t> &
   getSecondaryVirtualPointerIndices() const {
     return SecondaryVirtualPointerIndices;

Modified: cfe/trunk/include/clang/AST/VTableBuilder.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/VTableBuilder.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/VTableBuilder.h (original)
+++ cfe/trunk/include/clang/AST/VTableBuilder.h Tue May  8 18:00:01 2018
@@ -26,7 +26,7 @@
 namespace clang {
   class CXXRecordDecl;
 
-/// \brief Represents a single component in a vtable.
+/// Represents a single component in a vtable.
 class VTableComponent {
 public:
   enum Kind {
@@ -36,13 +36,13 @@ public:
     CK_RTTI,
     CK_FunctionPointer,
 
-    /// \brief A pointer to the complete destructor.
+    /// A pointer to the complete destructor.
     CK_CompleteDtorPointer,
 
-    /// \brief A pointer to the deleting destructor.
+    /// A pointer to the deleting destructor.
     CK_DeletingDtorPointer,
 
-    /// \brief An entry that is never used.
+    /// An entry that is never used.
     ///
     /// In some cases, a vtable function pointer will end up never being
     /// called. Such vtable function pointers are represented as a
@@ -97,7 +97,7 @@ public:
     return VTableComponent(I);
   }
 
-  /// \brief Get the kind of this vtable component.
+  /// Get the kind of this vtable component.
   Kind getKind() const {
     return (Kind)(Value & 0x7);
   }
@@ -255,10 +255,10 @@ private:
 
   OwningArrayRef<VTableComponent> VTableComponents;
 
-  /// \brief Contains thunks needed by vtables, sorted by indices.
+  /// Contains thunks needed by vtables, sorted by indices.
   OwningArrayRef<VTableThunkTy> VTableThunks;
 
-  /// \brief Address points for all vtables.
+  /// Address points for all vtables.
   AddressPointsMapTy AddressPoints;
 
 public:
@@ -324,7 +324,7 @@ public:
 protected:
   typedef llvm::DenseMap<const CXXMethodDecl *, ThunkInfoVectorTy> ThunksMapTy;
 
-  /// \brief Contains all thunks that a given method decl will need.
+  /// Contains all thunks that a given method decl will need.
   ThunksMapTy Thunks;
 
   /// Compute and store all vtable related information (vtable layout, vbase
@@ -355,7 +355,7 @@ public:
 class ItaniumVTableContext : public VTableContextBase {
 private:
 
-  /// \brief Contains the index (relative to the vtable address point)
+  /// Contains the index (relative to the vtable address point)
   /// where the function pointer for a virtual function is stored.
   typedef llvm::DenseMap<GlobalDecl, int64_t> MethodVTableIndicesTy;
   MethodVTableIndicesTy MethodVTableIndices;
@@ -368,7 +368,7 @@ private:
   typedef std::pair<const CXXRecordDecl *,
                     const CXXRecordDecl *> ClassPairTy;
 
-  /// \brief vtable offsets for offsets of virtual bases of a class.
+  /// vtable offsets for offsets of virtual bases of a class.
   ///
   /// Contains the vtable offset (relative to the address point) in chars
   /// where the offsets for virtual bases of a class are stored.
@@ -393,7 +393,7 @@ public:
       const CXXRecordDecl *MostDerivedClass, CharUnits MostDerivedClassOffset,
       bool MostDerivedClassIsVirtual, const CXXRecordDecl *LayoutClass);
 
-  /// \brief Locate a virtual function in the vtable.
+  /// Locate a virtual function in the vtable.
   ///
   /// Return the index (relative to the vtable address point) where the
   /// function pointer for the given virtual function is stored.
@@ -570,7 +570,7 @@ public:
     return VTableContextBase::getThunkInfo(GD);
   }
 
-  /// \brief Returns the index of VBase in the vbtable of Derived.
+  /// Returns the index of VBase in the vbtable of Derived.
   /// VBase must be a morally virtual base of Derived.
   /// The vbtable is an array of i32 offsets.  The first entry is a self entry,
   /// and the rest are offsets from the vbptr to virtual bases.

Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchFinder.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchFinder.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchFinder.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchFinder.h Tue May  8 18:00:01 2018
@@ -50,7 +50,7 @@ namespace clang {
 
 namespace ast_matchers {
 
-/// \brief A class to allow finding matches over the Clang AST.
+/// A class to allow finding matches over the Clang AST.
 ///
 /// After creation, you can add multiple matchers to the MatchFinder via
 /// calls to addMatcher(...).
@@ -68,52 +68,52 @@ namespace ast_matchers {
 /// Not intended to be subclassed.
 class MatchFinder {
 public:
-  /// \brief Contains all information for a given match.
+  /// Contains all information for a given match.
   ///
   /// Every time a match is found, the MatchFinder will invoke the registered
   /// MatchCallback with a MatchResult containing information about the match.
   struct MatchResult {
     MatchResult(const BoundNodes &Nodes, clang::ASTContext *Context);
 
-    /// \brief Contains the nodes bound on the current match.
+    /// Contains the nodes bound on the current match.
     ///
     /// This allows user code to easily extract matched AST nodes.
     const BoundNodes Nodes;
 
-    /// \brief Utilities for interpreting the matched AST structures.
+    /// Utilities for interpreting the matched AST structures.
     /// @{
     clang::ASTContext * const Context;
     clang::SourceManager * const SourceManager;
     /// @}
   };
 
-  /// \brief Called when the Match registered for it was successfully found
+  /// Called when the Match registered for it was successfully found
   /// in the AST.
   class MatchCallback {
   public:
     virtual ~MatchCallback();
 
-    /// \brief Called on every match by the \c MatchFinder.
+    /// Called on every match by the \c MatchFinder.
     virtual void run(const MatchResult &Result) = 0;
 
-    /// \brief Called at the start of each translation unit.
+    /// Called at the start of each translation unit.
     ///
     /// Optionally override to do per translation unit tasks.
     virtual void onStartOfTranslationUnit() {}
 
-    /// \brief Called at the end of each translation unit.
+    /// Called at the end of each translation unit.
     ///
     /// Optionally override to do per translation unit tasks.
     virtual void onEndOfTranslationUnit() {}
 
-    /// \brief An id used to group the matchers.
+    /// An id used to group the matchers.
     ///
     /// This id is used, for example, for the profiling output.
     /// It defaults to "<unknown>".
     virtual StringRef getID() const;
   };
 
-  /// \brief Called when parsing is finished. Intended for testing only.
+  /// Called when parsing is finished. Intended for testing only.
   class ParsingDoneTestCallback {
   public:
     virtual ~ParsingDoneTestCallback();
@@ -125,11 +125,11 @@ public:
       Profiling(llvm::StringMap<llvm::TimeRecord> &Records)
           : Records(Records) {}
 
-      /// \brief Per bucket timing information.
+      /// Per bucket timing information.
       llvm::StringMap<llvm::TimeRecord> &Records;
     };
 
-    /// \brief Enables per-check timers.
+    /// Enables per-check timers.
     ///
     /// It prints a report after match.
     llvm::Optional<Profiling> CheckProfiling;
@@ -138,7 +138,7 @@ public:
   MatchFinder(MatchFinderOptions Options = MatchFinderOptions());
   ~MatchFinder();
 
-  /// \brief Adds a matcher to execute when running over the AST.
+  /// Adds a matcher to execute when running over the AST.
   ///
   /// Calls 'Action' with the BoundNodes on every match.
   /// Adding more than one 'NodeMatch' allows finding different matches in a
@@ -162,7 +162,7 @@ public:
                   MatchCallback *Action);
   /// @}
 
-  /// \brief Adds a matcher to execute when running over the AST.
+  /// Adds a matcher to execute when running over the AST.
   ///
   /// This is similar to \c addMatcher(), but it uses the dynamic interface. It
   /// is more flexible, but the lost type information enables a caller to pass
@@ -173,10 +173,10 @@ public:
   bool addDynamicMatcher(const internal::DynTypedMatcher &NodeMatch,
                          MatchCallback *Action);
 
-  /// \brief Creates a clang ASTConsumer that finds all matches.
+  /// Creates a clang ASTConsumer that finds all matches.
   std::unique_ptr<clang::ASTConsumer> newASTConsumer();
 
-  /// \brief Calls the registered callbacks on all matches on the given \p Node.
+  /// Calls the registered callbacks on all matches on the given \p Node.
   ///
   /// Note that there can be multiple matches on a single node, for
   /// example when using decl(forEachDescendant(stmt())).
@@ -189,17 +189,17 @@ public:
              ASTContext &Context);
   /// @}
 
-  /// \brief Finds all matches in the given AST.
+  /// Finds all matches in the given AST.
   void matchAST(ASTContext &Context);
 
-  /// \brief Registers a callback to notify the end of parsing.
+  /// Registers a callback to notify the end of parsing.
   ///
   /// The provided closure is called after parsing is done, before the AST is
   /// traversed. Useful for benchmarking.
   /// Each call to FindAll(...) will call the closure once.
   void registerTestCallbackAfterParsing(ParsingDoneTestCallback *ParsingDone);
 
-  /// \brief For each \c Matcher<> a \c MatchCallback that will be called
+  /// For each \c Matcher<> a \c MatchCallback that will be called
   /// when it matches.
   struct MatchersByType {
     std::vector<std::pair<internal::DynTypedMatcher, MatchCallback *>>
@@ -211,7 +211,7 @@ public:
         NestedNameSpecifierLoc;
     std::vector<std::pair<TypeLocMatcher, MatchCallback *>> TypeLoc;
     std::vector<std::pair<CXXCtorInitializerMatcher, MatchCallback *>> CtorInit;
-    /// \brief All the callbacks in one container to simplify iteration.
+    /// All the callbacks in one container to simplify iteration.
     llvm::SmallPtrSet<MatchCallback *, 16> AllCallbacks;
   };
 
@@ -220,11 +220,11 @@ private:
 
   MatchFinderOptions Options;
 
-  /// \brief Called when parsing is done.
+  /// Called when parsing is done.
   ParsingDoneTestCallback *ParsingDone;
 };
 
-/// \brief Returns the results of matching \p Matcher on \p Node.
+/// Returns the results of matching \p Matcher on \p Node.
 ///
 /// Collects the \c BoundNodes of all callback invocations when matching
 /// \p Matcher on \p Node and returns the collected results.
@@ -248,12 +248,12 @@ match(MatcherT Matcher, const ast_type_t
       ASTContext &Context);
 /// @}
 
-/// \brief Returns the results of matching \p Matcher on the translation unit of
+/// Returns the results of matching \p Matcher on the translation unit of
 /// \p Context and collects the \c BoundNodes of all callback invocations.
 template <typename MatcherT>
 SmallVector<BoundNodes, 1> match(MatcherT Matcher, ASTContext &Context);
 
-/// \brief Returns the first result of type \c NodeT bound to \p BoundTo.
+/// Returns the first result of type \c NodeT bound to \p BoundTo.
 ///
 /// Returns \c NULL if there is no match, or if the matching node cannot be
 /// casted to \c NodeT.

Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h Tue May  8 18:00:01 2018
@@ -92,7 +92,7 @@
 namespace clang {
 namespace ast_matchers {
 
-/// \brief Maps string IDs to AST nodes matched by parts of a matcher.
+/// Maps string IDs to AST nodes matched by parts of a matcher.
 ///
 /// The bound nodes are generated by calling \c bind("id") on the node matchers
 /// of the nodes we want to access later.
@@ -101,7 +101,7 @@ namespace ast_matchers {
 /// callbacks are executed every time a match is found.
 class BoundNodes {
 public:
-  /// \brief Returns the AST node bound to \c ID.
+  /// Returns the AST node bound to \c ID.
   ///
   /// Returns NULL if there was no node bound to \c ID or if there is a node but
   /// it cannot be converted to the specified type.
@@ -110,12 +110,12 @@ public:
     return MyBoundNodes.getNodeAs<T>(ID);
   }
 
-  /// \brief Type of mapping from binding identifiers to bound nodes. This type
+  /// Type of mapping from binding identifiers to bound nodes. This type
   /// is an associative container with a key type of \c std::string and a value
   /// type of \c clang::ast_type_traits::DynTypedNode
   using IDToNodeMap = internal::BoundNodesMap::IDToNodeMap;
 
-  /// \brief Retrieve mapping from binding identifiers to bound nodes.
+  /// Retrieve mapping from binding identifiers to bound nodes.
   const IDToNodeMap &getMap() const {
     return MyBoundNodes.getMap();
   }
@@ -123,14 +123,14 @@ public:
 private:
   friend class internal::BoundNodesTreeBuilder;
 
-  /// \brief Create BoundNodes from a pre-filled map of bindings.
+  /// Create BoundNodes from a pre-filled map of bindings.
   BoundNodes(internal::BoundNodesMap &MyBoundNodes)
       : MyBoundNodes(MyBoundNodes) {}
 
   internal::BoundNodesMap MyBoundNodes;
 };
 
-/// \brief If the provided matcher matches a node, binds the node to \c ID.
+/// If the provided matcher matches a node, binds the node to \c ID.
 ///
 /// FIXME: Do we want to support this now that we have bind()?
 template <typename T>
@@ -139,7 +139,7 @@ internal::Matcher<T> id(StringRef ID,
   return InnerMatcher.bind(ID);
 }
 
-/// \brief Types of matchers for the top-level classes in the AST class
+/// Types of matchers for the top-level classes in the AST class
 /// hierarchy.
 /// @{
 using DeclarationMatcher = internal::Matcher<Decl>;
@@ -151,7 +151,7 @@ using NestedNameSpecifierLocMatcher = in
 using CXXCtorInitializerMatcher = internal::Matcher<CXXCtorInitializer>;
 /// @}
 
-/// \brief Matches any node.
+/// Matches any node.
 ///
 /// Useful when another matcher requires a child matcher, but there's no
 /// additional constraint. This will often be used with an explicit conversion
@@ -167,7 +167,7 @@ using CXXCtorInitializerMatcher = intern
 /// Usable as: Any Matcher
 inline internal::TrueMatcher anything() { return internal::TrueMatcher(); }
 
-/// \brief Matches the top declaration context.
+/// Matches the top declaration context.
 ///
 /// Given
 /// \code
@@ -181,7 +181,7 @@ inline internal::TrueMatcher anything()
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TranslationUnitDecl>
     translationUnitDecl;
 
-/// \brief Matches typedef declarations.
+/// Matches typedef declarations.
 ///
 /// Given
 /// \code
@@ -193,7 +193,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TypedefDecl>
     typedefDecl;
 
-/// \brief Matches typedef name declarations.
+/// Matches typedef name declarations.
 ///
 /// Given
 /// \code
@@ -205,7 +205,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TypedefNameDecl>
     typedefNameDecl;
 
-/// \brief Matches type alias declarations.
+/// Matches type alias declarations.
 ///
 /// Given
 /// \code
@@ -217,7 +217,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TypeAliasDecl>
     typeAliasDecl;
 
-/// \brief Matches type alias template declarations.
+/// Matches type alias template declarations.
 ///
 /// typeAliasTemplateDecl() matches
 /// \code
@@ -227,7 +227,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TypeAliasTemplateDecl>
     typeAliasTemplateDecl;
 
-/// \brief Matches AST nodes that were expanded within the main-file.
+/// Matches AST nodes that were expanded within the main-file.
 ///
 /// Example matches X but not Y
 ///   (matcher = cxxRecordDecl(isExpansionInMainFile())
@@ -248,7 +248,7 @@ AST_POLYMORPHIC_MATCHER(isExpansionInMai
       SourceManager.getExpansionLoc(Node.getLocStart()));
 }
 
-/// \brief Matches AST nodes that were expanded within system-header-files.
+/// Matches AST nodes that were expanded within system-header-files.
 ///
 /// Example matches Y but not X
 ///     (matcher = cxxRecordDecl(isExpansionInSystemHeader())
@@ -272,7 +272,7 @@ AST_POLYMORPHIC_MATCHER(isExpansionInSys
   return SourceManager.isInSystemHeader(ExpansionLoc);
 }
 
-/// \brief Matches AST nodes that were expanded within files whose name is
+/// Matches AST nodes that were expanded within files whose name is
 /// partially matching a given regex.
 ///
 /// Example matches Y but not X
@@ -306,7 +306,7 @@ AST_POLYMORPHIC_MATCHER_P(isExpansionInF
   return RE.match(Filename);
 }
 
-/// \brief Matches declarations.
+/// Matches declarations.
 ///
 /// Examples matches \c X, \c C, and the friend declaration inside \c C;
 /// \code
@@ -317,7 +317,7 @@ AST_POLYMORPHIC_MATCHER_P(isExpansionInF
 /// \endcode
 extern const internal::VariadicAllOfMatcher<Decl> decl;
 
-/// \brief Matches a declaration of a linkage specification.
+/// Matches a declaration of a linkage specification.
 ///
 /// Given
 /// \code
@@ -328,7 +328,7 @@ extern const internal::VariadicAllOfMatc
 extern const internal::VariadicDynCastAllOfMatcher<Decl, LinkageSpecDecl>
     linkageSpecDecl;
 
-/// \brief Matches a declaration of anything that could have a name.
+/// Matches a declaration of anything that could have a name.
 ///
 /// Example matches \c X, \c S, the anonymous union type, \c i, and \c U;
 /// \code
@@ -341,7 +341,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, NamedDecl> namedDecl;
 
-/// \brief Matches a declaration of label.
+/// Matches a declaration of label.
 ///
 /// Given
 /// \code
@@ -352,7 +352,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'FOO:'
 extern const internal::VariadicDynCastAllOfMatcher<Decl, LabelDecl> labelDecl;
 
-/// \brief Matches a declaration of a namespace.
+/// Matches a declaration of a namespace.
 ///
 /// Given
 /// \code
@@ -364,7 +364,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, NamespaceDecl>
     namespaceDecl;
 
-/// \brief Matches a declaration of a namespace alias.
+/// Matches a declaration of a namespace alias.
 ///
 /// Given
 /// \code
@@ -376,7 +376,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, NamespaceAliasDecl>
     namespaceAliasDecl;
 
-/// \brief Matches class, struct, and union declarations.
+/// Matches class, struct, and union declarations.
 ///
 /// Example matches \c X, \c Z, \c U, and \c S
 /// \code
@@ -387,7 +387,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, RecordDecl> recordDecl;
 
-/// \brief Matches C++ class declarations.
+/// Matches C++ class declarations.
 ///
 /// Example matches \c X, \c Z
 /// \code
@@ -397,7 +397,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXRecordDecl>
     cxxRecordDecl;
 
-/// \brief Matches C++ class template declarations.
+/// Matches C++ class template declarations.
 ///
 /// Example matches \c Z
 /// \code
@@ -406,7 +406,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ClassTemplateDecl>
     classTemplateDecl;
 
-/// \brief Matches C++ class template specializations.
+/// Matches C++ class template specializations.
 ///
 /// Given
 /// \code
@@ -420,7 +420,7 @@ extern const internal::VariadicDynCastAl
     Decl, ClassTemplateSpecializationDecl>
     classTemplateSpecializationDecl;
 
-/// \brief Matches declarator declarations (field, variable, function
+/// Matches declarator declarations (field, variable, function
 /// and non-type template parameter declarations).
 ///
 /// Given
@@ -432,7 +432,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, DeclaratorDecl>
     declaratorDecl;
 
-/// \brief Matches parameter variable declarations.
+/// Matches parameter variable declarations.
 ///
 /// Given
 /// \code
@@ -443,7 +443,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ParmVarDecl>
     parmVarDecl;
 
-/// \brief Matches C++ access specifier declarations.
+/// Matches C++ access specifier declarations.
 ///
 /// Given
 /// \code
@@ -457,7 +457,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, AccessSpecDecl>
     accessSpecDecl;
 
-/// \brief Matches constructor initializers.
+/// Matches constructor initializers.
 ///
 /// Examples matches \c i(42).
 /// \code
@@ -469,7 +469,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicAllOfMatcher<CXXCtorInitializer>
     cxxCtorInitializer;
 
-/// \brief Matches template arguments.
+/// Matches template arguments.
 ///
 /// Given
 /// \code
@@ -480,7 +480,7 @@ extern const internal::VariadicAllOfMatc
 ///   matches 'int' in C<int>.
 extern const internal::VariadicAllOfMatcher<TemplateArgument> templateArgument;
 
-/// \brief Matches template name.
+/// Matches template name.
 ///
 /// Given
 /// \code
@@ -491,7 +491,7 @@ extern const internal::VariadicAllOfMatc
 ///   matches 'X' in X<int>.
 extern const internal::VariadicAllOfMatcher<TemplateName> templateName;
 
-/// \brief Matches non-type template parameter declarations.
+/// Matches non-type template parameter declarations.
 ///
 /// Given
 /// \code
@@ -503,7 +503,7 @@ extern const internal::VariadicDynCastAl
                                                    NonTypeTemplateParmDecl>
     nonTypeTemplateParmDecl;
 
-/// \brief Matches template type parameter declarations.
+/// Matches template type parameter declarations.
 ///
 /// Given
 /// \code
@@ -514,7 +514,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, TemplateTypeParmDecl>
     templateTypeParmDecl;
 
-/// \brief Matches public C++ declarations.
+/// Matches public C++ declarations.
 ///
 /// Given
 /// \code
@@ -530,7 +530,7 @@ AST_MATCHER(Decl, isPublic) {
   return Node.getAccess() == AS_public;
 }
 
-/// \brief Matches protected C++ declarations.
+/// Matches protected C++ declarations.
 ///
 /// Given
 /// \code
@@ -546,7 +546,7 @@ AST_MATCHER(Decl, isProtected) {
   return Node.getAccess() == AS_protected;
 }
 
-/// \brief Matches private C++ declarations.
+/// Matches private C++ declarations.
 ///
 /// Given
 /// \code
@@ -562,7 +562,7 @@ AST_MATCHER(Decl, isPrivate) {
   return Node.getAccess() == AS_private;
 }
 
-/// \brief Matches non-static data members that are bit-fields.
+/// Matches non-static data members that are bit-fields.
 ///
 /// Given
 /// \code
@@ -577,7 +577,7 @@ AST_MATCHER(FieldDecl, isBitField) {
   return Node.isBitField();
 }
 
-/// \brief Matches non-static data members that are bit-fields of the specified
+/// Matches non-static data members that are bit-fields of the specified
 /// bit width.
 ///
 /// Given
@@ -595,7 +595,7 @@ AST_MATCHER_P(FieldDecl, hasBitWidth, un
          Node.getBitWidthValue(Finder->getASTContext()) == Width;
 }
 
-/// \brief Matches non-static data members that have an in-class initializer.
+/// Matches non-static data members that have an in-class initializer.
 ///
 /// Given
 /// \code
@@ -616,7 +616,7 @@ AST_MATCHER_P(FieldDecl, hasInClassIniti
           InnerMatcher.matches(*Initializer, Finder, Builder));
 }
 
-/// \brief Matches the specialized template of a specialization declaration.
+/// Matches the specialized template of a specialization declaration.
 ///
 /// Given
 /// \code
@@ -633,13 +633,13 @@ AST_MATCHER_P(ClassTemplateSpecializatio
           InnerMatcher.matches(*Decl, Finder, Builder));
 }
 
-/// \brief Matches a declaration that has been implicitly added
+/// Matches a declaration that has been implicitly added
 /// by the compiler (eg. implicit default/copy constructors).
 AST_MATCHER(Decl, isImplicit) {
   return Node.isImplicit();
 }
 
-/// \brief Matches classTemplateSpecializations, templateSpecializationType and
+/// Matches classTemplateSpecializations, templateSpecializationType and
 /// functionDecl that have at least one TemplateArgument matching the given
 /// InnerMatcher.
 ///
@@ -672,7 +672,7 @@ AST_POLYMORPHIC_MATCHER_P(
                              Builder);
 }
 
-/// \brief Matches expressions that match InnerMatcher after any implicit AST
+/// Matches expressions that match InnerMatcher after any implicit AST
 /// nodes are stripped off.
 ///
 /// Parentheses and explicit casts are not discarded.
@@ -698,7 +698,7 @@ AST_MATCHER_P(Expr, ignoringImplicit, in
   return InnerMatcher.matches(*Node.IgnoreImplicit(), Finder, Builder);
 }
 
-/// \brief Matches expressions that match InnerMatcher after any implicit casts
+/// Matches expressions that match InnerMatcher after any implicit casts
 /// are stripped off.
 ///
 /// Parentheses and explicit casts are not discarded.
@@ -728,7 +728,7 @@ AST_MATCHER_P(Expr, ignoringImpCasts,
   return InnerMatcher.matches(*Node.IgnoreImpCasts(), Finder, Builder);
 }
 
-/// \brief Matches expressions that match InnerMatcher after parentheses and
+/// Matches expressions that match InnerMatcher after parentheses and
 /// casts are stripped off.
 ///
 /// Implicit and non-C Style casts are also discarded.
@@ -749,7 +749,7 @@ AST_MATCHER_P(Expr, ignoringParenCasts,
   return InnerMatcher.matches(*Node.IgnoreParenCasts(), Finder, Builder);
 }
 
-/// \brief Matches expressions that match InnerMatcher after implicit casts and
+/// Matches expressions that match InnerMatcher after implicit casts and
 /// parentheses are stripped off.
 ///
 /// Explicit casts are not discarded.
@@ -775,7 +775,7 @@ AST_MATCHER_P(Expr, ignoringParenImpCast
   return InnerMatcher.matches(*Node.IgnoreParenImpCasts(), Finder, Builder);
 }
 
-/// \brief Matches types that match InnerMatcher after any parens are stripped.
+/// Matches types that match InnerMatcher after any parens are stripped.
 ///
 /// Given
 /// \code
@@ -791,7 +791,7 @@ AST_MATCHER_P(QualType, ignoringParens,
   return InnerMatcher.matches(Node.IgnoreParens(), Finder, Builder);
 }
 
-/// \brief Matches classTemplateSpecializations, templateSpecializationType and
+/// Matches classTemplateSpecializations, templateSpecializationType and
 /// functionDecl where the n'th TemplateArgument matches the given InnerMatcher.
 ///
 /// Given
@@ -822,7 +822,7 @@ AST_POLYMORPHIC_MATCHER_P2(
   return InnerMatcher.matches(List[N], Finder, Builder);
 }
 
-/// \brief Matches if the number of template arguments equals \p N.
+/// Matches if the number of template arguments equals \p N.
 ///
 /// Given
 /// \code
@@ -839,7 +839,7 @@ AST_POLYMORPHIC_MATCHER_P(
   return internal::getTemplateSpecializationArgs(Node).size() == N;
 }
 
-/// \brief Matches a TemplateArgument that refers to a certain type.
+/// Matches a TemplateArgument that refers to a certain type.
 ///
 /// Given
 /// \code
@@ -857,7 +857,7 @@ AST_MATCHER_P(TemplateArgument, refersTo
   return InnerMatcher.matches(Node.getAsType(), Finder, Builder);
 }
 
-/// \brief Matches a TemplateArgument that refers to a certain template.
+/// Matches a TemplateArgument that refers to a certain template.
 ///
 /// Given
 /// \code
@@ -875,7 +875,7 @@ AST_MATCHER_P(TemplateArgument, refersTo
   return InnerMatcher.matches(Node.getAsTemplate(), Finder, Builder);
 }
 
-/// \brief Matches a canonical TemplateArgument that refers to a certain
+/// Matches a canonical TemplateArgument that refers to a certain
 /// declaration.
 ///
 /// Given
@@ -895,7 +895,7 @@ AST_MATCHER_P(TemplateArgument, refersTo
   return false;
 }
 
-/// \brief Matches a sugar TemplateArgument that refers to a certain expression.
+/// Matches a sugar TemplateArgument that refers to a certain expression.
 ///
 /// Given
 /// \code
@@ -913,7 +913,7 @@ AST_MATCHER_P(TemplateArgument, isExpr,
   return false;
 }
 
-/// \brief Matches a TemplateArgument that is an integral value.
+/// Matches a TemplateArgument that is an integral value.
 ///
 /// Given
 /// \code
@@ -928,7 +928,7 @@ AST_MATCHER(TemplateArgument, isIntegral
   return Node.getKind() == TemplateArgument::Integral;
 }
 
-/// \brief Matches a TemplateArgument that referes to an integral type.
+/// Matches a TemplateArgument that referes to an integral type.
 ///
 /// Given
 /// \code
@@ -945,7 +945,7 @@ AST_MATCHER_P(TemplateArgument, refersTo
   return InnerMatcher.matches(Node.getIntegralType(), Finder, Builder);
 }
 
-/// \brief Matches a TemplateArgument of integral type with a given value.
+/// Matches a TemplateArgument of integral type with a given value.
 ///
 /// Note that 'Value' is a string as the template argument's value is
 /// an arbitrary precision integer. 'Value' must be euqal to the canonical
@@ -966,7 +966,7 @@ AST_MATCHER_P(TemplateArgument, equalsIn
   return Node.getAsIntegral().toString(10) == Value;
 }
 
-/// \brief Matches any value declaration.
+/// Matches any value declaration.
 ///
 /// Example matches A, B, C and F
 /// \code
@@ -975,7 +975,7 @@ AST_MATCHER_P(TemplateArgument, equalsIn
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ValueDecl> valueDecl;
 
-/// \brief Matches C++ constructor declarations.
+/// Matches C++ constructor declarations.
 ///
 /// Example matches Foo::Foo() and Foo::Foo(int)
 /// \code
@@ -989,7 +989,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXConstructorDecl>
     cxxConstructorDecl;
 
-/// \brief Matches explicit C++ destructor declarations.
+/// Matches explicit C++ destructor declarations.
 ///
 /// Example matches Foo::~Foo()
 /// \code
@@ -1001,7 +1001,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXDestructorDecl>
     cxxDestructorDecl;
 
-/// \brief Matches enum declarations.
+/// Matches enum declarations.
 ///
 /// Example matches X
 /// \code
@@ -1011,7 +1011,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, EnumDecl> enumDecl;
 
-/// \brief Matches enum constants.
+/// Matches enum constants.
 ///
 /// Example matches A, B, C
 /// \code
@@ -1022,7 +1022,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, EnumConstantDecl>
     enumConstantDecl;
 
-/// \brief Matches method declarations.
+/// Matches method declarations.
 ///
 /// Example matches y
 /// \code
@@ -1031,7 +1031,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXMethodDecl>
     cxxMethodDecl;
 
-/// \brief Matches conversion operator declarations.
+/// Matches conversion operator declarations.
 ///
 /// Example matches the operator.
 /// \code
@@ -1040,7 +1040,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, CXXConversionDecl>
     cxxConversionDecl;
 
-/// \brief Matches variable declarations.
+/// Matches variable declarations.
 ///
 /// Note: this does not match declarations of member variables, which are
 /// "field" declarations in Clang parlance.
@@ -1051,7 +1051,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, VarDecl> varDecl;
 
-/// \brief Matches field declarations.
+/// Matches field declarations.
 ///
 /// Given
 /// \code
@@ -1061,7 +1061,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'm'.
 extern const internal::VariadicDynCastAllOfMatcher<Decl, FieldDecl> fieldDecl;
 
-/// \brief Matches function declarations.
+/// Matches function declarations.
 ///
 /// Example matches f
 /// \code
@@ -1070,7 +1070,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, FunctionDecl>
     functionDecl;
 
-/// \brief Matches C++ function template declarations.
+/// Matches C++ function template declarations.
 ///
 /// Example matches f
 /// \code
@@ -1079,7 +1079,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, FunctionTemplateDecl>
     functionTemplateDecl;
 
-/// \brief Matches friend declarations.
+/// Matches friend declarations.
 ///
 /// Given
 /// \code
@@ -1089,7 +1089,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'friend void foo()'.
 extern const internal::VariadicDynCastAllOfMatcher<Decl, FriendDecl> friendDecl;
 
-/// \brief Matches statements.
+/// Matches statements.
 ///
 /// Given
 /// \code
@@ -1099,7 +1099,7 @@ extern const internal::VariadicDynCastAl
 ///   matches both the compound statement '{ ++a; }' and '++a'.
 extern const internal::VariadicAllOfMatcher<Stmt> stmt;
 
-/// \brief Matches declaration statements.
+/// Matches declaration statements.
 ///
 /// Given
 /// \code
@@ -1109,7 +1109,7 @@ extern const internal::VariadicAllOfMatc
 ///   matches 'int a'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, DeclStmt> declStmt;
 
-/// \brief Matches member expressions.
+/// Matches member expressions.
 ///
 /// Given
 /// \code
@@ -1122,7 +1122,7 @@ extern const internal::VariadicDynCastAl
 ///   matches this->x, x, y.x, a, this->b
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, MemberExpr> memberExpr;
 
-/// \brief Matches call expressions.
+/// Matches call expressions.
 ///
 /// Example matches x.y() and y()
 /// \code
@@ -1132,7 +1132,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CallExpr> callExpr;
 
-/// \brief Matches lambda expressions.
+/// Matches lambda expressions.
 ///
 /// Example matches [&](){return 5;}
 /// \code
@@ -1140,7 +1140,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, LambdaExpr> lambdaExpr;
 
-/// \brief Matches member call expressions.
+/// Matches member call expressions.
 ///
 /// Example matches x.y()
 /// \code
@@ -1150,7 +1150,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXMemberCallExpr>
     cxxMemberCallExpr;
 
-/// \brief Matches ObjectiveC Message invocation expressions.
+/// Matches ObjectiveC Message invocation expressions.
 ///
 /// The innermost message send invokes the "alloc" class method on the
 /// NSString class, while the outermost message send invokes the
@@ -1162,7 +1162,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ObjCMessageExpr>
     objcMessageExpr;
 
-/// \brief Matches Objective-C interface declarations.
+/// Matches Objective-C interface declarations.
 ///
 /// Example matches Foo
 /// \code
@@ -1172,7 +1172,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCInterfaceDecl>
     objcInterfaceDecl;
 
-/// \brief Matches Objective-C implementation declarations.
+/// Matches Objective-C implementation declarations.
 ///
 /// Example matches Foo
 /// \code
@@ -1182,7 +1182,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCImplementationDecl>
     objcImplementationDecl;
 
-/// \brief Matches Objective-C protocol declarations.
+/// Matches Objective-C protocol declarations.
 ///
 /// Example matches FooDelegate
 /// \code
@@ -1192,7 +1192,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCProtocolDecl>
     objcProtocolDecl;
 
-/// \brief Matches Objective-C category declarations.
+/// Matches Objective-C category declarations.
 ///
 /// Example matches Foo (Additions)
 /// \code
@@ -1202,7 +1202,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCCategoryDecl>
     objcCategoryDecl;
 
-/// \brief Matches Objective-C category definitions.
+/// Matches Objective-C category definitions.
 ///
 /// Example matches Foo (Additions)
 /// \code
@@ -1212,7 +1212,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCCategoryImplDecl>
     objcCategoryImplDecl;
 
-/// \brief Matches Objective-C method declarations.
+/// Matches Objective-C method declarations.
 ///
 /// Example matches both declaration and definition of -[Foo method]
 /// \code
@@ -1227,7 +1227,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCMethodDecl>
     objcMethodDecl;
 
-/// \brief Matches Objective-C instance variable declarations.
+/// Matches Objective-C instance variable declarations.
 ///
 /// Example matches _enabled
 /// \code
@@ -1239,7 +1239,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCIvarDecl>
     objcIvarDecl;
 
-/// \brief Matches Objective-C property declarations.
+/// Matches Objective-C property declarations.
 ///
 /// Example matches enabled
 /// \code
@@ -1250,7 +1250,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCPropertyDecl>
     objcPropertyDecl;
 
-/// \brief Matches Objective-C \@throw statements.
+/// Matches Objective-C \@throw statements.
 ///
 /// Example matches \@throw
 /// \code
@@ -1259,7 +1259,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ObjCAtThrowStmt>
     objcThrowStmt;
 
-/// \brief Matches Objective-C @try statements.
+/// Matches Objective-C @try statements.
 ///
 /// Example matches @try
 /// \code
@@ -1269,7 +1269,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ObjCAtTryStmt>
     objcTryStmt;
 
-/// \brief Matches Objective-C @catch statements.
+/// Matches Objective-C @catch statements.
 ///
 /// Example matches @catch
 /// \code
@@ -1279,7 +1279,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ObjCAtCatchStmt>
     objcCatchStmt;
 
-/// \brief Matches Objective-C @finally statements.
+/// Matches Objective-C @finally statements.
 ///
 /// Example matches @finally
 /// \code
@@ -1289,7 +1289,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ObjCAtFinallyStmt>
     objcFinallyStmt;
 
-/// \brief Matches expressions that introduce cleanups to be run at the end
+/// Matches expressions that introduce cleanups to be run at the end
 /// of the sub-expression's evaluation.
 ///
 /// Example matches std::string()
@@ -1299,7 +1299,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ExprWithCleanups>
     exprWithCleanups;
 
-/// \brief Matches init list expressions.
+/// Matches init list expressions.
 ///
 /// Given
 /// \code
@@ -1312,7 +1312,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, InitListExpr>
     initListExpr;
 
-/// \brief Matches the syntactic form of init list expressions
+/// Matches the syntactic form of init list expressions
 /// (if expression have it).
 AST_MATCHER_P(InitListExpr, hasSyntacticForm,
               internal::Matcher<Expr>, InnerMatcher) {
@@ -1321,7 +1321,7 @@ AST_MATCHER_P(InitListExpr, hasSyntactic
           InnerMatcher.matches(*SyntForm, Finder, Builder));
 }
 
-/// \brief Matches C++ initializer list expressions.
+/// Matches C++ initializer list expressions.
 ///
 /// Given
 /// \code
@@ -1336,7 +1336,7 @@ extern const internal::VariadicDynCastAl
                                                    CXXStdInitializerListExpr>
     cxxStdInitializerListExpr;
 
-/// \brief Matches implicit initializers of init list expressions.
+/// Matches implicit initializers of init list expressions.
 ///
 /// Given
 /// \code
@@ -1347,7 +1347,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ImplicitValueInitExpr>
     implicitValueInitExpr;
 
-/// \brief Matches paren list expressions.
+/// Matches paren list expressions.
 /// ParenListExprs don't have a predefined type and are used for late parsing.
 /// In the final AST, they can be met in template declarations.
 ///
@@ -1365,7 +1365,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ParenListExpr>
     parenListExpr;
 
-/// \brief Matches substitutions of non-type template parameters.
+/// Matches substitutions of non-type template parameters.
 ///
 /// Given
 /// \code
@@ -1379,7 +1379,7 @@ extern const internal::VariadicDynCastAl
                                                    SubstNonTypeTemplateParmExpr>
     substNonTypeTemplateParmExpr;
 
-/// \brief Matches using declarations.
+/// Matches using declarations.
 ///
 /// Given
 /// \code
@@ -1390,7 +1390,7 @@ extern const internal::VariadicDynCastAl
 ///   matches \code using X::x \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Decl, UsingDecl> usingDecl;
 
-/// \brief Matches using namespace declarations.
+/// Matches using namespace declarations.
 ///
 /// Given
 /// \code
@@ -1402,7 +1402,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, UsingDirectiveDecl>
     usingDirectiveDecl;
 
-/// \brief Matches reference to a name that can be looked up during parsing
+/// Matches reference to a name that can be looked up during parsing
 /// but could not be resolved to a specific declaration.
 ///
 /// Given
@@ -1419,7 +1419,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, UnresolvedLookupExpr>
     unresolvedLookupExpr;
 
-/// \brief Matches unresolved using value declarations.
+/// Matches unresolved using value declarations.
 ///
 /// Given
 /// \code
@@ -1434,7 +1434,7 @@ extern const internal::VariadicDynCastAl
                                                    UnresolvedUsingValueDecl>
     unresolvedUsingValueDecl;
 
-/// \brief Matches unresolved using value declarations that involve the
+/// Matches unresolved using value declarations that involve the
 /// typename.
 ///
 /// Given
@@ -1453,7 +1453,7 @@ extern const internal::VariadicDynCastAl
                                                    UnresolvedUsingTypenameDecl>
     unresolvedUsingTypenameDecl;
 
-/// \brief Matches parentheses used in expressions.
+/// Matches parentheses used in expressions.
 ///
 /// Example matches (foo() + 1)
 /// \code
@@ -1462,7 +1462,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ParenExpr> parenExpr;
 
-/// \brief Matches constructor call expressions (including implicit ones).
+/// Matches constructor call expressions (including implicit ones).
 ///
 /// Example matches string(ptr, n) and ptr within arguments of f
 ///     (matcher = cxxConstructExpr())
@@ -1475,7 +1475,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXConstructExpr>
     cxxConstructExpr;
 
-/// \brief Matches unresolved constructor call expressions.
+/// Matches unresolved constructor call expressions.
 ///
 /// Example matches T(t) in return statement of f
 ///     (matcher = cxxUnresolvedConstructExpr())
@@ -1487,7 +1487,7 @@ extern const internal::VariadicDynCastAl
                                                    CXXUnresolvedConstructExpr>
     cxxUnresolvedConstructExpr;
 
-/// \brief Matches implicit and explicit this expressions.
+/// Matches implicit and explicit this expressions.
 ///
 /// Example matches the implicit this expression in "return i".
 ///     (matcher = cxxThisExpr())
@@ -1500,7 +1500,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXThisExpr>
     cxxThisExpr;
 
-/// \brief Matches nodes where temporaries are created.
+/// Matches nodes where temporaries are created.
 ///
 /// Example matches FunctionTakesString(GetStringByValue())
 ///     (matcher = cxxBindTemporaryExpr())
@@ -1511,7 +1511,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXBindTemporaryExpr>
     cxxBindTemporaryExpr;
 
-/// \brief Matches nodes where temporaries are materialized.
+/// Matches nodes where temporaries are materialized.
 ///
 /// Example: Given
 /// \code
@@ -1533,7 +1533,7 @@ extern const internal::VariadicDynCastAl
                                                    MaterializeTemporaryExpr>
     materializeTemporaryExpr;
 
-/// \brief Matches new expressions.
+/// Matches new expressions.
 ///
 /// Given
 /// \code
@@ -1543,7 +1543,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'new X'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXNewExpr> cxxNewExpr;
 
-/// \brief Matches delete expressions.
+/// Matches delete expressions.
 ///
 /// Given
 /// \code
@@ -1554,7 +1554,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXDeleteExpr>
     cxxDeleteExpr;
 
-/// \brief Matches array subscript expressions.
+/// Matches array subscript expressions.
 ///
 /// Given
 /// \code
@@ -1565,7 +1565,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ArraySubscriptExpr>
     arraySubscriptExpr;
 
-/// \brief Matches the value of a default argument at the call site.
+/// Matches the value of a default argument at the call site.
 ///
 /// Example matches the CXXDefaultArgExpr placeholder inserted for the
 ///     default value of the second parameter in the call expression f(42)
@@ -1577,7 +1577,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXDefaultArgExpr>
     cxxDefaultArgExpr;
 
-/// \brief Matches overloaded operator calls.
+/// Matches overloaded operator calls.
 ///
 /// Note that if an operator isn't overloaded, it won't match. Instead, use
 /// binaryOperator matcher.
@@ -1594,7 +1594,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXOperatorCallExpr>
     cxxOperatorCallExpr;
 
-/// \brief Matches expressions.
+/// Matches expressions.
 ///
 /// Example matches x()
 /// \code
@@ -1602,7 +1602,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, Expr> expr;
 
-/// \brief Matches expressions that refer to declarations.
+/// Matches expressions that refer to declarations.
 ///
 /// Example matches x in if (x)
 /// \code
@@ -1612,7 +1612,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, DeclRefExpr>
     declRefExpr;
 
-/// \brief Matches if statements.
+/// Matches if statements.
 ///
 /// Example matches 'if (x) {}'
 /// \code
@@ -1620,7 +1620,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, IfStmt> ifStmt;
 
-/// \brief Matches for statements.
+/// Matches for statements.
 ///
 /// Example matches 'for (;;) {}'
 /// \code
@@ -1629,7 +1629,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ForStmt> forStmt;
 
-/// \brief Matches the increment statement of a for loop.
+/// Matches the increment statement of a for loop.
 ///
 /// Example:
 ///     forStmt(hasIncrement(unaryOperator(hasOperatorName("++"))))
@@ -1644,7 +1644,7 @@ AST_MATCHER_P(ForStmt, hasIncrement, int
           InnerMatcher.matches(*Increment, Finder, Builder));
 }
 
-/// \brief Matches the initialization statement of a for loop.
+/// Matches the initialization statement of a for loop.
 ///
 /// Example:
 ///     forStmt(hasLoopInit(declStmt()))
@@ -1658,7 +1658,7 @@ AST_MATCHER_P(ForStmt, hasLoopInit, inte
   return (Init != nullptr && InnerMatcher.matches(*Init, Finder, Builder));
 }
 
-/// \brief Matches range-based for statements.
+/// Matches range-based for statements.
 ///
 /// cxxForRangeStmt() matches 'for (auto a : i)'
 /// \code
@@ -1668,7 +1668,7 @@ AST_MATCHER_P(ForStmt, hasLoopInit, inte
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXForRangeStmt>
     cxxForRangeStmt;
 
-/// \brief Matches the initialization statement of a for loop.
+/// Matches the initialization statement of a for loop.
 ///
 /// Example:
 ///     forStmt(hasLoopVariable(anything()))
@@ -1682,7 +1682,7 @@ AST_MATCHER_P(CXXForRangeStmt, hasLoopVa
   return (Var != nullptr && InnerMatcher.matches(*Var, Finder, Builder));
 }
 
-/// \brief Matches the range initialization statement of a for loop.
+/// Matches the range initialization statement of a for loop.
 ///
 /// Example:
 ///     forStmt(hasRangeInit(anything()))
@@ -1696,7 +1696,7 @@ AST_MATCHER_P(CXXForRangeStmt, hasRangeI
   return (Init != nullptr && InnerMatcher.matches(*Init, Finder, Builder));
 }
 
-/// \brief Matches while statements.
+/// Matches while statements.
 ///
 /// Given
 /// \code
@@ -1706,7 +1706,7 @@ AST_MATCHER_P(CXXForRangeStmt, hasRangeI
 ///   matches 'while (true) {}'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, WhileStmt> whileStmt;
 
-/// \brief Matches do statements.
+/// Matches do statements.
 ///
 /// Given
 /// \code
@@ -1716,7 +1716,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'do {} while(true)'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, DoStmt> doStmt;
 
-/// \brief Matches break statements.
+/// Matches break statements.
 ///
 /// Given
 /// \code
@@ -1726,7 +1726,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'break'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, BreakStmt> breakStmt;
 
-/// \brief Matches continue statements.
+/// Matches continue statements.
 ///
 /// Given
 /// \code
@@ -1737,7 +1737,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ContinueStmt>
     continueStmt;
 
-/// \brief Matches return statements.
+/// Matches return statements.
 ///
 /// Given
 /// \code
@@ -1747,7 +1747,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'return 1'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ReturnStmt> returnStmt;
 
-/// \brief Matches goto statements.
+/// Matches goto statements.
 ///
 /// Given
 /// \code
@@ -1758,7 +1758,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'goto FOO'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, GotoStmt> gotoStmt;
 
-/// \brief Matches label statements.
+/// Matches label statements.
 ///
 /// Given
 /// \code
@@ -1769,7 +1769,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'FOO:'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, LabelStmt> labelStmt;
 
-/// \brief Matches address of label statements (GNU extension).
+/// Matches address of label statements (GNU extension).
 ///
 /// Given
 /// \code
@@ -1782,7 +1782,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, AddrLabelExpr>
     addrLabelExpr;
 
-/// \brief Matches switch statements.
+/// Matches switch statements.
 ///
 /// Given
 /// \code
@@ -1792,7 +1792,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'switch(a)'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, SwitchStmt> switchStmt;
 
-/// \brief Matches case and default statements inside switch statements.
+/// Matches case and default statements inside switch statements.
 ///
 /// Given
 /// \code
@@ -1802,7 +1802,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'case 42:' and 'default:'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, SwitchCase> switchCase;
 
-/// \brief Matches case statements inside switch statements.
+/// Matches case statements inside switch statements.
 ///
 /// Given
 /// \code
@@ -1812,7 +1812,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'case 42:'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CaseStmt> caseStmt;
 
-/// \brief Matches default statements inside switch statements.
+/// Matches default statements inside switch statements.
 ///
 /// Given
 /// \code
@@ -1823,7 +1823,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, DefaultStmt>
     defaultStmt;
 
-/// \brief Matches compound statements.
+/// Matches compound statements.
 ///
 /// Example matches '{}' and '{{}}' in 'for (;;) {{}}'
 /// \code
@@ -1832,7 +1832,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CompoundStmt>
     compoundStmt;
 
-/// \brief Matches catch statements.
+/// Matches catch statements.
 ///
 /// \code
 ///   try {} catch(int i) {}
@@ -1842,7 +1842,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXCatchStmt>
     cxxCatchStmt;
 
-/// \brief Matches try statements.
+/// Matches try statements.
 ///
 /// \code
 ///   try {} catch(int i) {}
@@ -1851,7 +1851,7 @@ extern const internal::VariadicDynCastAl
 ///   matches 'try {}'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXTryStmt> cxxTryStmt;
 
-/// \brief Matches throw expressions.
+/// Matches throw expressions.
 ///
 /// \code
 ///   try { throw 5; } catch(int i) {}
@@ -1861,7 +1861,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXThrowExpr>
     cxxThrowExpr;
 
-/// \brief Matches null statements.
+/// Matches null statements.
 ///
 /// \code
 ///   foo();;
@@ -1870,7 +1870,7 @@ extern const internal::VariadicDynCastAl
 ///   matches the second ';'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, NullStmt> nullStmt;
 
-/// \brief Matches asm statements.
+/// Matches asm statements.
 ///
 /// \code
 ///  int i = 100;
@@ -1880,7 +1880,7 @@ extern const internal::VariadicDynCastAl
 ///   matches '__asm("mov al, 2")'
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, AsmStmt> asmStmt;
 
-/// \brief Matches bool literals.
+/// Matches bool literals.
 ///
 /// Example matches true
 /// \code
@@ -1889,7 +1889,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXBoolLiteralExpr>
     cxxBoolLiteral;
 
-/// \brief Matches string literals (also matches wide string literals).
+/// Matches string literals (also matches wide string literals).
 ///
 /// Example matches "abcd", L"abcd"
 /// \code
@@ -1899,7 +1899,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, StringLiteral>
     stringLiteral;
 
-/// \brief Matches character literals (also matches wchar_t).
+/// Matches character literals (also matches wchar_t).
 ///
 /// Not matching Hex-encoded chars (e.g. 0x1234, which is a IntegerLiteral),
 /// though.
@@ -1912,14 +1912,14 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CharacterLiteral>
     characterLiteral;
 
-/// \brief Matches integer literals of all sizes / encodings, e.g.
+/// Matches integer literals of all sizes / encodings, e.g.
 /// 1, 1L, 0x1 and 1U.
 ///
 /// Does not match character-encoded integers such as L'a'.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, IntegerLiteral>
     integerLiteral;
 
-/// \brief Matches float literals of all sizes / encodings, e.g.
+/// Matches float literals of all sizes / encodings, e.g.
 /// 1.0, 1.0f, 1.0L and 1e10.
 ///
 /// Does not match implicit conversions such as
@@ -1929,13 +1929,13 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, FloatingLiteral>
     floatLiteral;
 
-/// \brief Matches user defined literal operator call.
+/// Matches user defined literal operator call.
 ///
 /// Example match: "foo"_suffix
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, UserDefinedLiteral>
     userDefinedLiteral;
 
-/// \brief Matches compound (i.e. non-scalar) literals
+/// Matches compound (i.e. non-scalar) literals
 ///
 /// Example match: {1}, (1, 2)
 /// \code
@@ -1945,22 +1945,22 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CompoundLiteralExpr>
     compoundLiteralExpr;
 
-/// \brief Matches nullptr literal.
+/// Matches nullptr literal.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXNullPtrLiteralExpr>
     cxxNullPtrLiteralExpr;
 
-/// \brief Matches GNU __null expression.
+/// Matches GNU __null expression.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, GNUNullExpr>
     gnuNullExpr;
 
-/// \brief Matches atomic builtins.
+/// Matches atomic builtins.
 /// Example matches __atomic_load_n(ptr, 1)
 /// \code
 ///   void foo() { int *ptr; __atomic_load_n(ptr, 1); }
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, AtomicExpr> atomicExpr;
 
-/// \brief Matches statement expression (GNU extension).
+/// Matches statement expression (GNU extension).
 ///
 /// Example match: ({ int X = 4; X; })
 /// \code
@@ -1968,7 +1968,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, StmtExpr> stmtExpr;
 
-/// \brief Matches binary operator expressions.
+/// Matches binary operator expressions.
 ///
 /// Example matches a || b
 /// \code
@@ -1977,7 +1977,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, BinaryOperator>
     binaryOperator;
 
-/// \brief Matches unary operator expressions.
+/// Matches unary operator expressions.
 ///
 /// Example matches !a
 /// \code
@@ -1986,7 +1986,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, UnaryOperator>
     unaryOperator;
 
-/// \brief Matches conditional operator expressions.
+/// Matches conditional operator expressions.
 ///
 /// Example matches a ? b : c
 /// \code
@@ -1995,7 +1995,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ConditionalOperator>
     conditionalOperator;
 
-/// \brief Matches binary conditional operator expressions (GNU extension).
+/// Matches binary conditional operator expressions (GNU extension).
 ///
 /// Example matches a ?: b
 /// \code
@@ -2005,7 +2005,7 @@ extern const internal::VariadicDynCastAl
                                                    BinaryConditionalOperator>
     binaryConditionalOperator;
 
-/// \brief Matches opaque value expressions. They are used as helpers
+/// Matches opaque value expressions. They are used as helpers
 /// to reference another expressions and can be met
 /// in BinaryConditionalOperators, for example.
 ///
@@ -2016,7 +2016,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, OpaqueValueExpr>
     opaqueValueExpr;
 
-/// \brief Matches a C++ static_assert declaration.
+/// Matches a C++ static_assert declaration.
 ///
 /// Example:
 ///   staticAssertExpr()
@@ -2032,7 +2032,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Decl, StaticAssertDecl>
     staticAssertDecl;
 
-/// \brief Matches a reinterpret_cast expression.
+/// Matches a reinterpret_cast expression.
 ///
 /// Either the source expression or the destination type can be matched
 /// using has(), but hasDestinationType() is more specific and can be
@@ -2045,7 +2045,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXReinterpretCastExpr>
     cxxReinterpretCastExpr;
 
-/// \brief Matches a C++ static_cast expression.
+/// Matches a C++ static_cast expression.
 ///
 /// \see hasDestinationType
 /// \see reinterpretCast
@@ -2061,7 +2061,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXStaticCastExpr>
     cxxStaticCastExpr;
 
-/// \brief Matches a dynamic_cast expression.
+/// Matches a dynamic_cast expression.
 ///
 /// Example:
 ///   cxxDynamicCastExpr()
@@ -2076,7 +2076,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXDynamicCastExpr>
     cxxDynamicCastExpr;
 
-/// \brief Matches a const_cast expression.
+/// Matches a const_cast expression.
 ///
 /// Example: Matches const_cast<int*>(&r) in
 /// \code
@@ -2087,7 +2087,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXConstCastExpr>
     cxxConstCastExpr;
 
-/// \brief Matches a C-style cast expression.
+/// Matches a C-style cast expression.
 ///
 /// Example: Matches (int) 2.2f in
 /// \code
@@ -2096,7 +2096,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CStyleCastExpr>
     cStyleCastExpr;
 
-/// \brief Matches explicit cast expressions.
+/// Matches explicit cast expressions.
 ///
 /// Matches any cast expression written in user code, whether it be a
 /// C-style cast, a functional-style cast, or a keyword cast.
@@ -2120,14 +2120,14 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ExplicitCastExpr>
     explicitCastExpr;
 
-/// \brief Matches the implicit cast nodes of Clang's AST.
+/// Matches the implicit cast nodes of Clang's AST.
 ///
 /// This matches many different places, including function call return value
 /// eliding, as well as any type conversions.
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ImplicitCastExpr>
     implicitCastExpr;
 
-/// \brief Matches any cast nodes of Clang's AST.
+/// Matches any cast nodes of Clang's AST.
 ///
 /// Example: castExpr() matches each of the following:
 /// \code
@@ -2142,7 +2142,7 @@ extern const internal::VariadicDynCastAl
 /// \endcode
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CastExpr> castExpr;
 
-/// \brief Matches functional cast expressions
+/// Matches functional cast expressions
 ///
 /// Example: Matches Foo(bar);
 /// \code
@@ -2153,7 +2153,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXFunctionalCastExpr>
     cxxFunctionalCastExpr;
 
-/// \brief Matches functional cast expressions having N != 1 arguments
+/// Matches functional cast expressions having N != 1 arguments
 ///
 /// Example: Matches Foo(bar, bar)
 /// \code
@@ -2162,7 +2162,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXTemporaryObjectExpr>
     cxxTemporaryObjectExpr;
 
-/// \brief Matches predefined identifier expressions [C99 6.4.2.2].
+/// Matches predefined identifier expressions [C99 6.4.2.2].
 ///
 /// Example: Matches __func__
 /// \code
@@ -2171,7 +2171,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, PredefinedExpr>
     predefinedExpr;
 
-/// \brief Matches C99 designated initializer expressions [C99 6.7.8].
+/// Matches C99 designated initializer expressions [C99 6.7.8].
 ///
 /// Example: Matches { [2].y = 1.0, [0].x = 1.0 }
 /// \code
@@ -2180,7 +2180,7 @@ extern const internal::VariadicDynCastAl
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, DesignatedInitExpr>
     designatedInitExpr;
 
-/// \brief Matches designated initializer expressions that contain
+/// Matches designated initializer expressions that contain
 /// a specific number of designators.
 ///
 /// Example: Given
@@ -2195,16 +2195,16 @@ AST_MATCHER_P(DesignatedInitExpr, design
   return Node.size() == N;
 }
 
-/// \brief Matches \c QualTypes in the clang AST.
+/// Matches \c QualTypes in the clang AST.
 extern const internal::VariadicAllOfMatcher<QualType> qualType;
 
-/// \brief Matches \c Types in the clang AST.
+/// Matches \c Types in the clang AST.
 extern const internal::VariadicAllOfMatcher<Type> type;
 
-/// \brief Matches \c TypeLocs in the clang AST.
+/// Matches \c TypeLocs in the clang AST.
 extern const internal::VariadicAllOfMatcher<TypeLoc> typeLoc;
 
-/// \brief Matches if any of the given matchers matches.
+/// Matches if any of the given matchers matches.
 ///
 /// Unlike \c anyOf, \c eachOf will generate a match result for each
 /// matching submatcher.
@@ -2227,21 +2227,21 @@ extern const internal::VariadicOperatorM
     2, std::numeric_limits<unsigned>::max()>
     eachOf;
 
-/// \brief Matches if any of the given matchers matches.
+/// Matches if any of the given matchers matches.
 ///
 /// Usable as: Any Matcher
 extern const internal::VariadicOperatorMatcherFunc<
     2, std::numeric_limits<unsigned>::max()>
     anyOf;
 
-/// \brief Matches if all given matchers match.
+/// Matches if all given matchers match.
 ///
 /// Usable as: Any Matcher
 extern const internal::VariadicOperatorMatcherFunc<
     2, std::numeric_limits<unsigned>::max()>
     allOf;
 
-/// \brief Matches sizeof (C99), alignof (C++11) and vec_step (OpenCL)
+/// Matches sizeof (C99), alignof (C++11) and vec_step (OpenCL)
 ///
 /// Given
 /// \code
@@ -2254,7 +2254,7 @@ extern const internal::VariadicDynCastAl
                                                    UnaryExprOrTypeTraitExpr>
     unaryExprOrTypeTraitExpr;
 
-/// \brief Matches unary expressions that have a specific type of argument.
+/// Matches unary expressions that have a specific type of argument.
 ///
 /// Given
 /// \code
@@ -2268,7 +2268,7 @@ AST_MATCHER_P(UnaryExprOrTypeTraitExpr,
   return InnerMatcher.matches(ArgumentType, Finder, Builder);
 }
 
-/// \brief Matches unary expressions of a certain kind.
+/// Matches unary expressions of a certain kind.
 ///
 /// Given
 /// \code
@@ -2281,7 +2281,7 @@ AST_MATCHER_P(UnaryExprOrTypeTraitExpr,
   return Node.getKind() == Kind;
 }
 
-/// \brief Same as unaryExprOrTypeTraitExpr, but only matching
+/// Same as unaryExprOrTypeTraitExpr, but only matching
 /// alignof.
 inline internal::Matcher<Stmt> alignOfExpr(
     const internal::Matcher<UnaryExprOrTypeTraitExpr> &InnerMatcher) {
@@ -2289,7 +2289,7 @@ inline internal::Matcher<Stmt> alignOfEx
       ofKind(UETT_AlignOf), InnerMatcher)));
 }
 
-/// \brief Same as unaryExprOrTypeTraitExpr, but only matching
+/// Same as unaryExprOrTypeTraitExpr, but only matching
 /// sizeof.
 inline internal::Matcher<Stmt> sizeOfExpr(
     const internal::Matcher<UnaryExprOrTypeTraitExpr> &InnerMatcher) {
@@ -2297,7 +2297,7 @@ inline internal::Matcher<Stmt> sizeOfExp
       allOf(ofKind(UETT_SizeOf), InnerMatcher)));
 }
 
-/// \brief Matches NamedDecl nodes that have the specified name.
+/// Matches NamedDecl nodes that have the specified name.
 ///
 /// Supports specifying enclosing namespaces or classes by prefixing the name
 /// with '<enclosing>::'.
@@ -2316,7 +2316,7 @@ inline internal::Matcher<NamedDecl> hasN
   return internal::Matcher<NamedDecl>(new internal::HasNameMatcher({Name}));
 }
 
-/// \brief Matches NamedDecl nodes that have any of the specified names.
+/// Matches NamedDecl nodes that have any of the specified names.
 ///
 /// This matcher is only provided as a performance optimization of hasName.
 /// \code
@@ -2330,7 +2330,7 @@ extern const internal::VariadicFunction<
                                         internal::hasAnyNameFunc>
     hasAnyName;
 
-/// \brief Matches NamedDecl nodes whose fully qualified names contain
+/// Matches NamedDecl nodes whose fully qualified names contain
 /// a substring matched by the given RegExp.
 ///
 /// Supports specifying enclosing namespaces or classes by
@@ -2353,7 +2353,7 @@ AST_MATCHER_P(NamedDecl, matchesName, st
   return RE.match(FullNameString);
 }
 
-/// \brief Matches overloaded operator names.
+/// Matches overloaded operator names.
 ///
 /// Matches overloaded operator names specified in strings without the
 /// "operator" prefix: e.g. "<<".
@@ -2381,7 +2381,7 @@ hasOverloadedOperatorName(StringRef Name
       AST_POLYMORPHIC_SUPPORTED_TYPES(CXXOperatorCallExpr, FunctionDecl)>(Name);
 }
 
-/// \brief Matches C++ classes that are directly or indirectly derived from
+/// Matches C++ classes that are directly or indirectly derived from
 /// a class matching \c Base.
 ///
 /// Note that a class is not considered to be derived from itself.
@@ -2407,13 +2407,13 @@ AST_MATCHER_P(CXXRecordDecl, isDerivedFr
   return Finder->classIsDerivedFrom(&Node, Base, Builder);
 }
 
-/// \brief Overloaded method as shortcut for \c isDerivedFrom(hasName(...)).
+/// Overloaded method as shortcut for \c isDerivedFrom(hasName(...)).
 AST_MATCHER_P_OVERLOAD(CXXRecordDecl, isDerivedFrom, std::string, BaseName, 1) {
   assert(!BaseName.empty());
   return isDerivedFrom(hasName(BaseName)).matches(Node, Finder, Builder);
 }
 
-/// \brief Similar to \c isDerivedFrom(), but also matches classes that directly
+/// Similar to \c isDerivedFrom(), but also matches classes that directly
 /// match \c Base.
 AST_MATCHER_P_OVERLOAD(CXXRecordDecl, isSameOrDerivedFrom,
                        internal::Matcher<NamedDecl>, Base, 0) {
@@ -2421,7 +2421,7 @@ AST_MATCHER_P_OVERLOAD(CXXRecordDecl, is
       .matches(Node, Finder, Builder);
 }
 
-/// \brief Overloaded method as shortcut for
+/// Overloaded method as shortcut for
 /// \c isSameOrDerivedFrom(hasName(...)).
 AST_MATCHER_P_OVERLOAD(CXXRecordDecl, isSameOrDerivedFrom, std::string,
                        BaseName, 1) {
@@ -2429,7 +2429,7 @@ AST_MATCHER_P_OVERLOAD(CXXRecordDecl, is
   return isSameOrDerivedFrom(hasName(BaseName)).matches(Node, Finder, Builder);
 }
 
-/// \brief Matches the first method of a class or struct that satisfies \c
+/// Matches the first method of a class or struct that satisfies \c
 /// InnerMatcher.
 ///
 /// Given:
@@ -2446,7 +2446,7 @@ AST_MATCHER_P(CXXRecordDecl, hasMethod,
                                     Node.method_end(), Finder, Builder);
 }
 
-/// \brief Matches the generated class of lambda expressions.
+/// Matches the generated class of lambda expressions.
 ///
 /// Given:
 /// \code
@@ -2459,7 +2459,7 @@ AST_MATCHER(CXXRecordDecl, isLambda) {
   return Node.isLambda();
 }
 
-/// \brief Matches AST nodes that have child AST nodes that match the
+/// Matches AST nodes that have child AST nodes that match the
 /// provided matcher.
 ///
 /// Example matches X, Y
@@ -2479,7 +2479,7 @@ AST_MATCHER(CXXRecordDecl, isLambda) {
 /// has(ignoringParenImpCasts(expr())).
 extern const internal::ArgumentAdaptingMatcherFunc<internal::HasMatcher> has;
 
-/// \brief Matches AST nodes that have descendant AST nodes that match the
+/// Matches AST nodes that have descendant AST nodes that match the
 /// provided matcher.
 ///
 /// Example matches X, Y, Z
@@ -2497,7 +2497,7 @@ extern const internal::ArgumentAdaptingM
     internal::HasDescendantMatcher>
     hasDescendant;
 
-/// \brief Matches AST nodes that have child AST nodes that match the
+/// Matches AST nodes that have child AST nodes that match the
 /// provided matcher.
 ///
 /// Example matches X, Y, Y::X, Z::Y, Z::Y::X
@@ -2518,7 +2518,7 @@ extern const internal::ArgumentAdaptingM
 extern const internal::ArgumentAdaptingMatcherFunc<internal::ForEachMatcher>
     forEach;
 
-/// \brief Matches AST nodes that have descendant AST nodes that match the
+/// Matches AST nodes that have descendant AST nodes that match the
 /// provided matcher.
 ///
 /// Example matches X, A, A::X, B, B::C, B::C::X
@@ -2549,7 +2549,7 @@ extern const internal::ArgumentAdaptingM
     internal::ForEachDescendantMatcher>
     forEachDescendant;
 
-/// \brief Matches if the node or any descendant matches.
+/// Matches if the node or any descendant matches.
 ///
 /// Generates results for each match.
 ///
@@ -2570,7 +2570,7 @@ internal::Matcher<T> findAll(const inter
   return eachOf(Matcher, forEachDescendant(Matcher));
 }
 
-/// \brief Matches AST nodes that have a parent that matches the provided
+/// Matches AST nodes that have a parent that matches the provided
 /// matcher.
 ///
 /// Given
@@ -2586,7 +2586,7 @@ extern const internal::ArgumentAdaptingM
     internal::TypeList<Decl, NestedNameSpecifierLoc, Stmt, TypeLoc>>
     hasParent;
 
-/// \brief Matches AST nodes that have an ancestor that matches the provided
+/// Matches AST nodes that have an ancestor that matches the provided
 /// matcher.
 ///
 /// Given
@@ -2603,7 +2603,7 @@ extern const internal::ArgumentAdaptingM
     internal::TypeList<Decl, NestedNameSpecifierLoc, Stmt, TypeLoc>>
     hasAncestor;
 
-/// \brief Matches if the provided matcher does not match.
+/// Matches if the provided matcher does not match.
 ///
 /// Example matches Y (matcher = cxxRecordDecl(unless(hasName("X"))))
 /// \code
@@ -2614,7 +2614,7 @@ extern const internal::ArgumentAdaptingM
 /// Usable as: Any Matcher
 extern const internal::VariadicOperatorMatcherFunc<1, 1> unless;
 
-/// \brief Matches a node if the declaration associated with that node
+/// Matches a node if the declaration associated with that node
 /// matches the given matcher.
 ///
 /// The associated declaration is:
@@ -2656,7 +2656,7 @@ hasDeclaration(const internal::Matcher<D
       void(internal::HasDeclarationSupportedTypes)>(InnerMatcher);
 }
 
-/// \brief Matches a \c NamedDecl whose underlying declaration matches the given
+/// Matches a \c NamedDecl whose underlying declaration matches the given
 /// matcher.
 ///
 /// Given
@@ -2675,7 +2675,7 @@ AST_MATCHER_P(NamedDecl, hasUnderlyingDe
          InnerMatcher.matches(*UnderlyingDecl, Finder, Builder);
 }
 
-/// \brief Matches on the implicit object argument of a member call expression.
+/// Matches on the implicit object argument of a member call expression.
 ///
 /// Example matches y.x()
 ///   (matcher = cxxMemberCallExpr(on(hasType(cxxRecordDecl(hasName("Y"))))))
@@ -2694,7 +2694,7 @@ AST_MATCHER_P(CXXMemberCallExpr, on, int
 }
 
 
-/// \brief Matches on the receiver of an ObjectiveC Message expression.
+/// Matches on the receiver of an ObjectiveC Message expression.
 ///
 /// Example
 /// matcher = objCMessageExpr(hasReceiverType(asString("UIWebView *")));
@@ -2710,7 +2710,7 @@ AST_MATCHER_P(ObjCMessageExpr, hasReceiv
   return InnerMatcher.matches(TypeDecl, Finder, Builder);
 }
 
-/// \brief Matches when BaseName == Selector.getAsString()
+/// Matches when BaseName == Selector.getAsString()
 ///
 ///  matcher = objCMessageExpr(hasSelector("loadHTMLString:baseURL:"));
 ///  matches the outer message expr in the code below, but NOT the message
@@ -2724,7 +2724,7 @@ AST_MATCHER_P(ObjCMessageExpr, hasSelect
 }
 
 
-/// \brief Matches when at least one of the supplied string equals to the
+/// Matches when at least one of the supplied string equals to the
 /// Selector.getAsString()
 ///
 ///  matcher = objCMessageExpr(hasSelector("methodA:", "methodB:"));
@@ -2738,7 +2738,7 @@ extern const internal::VariadicFunction<
                                         internal::hasAnySelectorFunc>
                                         hasAnySelector;
 
-/// \brief Matches ObjC selectors whose name contains
+/// Matches ObjC selectors whose name contains
 /// a substring matched by the given RegExp.
 ///  matcher = objCMessageExpr(matchesSelector("loadHTMLString\:baseURL?"));
 ///  matches the outer message expr in the code below, but NOT the message
@@ -2753,7 +2753,7 @@ AST_MATCHER_P(ObjCMessageExpr, matchesSe
   return RE.match(SelectorString);
 }
 
-/// \brief Matches when the selector is the empty selector
+/// Matches when the selector is the empty selector
 ///
 /// Matches only when the selector of the objCMessageExpr is NULL. This may
 /// represent an error condition in the tree!
@@ -2761,7 +2761,7 @@ AST_MATCHER(ObjCMessageExpr, hasNullSele
   return Node.getSelector().isNull();
 }
 
-/// \brief Matches when the selector is a Unary Selector
+/// Matches when the selector is a Unary Selector
 ///
 ///  matcher = objCMessageExpr(matchesSelector(hasUnarySelector());
 ///  matches self.bodyView in the code below, but NOT the outer message
@@ -2773,7 +2773,7 @@ AST_MATCHER(ObjCMessageExpr, hasUnarySel
   return Node.getSelector().isUnarySelector();
 }
 
-/// \brief Matches when the selector is a keyword selector
+/// Matches when the selector is a keyword selector
 ///
 /// objCMessageExpr(hasKeywordSelector()) matches the generated setFrame
 /// message expression in
@@ -2789,7 +2789,7 @@ AST_MATCHER(ObjCMessageExpr, hasKeywordS
   return Node.getSelector().isKeywordSelector();
 }
 
-/// \brief Matches when the selector has the specified number of arguments
+/// Matches when the selector has the specified number of arguments
 ///
 ///  matcher = objCMessageExpr(numSelectorArgs(0));
 ///  matches self.bodyView in the code below
@@ -2804,7 +2804,7 @@ AST_MATCHER_P(ObjCMessageExpr, numSelect
   return Node.getSelector().getNumArgs() == N;
 }
    
-/// \brief Matches if the call expression's callee expression matches.
+/// Matches if the call expression's callee expression matches.
 ///
 /// Given
 /// \code
@@ -2827,7 +2827,7 @@ AST_MATCHER_P(CallExpr, callee, internal
           InnerMatcher.matches(*ExprNode, Finder, Builder));
 }
 
-/// \brief Matches if the call expression's callee's declaration matches the
+/// Matches if the call expression's callee's declaration matches the
 /// given matcher.
 ///
 /// Example matches y.x() (matcher = callExpr(callee(
@@ -2841,7 +2841,7 @@ AST_MATCHER_P_OVERLOAD(CallExpr, callee,
   return callExpr(hasDeclaration(InnerMatcher)).matches(Node, Finder, Builder);
 }
 
-/// \brief Matches if the expression's or declaration's type matches a type
+/// Matches if the expression's or declaration's type matches a type
 /// matcher.
 ///
 /// Example matches x (matcher = expr(hasType(cxxRecordDecl(hasName("X")))))
@@ -2861,7 +2861,7 @@ AST_POLYMORPHIC_MATCHER_P_OVERLOAD(
   return false;
 }
 
-/// \brief Overloaded to match the declaration of the expression's or value
+/// Overloaded to match the declaration of the expression's or value
 /// declaration's type.
 ///
 /// In case of a value declaration (for example a variable declaration),
@@ -2886,7 +2886,7 @@ AST_POLYMORPHIC_MATCHER_P_OVERLOAD(hasTy
       .matches(Node.getType(), Finder, Builder);
 }
 
-/// \brief Matches if the type location of the declarator decl's type matches
+/// Matches if the type location of the declarator decl's type matches
 /// the inner matcher.
 ///
 /// Given
@@ -2902,7 +2902,7 @@ AST_MATCHER_P(DeclaratorDecl, hasTypeLoc
   return Inner.matches(Node.getTypeSourceInfo()->getTypeLoc(), Finder, Builder);
 }
 
-/// \brief Matches if the matched type is represented by the given string.
+/// Matches if the matched type is represented by the given string.
 ///
 /// Given
 /// \code
@@ -2915,7 +2915,7 @@ AST_MATCHER_P(QualType, asString, std::s
   return Name == Node.getAsString();
 }
 
-/// \brief Matches if the matched type is a pointer type and the pointee type
+/// Matches if the matched type is a pointer type and the pointee type
 /// matches the specified matcher.
 ///
 /// Example matches y->x()
@@ -2932,14 +2932,14 @@ AST_MATCHER_P(
           InnerMatcher.matches(Node->getPointeeType(), Finder, Builder));
 }
 
-/// \brief Overloaded to match the pointee type's declaration.
+/// Overloaded to match the pointee type's declaration.
 AST_MATCHER_P_OVERLOAD(QualType, pointsTo, internal::Matcher<Decl>,
                        InnerMatcher, 1) {
   return pointsTo(qualType(hasDeclaration(InnerMatcher)))
       .matches(Node, Finder, Builder);
 }
 
-/// \brief Matches if the matched type matches the unqualified desugared
+/// Matches if the matched type matches the unqualified desugared
 /// type of the matched node.
 ///
 /// For example, in:
@@ -2955,7 +2955,7 @@ AST_MATCHER_P(Type, hasUnqualifiedDesuga
                               Builder);
 }
 
-/// \brief Matches if the matched type is a reference type and the referenced
+/// Matches if the matched type is a reference type and the referenced
 /// type matches the specified matcher.
 ///
 /// Example matches X &x and const X &y
@@ -2974,7 +2974,7 @@ AST_MATCHER_P(QualType, references, inte
           InnerMatcher.matches(Node->getPointeeType(), Finder, Builder));
 }
 
-/// \brief Matches QualTypes whose canonical type matches InnerMatcher.
+/// Matches QualTypes whose canonical type matches InnerMatcher.
 ///
 /// Given:
 /// \code
@@ -2993,7 +2993,7 @@ AST_MATCHER_P(QualType, hasCanonicalType
   return InnerMatcher.matches(Node.getCanonicalType(), Finder, Builder);
 }
 
-/// \brief Overloaded to match the referenced type's declaration.
+/// Overloaded to match the referenced type's declaration.
 AST_MATCHER_P_OVERLOAD(QualType, references, internal::Matcher<Decl>,
                        InnerMatcher, 1) {
   return references(qualType(hasDeclaration(InnerMatcher)))
@@ -3007,7 +3007,7 @@ AST_MATCHER_P(CXXMemberCallExpr, onImpli
           InnerMatcher.matches(*ExprNode, Finder, Builder));
 }
 
-/// \brief Matches if the expression's type either matches the specified
+/// Matches if the expression's type either matches the specified
 /// matcher, or is a pointer to a type that matches the InnerMatcher.
 AST_MATCHER_P_OVERLOAD(CXXMemberCallExpr, thisPointerType,
                        internal::Matcher<QualType>, InnerMatcher, 0) {
@@ -3016,7 +3016,7 @@ AST_MATCHER_P_OVERLOAD(CXXMemberCallExpr
       .matches(Node, Finder, Builder);
 }
 
-/// \brief Overloaded to match the type's declaration.
+/// Overloaded to match the type's declaration.
 AST_MATCHER_P_OVERLOAD(CXXMemberCallExpr, thisPointerType,
                        internal::Matcher<Decl>, InnerMatcher, 1) {
   return onImplicitObjectArgument(
@@ -3024,7 +3024,7 @@ AST_MATCHER_P_OVERLOAD(CXXMemberCallExpr
       .matches(Node, Finder, Builder);
 }
 
-/// \brief Matches a DeclRefExpr that refers to a declaration that matches the
+/// Matches a DeclRefExpr that refers to a declaration that matches the
 /// specified matcher.
 ///
 /// Example matches x in if(x)
@@ -3040,7 +3040,7 @@ AST_MATCHER_P(DeclRefExpr, to, internal:
           InnerMatcher.matches(*DeclNode, Finder, Builder));
 }
 
-/// \brief Matches a \c DeclRefExpr that refers to a declaration through a
+/// Matches a \c DeclRefExpr that refers to a declaration through a
 /// specific using shadow declaration.
 ///
 /// Given
@@ -3062,7 +3062,7 @@ AST_MATCHER_P(DeclRefExpr, throughUsingD
   return false;
 }
 
-/// \brief Matches an \c OverloadExpr if any of the declarations in the set of
+/// Matches an \c OverloadExpr if any of the declarations in the set of
 /// overloads matches the given matcher.
 ///
 /// Given
@@ -3083,7 +3083,7 @@ AST_MATCHER_P(OverloadExpr, hasAnyDeclar
                                     Node.decls_end(), Finder, Builder);
 }
 
-/// \brief Matches the Decl of a DeclStmt which has a single declaration.
+/// Matches the Decl of a DeclStmt which has a single declaration.
 ///
 /// Given
 /// \code
@@ -3100,7 +3100,7 @@ AST_MATCHER_P(DeclStmt, hasSingleDecl, i
   return false;
 }
 
-/// \brief Matches a variable declaration that has an initializer expression
+/// Matches a variable declaration that has an initializer expression
 /// that matches the given matcher.
 ///
 /// Example matches x (matcher = varDecl(hasInitializer(callExpr())))
@@ -3116,7 +3116,7 @@ AST_MATCHER_P(
           InnerMatcher.matches(*Initializer, Finder, Builder));
 }
 
-/// \brief Matches a variable declaration that has function scope and is a
+/// Matches a variable declaration that has function scope and is a
 /// non-static local variable.
 ///
 /// Example matches x (matcher = varDecl(hasLocalStorage())
@@ -3131,7 +3131,7 @@ AST_MATCHER(VarDecl, hasLocalStorage) {
   return Node.hasLocalStorage();
 }
 
-/// \brief Matches a variable declaration that does not have local storage.
+/// Matches a variable declaration that does not have local storage.
 ///
 /// Example matches y and z (matcher = varDecl(hasGlobalStorage())
 /// \code
@@ -3145,7 +3145,7 @@ AST_MATCHER(VarDecl, hasGlobalStorage) {
   return Node.hasGlobalStorage();
 }
 
-/// \brief Matches a variable declaration that has automatic storage duration.
+/// Matches a variable declaration that has automatic storage duration.
 ///
 /// Example matches x, but not y, z, or a.
 /// (matcher = varDecl(hasAutomaticStorageDuration())
@@ -3161,7 +3161,7 @@ AST_MATCHER(VarDecl, hasAutomaticStorage
   return Node.getStorageDuration() == SD_Automatic;
 }
 
-/// \brief Matches a variable declaration that has static storage duration.
+/// Matches a variable declaration that has static storage duration.
 /// It includes the variable declared at namespace scope and those declared
 /// with "static" and "extern" storage class specifiers.
 ///
@@ -3181,7 +3181,7 @@ AST_MATCHER(VarDecl, hasStaticStorageDur
   return Node.getStorageDuration() == SD_Static;
 }
 
-/// \brief Matches a variable declaration that has thread storage duration.
+/// Matches a variable declaration that has thread storage duration.
 ///
 /// Example matches z, but not x, z, or a.
 /// (matcher = varDecl(hasThreadStorageDuration())
@@ -3197,7 +3197,7 @@ AST_MATCHER(VarDecl, hasThreadStorageDur
   return Node.getStorageDuration() == SD_Thread;
 }
 
-/// \brief Matches a variable declaration that is an exception variable from
+/// Matches a variable declaration that is an exception variable from
 /// a C++ catch block, or an Objective-C \@catch statement.
 ///
 /// Example matches x (matcher = varDecl(isExceptionVariable())
@@ -3212,7 +3212,7 @@ AST_MATCHER(VarDecl, isExceptionVariable
   return Node.isExceptionVariable();
 }
 
-/// \brief Checks that a call expression or a constructor call expression has
+/// Checks that a call expression or a constructor call expression has
 /// a specific number of arguments (including absent default arguments).
 ///
 /// Example matches f(0, 0) (matcher = callExpr(argumentCountIs(2)))
@@ -3228,7 +3228,7 @@ AST_POLYMORPHIC_MATCHER_P(argumentCountI
   return Node.getNumArgs() == N;
 }
 
-/// \brief Matches the n'th argument of a call expression or a constructor
+/// Matches the n'th argument of a call expression or a constructor
 /// call expression.
 ///
 /// Example matches y in x(y)
@@ -3246,7 +3246,7 @@ AST_POLYMORPHIC_MATCHER_P2(hasArgument,
               *Node.getArg(N)->IgnoreParenImpCasts(), Finder, Builder));
 }
 
-/// \brief Matches declaration statements that contain a specific number of
+/// Matches declaration statements that contain a specific number of
 /// declarations.
 ///
 /// Example: Given
@@ -3261,7 +3261,7 @@ AST_MATCHER_P(DeclStmt, declCountIs, uns
   return std::distance(Node.decl_begin(), Node.decl_end()) == (ptrdiff_t)N;
 }
 
-/// \brief Matches the n'th declaration of a declaration statement.
+/// Matches the n'th declaration of a declaration statement.
 ///
 /// Note that this does not work for global declarations because the AST
 /// breaks up multiple-declaration DeclStmt's into multiple single-declaration
@@ -3290,7 +3290,7 @@ AST_MATCHER_P2(DeclStmt, containsDeclara
   return InnerMatcher.matches(**Iterator, Finder, Builder);
 }
 
-/// \brief Matches a C++ catch statement that has a catch-all handler.
+/// Matches a C++ catch statement that has a catch-all handler.
 ///
 /// Given
 /// \code
@@ -3307,7 +3307,7 @@ AST_MATCHER(CXXCatchStmt, isCatchAll) {
   return Node.getExceptionDecl() == nullptr;
 }
 
-/// \brief Matches a constructor initializer.
+/// Matches a constructor initializer.
 ///
 /// Given
 /// \code
@@ -3326,7 +3326,7 @@ AST_MATCHER_P(CXXConstructorDecl, hasAny
                                     Node.init_end(), Finder, Builder);
 }
 
-/// \brief Matches the field declaration of a constructor initializer.
+/// Matches the field declaration of a constructor initializer.
 ///
 /// Given
 /// \code
@@ -3346,7 +3346,7 @@ AST_MATCHER_P(CXXCtorInitializer, forFie
       InnerMatcher.matches(*NodeAsDecl, Finder, Builder));
 }
 
-/// \brief Matches the initializer expression of a constructor initializer.
+/// Matches the initializer expression of a constructor initializer.
 ///
 /// Given
 /// \code
@@ -3366,7 +3366,7 @@ AST_MATCHER_P(CXXCtorInitializer, withIn
       InnerMatcher.matches(*NodeAsExpr, Finder, Builder));
 }
 
-/// \brief Matches a constructor initializer if it is explicitly written in
+/// Matches a constructor initializer if it is explicitly written in
 /// code (as opposed to implicitly added by the compiler).
 ///
 /// Given
@@ -3383,7 +3383,7 @@ AST_MATCHER(CXXCtorInitializer, isWritte
   return Node.isWritten();
 }
 
-/// \brief Matches a constructor initializer if it is initializing a base, as
+/// Matches a constructor initializer if it is initializing a base, as
 /// opposed to a member.
 ///
 /// Given
@@ -3403,7 +3403,7 @@ AST_MATCHER(CXXCtorInitializer, isBaseIn
   return Node.isBaseInitializer();
 }
 
-/// \brief Matches a constructor initializer if it is initializing a member, as
+/// Matches a constructor initializer if it is initializing a member, as
 /// opposed to a base.
 ///
 /// Given
@@ -3423,7 +3423,7 @@ AST_MATCHER(CXXCtorInitializer, isMember
   return Node.isMemberInitializer();
 }
 
-/// \brief Matches any argument of a call expression or a constructor call
+/// Matches any argument of a call expression or a constructor call
 /// expression, or an ObjC-message-send expression.
 ///
 /// Given
@@ -3457,12 +3457,12 @@ AST_POLYMORPHIC_MATCHER_P(hasAnyArgument
   return false;
 }
 
-/// \brief Matches a constructor call expression which uses list initialization.
+/// Matches a constructor call expression which uses list initialization.
 AST_MATCHER(CXXConstructExpr, isListInitialization) {
   return Node.isListInitialization();
 }
 
-/// \brief Matches a constructor call expression which requires
+/// Matches a constructor call expression which requires
 /// zero initialization.
 ///
 /// Given
@@ -3478,7 +3478,7 @@ AST_MATCHER(CXXConstructExpr, requiresZe
   return Node.requiresZeroInitialization();
 }
 
-/// \brief Matches the n'th parameter of a function or an ObjC method
+/// Matches the n'th parameter of a function or an ObjC method
 /// declaration.
 ///
 /// Given
@@ -3507,7 +3507,7 @@ AST_POLYMORPHIC_MATCHER_P2(hasParameter,
           && InnerMatcher.matches(*Node.parameters()[N], Finder, Builder));
 }
 
-/// \brief Matches all arguments and their respective ParmVarDecl.
+/// Matches all arguments and their respective ParmVarDecl.
 ///
 /// Given
 /// \code
@@ -3561,7 +3561,7 @@ AST_POLYMORPHIC_MATCHER_P2(forEachArgume
   return Matched;
 }
 
-/// \brief Matches any parameter of a function or ObjC method declaration.
+/// Matches any parameter of a function or ObjC method declaration.
 ///
 /// Does not match the 'this' parameter of a method.
 ///
@@ -3591,7 +3591,7 @@ AST_POLYMORPHIC_MATCHER_P(hasAnyParamete
                                     Node.param_end(), Finder, Builder);
 }
 
-/// \brief Matches \c FunctionDecls and \c FunctionProtoTypes that have a
+/// Matches \c FunctionDecls and \c FunctionProtoTypes that have a
 /// specific parameter count.
 ///
 /// Given
@@ -3615,7 +3615,7 @@ AST_POLYMORPHIC_MATCHER_P(parameterCount
   return Node.getNumParams() == N;
 }
 
-/// \brief Matches \c FunctionDecls that have a noreturn attribute.
+/// Matches \c FunctionDecls that have a noreturn attribute.
 ///
 /// Given
 /// \code
@@ -3631,7 +3631,7 @@ AST_POLYMORPHIC_MATCHER_P(parameterCount
 /// \endcode
 AST_MATCHER(FunctionDecl, isNoReturn) { return Node.isNoReturn(); }
 
-/// \brief Matches the return type of a function declaration.
+/// Matches the return type of a function declaration.
 ///
 /// Given:
 /// \code
@@ -3644,7 +3644,7 @@ AST_MATCHER_P(FunctionDecl, returns,
   return InnerMatcher.matches(Node.getReturnType(), Finder, Builder);
 }
 
-/// \brief Matches extern "C" function or variable declarations.
+/// Matches extern "C" function or variable declarations.
 ///
 /// Given:
 /// \code
@@ -3664,7 +3664,7 @@ AST_POLYMORPHIC_MATCHER(isExternC, AST_P
   return Node.isExternC();
 }
 
-/// \brief Matches variable/function declarations that have "static" storage
+/// Matches variable/function declarations that have "static" storage
 /// class specifier ("static" keyword) written in the source.
 ///
 /// Given:
@@ -3684,7 +3684,7 @@ AST_POLYMORPHIC_MATCHER(isStaticStorageC
   return Node.getStorageClass() == SC_Static;
 }
 
-/// \brief Matches deleted function declarations.
+/// Matches deleted function declarations.
 ///
 /// Given:
 /// \code
@@ -3697,7 +3697,7 @@ AST_MATCHER(FunctionDecl, isDeleted) {
   return Node.isDeleted();
 }
 
-/// \brief Matches defaulted function declarations.
+/// Matches defaulted function declarations.
 ///
 /// Given:
 /// \code
@@ -3710,7 +3710,7 @@ AST_MATCHER(FunctionDecl, isDefaulted) {
   return Node.isDefaulted();
 }
 
-/// \brief Matches functions that have a dynamic exception specification.
+/// Matches functions that have a dynamic exception specification.
 ///
 /// Given:
 /// \code
@@ -3733,7 +3733,7 @@ AST_POLYMORPHIC_MATCHER(hasDynamicExcept
   return false;
 }
 
-/// \brief Matches functions that have a non-throwing exception specification.
+/// Matches functions that have a non-throwing exception specification.
 ///
 /// Given:
 /// \code
@@ -3763,7 +3763,7 @@ AST_POLYMORPHIC_MATCHER(isNoThrow,
   return FnTy->isNothrow();
 }
 
-/// \brief Matches constexpr variable and function declarations,
+/// Matches constexpr variable and function declarations,
 ///        and if constexpr.
 ///
 /// Given:
@@ -3785,7 +3785,7 @@ AST_POLYMORPHIC_MATCHER(isConstexpr,
   return Node.isConstexpr();
 }
 
-/// \brief Matches the condition expression of an if statement, for loop,
+/// Matches the condition expression of an if statement, for loop,
 /// switch statement or conditional operator.
 ///
 /// Example matches true (matcher = hasCondition(cxxBoolLiteral(equals(true))))
@@ -3802,7 +3802,7 @@ AST_POLYMORPHIC_MATCHER_P(
           InnerMatcher.matches(*Condition, Finder, Builder));
 }
 
-/// \brief Matches the then-statement of an if statement.
+/// Matches the then-statement of an if statement.
 ///
 /// Examples matches the if statement
 ///   (matcher = ifStmt(hasThen(cxxBoolLiteral(equals(true)))))
@@ -3814,7 +3814,7 @@ AST_MATCHER_P(IfStmt, hasThen, internal:
   return (Then != nullptr && InnerMatcher.matches(*Then, Finder, Builder));
 }
 
-/// \brief Matches the else-statement of an if statement.
+/// Matches the else-statement of an if statement.
 ///
 /// Examples matches the if statement
 ///   (matcher = ifStmt(hasElse(cxxBoolLiteral(equals(true)))))
@@ -3826,7 +3826,7 @@ AST_MATCHER_P(IfStmt, hasElse, internal:
   return (Else != nullptr && InnerMatcher.matches(*Else, Finder, Builder));
 }
 
-/// \brief Matches if a node equals a previously bound node.
+/// Matches if a node equals a previously bound node.
 ///
 /// Matches a node if it equals the node previously bound to \p ID.
 ///
@@ -3863,7 +3863,7 @@ AST_POLYMORPHIC_MATCHER_P(equalsBoundNod
   return Builder->removeBindings(Predicate);
 }
 
-/// \brief Matches the condition variable statement in an if statement.
+/// Matches the condition variable statement in an if statement.
 ///
 /// Given
 /// \code
@@ -3879,7 +3879,7 @@ AST_MATCHER_P(IfStmt, hasConditionVariab
          InnerMatcher.matches(*DeclarationStatement, Finder, Builder);
 }
 
-/// \brief Matches the index expression of an array subscript expression.
+/// Matches the index expression of an array subscript expression.
 ///
 /// Given
 /// \code
@@ -3895,7 +3895,7 @@ AST_MATCHER_P(ArraySubscriptExpr, hasInd
   return false;
 }
 
-/// \brief Matches the base expression of an array subscript expression.
+/// Matches the base expression of an array subscript expression.
 ///
 /// Given
 /// \code
@@ -3912,7 +3912,7 @@ AST_MATCHER_P(ArraySubscriptExpr, hasBas
   return false;
 }
 
-/// \brief Matches a 'for', 'while', 'do while' statement or a function
+/// Matches a 'for', 'while', 'do while' statement or a function
 /// definition that has a given body.
 ///
 /// Given
@@ -3934,7 +3934,7 @@ AST_POLYMORPHIC_MATCHER_P(hasBody,
           InnerMatcher.matches(*Statement, Finder, Builder));
 }
 
-/// \brief Matches compound statements where at least one substatement matches
+/// Matches compound statements where at least one substatement matches
 /// a given matcher. Also matches StmtExprs that have CompoundStmt as children.
 ///
 /// Given
@@ -3954,7 +3954,7 @@ AST_POLYMORPHIC_MATCHER_P(hasAnySubstate
                                           CS->body_end(), Finder, Builder);
 }
 
-/// \brief Checks that a compound statement contains a specific number of
+/// Checks that a compound statement contains a specific number of
 /// child statements.
 ///
 /// Example: Given
@@ -3968,7 +3968,7 @@ AST_MATCHER_P(CompoundStmt, statementCou
   return Node.size() == N;
 }
 
-/// \brief Matches literals that are equal to the given value of type ValueT.
+/// Matches literals that are equal to the given value of type ValueT.
 ///
 /// Given
 /// \code
@@ -4029,7 +4029,7 @@ AST_POLYMORPHIC_MATCHER_P_OVERLOAD(equal
     .matchesNode(Node);
 }
 
-/// \brief Matches the operator Name of operator expressions (binary or
+/// Matches the operator Name of operator expressions (binary or
 /// unary).
 ///
 /// Example matches a || b (matcher = binaryOperator(hasOperatorName("||")))
@@ -4043,7 +4043,7 @@ AST_POLYMORPHIC_MATCHER_P(hasOperatorNam
   return Name == Node.getOpcodeStr(Node.getOpcode());
 }
 
-/// \brief Matches all kinds of assignment operators.
+/// Matches all kinds of assignment operators.
 ///
 /// Example 1: matches a += b (matcher = binaryOperator(isAssignmentOperator()))
 /// \code
@@ -4063,7 +4063,7 @@ AST_POLYMORPHIC_MATCHER(isAssignmentOper
   return Node.isAssignmentOp();
 }
 
-/// \brief Matches the left hand side of binary operator expressions.
+/// Matches the left hand side of binary operator expressions.
 ///
 /// Example matches a (matcher = binaryOperator(hasLHS()))
 /// \code
@@ -4078,7 +4078,7 @@ AST_POLYMORPHIC_MATCHER_P(hasLHS,
           InnerMatcher.matches(*LeftHandSide, Finder, Builder));
 }
 
-/// \brief Matches the right hand side of binary operator expressions.
+/// Matches the right hand side of binary operator expressions.
 ///
 /// Example matches b (matcher = binaryOperator(hasRHS()))
 /// \code
@@ -4093,14 +4093,14 @@ AST_POLYMORPHIC_MATCHER_P(hasRHS,
           InnerMatcher.matches(*RightHandSide, Finder, Builder));
 }
 
-/// \brief Matches if either the left hand side or the right hand side of a
+/// Matches if either the left hand side or the right hand side of a
 /// binary operator matches.
 inline internal::Matcher<BinaryOperator> hasEitherOperand(
     const internal::Matcher<Expr> &InnerMatcher) {
   return anyOf(hasLHS(InnerMatcher), hasRHS(InnerMatcher));
 }
 
-/// \brief Matches if the operand of a unary operator matches.
+/// Matches if the operand of a unary operator matches.
 ///
 /// Example matches true (matcher = hasUnaryOperand(
 ///                                   cxxBoolLiteral(equals(true))))
@@ -4114,7 +4114,7 @@ AST_MATCHER_P(UnaryOperator, hasUnaryOpe
           InnerMatcher.matches(*Operand, Finder, Builder));
 }
 
-/// \brief Matches if the cast's source expression
+/// Matches if the cast's source expression
 /// or opaque value's source expression matches the given matcher.
 ///
 /// Example 1: matches "a string"
@@ -4139,7 +4139,7 @@ AST_POLYMORPHIC_MATCHER_P(hasSourceExpre
           InnerMatcher.matches(*SubExpression, Finder, Builder));
 }
 
-/// \brief Matches casts that has a given cast kind.
+/// Matches casts that has a given cast kind.
 ///
 /// Example: matches the implicit cast around \c 0
 /// (matcher = castExpr(hasCastKind(CK_NullToPointer)))
@@ -4150,7 +4150,7 @@ AST_MATCHER_P(CastExpr, hasCastKind, Cas
   return Node.getCastKind() == Kind;
 }
 
-/// \brief Matches casts whose destination type matches a given matcher.
+/// Matches casts whose destination type matches a given matcher.
 ///
 /// (Note: Clang's AST refers to other conversions as "casts" too, and calls
 /// actual casts "explicit" casts.)
@@ -4160,7 +4160,7 @@ AST_MATCHER_P(ExplicitCastExpr, hasDesti
   return InnerMatcher.matches(NodeType, Finder, Builder);
 }
 
-/// \brief Matches implicit casts whose destination type matches a given
+/// Matches implicit casts whose destination type matches a given
 /// matcher.
 ///
 /// FIXME: Unit test this matcher
@@ -4169,7 +4169,7 @@ AST_MATCHER_P(ImplicitCastExpr, hasImpli
   return InnerMatcher.matches(Node.getType(), Finder, Builder);
 }
 
-/// \brief Matches RecordDecl object that are spelled with "struct."
+/// Matches RecordDecl object that are spelled with "struct."
 ///
 /// Example matches S, but not C or U.
 /// \code
@@ -4181,7 +4181,7 @@ AST_MATCHER(RecordDecl, isStruct) {
   return Node.isStruct();
 }
 
-/// \brief Matches RecordDecl object that are spelled with "union."
+/// Matches RecordDecl object that are spelled with "union."
 ///
 /// Example matches U, but not C or S.
 /// \code
@@ -4193,7 +4193,7 @@ AST_MATCHER(RecordDecl, isUnion) {
   return Node.isUnion();
 }
 
-/// \brief Matches RecordDecl object that are spelled with "class."
+/// Matches RecordDecl object that are spelled with "class."
 ///
 /// Example matches C, but not S or U.
 /// \code
@@ -4205,7 +4205,7 @@ AST_MATCHER(RecordDecl, isClass) {
   return Node.isClass();
 }
 
-/// \brief Matches the true branch expression of a conditional operator.
+/// Matches the true branch expression of a conditional operator.
 ///
 /// Example 1 (conditional ternary operator): matches a
 /// \code
@@ -4223,7 +4223,7 @@ AST_MATCHER_P(AbstractConditionalOperato
           InnerMatcher.matches(*Expression, Finder, Builder));
 }
 
-/// \brief Matches the false branch expression of a conditional operator
+/// Matches the false branch expression of a conditional operator
 /// (binary or ternary).
 ///
 /// Example matches b
@@ -4238,7 +4238,7 @@ AST_MATCHER_P(AbstractConditionalOperato
           InnerMatcher.matches(*Expression, Finder, Builder));
 }
 
-/// \brief Matches if a declaration has a body attached.
+/// Matches if a declaration has a body attached.
 ///
 /// Example matches A, va, fa
 /// \code
@@ -4265,7 +4265,7 @@ AST_POLYMORPHIC_MATCHER(isDefinition,
   return Node.isThisDeclarationADefinition();
 }
 
-/// \brief Matches if a function declaration is variadic.
+/// Matches if a function declaration is variadic.
 ///
 /// Example matches f, but not g or h. The function i will not match, even when
 /// compiled in C mode.
@@ -4279,7 +4279,7 @@ AST_MATCHER(FunctionDecl, isVariadic) {
   return Node.isVariadic();
 }
 
-/// \brief Matches the class declaration that the given method declaration
+/// Matches the class declaration that the given method declaration
 /// belongs to.
 ///
 /// FIXME: Generalize this for other kinds of declarations.
@@ -4303,7 +4303,7 @@ AST_MATCHER_P(CXXMethodDecl, ofClass,
           InnerMatcher.matches(*Parent, Finder, Builder));
 }
 
-/// \brief Matches each method overridden by the given method. This matcher may
+/// Matches each method overridden by the given method. This matcher may
 /// produce multiple matches.
 ///
 /// Given
@@ -4344,7 +4344,7 @@ AST_MATCHER_P(CXXMethodDecl, forEachOver
   return Matched;
 }
 
-/// \brief Matches if the given method declaration is virtual.
+/// Matches if the given method declaration is virtual.
 ///
 /// Given
 /// \code
@@ -4358,7 +4358,7 @@ AST_MATCHER(CXXMethodDecl, isVirtual) {
   return Node.isVirtual();
 }
 
-/// \brief Matches if the given method declaration has an explicit "virtual".
+/// Matches if the given method declaration has an explicit "virtual".
 ///
 /// Given
 /// \code
@@ -4376,7 +4376,7 @@ AST_MATCHER(CXXMethodDecl, isVirtualAsWr
   return Node.isVirtualAsWritten();
 }
 
-/// \brief Matches if the given method or class declaration is final.
+/// Matches if the given method or class declaration is final.
 ///
 /// Given:
 /// \code
@@ -4397,7 +4397,7 @@ AST_POLYMORPHIC_MATCHER(isFinal,
   return Node.template hasAttr<FinalAttr>();
 }
 
-/// \brief Matches if the given method declaration is pure.
+/// Matches if the given method declaration is pure.
 ///
 /// Given
 /// \code
@@ -4411,7 +4411,7 @@ AST_MATCHER(CXXMethodDecl, isPure) {
   return Node.isPure();
 }
 
-/// \brief Matches if the given method declaration is const.
+/// Matches if the given method declaration is const.
 ///
 /// Given
 /// \code
@@ -4426,7 +4426,7 @@ AST_MATCHER(CXXMethodDecl, isConst) {
   return Node.isConst();
 }
 
-/// \brief Matches if the given method declaration declares a copy assignment
+/// Matches if the given method declaration declares a copy assignment
 /// operator.
 ///
 /// Given
@@ -4443,7 +4443,7 @@ AST_MATCHER(CXXMethodDecl, isCopyAssignm
   return Node.isCopyAssignmentOperator();
 }
 
-/// \brief Matches if the given method declaration declares a move assignment
+/// Matches if the given method declaration declares a move assignment
 /// operator.
 ///
 /// Given
@@ -4460,7 +4460,7 @@ AST_MATCHER(CXXMethodDecl, isMoveAssignm
   return Node.isMoveAssignmentOperator();
 }
 
-/// \brief Matches if the given method declaration overrides another method.
+/// Matches if the given method declaration overrides another method.
 ///
 /// Given
 /// \code
@@ -4478,7 +4478,7 @@ AST_MATCHER(CXXMethodDecl, isOverride) {
   return Node.size_overridden_methods() > 0 || Node.hasAttr<OverrideAttr>();
 }
 
-/// \brief Matches method declarations that are user-provided.
+/// Matches method declarations that are user-provided.
 ///
 /// Given
 /// \code
@@ -4493,7 +4493,7 @@ AST_MATCHER(CXXMethodDecl, isUserProvide
   return Node.isUserProvided();
 }
 
-/// \brief Matches member expressions that are called with '->' as opposed
+/// Matches member expressions that are called with '->' as opposed
 /// to '.'.
 ///
 /// Member calls on the implicit this pointer match as called with '->'.
@@ -4512,7 +4512,7 @@ AST_MATCHER(MemberExpr, isArrow) {
   return Node.isArrow();
 }
 
-/// \brief Matches QualType nodes that are of integer type.
+/// Matches QualType nodes that are of integer type.
 ///
 /// Given
 /// \code
@@ -4526,7 +4526,7 @@ AST_MATCHER(QualType, isInteger) {
     return Node->isIntegerType();
 }
 
-/// \brief Matches QualType nodes that are of unsigned integer type.
+/// Matches QualType nodes that are of unsigned integer type.
 ///
 /// Given
 /// \code
@@ -4540,7 +4540,7 @@ AST_MATCHER(QualType, isUnsignedInteger)
     return Node->isUnsignedIntegerType();
 }
 
-/// \brief Matches QualType nodes that are of signed integer type.
+/// Matches QualType nodes that are of signed integer type.
 ///
 /// Given
 /// \code
@@ -4554,7 +4554,7 @@ AST_MATCHER(QualType, isSignedInteger) {
     return Node->isSignedIntegerType();
 }
 
-/// \brief Matches QualType nodes that are of character type.
+/// Matches QualType nodes that are of character type.
 ///
 /// Given
 /// \code
@@ -4568,7 +4568,7 @@ AST_MATCHER(QualType, isAnyCharacter) {
     return Node->isAnyCharacterType();
 }
 
-/// \brief Matches QualType nodes that are of any pointer type; this includes
+/// Matches QualType nodes that are of any pointer type; this includes
 /// the Objective-C object pointer type, which is different despite being
 /// syntactically similar.
 ///
@@ -4588,7 +4588,7 @@ AST_MATCHER(QualType, isAnyPointer) {
   return Node->isAnyPointerType();
 }
 
-/// \brief Matches QualType nodes that are const-qualified, i.e., that
+/// Matches QualType nodes that are const-qualified, i.e., that
 /// include "top-level" const.
 ///
 /// Given
@@ -4607,7 +4607,7 @@ AST_MATCHER(QualType, isConstQualified)
   return Node.isConstQualified();
 }
 
-/// \brief Matches QualType nodes that are volatile-qualified, i.e., that
+/// Matches QualType nodes that are volatile-qualified, i.e., that
 /// include "top-level" volatile.
 ///
 /// Given
@@ -4626,7 +4626,7 @@ AST_MATCHER(QualType, isVolatileQualifie
   return Node.isVolatileQualified();
 }
 
-/// \brief Matches QualType nodes that have local CV-qualifiers attached to
+/// Matches QualType nodes that have local CV-qualifiers attached to
 /// the node, not hidden within a typedef.
 ///
 /// Given
@@ -4643,7 +4643,7 @@ AST_MATCHER(QualType, hasLocalQualifiers
   return Node.hasLocalQualifiers();
 }
 
-/// \brief Matches a member expression where the member is matched by a
+/// Matches a member expression where the member is matched by a
 /// given matcher.
 ///
 /// Given
@@ -4660,7 +4660,7 @@ AST_MATCHER_P(MemberExpr, member,
   return InnerMatcher.matches(*Node.getMemberDecl(), Finder, Builder);
 }
 
-/// \brief Matches a member expression where the object expression is
+/// Matches a member expression where the object expression is
 /// matched by a given matcher.
 ///
 /// Given
@@ -4677,7 +4677,7 @@ AST_MATCHER_P(MemberExpr, hasObjectExpre
   return InnerMatcher.matches(*Node.getBase(), Finder, Builder);
 }
 
-/// \brief Matches any using shadow declaration.
+/// Matches any using shadow declaration.
 ///
 /// Given
 /// \code
@@ -4692,7 +4692,7 @@ AST_MATCHER_P(UsingDecl, hasAnyUsingShad
                                     Node.shadow_end(), Finder, Builder);
 }
 
-/// \brief Matches a using shadow declaration where the target declaration is
+/// Matches a using shadow declaration where the target declaration is
 /// matched by the given matcher.
 ///
 /// Given
@@ -4709,7 +4709,7 @@ AST_MATCHER_P(UsingShadowDecl, hasTarget
   return InnerMatcher.matches(*Node.getTargetDecl(), Finder, Builder);
 }
 
-/// \brief Matches template instantiations of function, class, or static
+/// Matches template instantiations of function, class, or static
 /// member variable template instantiations.
 ///
 /// Given
@@ -4746,7 +4746,7 @@ AST_POLYMORPHIC_MATCHER(isTemplateInstan
               TSK_ExplicitInstantiationDeclaration);
 }
 
-/// \brief Matches declarations that are template instantiations or are inside
+/// Matches declarations that are template instantiations or are inside
 /// template instantiations.
 ///
 /// Given
@@ -4763,7 +4763,7 @@ AST_MATCHER_FUNCTION(internal::Matcher<D
   return decl(anyOf(IsInstantiation, hasAncestor(IsInstantiation)));
 }
 
-/// \brief Matches statements inside of a template instantiation.
+/// Matches statements inside of a template instantiation.
 ///
 /// Given
 /// \code
@@ -4783,7 +4783,7 @@ AST_MATCHER_FUNCTION(internal::Matcher<S
                              functionDecl(isTemplateInstantiation())))));
 }
 
-/// \brief Matches explicit template specializations of function, class, or
+/// Matches explicit template specializations of function, class, or
 /// static member variable template instantiations.
 ///
 /// Given
@@ -4801,7 +4801,7 @@ AST_POLYMORPHIC_MATCHER(isExplicitTempla
   return (Node.getTemplateSpecializationKind() == TSK_ExplicitSpecialization);
 }
 
-/// \brief Matches \c TypeLocs for which the given inner
+/// Matches \c TypeLocs for which the given inner
 /// QualType-matcher matches.
 AST_MATCHER_FUNCTION_P_OVERLOAD(internal::BindableMatcher<TypeLoc>, loc,
                                 internal::Matcher<QualType>, InnerMatcher, 0) {
@@ -4809,7 +4809,7 @@ AST_MATCHER_FUNCTION_P_OVERLOAD(internal
       new internal::TypeLocTypeMatcher(InnerMatcher));
 }
 
-/// \brief Matches type \c bool.
+/// Matches type \c bool.
 ///
 /// Given
 /// \code
@@ -4821,7 +4821,7 @@ AST_MATCHER(Type, booleanType) {
   return Node.isBooleanType();
 }
 
-/// \brief Matches type \c void.
+/// Matches type \c void.
 ///
 /// Given
 /// \code
@@ -4836,7 +4836,7 @@ AST_MATCHER(Type, voidType) {
 template <typename NodeType>
 using AstTypeMatcher = internal::VariadicDynCastAllOfMatcher<Type, NodeType>;
 
-/// \brief Matches builtin Types.
+/// Matches builtin Types.
 ///
 /// Given
 /// \code
@@ -4850,7 +4850,7 @@ using AstTypeMatcher = internal::Variadi
 ///   matches "int b", "float c" and "bool d"
 extern const AstTypeMatcher<BuiltinType> builtinType;
 
-/// \brief Matches all kinds of arrays.
+/// Matches all kinds of arrays.
 ///
 /// Given
 /// \code
@@ -4862,7 +4862,7 @@ extern const AstTypeMatcher<BuiltinType>
 ///   matches "int a[]", "int b[4]" and "int c[a[0]]";
 extern const AstTypeMatcher<ArrayType> arrayType;
 
-/// \brief Matches C99 complex types.
+/// Matches C99 complex types.
 ///
 /// Given
 /// \code
@@ -4872,7 +4872,7 @@ extern const AstTypeMatcher<ArrayType> a
 ///   matches "_Complex float f"
 extern const AstTypeMatcher<ComplexType> complexType;
 
-/// \brief Matches any real floating-point type (float, double, long double).
+/// Matches any real floating-point type (float, double, long double).
 ///
 /// Given
 /// \code
@@ -4885,7 +4885,7 @@ AST_MATCHER(Type, realFloatingPointType)
   return Node.isRealFloatingType();
 }
 
-/// \brief Matches arrays and C99 complex types that have a specific element
+/// Matches arrays and C99 complex types that have a specific element
 /// type.
 ///
 /// Given
@@ -4902,7 +4902,7 @@ AST_TYPELOC_TRAVERSE_MATCHER_DECL(hasEle
                                   AST_POLYMORPHIC_SUPPORTED_TYPES(ArrayType,
                                                                   ComplexType));
 
-/// \brief Matches C arrays with a specified constant size.
+/// Matches C arrays with a specified constant size.
 ///
 /// Given
 /// \code
@@ -4916,7 +4916,7 @@ AST_TYPELOC_TRAVERSE_MATCHER_DECL(hasEle
 ///   matches "int a[2]"
 extern const AstTypeMatcher<ConstantArrayType> constantArrayType;
 
-/// \brief Matches nodes that have the specified size.
+/// Matches nodes that have the specified size.
 ///
 /// Given
 /// \code
@@ -4938,7 +4938,7 @@ AST_POLYMORPHIC_MATCHER_P(hasSize,
   return internal::HasSizeMatcher<NodeType>::hasSize(Node, N);
 }
 
-/// \brief Matches C++ arrays whose size is a value-dependent expression.
+/// Matches C++ arrays whose size is a value-dependent expression.
 ///
 /// Given
 /// \code
@@ -4951,7 +4951,7 @@ AST_POLYMORPHIC_MATCHER_P(hasSize,
 ///   matches "T data[Size]"
 extern const AstTypeMatcher<DependentSizedArrayType> dependentSizedArrayType;
 
-/// \brief Matches C arrays with unspecified size.
+/// Matches C arrays with unspecified size.
 ///
 /// Given
 /// \code
@@ -4963,7 +4963,7 @@ extern const AstTypeMatcher<DependentSiz
 ///   matches "int a[]" and "int c[]"
 extern const AstTypeMatcher<IncompleteArrayType> incompleteArrayType;
 
-/// \brief Matches C arrays with a specified size that is not an
+/// Matches C arrays with a specified size that is not an
 /// integer-constant-expression.
 ///
 /// Given
@@ -4978,7 +4978,7 @@ extern const AstTypeMatcher<IncompleteAr
 ///   matches "int c[a[0]]"
 extern const AstTypeMatcher<VariableArrayType> variableArrayType;
 
-/// \brief Matches \c VariableArrayType nodes that have a specific size
+/// Matches \c VariableArrayType nodes that have a specific size
 /// expression.
 ///
 /// Given
@@ -4995,7 +4995,7 @@ AST_MATCHER_P(VariableArrayType, hasSize
   return InnerMatcher.matches(*Node.getSizeExpr(), Finder, Builder);
 }
 
-/// \brief Matches atomic types.
+/// Matches atomic types.
 ///
 /// Given
 /// \code
@@ -5005,7 +5005,7 @@ AST_MATCHER_P(VariableArrayType, hasSize
 ///   matches "_Atomic(int) i"
 extern const AstTypeMatcher<AtomicType> atomicType;
 
-/// \brief Matches atomic types with a specific value type.
+/// Matches atomic types with a specific value type.
 ///
 /// Given
 /// \code
@@ -5019,7 +5019,7 @@ extern const AstTypeMatcher<AtomicType>
 AST_TYPELOC_TRAVERSE_MATCHER_DECL(hasValueType, getValue,
                                   AST_POLYMORPHIC_SUPPORTED_TYPES(AtomicType));
 
-/// \brief Matches types nodes representing C++11 auto types.
+/// Matches types nodes representing C++11 auto types.
 ///
 /// Given:
 /// \code
@@ -5031,7 +5031,7 @@ AST_TYPELOC_TRAVERSE_MATCHER_DECL(hasVal
 ///   matches "auto n" and "auto i"
 extern const AstTypeMatcher<AutoType> autoType;
 
-/// \brief Matches \c AutoType nodes where the deduced type is a specific type.
+/// Matches \c AutoType nodes where the deduced type is a specific type.
 ///
 /// Note: There is no \c TypeLoc for the deduced type and thus no
 /// \c getDeducedLoc() matcher.
@@ -5048,7 +5048,7 @@ extern const AstTypeMatcher<AutoType> au
 AST_TYPE_TRAVERSE_MATCHER(hasDeducedType, getDeducedType,
                           AST_POLYMORPHIC_SUPPORTED_TYPES(AutoType));
 
-/// \brief Matches \c FunctionType nodes.
+/// Matches \c FunctionType nodes.
 ///
 /// Given
 /// \code
@@ -5059,7 +5059,7 @@ AST_TYPE_TRAVERSE_MATCHER(hasDeducedType
 ///   matches "int (*f)(int)" and the type of "g".
 extern const AstTypeMatcher<FunctionType> functionType;
 
-/// \brief Matches \c FunctionProtoType nodes.
+/// Matches \c FunctionProtoType nodes.
 ///
 /// Given
 /// \code
@@ -5071,7 +5071,7 @@ extern const AstTypeMatcher<FunctionType
 ///   In C mode, "g" is not matched because it does not contain a prototype.
 extern const AstTypeMatcher<FunctionProtoType> functionProtoType;
 
-/// \brief Matches \c ParenType nodes.
+/// Matches \c ParenType nodes.
 ///
 /// Given
 /// \code
@@ -5083,7 +5083,7 @@ extern const AstTypeMatcher<FunctionProt
 /// \c array_of_ptrs.
 extern const AstTypeMatcher<ParenType> parenType;
 
-/// \brief Matches \c ParenType nodes where the inner type is a specific type.
+/// Matches \c ParenType nodes where the inner type is a specific type.
 ///
 /// Given
 /// \code
@@ -5098,13 +5098,13 @@ extern const AstTypeMatcher<ParenType> p
 AST_TYPE_TRAVERSE_MATCHER(innerType, getInnerType,
                           AST_POLYMORPHIC_SUPPORTED_TYPES(ParenType));
 
-/// \brief Matches block pointer types, i.e. types syntactically represented as
+/// Matches block pointer types, i.e. types syntactically represented as
 /// "void (^)(int)".
 ///
 /// The \c pointee is always required to be a \c FunctionType.
 extern const AstTypeMatcher<BlockPointerType> blockPointerType;
 
-/// \brief Matches member pointer types.
+/// Matches member pointer types.
 /// Given
 /// \code
 ///   struct A { int i; }
@@ -5114,7 +5114,7 @@ extern const AstTypeMatcher<BlockPointer
 ///   matches "A::* ptr"
 extern const AstTypeMatcher<MemberPointerType> memberPointerType;
 
-/// \brief Matches pointer types, but does not match Objective-C object pointer
+/// Matches pointer types, but does not match Objective-C object pointer
 /// types.
 ///
 /// Given
@@ -5131,7 +5131,7 @@ extern const AstTypeMatcher<MemberPointe
 ///   matches "int *a", but does not match "Foo *f".
 extern const AstTypeMatcher<PointerType> pointerType;
 
-/// \brief Matches an Objective-C object pointer type, which is different from
+/// Matches an Objective-C object pointer type, which is different from
 /// a pointer type, despite being syntactically similar.
 ///
 /// Given
@@ -5146,7 +5146,7 @@ extern const AstTypeMatcher<PointerType>
 ///   matches "Foo *f", but does not match "int *a".
 extern const AstTypeMatcher<ObjCObjectPointerType> objcObjectPointerType;
 
-/// \brief Matches both lvalue and rvalue reference types.
+/// Matches both lvalue and rvalue reference types.
 ///
 /// Given
 /// \code
@@ -5162,7 +5162,7 @@ extern const AstTypeMatcher<ObjCObjectPo
 /// \c referenceType() matches the types of \c b, \c c, \c d, \c e, and \c f.
 extern const AstTypeMatcher<ReferenceType> referenceType;
 
-/// \brief Matches lvalue reference types.
+/// Matches lvalue reference types.
 ///
 /// Given:
 /// \code
@@ -5179,7 +5179,7 @@ extern const AstTypeMatcher<ReferenceTyp
 /// matched since the type is deduced as int& by reference collapsing rules.
 extern const AstTypeMatcher<LValueReferenceType> lValueReferenceType;
 
-/// \brief Matches rvalue reference types.
+/// Matches rvalue reference types.
 ///
 /// Given:
 /// \code
@@ -5196,7 +5196,7 @@ extern const AstTypeMatcher<LValueRefere
 /// matched as it is deduced to int& by reference collapsing rules.
 extern const AstTypeMatcher<RValueReferenceType> rValueReferenceType;
 
-/// \brief Narrows PointerType (and similar) matchers to those where the
+/// Narrows PointerType (and similar) matchers to those where the
 /// \c pointee matches a given matcher.
 ///
 /// Given
@@ -5215,7 +5215,7 @@ AST_TYPELOC_TRAVERSE_MATCHER_DECL(
     AST_POLYMORPHIC_SUPPORTED_TYPES(BlockPointerType, MemberPointerType,
                                     PointerType, ReferenceType));
 
-/// \brief Matches typedef types.
+/// Matches typedef types.
 ///
 /// Given
 /// \code
@@ -5225,7 +5225,7 @@ AST_TYPELOC_TRAVERSE_MATCHER_DECL(
 ///   matches "typedef int X"
 extern const AstTypeMatcher<TypedefType> typedefType;
 
-/// \brief Matches enum types.
+/// Matches enum types.
 ///
 /// Given
 /// \code
@@ -5240,7 +5240,7 @@ extern const AstTypeMatcher<TypedefType>
 /// \c s.
 extern const AstTypeMatcher<EnumType> enumType;
 
-/// \brief Matches template specialization types.
+/// Matches template specialization types.
 ///
 /// Given
 /// \code
@@ -5256,7 +5256,7 @@ extern const AstTypeMatcher<EnumType> en
 extern const AstTypeMatcher<TemplateSpecializationType>
     templateSpecializationType;
 
-/// \brief Matches types nodes representing unary type transformations.
+/// Matches types nodes representing unary type transformations.
 ///
 /// Given:
 /// \code
@@ -5266,7 +5266,7 @@ extern const AstTypeMatcher<TemplateSpec
 ///   matches "__underlying_type(T)"
 extern const AstTypeMatcher<UnaryTransformType> unaryTransformType;
 
-/// \brief Matches record types (e.g. structs, classes).
+/// Matches record types (e.g. structs, classes).
 ///
 /// Given
 /// \code
@@ -5281,7 +5281,7 @@ extern const AstTypeMatcher<UnaryTransfo
 /// and \c s.
 extern const AstTypeMatcher<RecordType> recordType;
 
-/// \brief Matches tag types (record and enum types).
+/// Matches tag types (record and enum types).
 ///
 /// Given
 /// \code
@@ -5296,7 +5296,7 @@ extern const AstTypeMatcher<RecordType>
 /// and \c c.
 extern const AstTypeMatcher<TagType> tagType;
 
-/// \brief Matches types specified with an elaborated type keyword or with a
+/// Matches types specified with an elaborated type keyword or with a
 /// qualified name.
 ///
 /// Given
@@ -5316,7 +5316,7 @@ extern const AstTypeMatcher<TagType> tag
 /// \c c and \c d.
 extern const AstTypeMatcher<ElaboratedType> elaboratedType;
 
-/// \brief Matches ElaboratedTypes whose qualifier, a NestedNameSpecifier,
+/// Matches ElaboratedTypes whose qualifier, a NestedNameSpecifier,
 /// matches \c InnerMatcher if the qualifier exists.
 ///
 /// Given
@@ -5339,7 +5339,7 @@ AST_MATCHER_P(ElaboratedType, hasQualifi
   return false;
 }
 
-/// \brief Matches ElaboratedTypes whose named type matches \c InnerMatcher.
+/// Matches ElaboratedTypes whose named type matches \c InnerMatcher.
 ///
 /// Given
 /// \code
@@ -5359,7 +5359,7 @@ AST_MATCHER_P(ElaboratedType, namesType,
   return InnerMatcher.matches(Node.getNamedType(), Finder, Builder);
 }
 
-/// \brief Matches types that represent the result of substituting a type for a
+/// Matches types that represent the result of substituting a type for a
 /// template type parameter.
 ///
 /// Given
@@ -5374,7 +5374,7 @@ AST_MATCHER_P(ElaboratedType, namesType,
 extern const AstTypeMatcher<SubstTemplateTypeParmType>
     substTemplateTypeParmType;
 
-/// \brief Matches template type parameter substitutions that have a replacement
+/// Matches template type parameter substitutions that have a replacement
 /// type that matches the provided matcher.
 ///
 /// Given
@@ -5390,7 +5390,7 @@ AST_TYPE_TRAVERSE_MATCHER(
     hasReplacementType, getReplacementType,
     AST_POLYMORPHIC_SUPPORTED_TYPES(SubstTemplateTypeParmType));
 
-/// \brief Matches template type parameter types.
+/// Matches template type parameter types.
 ///
 /// Example matches T, but not int.
 ///     (matcher = templateTypeParmType())
@@ -5399,7 +5399,7 @@ AST_TYPE_TRAVERSE_MATCHER(
 /// \endcode
 extern const AstTypeMatcher<TemplateTypeParmType> templateTypeParmType;
 
-/// \brief Matches injected class name types.
+/// Matches injected class name types.
 ///
 /// Example matches S s, but not S<T> s.
 ///     (matcher = parmVarDecl(hasType(injectedClassNameType())))
@@ -5411,7 +5411,7 @@ extern const AstTypeMatcher<TemplateType
 /// \endcode
 extern const AstTypeMatcher<InjectedClassNameType> injectedClassNameType;
 
-/// \brief Matches decayed type
+/// Matches decayed type
 /// Example matches i[] in declaration of f.
 ///     (matcher = valueDecl(hasType(decayedType(hasDecayedType(pointerType())))))
 /// Example matches i[1].
@@ -5423,13 +5423,13 @@ extern const AstTypeMatcher<InjectedClas
 /// \endcode
 extern const AstTypeMatcher<DecayedType> decayedType;
 
-/// \brief Matches the decayed type, whos decayed type matches \c InnerMatcher
+/// Matches the decayed type, whos decayed type matches \c InnerMatcher
 AST_MATCHER_P(DecayedType, hasDecayedType, internal::Matcher<QualType>,
               InnerType) {
   return InnerType.matches(Node.getDecayedType(), Finder, Builder);
 }
 
-/// \brief Matches declarations whose declaration context, interpreted as a
+/// Matches declarations whose declaration context, interpreted as a
 /// Decl, matches \c InnerMatcher.
 ///
 /// Given
@@ -5449,7 +5449,7 @@ AST_MATCHER_P(Decl, hasDeclContext, inte
   return InnerMatcher.matches(*Decl::castFromDeclContext(DC), Finder, Builder);
 }
 
-/// \brief Matches nested name specifiers.
+/// Matches nested name specifiers.
 ///
 /// Given
 /// \code
@@ -5465,11 +5465,11 @@ AST_MATCHER_P(Decl, hasDeclContext, inte
 extern const internal::VariadicAllOfMatcher<NestedNameSpecifier>
     nestedNameSpecifier;
 
-/// \brief Same as \c nestedNameSpecifier but matches \c NestedNameSpecifierLoc.
+/// Same as \c nestedNameSpecifier but matches \c NestedNameSpecifierLoc.
 extern const internal::VariadicAllOfMatcher<NestedNameSpecifierLoc>
     nestedNameSpecifierLoc;
 
-/// \brief Matches \c NestedNameSpecifierLocs for which the given inner
+/// Matches \c NestedNameSpecifierLocs for which the given inner
 /// NestedNameSpecifier-matcher matches.
 AST_MATCHER_FUNCTION_P_OVERLOAD(
     internal::BindableMatcher<NestedNameSpecifierLoc>, loc,
@@ -5479,7 +5479,7 @@ AST_MATCHER_FUNCTION_P_OVERLOAD(
           InnerMatcher));
 }
 
-/// \brief Matches nested name specifiers that specify a type matching the
+/// Matches nested name specifiers that specify a type matching the
 /// given \c QualType matcher without qualifiers.
 ///
 /// Given
@@ -5498,7 +5498,7 @@ AST_MATCHER_P(NestedNameSpecifier, speci
   return InnerMatcher.matches(QualType(Node.getAsType(), 0), Finder, Builder);
 }
 
-/// \brief Matches nested name specifier locs that specify a type matching the
+/// Matches nested name specifier locs that specify a type matching the
 /// given \c TypeLoc.
 ///
 /// Given
@@ -5514,7 +5514,7 @@ AST_MATCHER_P(NestedNameSpecifierLoc, sp
   return Node && InnerMatcher.matches(Node.getTypeLoc(), Finder, Builder);
 }
 
-/// \brief Matches on the prefix of a \c NestedNameSpecifier.
+/// Matches on the prefix of a \c NestedNameSpecifier.
 ///
 /// Given
 /// \code
@@ -5532,7 +5532,7 @@ AST_MATCHER_P_OVERLOAD(NestedNameSpecifi
   return InnerMatcher.matches(*NextNode, Finder, Builder);
 }
 
-/// \brief Matches on the prefix of a \c NestedNameSpecifierLoc.
+/// Matches on the prefix of a \c NestedNameSpecifierLoc.
 ///
 /// Given
 /// \code
@@ -5550,7 +5550,7 @@ AST_MATCHER_P_OVERLOAD(NestedNameSpecifi
   return InnerMatcher.matches(NextNode, Finder, Builder);
 }
 
-/// \brief Matches nested name specifiers that specify a namespace matching the
+/// Matches nested name specifiers that specify a namespace matching the
 /// given namespace matcher.
 ///
 /// Given
@@ -5567,23 +5567,23 @@ AST_MATCHER_P(NestedNameSpecifier, speci
   return InnerMatcher.matches(*Node.getAsNamespace(), Finder, Builder);
 }
 
-/// \brief Overloads for the \c equalsNode matcher.
+/// Overloads for the \c equalsNode matcher.
 /// FIXME: Implement for other node types.
 /// @{
 
-/// \brief Matches if a node equals another node.
+/// Matches if a node equals another node.
 ///
 /// \c Decl has pointer identity in the AST.
 AST_MATCHER_P_OVERLOAD(Decl, equalsNode, const Decl*, Other, 0) {
   return &Node == Other;
 }
-/// \brief Matches if a node equals another node.
+/// Matches if a node equals another node.
 ///
 /// \c Stmt has pointer identity in the AST.
 AST_MATCHER_P_OVERLOAD(Stmt, equalsNode, const Stmt*, Other, 1) {
   return &Node == Other;
 }
-/// \brief Matches if a node equals another node.
+/// Matches if a node equals another node.
 ///
 /// \c Type has pointer identity in the AST.
 AST_MATCHER_P_OVERLOAD(Type, equalsNode, const Type*, Other, 2) {
@@ -5592,7 +5592,7 @@ AST_MATCHER_P_OVERLOAD(Type, equalsNode,
 
 /// @}
 
-/// \brief Matches each case or default statement belonging to the given switch
+/// Matches each case or default statement belonging to the given switch
 /// statement. This matcher may produce multiple matches.
 ///
 /// Given
@@ -5624,7 +5624,7 @@ AST_MATCHER_P(SwitchStmt, forEachSwitchC
   return Matched;
 }
 
-/// \brief Matches each constructor initializer in a constructor definition.
+/// Matches each constructor initializer in a constructor definition.
 ///
 /// Given
 /// \code
@@ -5649,7 +5649,7 @@ AST_MATCHER_P(CXXConstructorDecl, forEac
   return Matched;
 }
 
-/// \brief Matches constructor declarations that are copy constructors.
+/// Matches constructor declarations that are copy constructors.
 ///
 /// Given
 /// \code
@@ -5664,7 +5664,7 @@ AST_MATCHER(CXXConstructorDecl, isCopyCo
   return Node.isCopyConstructor();
 }
 
-/// \brief Matches constructor declarations that are move constructors.
+/// Matches constructor declarations that are move constructors.
 ///
 /// Given
 /// \code
@@ -5679,7 +5679,7 @@ AST_MATCHER(CXXConstructorDecl, isMoveCo
   return Node.isMoveConstructor();
 }
 
-/// \brief Matches constructor declarations that are default constructors.
+/// Matches constructor declarations that are default constructors.
 ///
 /// Given
 /// \code
@@ -5694,7 +5694,7 @@ AST_MATCHER(CXXConstructorDecl, isDefaul
   return Node.isDefaultConstructor();
 }
 
-/// \brief Matches constructors that delegate to another constructor.
+/// Matches constructors that delegate to another constructor.
 ///
 /// Given
 /// \code
@@ -5711,7 +5711,7 @@ AST_MATCHER(CXXConstructorDecl, isDelega
   return Node.isDelegatingConstructor();
 }
 
-/// \brief Matches constructor and conversion declarations that are marked with
+/// Matches constructor and conversion declarations that are marked with
 /// the explicit keyword.
 ///
 /// Given
@@ -5731,7 +5731,7 @@ AST_POLYMORPHIC_MATCHER(isExplicit,
   return Node.isExplicit();
 }
 
-/// \brief Matches function and namespace declarations that are marked with
+/// Matches function and namespace declarations that are marked with
 /// the inline keyword.
 ///
 /// Given
@@ -5756,7 +5756,7 @@ AST_POLYMORPHIC_MATCHER(isInline,
   llvm_unreachable("Not a valid polymorphic type");
 }
 
-/// \brief Matches anonymous namespace declarations.
+/// Matches anonymous namespace declarations.
 ///
 /// Given
 /// \code
@@ -5769,7 +5769,7 @@ AST_MATCHER(NamespaceDecl, isAnonymous)
   return Node.isAnonymousNamespace();
 }
 
-/// \brief If the given case statement does not use the GNU case range
+/// If the given case statement does not use the GNU case range
 /// extension, matches the constant given in the statement.
 ///
 /// Given
@@ -5786,7 +5786,7 @@ AST_MATCHER_P(CaseStmt, hasCaseConstant,
   return InnerMatcher.matches(*Node.getLHS(), Finder, Builder);
 }
 
-/// \brief Matches declaration that has a given attribute.
+/// Matches declaration that has a given attribute.
 ///
 /// Given
 /// \code
@@ -5803,7 +5803,7 @@ AST_MATCHER_P(Decl, hasAttr, attr::Kind,
   return false;
 }
 
-/// \brief Matches the return value expression of a return statement
+/// Matches the return value expression of a return statement
 ///
 /// Given
 /// \code
@@ -5820,7 +5820,7 @@ AST_MATCHER_P(ReturnStmt, hasReturnValue
   return false;
 }
 
-/// \brief Matches CUDA kernel call expression.
+/// Matches CUDA kernel call expression.
 ///
 /// Example matches,
 /// \code
@@ -5829,7 +5829,7 @@ AST_MATCHER_P(ReturnStmt, hasReturnValue
 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CUDAKernelCallExpr>
     cudaKernelCallExpr;
 
-/// \brief Matches expressions that resolve to a null pointer constant, such as
+/// Matches expressions that resolve to a null pointer constant, such as
 /// GNU's __null, C++11's nullptr, or C's NULL macro.
 ///
 /// Given:
@@ -5850,7 +5850,7 @@ AST_MATCHER_FUNCTION(internal::Matcher<E
       integerLiteral(equals(0), hasParent(expr(hasType(pointerType())))));
 }
 
-/// \brief Matches declaration of the function the statement belongs to
+/// Matches declaration of the function the statement belongs to
 ///
 /// Given:
 /// \code
@@ -5888,7 +5888,7 @@ AST_MATCHER_P(Stmt, forFunction, interna
   return false;
 }
 
-/// \brief Matches a declaration that has external formal linkage.
+/// Matches a declaration that has external formal linkage.
 ///
 /// Example matches only z (matcher = varDecl(hasExternalFormalLinkage()))
 /// \code
@@ -5912,7 +5912,7 @@ AST_MATCHER(NamedDecl, hasExternalFormal
   return Node.hasExternalFormalLinkage();
 }
 
-/// \brief Matches a declaration that has default arguments.
+/// Matches a declaration that has default arguments.
 ///
 /// Example matches y (matcher = parmVarDecl(hasDefaultArgument()))
 /// \code
@@ -5923,7 +5923,7 @@ AST_MATCHER(ParmVarDecl, hasDefaultArgum
   return Node.hasDefaultArg(); 
 }
 
-/// \brief Matches array new expressions.
+/// Matches array new expressions.
 ///
 /// Given:
 /// \code
@@ -5935,7 +5935,7 @@ AST_MATCHER(CXXNewExpr, isArray) {
   return Node.isArray();
 }
 
-/// \brief Matches array new expressions with a given array size.
+/// Matches array new expressions with a given array size.
 ///
 /// Given:
 /// \code
@@ -5948,7 +5948,7 @@ AST_MATCHER_P(CXXNewExpr, hasArraySize,
     InnerMatcher.matches(*Node.getArraySize(), Finder, Builder);
 }
 
-/// \brief Matches a class declaration that is defined.
+/// Matches a class declaration that is defined.
 ///
 /// Example matches x (matcher = cxxRecordDecl(hasDefinition()))
 /// \code
@@ -5959,7 +5959,7 @@ AST_MATCHER(CXXRecordDecl, hasDefinition
   return Node.hasDefinition();
 }
 
-/// \brief Matches C++11 scoped enum declaration.
+/// Matches C++11 scoped enum declaration.
 ///
 /// Example matches Y (matcher = enumDecl(isScoped()))
 /// \code
@@ -5970,7 +5970,7 @@ AST_MATCHER(EnumDecl, isScoped) {
   return Node.isScoped();
 }
 
-/// \brief Matches a function declared with a trailing return type.
+/// Matches a function declared with a trailing return type.
 ///
 /// Example matches Y (matcher = functionDecl(hasTrailingReturn()))
 /// \code

Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchersInternal.h Tue May  8 18:00:01 2018
@@ -80,7 +80,7 @@ class BoundNodes;
 
 namespace internal {
 
-/// \brief Variadic function object.
+/// Variadic function object.
 ///
 /// Most of the functions below that use VariadicFunction could be implemented
 /// using plain C++11 variadic functions, but the function object allows us to
@@ -113,7 +113,7 @@ private:
   }
 };
 
-/// \brief Unifies obtaining the underlying type of a regular node through
+/// Unifies obtaining the underlying type of a regular node through
 /// `getType` and a TypedefNameDecl node through `getUnderlyingType`.
 inline QualType getUnderlyingType(const Expr &Node) { return Node.getType(); }
 
@@ -125,7 +125,7 @@ inline QualType getUnderlyingType(const
   return Node.getUnderlyingType();
 }
 
-/// \brief Unifies obtaining the FunctionProtoType pointer from both
+/// Unifies obtaining the FunctionProtoType pointer from both
 /// FunctionProtoType and FunctionDecl nodes..
 inline const FunctionProtoType *
 getFunctionProtoType(const FunctionProtoType &Node) {
@@ -136,17 +136,17 @@ inline const FunctionProtoType *getFunct
   return Node.getType()->getAs<FunctionProtoType>();
 }
 
-/// \brief Internal version of BoundNodes. Holds all the bound nodes.
+/// Internal version of BoundNodes. Holds all the bound nodes.
 class BoundNodesMap {
 public:
-  /// \brief Adds \c Node to the map with key \c ID.
+  /// Adds \c Node to the map with key \c ID.
   ///
   /// The node's base type should be in NodeBaseType or it will be unaccessible.
   void addNode(StringRef ID, const ast_type_traits::DynTypedNode& DynNode) {
     NodeMap[ID] = DynNode;
   }
 
-  /// \brief Returns the AST node bound to \c ID.
+  /// Returns the AST node bound to \c ID.
   ///
   /// Returns NULL if there was no node bound to \c ID or if there is a node but
   /// it cannot be converted to the specified type.
@@ -167,12 +167,12 @@ public:
     return It->second;
   }
 
-  /// \brief Imposes an order on BoundNodesMaps.
+  /// Imposes an order on BoundNodesMaps.
   bool operator<(const BoundNodesMap &Other) const {
     return NodeMap < Other.NodeMap;
   }
 
-  /// \brief A map from IDs to the bound nodes.
+  /// A map from IDs to the bound nodes.
   ///
   /// Note that we're using std::map here, as for memoization:
   /// - we need a comparison operator
@@ -183,7 +183,7 @@ public:
     return NodeMap;
   }
 
-  /// \brief Returns \c true if this \c BoundNodesMap can be compared, i.e. all
+  /// Returns \c true if this \c BoundNodesMap can be compared, i.e. all
   /// stored nodes have memoization data.
   bool isComparable() const {
     for (const auto &IDAndNode : NodeMap) {
@@ -197,25 +197,25 @@ private:
   IDToNodeMap NodeMap;
 };
 
-/// \brief Creates BoundNodesTree objects.
+/// Creates BoundNodesTree objects.
 ///
 /// The tree builder is used during the matching process to insert the bound
 /// nodes from the Id matcher.
 class BoundNodesTreeBuilder {
 public:
-  /// \brief A visitor interface to visit all BoundNodes results for a
+  /// A visitor interface to visit all BoundNodes results for a
   /// BoundNodesTree.
   class Visitor {
   public:
     virtual ~Visitor() = default;
 
-    /// \brief Called multiple times during a single call to VisitMatches(...).
+    /// Called multiple times during a single call to VisitMatches(...).
     ///
     /// 'BoundNodesView' contains the bound nodes for a single match.
     virtual void visitMatch(const BoundNodes& BoundNodesView) = 0;
   };
 
-  /// \brief Add a binding from an id to a node.
+  /// Add a binding from an id to a node.
   void setBinding(StringRef Id, const ast_type_traits::DynTypedNode &DynNode) {
     if (Bindings.empty())
       Bindings.emplace_back();
@@ -223,10 +223,10 @@ public:
       Binding.addNode(Id, DynNode);
   }
 
-  /// \brief Adds a branch in the tree.
+  /// Adds a branch in the tree.
   void addMatch(const BoundNodesTreeBuilder &Bindings);
 
-  /// \brief Visits all matches that this BoundNodesTree represents.
+  /// Visits all matches that this BoundNodesTree represents.
   ///
   /// The ownership of 'ResultVisitor' remains at the caller.
   void visitMatches(Visitor* ResultVisitor);
@@ -238,12 +238,12 @@ public:
     return !Bindings.empty();
   }
 
-  /// \brief Imposes an order on BoundNodesTreeBuilders.
+  /// Imposes an order on BoundNodesTreeBuilders.
   bool operator<(const BoundNodesTreeBuilder &Other) const {
     return Bindings < Other.Bindings;
   }
 
-  /// \brief Returns \c true if this \c BoundNodesTreeBuilder can be compared,
+  /// Returns \c true if this \c BoundNodesTreeBuilder can be compared,
   /// i.e. all stored node maps have memoization data.
   bool isComparable() const {
     for (const BoundNodesMap &NodesMap : Bindings) {
@@ -259,7 +259,7 @@ private:
 
 class ASTMatchFinder;
 
-/// \brief Generic interface for all matchers.
+/// Generic interface for all matchers.
 ///
 /// Used by the implementation of Matcher<T> and DynTypedMatcher.
 /// In general, implement MatcherInterface<T> or SingleNodeMatcherInterface<T>
@@ -269,7 +269,7 @@ class DynMatcherInterface
 public:
   virtual ~DynMatcherInterface() = default;
 
-  /// \brief Returns true if \p DynNode can be matched.
+  /// Returns true if \p DynNode can be matched.
   ///
   /// May bind \p DynNode to an ID via \p Builder, or recurse into
   /// the AST via \p Finder.
@@ -278,7 +278,7 @@ public:
                           BoundNodesTreeBuilder *Builder) const = 0;
 };
 
-/// \brief Generic interface for matchers on an AST node of type T.
+/// Generic interface for matchers on an AST node of type T.
 ///
 /// Implement this if your matcher may need to inspect the children or
 /// descendants of the node or bind matched nodes to names. If you are
@@ -288,7 +288,7 @@ public:
 template <typename T>
 class MatcherInterface : public DynMatcherInterface {
 public:
-  /// \brief Returns true if 'Node' can be matched.
+  /// Returns true if 'Node' can be matched.
   ///
   /// May bind 'Node' to an ID via 'Builder', or recurse into
   /// the AST via 'Finder'.
@@ -303,12 +303,12 @@ public:
   }
 };
 
-/// \brief Interface for matchers that only evaluate properties on a single
+/// Interface for matchers that only evaluate properties on a single
 /// node.
 template <typename T>
 class SingleNodeMatcherInterface : public MatcherInterface<T> {
 public:
-  /// \brief Returns true if the matcher matches the provided node.
+  /// Returns true if the matcher matches the provided node.
   ///
   /// A subclass must implement this instead of Matches().
   virtual bool matchesNode(const T &Node) const = 0;
@@ -324,7 +324,7 @@ private:
 
 template <typename> class Matcher;
 
-/// \brief Matcher that works on a \c DynTypedNode.
+/// Matcher that works on a \c DynTypedNode.
 ///
 /// It is constructed from a \c Matcher<T> object and redirects most calls to
 /// underlying matcher.
@@ -333,26 +333,26 @@ template <typename> class Matcher;
 /// return false if it is not convertible.
 class DynTypedMatcher {
 public:
-  /// \brief Takes ownership of the provided implementation pointer.
+  /// Takes ownership of the provided implementation pointer.
   template <typename T>
   DynTypedMatcher(MatcherInterface<T> *Implementation)
       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
         RestrictKind(SupportedKind), Implementation(Implementation) {}
 
-  /// \brief Construct from a variadic function.
+  /// Construct from a variadic function.
   enum VariadicOperator {
-    /// \brief Matches nodes for which all provided matchers match.
+    /// Matches nodes for which all provided matchers match.
     VO_AllOf,
 
-    /// \brief Matches nodes for which at least one of the provided matchers
+    /// Matches nodes for which at least one of the provided matchers
     /// matches.
     VO_AnyOf,
 
-    /// \brief Matches nodes for which at least one of the provided matchers
+    /// Matches nodes for which at least one of the provided matchers
     /// matches, but doesn't stop at the first match.
     VO_EachOf,
 
-    /// \brief Matches nodes that do not match the provided matcher.
+    /// Matches nodes that do not match the provided matcher.
     ///
     /// Uses the variadic matcher interface, but fails if
     /// InnerMatchers.size() != 1.
@@ -364,27 +364,27 @@ public:
                     ast_type_traits::ASTNodeKind SupportedKind,
                     std::vector<DynTypedMatcher> InnerMatchers);
 
-  /// \brief Get a "true" matcher for \p NodeKind.
+  /// Get a "true" matcher for \p NodeKind.
   ///
   /// It only checks that the node is of the right kind.
   static DynTypedMatcher trueMatcher(ast_type_traits::ASTNodeKind NodeKind);
 
   void setAllowBind(bool AB) { AllowBind = AB; }
 
-  /// \brief Check whether this matcher could ever match a node of kind \p Kind.
+  /// Check whether this matcher could ever match a node of kind \p Kind.
   /// \return \c false if this matcher will never match such a node. Otherwise,
   /// return \c true.
   bool canMatchNodesOfKind(ast_type_traits::ASTNodeKind Kind) const;
 
-  /// \brief Return a matcher that points to the same implementation, but
+  /// Return a matcher that points to the same implementation, but
   ///   restricts the node types for \p Kind.
   DynTypedMatcher dynCastTo(const ast_type_traits::ASTNodeKind Kind) const;
 
-  /// \brief Returns true if the matcher matches the given \c DynNode.
+  /// Returns true if the matcher matches the given \c DynNode.
   bool matches(const ast_type_traits::DynTypedNode &DynNode,
                ASTMatchFinder *Finder, BoundNodesTreeBuilder *Builder) const;
 
-  /// \brief Same as matches(), but skips the kind check.
+  /// Same as matches(), but skips the kind check.
   ///
   /// It is faster, but the caller must ensure the node is valid for the
   /// kind of this matcher.
@@ -392,12 +392,12 @@ public:
                           ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const;
 
-  /// \brief Bind the specified \p ID to the matcher.
+  /// Bind the specified \p ID to the matcher.
   /// \return A new matcher with the \p ID bound to it if this matcher supports
   ///   binding. Otherwise, returns an empty \c Optional<>.
   llvm::Optional<DynTypedMatcher> tryBind(StringRef ID) const;
 
-  /// \brief Returns a unique \p ID for the matcher.
+  /// Returns a unique \p ID for the matcher.
   ///
   /// Casting a Matcher<T> to Matcher<U> creates a matcher that has the
   /// same \c Implementation pointer, but different \c RestrictKind. We need to
@@ -412,7 +412,7 @@ public:
                           reinterpret_cast<uint64_t>(Implementation.get()));
   }
 
-  /// \brief Returns the type this matcher works on.
+  /// Returns the type this matcher works on.
   ///
   /// \c matches() will always return false unless the node passed is of this
   /// or a derived type.
@@ -420,7 +420,7 @@ public:
     return SupportedKind;
   }
 
-  /// \brief Returns \c true if the passed \c DynTypedMatcher can be converted
+  /// Returns \c true if the passed \c DynTypedMatcher can be converted
   ///   to a \c Matcher<T>.
   ///
   /// This method verifies that the underlying matcher in \c Other can process
@@ -430,7 +430,7 @@ public:
   }
   bool canConvertTo(ast_type_traits::ASTNodeKind To) const;
 
-  /// \brief Construct a \c Matcher<T> interface around the dynamic matcher.
+  /// Construct a \c Matcher<T> interface around the dynamic matcher.
   ///
   /// This method asserts that \c canConvertTo() is \c true. Callers
   /// should call \c canConvertTo() first to make sure that \c this is
@@ -440,7 +440,7 @@ public:
     return unconditionalConvertTo<T>();
   }
 
-  /// \brief Same as \c convertTo(), but does not check that the underlying
+  /// Same as \c convertTo(), but does not check that the underlying
   ///   matcher can handle a value of T.
   ///
   /// If it is not compatible, then this matcher will never match anything.
@@ -456,7 +456,7 @@ private:
   bool AllowBind = false;
   ast_type_traits::ASTNodeKind SupportedKind;
 
-  /// \brief A potentially stricter node kind.
+  /// A potentially stricter node kind.
   ///
   /// It allows to perform implicit and dynamic cast of matchers without
   /// needing to change \c Implementation.
@@ -464,7 +464,7 @@ private:
   IntrusiveRefCntPtr<DynMatcherInterface> Implementation;
 };
 
-/// \brief Wrapper base class for a wrapping matcher.
+/// Wrapper base class for a wrapping matcher.
 ///
 /// This is just a container for a DynTypedMatcher that can be used as a base
 /// class for another matcher.
@@ -477,7 +477,7 @@ protected:
   const DynTypedMatcher InnerMatcher;
 };
 
-/// \brief Wrapper of a MatcherInterface<T> *that allows copying.
+/// Wrapper of a MatcherInterface<T> *that allows copying.
 ///
 /// A Matcher<Base> can be used anywhere a Matcher<Derived> is
 /// required. This establishes an is-a relationship which is reverse
@@ -488,11 +488,11 @@ protected:
 template <typename T>
 class Matcher {
 public:
-  /// \brief Takes ownership of the provided implementation pointer.
+  /// Takes ownership of the provided implementation pointer.
   explicit Matcher(MatcherInterface<T> *Implementation)
       : Implementation(Implementation) {}
 
-  /// \brief Implicitly converts \c Other to a Matcher<T>.
+  /// Implicitly converts \c Other to a Matcher<T>.
   ///
   /// Requires \c T to be derived from \c From.
   template <typename From>
@@ -504,7 +504,7 @@ public:
         ast_type_traits::ASTNodeKind::getFromNodeKind<T>()));
   }
 
-  /// \brief Implicitly converts \c Matcher<Type> to \c Matcher<QualType>.
+  /// Implicitly converts \c Matcher<Type> to \c Matcher<QualType>.
   ///
   /// The resulting matcher is not strict, i.e. ignores qualifiers.
   template <typename TypeT>
@@ -514,7 +514,7 @@ public:
             std::is_same<TypeT, Type>::value>::type* = nullptr)
       : Implementation(new TypeToQualType<TypeT>(Other)) {}
 
-  /// \brief Convert \c this into a \c Matcher<T> by applying dyn_cast<> to the
+  /// Convert \c this into a \c Matcher<T> by applying dyn_cast<> to the
   /// argument.
   /// \c To must be a base class of \c T.
   template <typename To>
@@ -523,7 +523,7 @@ public:
     return Matcher<To>(Implementation);
   }
 
-  /// \brief Forwards the call to the underlying MatcherInterface<T> pointer.
+  /// Forwards the call to the underlying MatcherInterface<T> pointer.
   bool matches(const T &Node,
                ASTMatchFinder *Finder,
                BoundNodesTreeBuilder *Builder) const {
@@ -531,18 +531,18 @@ public:
                                   Finder, Builder);
   }
 
-  /// \brief Returns an ID that uniquely identifies the matcher.
+  /// Returns an ID that uniquely identifies the matcher.
   DynTypedMatcher::MatcherIDType getID() const {
     return Implementation.getID();
   }
 
-  /// \brief Extract the dynamic matcher.
+  /// Extract the dynamic matcher.
   ///
   /// The returned matcher keeps the same restrictions as \c this and remembers
   /// that it is meant to support nodes of type \c T.
   operator DynTypedMatcher() const { return Implementation; }
 
-  /// \brief Allows the conversion of a \c Matcher<Type> to a \c
+  /// Allows the conversion of a \c Matcher<Type> to a \c
   /// Matcher<QualType>.
   ///
   /// Depending on the constructor argument, the matcher is either strict, i.e.
@@ -583,14 +583,14 @@ private:
   DynTypedMatcher Implementation;
 };  // class Matcher
 
-/// \brief A convenient helper for creating a Matcher<T> without specifying
+/// A convenient helper for creating a Matcher<T> without specifying
 /// the template type argument.
 template <typename T>
 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
   return Matcher<T>(Implementation);
 }
 
-/// \brief Specialization of the conversion functions for QualType.
+/// Specialization of the conversion functions for QualType.
 ///
 /// This specialization provides the Matcher<Type>->Matcher<QualType>
 /// conversion that the static API does.
@@ -606,7 +606,7 @@ inline Matcher<QualType> DynTypedMatcher
   return unconditionalConvertTo<QualType>();
 }
 
-/// \brief Finds the first node in a range that matches the given matcher.
+/// Finds the first node in a range that matches the given matcher.
 template <typename MatcherT, typename IteratorT>
 bool matchesFirstInRange(const MatcherT &Matcher, IteratorT Start,
                          IteratorT End, ASTMatchFinder *Finder,
@@ -621,7 +621,7 @@ bool matchesFirstInRange(const MatcherT
   return false;
 }
 
-/// \brief Finds the first node in a pointer range that matches the given
+/// Finds the first node in a pointer range that matches the given
 /// matcher.
 template <typename MatcherT, typename IteratorT>
 bool matchesFirstInPointerRange(const MatcherT &Matcher, IteratorT Start,
@@ -653,7 +653,7 @@ public:
   static const bool value = sizeof(test<Ty>(nullptr)) == sizeof(yes);
 };
 
-/// \brief Matches overloaded operators with a specific name.
+/// Matches overloaded operators with a specific name.
 ///
 /// The type argument ArgT is not used by this matcher but is used by
 /// PolymorphicMatcherWithParam1 and should be StringRef.
@@ -675,14 +675,14 @@ public:
 
 private:
 
-  /// \brief CXXOperatorCallExpr exist only for calls to overloaded operators
+  /// CXXOperatorCallExpr exist only for calls to overloaded operators
   /// so this function returns true if the call is to an operator of the given
   /// name.
   bool matchesSpecialized(const CXXOperatorCallExpr &Node) const {
     return getOperatorSpelling(Node.getOperator()) == Name;
   }
 
-  /// \brief Returns true only if CXXMethodDecl represents an overloaded
+  /// Returns true only if CXXMethodDecl represents an overloaded
   /// operator and has the given operator name.
   bool matchesSpecialized(const FunctionDecl &Node) const {
     return Node.isOverloadedOperator() &&
@@ -692,7 +692,7 @@ private:
   std::string Name;
 };
 
-/// \brief Matches named declarations with a specific name.
+/// Matches named declarations with a specific name.
 ///
 /// See \c hasName() and \c hasAnyName() in ASTMatchers.h for details.
 class HasNameMatcher : public SingleNodeMatcherInterface<NamedDecl> {
@@ -702,13 +702,13 @@ class HasNameMatcher : public SingleNode
   bool matchesNode(const NamedDecl &Node) const override;
 
  private:
-  /// \brief Unqualified match routine.
+  /// Unqualified match routine.
   ///
   /// It is much faster than the full match, but it only works for unqualified
   /// matches.
   bool matchesNodeUnqualified(const NamedDecl &Node) const;
 
-  /// \brief Full match routine
+  /// Full match routine
   ///
   /// Fast implementation for the simple case of a named declaration at
   /// namespace or RecordDecl scope.
@@ -716,7 +716,7 @@ class HasNameMatcher : public SingleNode
   /// matchesNodeFullSlow.
   bool matchesNodeFullFast(const NamedDecl &Node) const;
 
-  /// \brief Full match routine
+  /// Full match routine
   ///
   /// It generates the fully qualified name of the declaration (which is
   /// expensive) before trying to match.
@@ -727,16 +727,16 @@ class HasNameMatcher : public SingleNode
   const std::vector<std::string> Names;
 };
 
-/// \brief Trampoline function to use VariadicFunction<> to construct a
+/// Trampoline function to use VariadicFunction<> to construct a
 ///        HasNameMatcher.
 Matcher<NamedDecl> hasAnyNameFunc(ArrayRef<const StringRef *> NameRefs);
 
-/// \brief Trampoline function to use VariadicFunction<> to construct a
+/// Trampoline function to use VariadicFunction<> to construct a
 ///        hasAnySelector matcher.
 Matcher<ObjCMessageExpr> hasAnySelectorFunc(
     ArrayRef<const StringRef *> NameRefs);
 
-/// \brief Matches declarations for QualType and CallExpr.
+/// Matches declarations for QualType and CallExpr.
 ///
 /// Type argument DeclMatcherT is required by PolymorphicMatcherWithParam1 but
 /// not actually used.
@@ -755,7 +755,7 @@ public:
   }
 
 private:
-  /// \brief Forwards to matching on the underlying type of the QualType.
+  /// Forwards to matching on the underlying type of the QualType.
   bool matchesSpecialized(const QualType &Node, ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const {
     if (Node.isNull())
@@ -764,7 +764,7 @@ private:
     return matchesSpecialized(*Node, Finder, Builder);
   }
 
-  /// \brief Finds the best declaration for a type and returns whether the inner
+  /// Finds the best declaration for a type and returns whether the inner
   /// matcher matches on it.
   bool matchesSpecialized(const Type &Node, ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const {
@@ -838,21 +838,21 @@ private:
     return false;
   }
 
-  /// \brief Extracts the Decl the DeclRefExpr references and returns whether
+  /// Extracts the Decl the DeclRefExpr references and returns whether
   /// the inner matcher matches on it.
   bool matchesSpecialized(const DeclRefExpr &Node, ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const {
     return matchesDecl(Node.getDecl(), Finder, Builder);
   }
 
-  /// \brief Extracts the Decl of the callee of a CallExpr and returns whether
+  /// Extracts the Decl of the callee of a CallExpr and returns whether
   /// the inner matcher matches on it.
   bool matchesSpecialized(const CallExpr &Node, ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const {
     return matchesDecl(Node.getCalleeDecl(), Finder, Builder);
   }
 
-  /// \brief Extracts the Decl of the constructor call and returns whether the
+  /// Extracts the Decl of the constructor call and returns whether the
   /// inner matcher matches on it.
   bool matchesSpecialized(const CXXConstructExpr &Node,
                           ASTMatchFinder *Finder,
@@ -860,7 +860,7 @@ private:
     return matchesDecl(Node.getConstructor(), Finder, Builder);
   }
 
-  /// \brief Extracts the operator new of the new call and returns whether the
+  /// Extracts the operator new of the new call and returns whether the
   /// inner matcher matches on it.
   bool matchesSpecialized(const CXXNewExpr &Node,
                           ASTMatchFinder *Finder,
@@ -868,7 +868,7 @@ private:
     return matchesDecl(Node.getOperatorNew(), Finder, Builder);
   }
 
-  /// \brief Extracts the \c ValueDecl a \c MemberExpr refers to and returns
+  /// Extracts the \c ValueDecl a \c MemberExpr refers to and returns
   /// whether the inner matcher matches on it.
   bool matchesSpecialized(const MemberExpr &Node,
                           ASTMatchFinder *Finder,
@@ -876,7 +876,7 @@ private:
     return matchesDecl(Node.getMemberDecl(), Finder, Builder);
   }
 
-  /// \brief Extracts the \c LabelDecl a \c AddrLabelExpr refers to and returns
+  /// Extracts the \c LabelDecl a \c AddrLabelExpr refers to and returns
   /// whether the inner matcher matches on it.
   bool matchesSpecialized(const AddrLabelExpr &Node,
                           ASTMatchFinder *Finder,
@@ -884,14 +884,14 @@ private:
     return matchesDecl(Node.getLabel(), Finder, Builder);
   }
 
-  /// \brief Extracts the declaration of a LabelStmt and returns whether the
+  /// Extracts the declaration of a LabelStmt and returns whether the
   /// inner matcher matches on it.
   bool matchesSpecialized(const LabelStmt &Node, ASTMatchFinder *Finder,
                           BoundNodesTreeBuilder *Builder) const {
     return matchesDecl(Node.getDecl(), Finder, Builder);
   }
 
-  /// \brief Returns whether the inner matcher \c Node. Returns false if \c Node
+  /// Returns whether the inner matcher \c Node. Returns false if \c Node
   /// is \c NULL.
   bool matchesDecl(const Decl *Node, ASTMatchFinder *Finder,
                    BoundNodesTreeBuilder *Builder) const {
@@ -901,7 +901,7 @@ private:
   }
 };
 
-/// \brief IsBaseType<T>::value is true if T is a "base" type in the AST
+/// IsBaseType<T>::value is true if T is a "base" type in the AST
 /// node class hierarchies.
 template <typename T>
 struct IsBaseType {
@@ -918,7 +918,7 @@ struct IsBaseType {
 template <typename T>
 const bool IsBaseType<T>::value;
 
-/// \brief Interface that allows matchers to traverse the AST.
+/// Interface that allows matchers to traverse the AST.
 /// FIXME: Find a better name.
 ///
 /// This provides three entry methods for each base node type in the AST:
@@ -938,7 +938,7 @@ const bool IsBaseType<T>::value;
 /// all nodes, as all nodes have ancestors.
 class ASTMatchFinder {
 public:
-  /// \brief Defines how we descend a level in the AST when we pass
+  /// Defines how we descend a level in the AST when we pass
   /// through expressions.
   enum TraversalKind {
     /// Will traverse any child nodes.
@@ -948,7 +948,7 @@ public:
     TK_IgnoreImplicitCastsAndParentheses
   };
 
-  /// \brief Defines how bindings are processed on recursive matches.
+  /// Defines how bindings are processed on recursive matches.
   enum BindKind {
     /// Stop at the first match and only bind the first match.
     BK_First,
@@ -957,7 +957,7 @@ public:
     BK_All
   };
 
-  /// \brief Defines which ancestors are considered for a match.
+  /// Defines which ancestors are considered for a match.
   enum AncestorMatchMode {
     /// All ancestors.
     AMM_All,
@@ -968,7 +968,7 @@ public:
 
   virtual ~ASTMatchFinder() = default;
 
-  /// \brief Returns true if the given class is directly or indirectly derived
+  /// Returns true if the given class is directly or indirectly derived
   /// from a base type matching \c base.
   ///
   /// A class is considered to be also derived from itself.
@@ -1044,27 +1044,27 @@ protected:
                                  AncestorMatchMode MatchMode) = 0;
 };
 
-/// \brief A type-list implementation.
+/// A type-list implementation.
 ///
 /// A "linked list" of types, accessible by using the ::head and ::tail
 /// typedefs.
 template <typename... Ts> struct TypeList {}; // Empty sentinel type list.
 
 template <typename T1, typename... Ts> struct TypeList<T1, Ts...> {
-  /// \brief The first type on the list.
+  /// The first type on the list.
   using head = T1;
 
-  /// \brief A sublist with the tail. ie everything but the head.
+  /// A sublist with the tail. ie everything but the head.
   ///
   /// This type is used to do recursion. TypeList<>/EmptyTypeList indicates the
   /// end of the list.
   using tail = TypeList<Ts...>;
 };
 
-/// \brief The empty type list.
+/// The empty type list.
 using EmptyTypeList = TypeList<>;
 
-/// \brief Helper meta-function to determine if some type \c T is present or
+/// Helper meta-function to determine if some type \c T is present or
 ///   a parent type in the list.
 template <typename AnyTypeList, typename T>
 struct TypeListContainsSuperOf {
@@ -1077,14 +1077,14 @@ struct TypeListContainsSuperOf<EmptyType
   static const bool value = false;
 };
 
-/// \brief A "type list" that contains all types.
+/// A "type list" that contains all types.
 ///
 /// Useful for matchers like \c anything and \c unless.
 using AllNodeBaseTypes =
     TypeList<Decl, Stmt, NestedNameSpecifier, NestedNameSpecifierLoc, QualType,
              Type, TypeLoc, CXXCtorInitializer>;
 
-/// \brief Helper meta-function to extract the argument out of a function of
+/// Helper meta-function to extract the argument out of a function of
 ///   type void(Arg).
 ///
 /// See AST_POLYMORPHIC_SUPPORTED_TYPES for details.
@@ -1093,13 +1093,13 @@ template <class T> struct ExtractFunctio
   using type = T;
 };
 
-/// \brief Default type lists for ArgumentAdaptingMatcher matchers.
+/// Default type lists for ArgumentAdaptingMatcher matchers.
 using AdaptativeDefaultFromTypes = AllNodeBaseTypes;
 using AdaptativeDefaultToTypes =
     TypeList<Decl, Stmt, NestedNameSpecifier, NestedNameSpecifierLoc, TypeLoc,
              QualType>;
 
-/// \brief All types that are supported by HasDeclarationMatcher above.
+/// All types that are supported by HasDeclarationMatcher above.
 using HasDeclarationSupportedTypes =
     TypeList<CallExpr, CXXConstructExpr, CXXNewExpr, DeclRefExpr, EnumType,
              ElaboratedType, InjectedClassNameType, LabelStmt, AddrLabelExpr,
@@ -1107,7 +1107,7 @@ using HasDeclarationSupportedTypes =
              TemplateSpecializationType, TemplateTypeParmType, TypedefType,
              UnresolvedUsingType>;
 
-/// \brief Converts a \c Matcher<T> to a matcher of desired type \c To by
+/// Converts a \c Matcher<T> to a matcher of desired type \c To by
 /// "adapting" a \c To into a \c T.
 ///
 /// The \c ArgumentAdapterT argument specifies how the adaptation is done.
@@ -1150,7 +1150,7 @@ struct ArgumentAdaptingMatcherFunc {
   }
 };
 
-/// \brief A PolymorphicMatcherWithParamN<MatcherT, P1, ..., PN> object can be
+/// A PolymorphicMatcherWithParamN<MatcherT, P1, ..., PN> object can be
 /// created from N parameters p1, ..., pN (of type P1, ..., PN) and
 /// used as a Matcher<T> where a MatcherT<T, P1, ..., PN>(p1, ..., pN)
 /// can be constructed.
@@ -1219,7 +1219,7 @@ private:
   const P2 Param2;
 };
 
-/// \brief Matches any instance of the given NodeType.
+/// Matches any instance of the given NodeType.
 ///
 /// This is useful when a matcher syntactically requires a child matcher,
 /// but the context doesn't care. See for example: anything().
@@ -1235,7 +1235,7 @@ public:
   }
 };
 
-/// \brief A Matcher that allows binding the node it matches to an id.
+/// A Matcher that allows binding the node it matches to an id.
 ///
 /// BindableMatcher provides a \a bind() method that allows binding the
 /// matched node to an id if the match was successful.
@@ -1246,7 +1246,7 @@ public:
   explicit BindableMatcher(MatcherInterface<T> *Implementation)
     : Matcher<T>(Implementation) {}
 
-  /// \brief Returns a matcher that will bind the matched node on a match.
+  /// Returns a matcher that will bind the matched node on a match.
   ///
   /// The returned matcher is equivalent to this matcher, but will
   /// bind the matched node on a match.
@@ -1256,7 +1256,7 @@ public:
         ->template unconditionalConvertTo<T>();
   }
 
-  /// \brief Same as Matcher<T>'s conversion operator, but enables binding on
+  /// Same as Matcher<T>'s conversion operator, but enables binding on
   /// the returned matcher.
   operator DynTypedMatcher() const {
     DynTypedMatcher Result = static_cast<const Matcher<T>&>(*this);
@@ -1265,7 +1265,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type T that have child nodes of type ChildT for
+/// Matches nodes of type T that have child nodes of type ChildT for
 /// which a specified child matcher matches.
 ///
 /// ChildT must be an AST base type.
@@ -1283,7 +1283,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type T that have child nodes of type ChildT for
+/// Matches nodes of type T that have child nodes of type ChildT for
 /// which a specified child matcher matches. ChildT must be an AST base
 /// type.
 /// As opposed to the HasMatcher, the ForEachMatcher will produce a match
@@ -1306,10 +1306,10 @@ class ForEachMatcher : public WrapperMat
   }
 };
 
-/// \brief VariadicOperatorMatcher related types.
+/// VariadicOperatorMatcher related types.
 /// @{
 
-/// \brief Polymorphic matcher object that uses a \c
+/// Polymorphic matcher object that uses a \c
 /// DynTypedMatcher::VariadicOperator operator.
 ///
 /// Input matchers can have any type (including other polymorphic matcher
@@ -1338,7 +1338,7 @@ private:
   std::tuple<Ps...> Params;
 };
 
-/// \brief Overloaded function object to generate VariadicOperatorMatcher
+/// Overloaded function object to generate VariadicOperatorMatcher
 ///   objects from arbitrary matchers.
 template <unsigned MinCount, unsigned MaxCount>
 struct VariadicOperatorMatcherFunc {
@@ -1359,7 +1359,7 @@ inline Matcher<T> DynTypedMatcher::uncon
   return Matcher<T>(*this);
 }
 
-/// \brief Creates a Matcher<T> that matches if all inner matchers match.
+/// Creates a Matcher<T> that matches if all inner matchers match.
 template<typename T>
 BindableMatcher<T> makeAllOfComposite(
     ArrayRef<const Matcher<T> *> InnerMatchers) {
@@ -1385,7 +1385,7 @@ BindableMatcher<T> makeAllOfComposite(
           .template unconditionalConvertTo<T>());
 }
 
-/// \brief Creates a Matcher<T> that matches if
+/// Creates a Matcher<T> that matches if
 /// T is dyn_cast'able into InnerT and all inner matchers match.
 ///
 /// Returns BindableMatcher, as matchers that use dyn_cast have
@@ -1398,7 +1398,7 @@ BindableMatcher<T> makeDynCastAllOfCompo
       makeAllOfComposite(InnerMatchers).template dynCastTo<T>());
 }
 
-/// \brief Matches nodes of type T that have at least one descendant node of
+/// Matches nodes of type T that have at least one descendant node of
 /// type DescendantT for which the given inner matcher matches.
 ///
 /// DescendantT must be an AST base type.
@@ -1418,7 +1418,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type \c T that have a parent node of type \c ParentT
+/// Matches nodes of type \c T that have a parent node of type \c ParentT
 /// for which the given inner matcher matches.
 ///
 /// \c ParentT must be an AST base type.
@@ -1438,7 +1438,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type \c T that have at least one ancestor node of
+/// Matches nodes of type \c T that have at least one ancestor node of
 /// type \c AncestorT for which the given inner matcher matches.
 ///
 /// \c AncestorT must be an AST base type.
@@ -1458,7 +1458,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type T that have at least one descendant node of
+/// Matches nodes of type T that have at least one descendant node of
 /// type DescendantT for which the given inner matcher matches.
 ///
 /// DescendantT must be an AST base type.
@@ -1481,7 +1481,7 @@ public:
   }
 };
 
-/// \brief Matches on nodes that have a getValue() method if getValue() equals
+/// Matches on nodes that have a getValue() method if getValue() equals
 /// the value the ValueEqualsMatcher was constructed with.
 template <typename T, typename ValueT>
 class ValueEqualsMatcher : public SingleNodeMatcherInterface<T> {
@@ -1503,7 +1503,7 @@ private:
   const ValueT ExpectedValue;
 };
 
-/// \brief Template specializations to easily write matchers for floating point
+/// Template specializations to easily write matchers for floating point
 /// literals.
 template <>
 inline bool ValueEqualsMatcher<FloatingLiteral, double>::matchesNode(
@@ -1529,7 +1529,7 @@ inline bool ValueEqualsMatcher<FloatingL
   return ExpectedValue.compare(Node.getValue()) == llvm::APFloat::cmpEqual;
 }
 
-/// \brief A VariadicDynCastAllOfMatcher<SourceT, TargetT> object is a
+/// A VariadicDynCastAllOfMatcher<SourceT, TargetT> object is a
 /// variadic functor that takes a number of Matcher<TargetT> and returns a
 /// Matcher<SourceT> that matches TargetT nodes that are matched by all of the
 /// given matchers, if SourceT can be dynamically casted into TargetT.
@@ -1549,7 +1549,7 @@ public:
   VariadicDynCastAllOfMatcher() {}
 };
 
-/// \brief A \c VariadicAllOfMatcher<T> object is a variadic functor that takes
+/// A \c VariadicAllOfMatcher<T> object is a variadic functor that takes
 /// a number of \c Matcher<T> and returns a \c Matcher<T> that matches \c T
 /// nodes that are matched by all of the given matchers.
 ///
@@ -1567,7 +1567,7 @@ public:
   VariadicAllOfMatcher() {}
 };
 
-/// \brief Matches nodes of type \c TLoc for which the inner
+/// Matches nodes of type \c TLoc for which the inner
 /// \c Matcher<T> matches.
 template <typename TLoc, typename T>
 class LocMatcher : public WrapperMatcherInterface<TLoc> {
@@ -1589,7 +1589,7 @@ private:
   }
 };
 
-/// \brief Matches \c TypeLocs based on an inner matcher matching a certain
+/// Matches \c TypeLocs based on an inner matcher matching a certain
 /// \c QualType.
 ///
 /// Used to implement the \c loc() matcher.
@@ -1607,7 +1607,7 @@ public:
   }
 };
 
-/// \brief Matches nodes of type \c T for which the inner matcher matches on a
+/// Matches nodes of type \c T for which the inner matcher matches on a
 /// another node of type \c T that can be reached using a given traverse
 /// function.
 template <typename T>
@@ -1631,7 +1631,7 @@ private:
   QualType (T::*TraverseFunction)() const;
 };
 
-/// \brief Matches nodes of type \c T in a ..Loc hierarchy, for which the inner
+/// Matches nodes of type \c T in a ..Loc hierarchy, for which the inner
 /// matcher matches on a another node of type \c T that can be reached using a
 /// given traverse function.
 template <typename T>
@@ -1655,7 +1655,7 @@ private:
   TypeLoc (T::*TraverseFunction)() const;
 };
 
-/// \brief Converts a \c Matcher<InnerT> to a \c Matcher<OuterT>, where
+/// Converts a \c Matcher<InnerT> to a \c Matcher<OuterT>, where
 /// \c OuterT is any type that is supported by \c Getter.
 ///
 /// \code Getter<OuterT>::value() \endcode returns a
@@ -1693,7 +1693,7 @@ private:
   const Matcher<InnerTBase> InnerMatcher;
 };
 
-/// \brief A simple memoizer of T(*)() functions.
+/// A simple memoizer of T(*)() functions.
 ///
 /// It will call the passed 'Func' template parameter at most once.
 /// Used to support AST_MATCHER_FUNCTION() macro.

Modified: cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchersMacros.h Tue May  8 18:00:01 2018
@@ -50,7 +50,7 @@
 #ifndef LLVM_CLANG_ASTMATCHERS_ASTMATCHERSMACROS_H
 #define LLVM_CLANG_ASTMATCHERS_ASTMATCHERSMACROS_H
 
-/// \brief AST_MATCHER_FUNCTION(ReturnType, DefineMatcher) { ... }
+/// AST_MATCHER_FUNCTION(ReturnType, DefineMatcher) { ... }
 /// defines a zero parameter function named DefineMatcher() that returns a
 /// ReturnType object.
 #define AST_MATCHER_FUNCTION(ReturnType, DefineMatcher)                        \
@@ -61,7 +61,7 @@
   }                                                                            \
   inline ReturnType DefineMatcher##_getInstance()
 
-/// \brief AST_MATCHER_FUNCTION_P(ReturnType, DefineMatcher, ParamType, Param) {
+/// AST_MATCHER_FUNCTION_P(ReturnType, DefineMatcher, ParamType, Param) {
 /// ... }
 /// defines a single-parameter function named DefineMatcher() that returns a
 /// ReturnType object.
@@ -81,7 +81,7 @@
   typedef ReturnType (&DefineMatcher##_Type##OverloadId)(ParamType const &);   \
   inline ReturnType DefineMatcher(ParamType const &Param)
 
-/// \brief AST_MATCHER(Type, DefineMatcher) { ... }
+/// AST_MATCHER(Type, DefineMatcher) { ... }
 /// defines a zero parameter function named DefineMatcher() that returns a
 /// Matcher<Type> object.
 ///
@@ -113,7 +113,7 @@
       ::clang::ast_matchers::internal::ASTMatchFinder *Finder,                 \
       ::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const
 
-/// \brief AST_MATCHER_P(Type, DefineMatcher, ParamType, Param) { ... }
+/// AST_MATCHER_P(Type, DefineMatcher, ParamType, Param) { ... }
 /// defines a single-parameter function named DefineMatcher() that returns a
 /// Matcher<Type> object.
 ///
@@ -159,7 +159,7 @@
       ::clang::ast_matchers::internal::ASTMatchFinder *Finder,                 \
       ::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const
 
-/// \brief AST_MATCHER_P2(
+/// AST_MATCHER_P2(
 ///     Type, DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... }
 /// defines a two-parameter function named DefineMatcher() that returns a
 /// Matcher<Type> object.
@@ -211,7 +211,7 @@
       ::clang::ast_matchers::internal::ASTMatchFinder *Finder,                 \
       ::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const
 
-/// \brief Construct a type-list to be passed to the AST_POLYMORPHIC_MATCHER*
+/// Construct a type-list to be passed to the AST_POLYMORPHIC_MATCHER*
 ///   macros.
 ///
 /// You can't pass something like \c TypeList<Foo, Bar> to a macro, because it
@@ -222,7 +222,7 @@
 #define AST_POLYMORPHIC_SUPPORTED_TYPES(...)                                   \
   void(::clang::ast_matchers::internal::TypeList<__VA_ARGS__>)
 
-/// \brief AST_POLYMORPHIC_MATCHER(DefineMatcher) { ... }
+/// AST_POLYMORPHIC_MATCHER(DefineMatcher) { ... }
 /// defines a single-parameter function named DefineMatcher() that is
 /// polymorphic in the return type.
 ///
@@ -252,7 +252,7 @@
       ::clang::ast_matchers::internal::ASTMatchFinder *Finder,                 \
       ::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder) const
 
-/// \brief AST_POLYMORPHIC_MATCHER_P(DefineMatcher, ParamType, Param) { ... }
+/// AST_POLYMORPHIC_MATCHER_P(DefineMatcher, ParamType, Param) { ... }
 /// defines a single-parameter function named DefineMatcher() that is
 /// polymorphic in the return type.
 ///
@@ -305,7 +305,7 @@
           ::clang::ast_matchers::internal::BoundNodesTreeBuilder *Builder)     \
           const
 
-/// \brief AST_POLYMORPHIC_MATCHER_P2(
+/// AST_POLYMORPHIC_MATCHER_P2(
 ///     DefineMatcher, ParamType1, Param1, ParamType2, Param2) { ... }
 /// defines a two-parameter function named matcher() that is polymorphic in
 /// the return type.
@@ -383,7 +383,7 @@
       ::clang::ast_matchers::internal::TypeTraverseMatcher,                    \
       ReturnTypesF>::Func MatcherName
 
-/// \brief AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName) defines
+/// AST_TYPE_TRAVERSE_MATCHER(MatcherName, FunctionName) defines
 /// the matcher \c MatcherName that can be used to traverse from one \c Type
 /// to another.
 ///
@@ -426,7 +426,7 @@
       ReturnTypesF>::Func MatcherName##Loc;                                    \
   AST_TYPE_TRAVERSE_MATCHER_DEF(MatcherName, ReturnTypesF)
 
-/// \brief AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName) works
+/// AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName) works
 /// identical to \c AST_TYPE_TRAVERSE_MATCHER but operates on \c TypeLocs.
 #define AST_TYPELOC_TRAVERSE_MATCHER(MatcherName, FunctionName, ReturnTypesF)  \
   namespace internal {                                                         \

Modified: cfe/trunk/include/clang/ASTMatchers/Dynamic/Diagnostics.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/Dynamic/Diagnostics.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/Dynamic/Diagnostics.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/Dynamic/Diagnostics.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Diagnostics class to manage error messages.
+/// Diagnostics class to manage error messages.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -39,7 +39,7 @@ struct SourceRange {
   SourceLocation End;
 };
 
-/// \brief A VariantValue instance annotated with its parser context.
+/// A VariantValue instance annotated with its parser context.
 struct ParserValue {
   ParserValue() : Text(), Range(), Value() {}
   StringRef Text;
@@ -47,16 +47,16 @@ struct ParserValue {
   VariantValue Value;
 };
 
-/// \brief Helper class to manage error messages.
+/// Helper class to manage error messages.
 class Diagnostics {
 public:
-  /// \brief Parser context types.
+  /// Parser context types.
   enum ContextType {
     CT_MatcherArg = 0,
     CT_MatcherConstruct = 1
   };
 
-  /// \brief All errors from the system.
+  /// All errors from the system.
   enum ErrorType {
     ET_None = 0,
 
@@ -80,7 +80,7 @@ public:
     ET_ParserOverloadedType = 110
   };
 
-  /// \brief Helper stream class.
+  /// Helper stream class.
   class ArgStream {
   public:
     ArgStream(std::vector<std::string> *Out) : Out(Out) {}
@@ -93,7 +93,7 @@ public:
     std::vector<std::string> *Out;
   };
 
-  /// \brief Class defining a parser context.
+  /// Class defining a parser context.
   ///
   /// Used by the parser to specify (possibly recursive) contexts where the
   /// parsing/construction can fail. Any error triggered within a context will
@@ -101,11 +101,11 @@ public:
   /// This class should be used as a RAII instance in the stack.
   struct Context {
   public:
-    /// \brief About to call the constructor for a matcher.
+    /// About to call the constructor for a matcher.
     enum ConstructMatcherEnum { ConstructMatcher };
     Context(ConstructMatcherEnum, Diagnostics *Error, StringRef MatcherName,
             SourceRange MatcherRange);
-    /// \brief About to recurse into parsing one argument for a matcher.
+    /// About to recurse into parsing one argument for a matcher.
     enum MatcherArgEnum { MatcherArg };
     Context(MatcherArgEnum, Diagnostics *Error, StringRef MatcherName,
             SourceRange MatcherRange, unsigned ArgNumber);
@@ -115,7 +115,7 @@ public:
     Diagnostics *const Error;
   };
 
-  /// \brief Context for overloaded matcher construction.
+  /// Context for overloaded matcher construction.
   ///
   /// This context will take care of merging all errors that happen within it
   /// as "candidate" overloads for the same matcher.
@@ -124,7 +124,7 @@ public:
    OverloadContext(Diagnostics* Error);
    ~OverloadContext();
 
-   /// \brief Revert all errors that happened within this context.
+   /// Revert all errors that happened within this context.
    void revertErrors();
 
   private:
@@ -132,21 +132,21 @@ public:
     unsigned BeginIndex;
   };
 
-  /// \brief Add an error to the diagnostics.
+  /// Add an error to the diagnostics.
   ///
   /// All the context information will be kept on the error message.
   /// \return a helper class to allow the caller to pass the arguments for the
   /// error message, using the << operator.
   ArgStream addError(SourceRange Range, ErrorType Error);
 
-  /// \brief Information stored for one frame of the context.
+  /// Information stored for one frame of the context.
   struct ContextFrame {
     ContextType Type;
     SourceRange Range;
     std::vector<std::string> Args;
   };
 
-  /// \brief Information stored for each error found.
+  /// Information stored for each error found.
   struct ErrorContent {
     std::vector<ContextFrame> ContextStack;
     struct Message {
@@ -158,20 +158,20 @@ public:
   };
   ArrayRef<ErrorContent> errors() const { return Errors; }
 
-  /// \brief Returns a simple string representation of each error.
+  /// Returns a simple string representation of each error.
   ///
   /// Each error only shows the error message without any context.
   void printToStream(llvm::raw_ostream &OS) const;
   std::string toString() const;
 
-  /// \brief Returns the full string representation of each error.
+  /// Returns the full string representation of each error.
   ///
   /// Each error message contains the full context.
   void printToStreamFull(llvm::raw_ostream &OS) const;
   std::string toStringFull() const;
 
 private:
-  /// \brief Helper function used by the constructors of ContextFrame.
+  /// Helper function used by the constructors of ContextFrame.
   ArgStream pushContextFrame(ContextType Type, SourceRange Range);
 
   std::vector<ContextFrame> ContextStack;

Modified: cfe/trunk/include/clang/ASTMatchers/Dynamic/Parser.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/Dynamic/Parser.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/Dynamic/Parser.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/Dynamic/Parser.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Simple matcher expression parser.
+/// Simple matcher expression parser.
 ///
 /// The parser understands matcher expressions of the form:
 ///   MatcherName(Arg0, Arg1, ..., ArgN)
@@ -52,10 +52,10 @@ namespace dynamic {
 
 class Diagnostics;
 
-/// \brief Matcher expression parser.
+/// Matcher expression parser.
 class Parser {
 public:
-  /// \brief Interface to connect the parser with the registry and more.
+  /// Interface to connect the parser with the registry and more.
   ///
   /// The parser uses the Sema instance passed into
   /// parseMatcherExpression() to handle all matcher tokens. The simplest
@@ -69,7 +69,7 @@ public:
   public:
     virtual ~Sema();
 
-    /// \brief Process a matcher expression.
+    /// Process a matcher expression.
     ///
     /// All the arguments passed here have already been processed.
     ///
@@ -92,7 +92,7 @@ public:
                                                   ArrayRef<ParserValue> Args,
                                                   Diagnostics *Error) = 0;
 
-    /// \brief Look up a matcher by name.
+    /// Look up a matcher by name.
     ///
     /// \param MatcherName The matcher name found by the parser.
     ///
@@ -101,7 +101,7 @@ public:
     virtual llvm::Optional<MatcherCtor>
     lookupMatcherCtor(StringRef MatcherName) = 0;
 
-    /// \brief Compute the list of completion types for \p Context.
+    /// Compute the list of completion types for \p Context.
     ///
     /// Each element of \p Context represents a matcher invocation, going from
     /// outermost to innermost. Elements are pairs consisting of a reference to
@@ -112,7 +112,7 @@ public:
     virtual std::vector<ArgKind> getAcceptedCompletionTypes(
         llvm::ArrayRef<std::pair<MatcherCtor, unsigned>> Context);
 
-    /// \brief Compute the list of completions that match any of
+    /// Compute the list of completions that match any of
     /// \p AcceptedTypes.
     ///
     /// \param AcceptedTypes All types accepted for this completion.
@@ -125,7 +125,7 @@ public:
     getMatcherCompletions(llvm::ArrayRef<ArgKind> AcceptedTypes);
   };
 
-  /// \brief Sema implementation that uses the matcher registry to process the
+  /// Sema implementation that uses the matcher registry to process the
   ///   tokens.
   class RegistrySema : public Parser::Sema {
   public:
@@ -149,7 +149,7 @@ public:
 
   using NamedValueMap = llvm::StringMap<VariantValue>;
 
-  /// \brief Parse a matcher expression.
+  /// Parse a matcher expression.
   ///
   /// \param MatcherCode The matcher expression to parse.
   ///
@@ -178,7 +178,7 @@ public:
     return parseMatcherExpression(MatcherCode, nullptr, Error);
   }
 
-  /// \brief Parse an expression.
+  /// Parse an expression.
   ///
   /// Parses any expression supported by this parser. In general, the
   /// \c parseMatcherExpression function is a better approach to get a matcher
@@ -202,7 +202,7 @@ public:
     return parseExpression(Code, nullptr, Value, Error);
   }
 
-  /// \brief Complete an expression at the given offset.
+  /// Complete an expression at the given offset.
   ///
   /// \param S The Sema instance that will help the parser
   ///   construct the matchers. If null, it uses the default registry.

Modified: cfe/trunk/include/clang/ASTMatchers/Dynamic/Registry.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/Dynamic/Registry.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/Dynamic/Registry.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/Dynamic/Registry.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Registry of all known matchers.
+/// Registry of all known matchers.
 ///
 /// The registry provides a generic interface to construct any matcher by name.
 //
@@ -49,13 +49,13 @@ struct MatcherCompletion {
     return TypedText == Other.TypedText && MatcherDecl == Other.MatcherDecl;
   }
 
-  /// \brief The text to type to select this matcher.
+  /// The text to type to select this matcher.
   std::string TypedText;
 
-  /// \brief The "declaration" of the matcher, with type information.
+  /// The "declaration" of the matcher, with type information.
   std::string MatcherDecl;
 
-  /// \brief Value corresponding to the "specificity" of the converted matcher.
+  /// Value corresponding to the "specificity" of the converted matcher.
   ///
   /// Zero specificity indicates that this conversion would produce a trivial
   /// matcher that will either always or never match.
@@ -67,13 +67,13 @@ class Registry {
 public:
   Registry() = delete;
 
-  /// \brief Look up a matcher in the registry by name,
+  /// Look up a matcher in the registry by name,
   ///
   /// \return An opaque value which may be used to refer to the matcher
   /// constructor, or Optional<MatcherCtor>() if not found.
   static llvm::Optional<MatcherCtor> lookupMatcherCtor(StringRef MatcherName);
 
-  /// \brief Compute the list of completion types for \p Context.
+  /// Compute the list of completion types for \p Context.
   ///
   /// Each element of \p Context represents a matcher invocation, going from
   /// outermost to innermost. Elements are pairs consisting of a reference to
@@ -84,7 +84,7 @@ public:
   static std::vector<ArgKind> getAcceptedCompletionTypes(
       llvm::ArrayRef<std::pair<MatcherCtor, unsigned>> Context);
 
-  /// \brief Compute the list of completions that match any of
+  /// Compute the list of completions that match any of
   /// \p AcceptedTypes.
   ///
   /// \param AcceptedTypes All types accepted for this completion.
@@ -96,7 +96,7 @@ public:
   static std::vector<MatcherCompletion>
   getMatcherCompletions(ArrayRef<ArgKind> AcceptedTypes);
 
-  /// \brief Construct a matcher from the registry.
+  /// Construct a matcher from the registry.
   ///
   /// \param Ctor The matcher constructor to instantiate.
   ///
@@ -116,7 +116,7 @@ public:
                                          ArrayRef<ParserValue> Args,
                                          Diagnostics *Error);
 
-  /// \brief Construct a matcher from the registry and bind it.
+  /// Construct a matcher from the registry and bind it.
   ///
   /// Similar the \c constructMatcher() above, but it then tries to bind the
   /// matcher to the specified \c BindID.

Modified: cfe/trunk/include/clang/ASTMatchers/Dynamic/VariantValue.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/ASTMatchers/Dynamic/VariantValue.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/ASTMatchers/Dynamic/VariantValue.h (original)
+++ cfe/trunk/include/clang/ASTMatchers/Dynamic/VariantValue.h Tue May  8 18:00:01 2018
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Polymorphic value type.
+/// Polymorphic value type.
 ///
 /// Supports all the types required for dynamic Matcher construction.
 ///  Used by the registry to construct matchers in a generic way.
@@ -28,7 +28,7 @@ namespace clang {
 namespace ast_matchers {
 namespace dynamic {
 
-/// \brief Kind identifier.
+/// Kind identifier.
 ///
 /// It supports all types that VariantValue can contain.
 class ArgKind {
@@ -40,10 +40,10 @@ class ArgKind {
     AK_Unsigned,
     AK_String
   };
-  /// \brief Constructor for non-matcher types.
+  /// Constructor for non-matcher types.
   ArgKind(Kind K) : K(K) { assert(K != AK_Matcher); }
 
-  /// \brief Constructor for matcher types.
+  /// Constructor for matcher types.
   ArgKind(ast_type_traits::ASTNodeKind MatcherKind)
       : K(AK_Matcher), MatcherKind(MatcherKind) {}
 
@@ -53,7 +53,7 @@ class ArgKind {
     return MatcherKind;
   }
 
-  /// \brief Determines if this type can be converted to \p To.
+  /// Determines if this type can be converted to \p To.
   ///
   /// \param To the requested destination type.
   ///
@@ -67,7 +67,7 @@ class ArgKind {
     return K < Other.K;
   }
 
-  /// \brief String representation of the type.
+  /// String representation of the type.
   std::string asString() const;
 
 private:
@@ -77,7 +77,7 @@ private:
 
 using ast_matchers::internal::DynTypedMatcher;
 
-/// \brief A variant matcher object.
+/// A variant matcher object.
 ///
 /// The purpose of this object is to abstract simple and polymorphic matchers
 /// into a single object type.
@@ -91,7 +91,7 @@ using ast_matchers::internal::DynTypedMa
 ///  - hasTypedMatcher<T>()/getTypedMatcher<T>(): These calls will determine if
 ///    the underlying matcher(s) can unambiguously return a Matcher<T>.
 class VariantMatcher {
-  /// \brief Methods that depend on T from hasTypedMatcher/getTypedMatcher.
+  /// Methods that depend on T from hasTypedMatcher/getTypedMatcher.
   class MatcherOps {
   public:
     MatcherOps(ast_type_traits::ASTNodeKind NodeKind) : NodeKind(NodeKind) {}
@@ -99,12 +99,12 @@ class VariantMatcher {
     bool canConstructFrom(const DynTypedMatcher &Matcher,
                           bool &IsExactMatch) const;
 
-    /// \brief Convert \p Matcher the destination type and return it as a new
+    /// Convert \p Matcher the destination type and return it as a new
     /// DynTypedMatcher.
     virtual DynTypedMatcher
     convertMatcher(const DynTypedMatcher &Matcher) const = 0;
 
-    /// \brief Constructs a variadic typed matcher from \p InnerMatchers.
+    /// Constructs a variadic typed matcher from \p InnerMatchers.
     /// Will try to convert each inner matcher to the destination type and
     /// return llvm::None if it fails to do so.
     llvm::Optional<DynTypedMatcher>
@@ -118,7 +118,7 @@ class VariantMatcher {
     ast_type_traits::ASTNodeKind NodeKind;
   };
 
-  /// \brief Payload interface to be specialized by each matcher type.
+  /// Payload interface to be specialized by each matcher type.
   ///
   /// It follows a similar interface as VariantMatcher itself.
   class Payload {
@@ -133,39 +133,39 @@ class VariantMatcher {
   };
 
 public:
-  /// \brief A null matcher.
+  /// A null matcher.
   VariantMatcher();
 
-  /// \brief Clones the provided matcher.
+  /// Clones the provided matcher.
   static VariantMatcher SingleMatcher(const DynTypedMatcher &Matcher);
 
-  /// \brief Clones the provided matchers.
+  /// Clones the provided matchers.
   ///
   /// They should be the result of a polymorphic matcher.
   static VariantMatcher
   PolymorphicMatcher(std::vector<DynTypedMatcher> Matchers);
 
-  /// \brief Creates a 'variadic' operator matcher.
+  /// Creates a 'variadic' operator matcher.
   ///
   /// It will bind to the appropriate type on getTypedMatcher<T>().
   static VariantMatcher
   VariadicOperatorMatcher(DynTypedMatcher::VariadicOperator Op,
                           std::vector<VariantMatcher> Args);
 
-  /// \brief Makes the matcher the "null" matcher.
+  /// Makes the matcher the "null" matcher.
   void reset();
 
-  /// \brief Whether the matcher is null.
+  /// Whether the matcher is null.
   bool isNull() const { return !Value; }
 
-  /// \brief Return a single matcher, if there is no ambiguity.
+  /// Return a single matcher, if there is no ambiguity.
   ///
   /// \returns the matcher, if there is only one matcher. An empty Optional, if
   /// the underlying matcher is a polymorphic matcher with more than one
   /// representation.
   llvm::Optional<DynTypedMatcher> getSingleMatcher() const;
 
-  /// \brief Determines if the contained matcher can be converted to
+  /// Determines if the contained matcher can be converted to
   ///   \c Matcher<T>.
   ///
   /// For the Single case, it returns true if it can be converted to
@@ -179,7 +179,7 @@ public:
     return Value->getTypedMatcher(TypedMatcherOps<T>()).hasValue();
   }
 
-  /// \brief Determines if the contained matcher can be converted to \p Kind.
+  /// Determines if the contained matcher can be converted to \p Kind.
   ///
   /// \param Kind the requested destination type.
   ///
@@ -192,7 +192,7 @@ public:
     return false;
   }
 
-  /// \brief Return this matcher as a \c Matcher<T>.
+  /// Return this matcher as a \c Matcher<T>.
   ///
   /// Handles the different types (Single, Polymorphic) accordingly.
   /// Asserts that \c hasTypedMatcher<T>() is true.
@@ -203,7 +203,7 @@ public:
         ->template convertTo<T>();
   }
 
-  /// \brief String representation of the type of the value.
+  /// String representation of the type of the value.
   ///
   /// If the underlying matcher is a polymorphic one, the string will show all
   /// the types.
@@ -234,7 +234,7 @@ struct VariantMatcher::TypedMatcherOps f
   }
 };
 
-/// \brief Variant value class.
+/// Variant value class.
 ///
 /// Basically, a tagged union with value type semantics.
 /// It is used by the registry as the return value and argument type for the
@@ -256,46 +256,46 @@ public:
   ~VariantValue();
   VariantValue &operator=(const VariantValue &Other);
 
-  /// \brief Specific constructors for each supported type.
+  /// Specific constructors for each supported type.
   VariantValue(bool Boolean);
   VariantValue(double Double);
   VariantValue(unsigned Unsigned);
   VariantValue(StringRef String);
   VariantValue(const VariantMatcher &Matchers);
 
-  /// \brief Constructs an \c unsigned value (disambiguation from bool).
+  /// Constructs an \c unsigned value (disambiguation from bool).
   VariantValue(int Signed) : VariantValue(static_cast<unsigned>(Signed)) {}
 
-  /// \brief Returns true iff this is not an empty value.
+  /// Returns true iff this is not an empty value.
   explicit operator bool() const { return hasValue(); }
   bool hasValue() const { return Type != VT_Nothing; }
 
-  /// \brief Boolean value functions.
+  /// Boolean value functions.
   bool isBoolean() const;
   bool getBoolean() const;
   void setBoolean(bool Boolean);
 
-  /// \brief Double value functions.
+  /// Double value functions.
   bool isDouble() const;
   double getDouble() const;
   void setDouble(double Double);
 
-  /// \brief Unsigned value functions.
+  /// Unsigned value functions.
   bool isUnsigned() const;
   unsigned getUnsigned() const;
   void setUnsigned(unsigned Unsigned);
 
-  /// \brief String value functions.
+  /// String value functions.
   bool isString() const;
   const std::string &getString() const;
   void setString(StringRef String);
 
-  /// \brief Matcher value functions.
+  /// Matcher value functions.
   bool isMatcher() const;
   const VariantMatcher &getMatcher() const;
   void setMatcher(const VariantMatcher &Matcher);
 
-  /// \brief Determines if the contained value can be converted to \p Kind.
+  /// Determines if the contained value can be converted to \p Kind.
   ///
   /// \param Kind the requested destination type.
   ///
@@ -303,7 +303,7 @@ public:
   ///   conversion.
   bool isConvertibleTo(ArgKind Kind, unsigned* Specificity) const;
 
-  /// \brief Determines if the contained value can be converted to any kind
+  /// Determines if the contained value can be converted to any kind
   /// in \p Kinds.
   ///
   /// \param Kinds the requested destination types.
@@ -313,13 +313,13 @@ public:
   ///   conversions.
   bool isConvertibleTo(ArrayRef<ArgKind> Kinds, unsigned *Specificity) const;
 
-  /// \brief String representation of the type of the value.
+  /// String representation of the type of the value.
   std::string getTypeAsString() const;
 
 private:
   void reset();
 
-  /// \brief All supported value types.
+  /// All supported value types.
   enum ValueType {
     VT_Nothing,
     VT_Boolean,
@@ -329,7 +329,7 @@ private:
     VT_Matcher
   };
 
-  /// \brief All supported value types.
+  /// All supported value types.
   union AllValues {
     unsigned Unsigned;
     double Double;

Modified: cfe/trunk/include/clang/Analysis/Analyses/Consumed.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/Consumed.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/Consumed.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/Consumed.h Tue May  8 18:00:01 2018
@@ -58,10 +58,10 @@ namespace consumed {
   public:
     virtual ~ConsumedWarningsHandlerBase();
 
-    /// \brief Emit the warnings and notes left by the analysis.
+    /// Emit the warnings and notes left by the analysis.
     virtual void emitDiagnostics() {}
     
-    /// \brief Warn that a variable's state doesn't match at the entry and exit
+    /// Warn that a variable's state doesn't match at the entry and exit
     /// of a loop.
     ///
     /// \param Loc -- The location of the end of the loop.
@@ -71,7 +71,7 @@ namespace consumed {
     virtual void warnLoopStateMismatch(SourceLocation Loc,
                                        StringRef VariableName) {}
     
-    /// \brief Warn about parameter typestate mismatches upon return.
+    /// Warn about parameter typestate mismatches upon return.
     ///
     /// \param Loc -- The SourceLocation of the return statement.
     ///
@@ -92,7 +92,7 @@ namespace consumed {
     
     // FIXME: This can be removed when the attr propagation fix for templated
     //        classes lands.
-    /// \brief Warn about return typestates set for unconsumable types.
+    /// Warn about return typestates set for unconsumable types.
     /// 
     /// \param Loc -- The location of the attributes.
     ///
@@ -100,7 +100,7 @@ namespace consumed {
     virtual void warnReturnTypestateForUnconsumableType(SourceLocation Loc,
                                                         StringRef TypeName) {}
     
-    /// \brief Warn about return typestate mismatches.
+    /// Warn about return typestate mismatches.
     ///
     /// \param Loc -- The SourceLocation of the return statement.
     ///
@@ -113,7 +113,7 @@ namespace consumed {
                                              StringRef ExpectedState,
                                              StringRef ObservedState) {}
 
-    /// \brief Warn about use-while-consumed errors.
+    /// Warn about use-while-consumed errors.
     /// \param MethodName -- The name of the method that was incorrectly
     /// invoked.
     ///
@@ -124,7 +124,7 @@ namespace consumed {
                                              StringRef State,
                                              SourceLocation Loc) {}
 
-    /// \brief Warn about use-while-consumed errors.
+    /// Warn about use-while-consumed errors.
     /// \param MethodName -- The name of the method that was incorrectly
     /// invoked.
     ///
@@ -157,48 +157,48 @@ namespace consumed {
         : Reachable(Other.Reachable), From(Other.From), VarMap(Other.VarMap),
           TmpMap() {}
     
-    /// \brief Warn if any of the parameters being tracked are not in the state
+    /// Warn if any of the parameters being tracked are not in the state
     /// they were declared to be in upon return from a function.
     void checkParamsForReturnTypestate(SourceLocation BlameLoc,
       ConsumedWarningsHandlerBase &WarningsHandler) const;
     
-    /// \brief Clear the TmpMap.
+    /// Clear the TmpMap.
     void clearTemporaries();
     
-    /// \brief Get the consumed state of a given variable.
+    /// Get the consumed state of a given variable.
     ConsumedState getState(const VarDecl *Var) const;
     
-    /// \brief Get the consumed state of a given temporary value.
+    /// Get the consumed state of a given temporary value.
     ConsumedState getState(const CXXBindTemporaryExpr *Tmp) const;
     
-    /// \brief Merge this state map with another map.
+    /// Merge this state map with another map.
     void intersect(const ConsumedStateMap &Other);
 
     void intersectAtLoopHead(const CFGBlock *LoopHead, const CFGBlock *LoopBack,
       const ConsumedStateMap *LoopBackStates,
       ConsumedWarningsHandlerBase &WarningsHandler);
     
-    /// \brief Return true if this block is reachable.
+    /// Return true if this block is reachable.
     bool isReachable() const { return Reachable; }
     
-    /// \brief Mark the block as unreachable.
+    /// Mark the block as unreachable.
     void markUnreachable();
     
-    /// \brief Set the source for a decision about the branching of states.
+    /// Set the source for a decision about the branching of states.
     /// \param Source -- The statement that was the origin of a branching
     /// decision.
     void setSource(const Stmt *Source) { this->From = Source; }
     
-    /// \brief Set the consumed state of a given variable.
+    /// Set the consumed state of a given variable.
     void setState(const VarDecl *Var, ConsumedState State);
     
-    /// \brief Set the consumed state of a given temporary value.
+    /// Set the consumed state of a given temporary value.
     void setState(const CXXBindTemporaryExpr *Tmp, ConsumedState State);
     
-    /// \brief Remove the temporary value from our state map.
+    /// Remove the temporary value from our state map.
     void remove(const CXXBindTemporaryExpr *Tmp);
     
-    /// \brief Tests to see if there is a mismatch in the states stored in two
+    /// Tests to see if there is a mismatch in the states stored in two
     /// maps.
     ///
     /// \param Other -- The second map to compare against.
@@ -257,7 +257,7 @@ namespace consumed {
 
     ConsumedState getExpectedReturnState() const { return ExpectedReturnState; }
     
-    /// \brief Check a function's CFG for consumed violations.
+    /// Check a function's CFG for consumed violations.
     ///
     /// We traverse the blocks in the CFG, keeping track of the state of each
     /// value who's type has uniquness annotations.  If methods are invoked in

Modified: cfe/trunk/include/clang/Analysis/Analyses/Dominators.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/Dominators.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/Dominators.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/Dominators.h Tue May  8 18:00:01 2018
@@ -37,7 +37,7 @@ namespace clang {
 
 using DomTreeNode = llvm::DomTreeNodeBase<CFGBlock>;
 
-/// \brief Concrete subclass of DominatorTreeBase for Clang
+/// Concrete subclass of DominatorTreeBase for Clang
 /// This class implements the dominators tree functionality given a Clang CFG.
 ///
 class DominatorTree : public ManagedAnalysis {
@@ -54,18 +54,18 @@ public:
 
   llvm::DomTreeBase<CFGBlock>& getBase() { return *DT; }
 
-  /// \brief This method returns the root CFGBlock of the dominators tree.
+  /// This method returns the root CFGBlock of the dominators tree.
   CFGBlock *getRoot() const {
     return DT->getRoot();
   }
 
-  /// \brief This method returns the root DomTreeNode, which is the wrapper
+  /// This method returns the root DomTreeNode, which is the wrapper
   /// for CFGBlock.
   DomTreeNode *getRootNode() const {
     return DT->getRootNode();
   }
 
-  /// \brief This method compares two dominator trees.
+  /// This method compares two dominator trees.
   /// The method returns false if the other dominator tree matches this
   /// dominator tree, otherwise returns true.
   bool compare(DominatorTree &Other) const {
@@ -81,14 +81,14 @@ public:
     return false;
   }
 
-  /// \brief This method builds the dominator tree for a given CFG
+  /// This method builds the dominator tree for a given CFG
   /// The CFG information is passed via AnalysisDeclContext
   void buildDominatorTree(AnalysisDeclContext &AC) {
     cfg = AC.getCFG();
     DT->recalculate(*cfg);
   }
 
-  /// \brief This method dumps immediate dominators for each block,
+  /// This method dumps immediate dominators for each block,
   /// mainly used for debug purposes.
   void dump() {
     llvm::errs() << "Immediate dominance tree (Node#,IDom#):\n";
@@ -104,20 +104,20 @@ public:
     }
   }
 
-  /// \brief This method tests if one CFGBlock dominates the other.
+  /// This method tests if one CFGBlock dominates the other.
   /// The method return true if A dominates B, false otherwise.
   /// Note a block always dominates itself.
   bool dominates(const CFGBlock *A, const CFGBlock *B) const {
     return DT->dominates(A, B);
   }
 
-  /// \brief This method tests if one CFGBlock properly dominates the other.
+  /// This method tests if one CFGBlock properly dominates the other.
   /// The method return true if A properly dominates B, false otherwise.
   bool properlyDominates(const CFGBlock *A, const CFGBlock *B) const {
     return DT->properlyDominates(A, B);
   }
 
-  /// \brief This method finds the nearest common dominator CFG block
+  /// This method finds the nearest common dominator CFG block
   /// for CFG block A and B. If there is no such block then return NULL.
   CFGBlock *findNearestCommonDominator(CFGBlock *A, CFGBlock *B) {
     return DT->findNearestCommonDominator(A, B);
@@ -128,24 +128,24 @@ public:
     return DT->findNearestCommonDominator(A, B);
   }
 
-  /// \brief This method is used to update the dominator
+  /// This method is used to update the dominator
   /// tree information when a node's immediate dominator changes.
   void changeImmediateDominator(CFGBlock *N, CFGBlock *NewIDom) {
     DT->changeImmediateDominator(N, NewIDom);
   }
 
-  /// \brief This method tests if the given CFGBlock can be reachable from root.
+  /// This method tests if the given CFGBlock can be reachable from root.
   /// Returns true if reachable, false otherwise.
   bool isReachableFromEntry(const CFGBlock *A) {
     return DT->isReachableFromEntry(A);
   }
 
-  /// \brief This method releases the memory held by the dominator tree.
+  /// This method releases the memory held by the dominator tree.
   virtual void releaseMemory() {
     DT->releaseMemory();
   }
 
-  /// \brief This method converts the dominator tree to human readable form.
+  /// This method converts the dominator tree to human readable form.
   virtual void print(raw_ostream &OS, const llvm::Module* M= nullptr) const {
     DT->print(OS);
   }

Modified: cfe/trunk/include/clang/Analysis/Analyses/FormatString.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/FormatString.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/FormatString.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/FormatString.h Tue May  8 18:00:01 2018
@@ -510,7 +510,7 @@ public:
     return getConversionSpecifier().consumesDataArgument();
   }
 
-  /// \brief Returns the builtin type that a data argument
+  /// Returns the builtin type that a data argument
   /// paired with this format specifier should have.  This method
   /// will return null if the format specifier does not have
   /// a matching data argument or the matching argument matches

Modified: cfe/trunk/include/clang/Analysis/Analyses/PostOrderCFGView.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/PostOrderCFGView.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/PostOrderCFGView.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/PostOrderCFGView.h Tue May  8 18:00:01 2018
@@ -30,7 +30,7 @@ class PostOrderCFGView : public ManagedA
   virtual void anchor();
 
 public:
-  /// \brief Implements a set of CFGBlocks using a BitVector.
+  /// Implements a set of CFGBlocks using a BitVector.
   ///
   /// This class contains a minimal interface, primarily dictated by the SetType
   /// template parameter of the llvm::po_iterator template, as used with
@@ -47,7 +47,7 @@ public:
     CFGBlockSet() = default;
     CFGBlockSet(const CFG *G) : VisitedBlockIDs(G->getNumBlockIDs(), false) {}
 
-    /// \brief Set the bit associated with a particular CFGBlock.
+    /// Set the bit associated with a particular CFGBlock.
     /// This is the important method for the SetType template parameter.
     std::pair<llvm::NoneType, bool> insert(const CFGBlock *Block) {
       // Note that insert() is called by po_iterator, which doesn't check to
@@ -62,7 +62,7 @@ public:
       return std::make_pair(None, true);
     }
 
-    /// \brief Check if the bit for a CFGBlock has been already set.
+    /// Check if the bit for a CFGBlock has been already set.
     /// This method is for tracking visited blocks in the main threadsafety
     /// loop. Block must not be null.
     bool alreadySet(const CFGBlock *Block) {

Modified: cfe/trunk/include/clang/Analysis/Analyses/ThreadSafety.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/ThreadSafety.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/ThreadSafety.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/ThreadSafety.h Tue May  8 18:00:01 2018
@@ -228,7 +228,7 @@ private:
   bool IssueBetaWarnings = false;
 };
 
-/// \brief Check a function's CFG for thread-safety violations.
+/// Check a function's CFG for thread-safety violations.
 ///
 /// We traverse the blocks in the CFG, compute the set of mutexes that are held
 /// at the end of each block, and issue warnings for thread safety violations.
@@ -239,7 +239,7 @@ void runThreadSafetyAnalysis(AnalysisDec
 
 void threadSafetyCleanup(BeforeSet *Cache);
 
-/// \brief Helper function that returns a LockKind required for the given level
+/// Helper function that returns a LockKind required for the given level
 /// of access.
 LockKind getLockKindFromAccessKind(AccessKind AK);
 

Modified: cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyCommon.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyCommon.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyCommon.h Tue May  8 18:00:01 2018
@@ -329,7 +329,7 @@ public:
 // Translate clang::Expr to til::SExpr.
 class SExprBuilder {
 public:
-  /// \brief Encapsulates the lexical context of a function call.  The lexical
+  /// Encapsulates the lexical context of a function call.  The lexical
   /// context includes the arguments to the call, including the implicit object
   /// argument.  When an attribute containing a mutex expression is attached to
   /// a method, the expression may refer to formal parameters of the method.

Modified: cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyLogical.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyLogical.h (original)
+++ cfe/trunk/include/clang/Analysis/Analyses/ThreadSafetyLogical.h Tue May  8 18:00:01 2018
@@ -29,7 +29,7 @@ public:
   };
   Opcode kind() const { return Kind; }
 
-  /// \brief Logical implication. Returns true if the LExpr implies RHS, i.e. if
+  /// Logical implication. Returns true if the LExpr implies RHS, i.e. if
   /// the LExpr holds, then RHS must hold. For example, (A & B) implies A.
   inline bool implies(const LExpr *RHS) const;
 
@@ -92,7 +92,7 @@ public:
   static bool classof(const LExpr *E) { return E->kind() == LExpr::Not; }
 };
 
-/// \brief Logical implication. Returns true if LHS implies RHS, i.e. if LHS
+/// Logical implication. Returns true if LHS implies RHS, i.e. if LHS
 /// holds, then RHS must hold. For example, (A & B) implies A.
 bool implies(const LExpr *LHS, const LExpr *RHS);
 

Modified: cfe/trunk/include/clang/Analysis/AnalysisDeclContext.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/AnalysisDeclContext.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/AnalysisDeclContext.h (original)
+++ cfe/trunk/include/clang/Analysis/AnalysisDeclContext.h Tue May  8 18:00:01 2018
@@ -135,22 +135,22 @@ public:
   void registerForcedBlockExpression(const Stmt *stmt);
   const CFGBlock *getBlockForRegisteredExpression(const Stmt *stmt);
 
-  /// \brief Get the body of the Declaration.
+  /// Get the body of the Declaration.
   Stmt *getBody() const;
 
-  /// \brief Get the body of the Declaration.
+  /// Get the body of the Declaration.
   /// \param[out] IsAutosynthesized Specifies if the body is auto-generated
   ///             by the BodyFarm.
   Stmt *getBody(bool &IsAutosynthesized) const;
 
-  /// \brief Checks if the body of the Decl is generated by the BodyFarm.
+  /// Checks if the body of the Decl is generated by the BodyFarm.
   ///
   /// Note, the lookup is not free. We are going to call getBody behind
   /// the scenes.
   /// \sa getBody
   bool isBodyAutosynthesized() const;
 
-  /// \brief Checks if the body of the Decl is generated by the BodyFarm from a
+  /// Checks if the body of the Decl is generated by the BodyFarm from a
   /// model file.
   ///
   /// Note, the lookup is not free. We are going to call getBody behind
@@ -169,7 +169,7 @@ public:
 
   void dumpCFG(bool ShowColors);
 
-  /// \brief Returns true if we have built a CFG for this analysis context.
+  /// Returns true if we have built a CFG for this analysis context.
   /// Note that this doesn't correspond to whether or not a valid CFG exists, it
   /// corresponds to whether we *attempted* to build one.
   bool isCFGBuilt() const { return builtCFG; }

Modified: cfe/trunk/include/clang/Analysis/CFG.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/CFG.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/CFG.h (original)
+++ cfe/trunk/include/clang/Analysis/CFG.h Tue May  8 18:00:01 2018
@@ -92,7 +92,7 @@ protected:
   CFGElement() = default;
 
 public:
-  /// \brief Convert to the specified CFGElement type, asserting that this
+  /// Convert to the specified CFGElement type, asserting that this
   /// CFGElement is of the desired type.
   template<typename T>
   T castAs() const {
@@ -103,7 +103,7 @@ public:
     return t;
   }
 
-  /// \brief Convert to the specified CFGElement type, returning None if this
+  /// Convert to the specified CFGElement type, returning None if this
   /// CFGElement is not of the desired type.
   template<typename T>
   Optional<T> getAs() const {
@@ -980,7 +980,7 @@ public:
 
 };
 
-/// \brief CFGCallback defines methods that should be called when a logical
+/// CFGCallback defines methods that should be called when a logical
 /// operator error is found when building the CFG.
 class CFGCallback {
 public:

Modified: cfe/trunk/include/clang/Analysis/CallGraph.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/CallGraph.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/CallGraph.h (original)
+++ cfe/trunk/include/clang/Analysis/CallGraph.h Tue May  8 18:00:01 2018
@@ -34,7 +34,7 @@ class Decl;
 class DeclContext;
 class Stmt;
 
-/// \brief The AST-based call graph.
+/// The AST-based call graph.
 ///
 /// The call graph extends itself with the given declarations by implementing
 /// the recursive AST visitor, which constructs the graph by visiting the given
@@ -55,7 +55,7 @@ public:
   CallGraph();
   ~CallGraph();
 
-  /// \brief Populate the call graph with the functions in the given
+  /// Populate the call graph with the functions in the given
   /// declaration.
   ///
   /// Recursively walks the declaration to find all the dependent Decls as well.
@@ -63,13 +63,13 @@ public:
     TraverseDecl(D);
   }
 
-  /// \brief Determine if a declaration should be included in the graph.
+  /// Determine if a declaration should be included in the graph.
   static bool includeInGraph(const Decl *D);
 
-  /// \brief Lookup the node for the given declaration.
+  /// Lookup the node for the given declaration.
   CallGraphNode *getNode(const Decl *) const;
 
-  /// \brief Lookup the node for the given declaration. If none found, insert
+  /// Lookup the node for the given declaration. If none found, insert
   /// one into the graph.
   CallGraphNode *getOrInsertNode(Decl *);
 
@@ -83,7 +83,7 @@ public:
   const_iterator begin() const { return FunctionMap.begin(); }
   const_iterator end()   const { return FunctionMap.end();   }
 
-  /// \brief Get the number of nodes in the graph.
+  /// Get the number of nodes in the graph.
   unsigned size() const { return FunctionMap.size(); }
 
   /// \ brief Get the virtual root of the graph, all the functions available
@@ -133,10 +133,10 @@ public:
   bool shouldWalkTypesOfTypeLocs() const { return false; }
 
 private:
-  /// \brief Add the given declaration to the call graph.
+  /// Add the given declaration to the call graph.
   void addNodeForDecl(Decl *D, bool IsGlobal);
 
-  /// \brief Allocate a new node in the graph.
+  /// Allocate a new node in the graph.
   CallGraphNode *allocateNewNode(Decl *);
 };
 
@@ -145,10 +145,10 @@ public:
   using CallRecord = CallGraphNode *;
 
 private:
-  /// \brief The function/method declaration.
+  /// The function/method declaration.
   Decl *FD;
 
-  /// \brief The list of functions called from this node.
+  /// The list of functions called from this node.
   SmallVector<CallRecord, 5> CalledFunctions;
 
 public:

Modified: cfe/trunk/include/clang/Analysis/CodeInjector.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/CodeInjector.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/CodeInjector.h (original)
+++ cfe/trunk/include/clang/Analysis/CodeInjector.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::CodeInjector interface which is responsible for
+/// Defines the clang::CodeInjector interface which is responsible for
 /// injecting AST of function definitions that may not be available in the
 /// original source.
 ///
@@ -23,7 +23,7 @@ class Stmt;
 class FunctionDecl;
 class ObjCMethodDecl;
 
-/// \brief CodeInjector is an interface which is responsible for injecting AST
+/// CodeInjector is an interface which is responsible for injecting AST
 /// of function definitions that may not be available in the original source.
 ///
 /// The getBody function will be called each time the static analyzer examines a

Modified: cfe/trunk/include/clang/Analysis/ProgramPoint.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/ProgramPoint.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/ProgramPoint.h (original)
+++ cfe/trunk/include/clang/Analysis/ProgramPoint.h Tue May  8 18:00:01 2018
@@ -135,7 +135,7 @@ public:
                         getLocationContext(), tag);
   }
 
-  /// \brief Convert to the specified ProgramPoint type, asserting that this
+  /// Convert to the specified ProgramPoint type, asserting that this
   /// ProgramPoint is of the desired type.
   template<typename T>
   T castAs() const {
@@ -146,7 +146,7 @@ public:
     return t;
   }
 
-  /// \brief Convert to the specified ProgramPoint type, returning None if this
+  /// Convert to the specified ProgramPoint type, returning None if this
   /// ProgramPoint is not of the desired type.
   template<typename T>
   Optional<T> getAs() const {
@@ -167,7 +167,7 @@ public:
     return (Kind) x;
   }
 
-  /// \brief Is this a program point corresponding to purge/removal of dead
+  /// Is this a program point corresponding to purge/removal of dead
   /// symbols and bindings.
   bool isPurgeKind() {
     Kind K = getKind();
@@ -397,7 +397,7 @@ private:
   }
 };
 
-/// \brief Represents a program point after a store evaluation.
+/// Represents a program point after a store evaluation.
 class PostStore : public PostStmt {
 public:
   /// Construct the post store point.
@@ -410,7 +410,7 @@ public:
     setData2(Loc);
   }
 
-  /// \brief Returns the information about the location used in the store,
+  /// Returns the information about the location used in the store,
   /// how it was uttered in the code.
   const void *getLocationValue() const {
     return getData2();
@@ -496,7 +496,7 @@ private:
 
 class PostInitializer : public ProgramPoint {
 public:
-  /// \brief Construct a PostInitializer point that represents a location after
+  /// Construct a PostInitializer point that represents a location after
   ///   CXXCtorInitializer expression evaluation.
   ///
   /// \param I The initializer.
@@ -510,7 +510,7 @@ public:
     return static_cast<const CXXCtorInitializer *>(getData1());
   }
 
-  /// \brief Returns the location of the field.
+  /// Returns the location of the field.
   const void *getLocationValue() const {
     return getData2();
   }

Modified: cfe/trunk/include/clang/Basic/ABI.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ABI.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/ABI.h (original)
+++ cfe/trunk/include/clang/Basic/ABI.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Enums/classes describing ABI related information about constructors,
+/// Enums/classes describing ABI related information about constructors,
 /// destructors and thunks.
 ///
 //===----------------------------------------------------------------------===//
@@ -21,7 +21,7 @@
 
 namespace clang {
 
-/// \brief C++ constructor types.
+/// C++ constructor types.
 enum CXXCtorType {
   Ctor_Complete,       ///< Complete object ctor
   Ctor_Base,           ///< Base object ctor
@@ -30,7 +30,7 @@ enum CXXCtorType {
   Ctor_DefaultClosure, ///< Default closure variant of a ctor
 };
 
-/// \brief C++ destructor types.
+/// C++ destructor types.
 enum CXXDtorType {
     Dtor_Deleting, ///< Deleting dtor
     Dtor_Complete, ///< Complete object dtor
@@ -38,29 +38,29 @@ enum CXXDtorType {
     Dtor_Comdat    ///< The COMDAT used for dtors
 };
 
-/// \brief A return adjustment.
+/// A return adjustment.
 struct ReturnAdjustment {
-  /// \brief The non-virtual adjustment from the derived object to its
+  /// The non-virtual adjustment from the derived object to its
   /// nearest virtual base.
   int64_t NonVirtual;
 
-  /// \brief Holds the ABI-specific information about the virtual return
+  /// Holds the ABI-specific information about the virtual return
   /// adjustment, if needed.
   union VirtualAdjustment {
     // Itanium ABI
     struct {
-      /// \brief The offset (in bytes), relative to the address point
+      /// The offset (in bytes), relative to the address point
       /// of the virtual base class offset.
       int64_t VBaseOffsetOffset;
     } Itanium;
 
     // Microsoft ABI
     struct {
-      /// \brief The offset (in bytes) of the vbptr, relative to the beginning
+      /// The offset (in bytes) of the vbptr, relative to the beginning
       /// of the derived class.
       uint32_t VBPtrOffset;
 
-      /// \brief Index of the virtual base in the vbtable.
+      /// Index of the virtual base in the vbtable.
       uint32_t VBIndex;
     } Microsoft;
 
@@ -104,31 +104,31 @@ struct ReturnAdjustment {
   }
 };
   
-/// \brief A \c this pointer adjustment.
+/// A \c this pointer adjustment.
 struct ThisAdjustment {
-  /// \brief The non-virtual adjustment from the derived object to its
+  /// The non-virtual adjustment from the derived object to its
   /// nearest virtual base.
   int64_t NonVirtual;
 
-  /// \brief Holds the ABI-specific information about the virtual this
+  /// Holds the ABI-specific information about the virtual this
   /// adjustment, if needed.
   union VirtualAdjustment {
     // Itanium ABI
     struct {
-      /// \brief The offset (in bytes), relative to the address point,
+      /// The offset (in bytes), relative to the address point,
       /// of the virtual call offset.
       int64_t VCallOffsetOffset;
     } Itanium;
 
     struct {
-      /// \brief The offset of the vtordisp (in bytes), relative to the ECX.
+      /// The offset of the vtordisp (in bytes), relative to the ECX.
       int32_t VtordispOffset;
 
-      /// \brief The offset of the vbptr of the derived class (in bytes),
+      /// The offset of the vbptr of the derived class (in bytes),
       /// relative to the ECX after vtordisp adjustment.
       int32_t VBPtrOffset;
 
-      /// \brief The offset (in bytes) of the vbase offset in the vbtable.
+      /// The offset (in bytes) of the vbase offset in the vbtable.
       int32_t VBOffsetOffset;
     } Microsoft;
 
@@ -174,16 +174,16 @@ struct ThisAdjustment {
 
 class CXXMethodDecl;
 
-/// \brief The \c this pointer adjustment as well as an optional return
+/// The \c this pointer adjustment as well as an optional return
 /// adjustment for a thunk.
 struct ThunkInfo {
-  /// \brief The \c this pointer adjustment.
+  /// The \c this pointer adjustment.
   ThisAdjustment This;
     
-  /// \brief The return adjustment.
+  /// The return adjustment.
   ReturnAdjustment Return;
 
-  /// \brief Holds a pointer to the overridden method this thunk is for,
+  /// Holds a pointer to the overridden method this thunk is for,
   /// if needed by the ABI to distinguish different thunks with equal
   /// adjustments. Otherwise, null.
   /// CAUTION: In the unlikely event you need to sort ThunkInfos, consider using

Modified: cfe/trunk/include/clang/Basic/AddressSpaces.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AddressSpaces.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AddressSpaces.h (original)
+++ cfe/trunk/include/clang/Basic/AddressSpaces.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Provides definitions for the various language-specific address
+/// Provides definitions for the various language-specific address
 /// spaces.
 //
 //===----------------------------------------------------------------------===//
@@ -20,7 +20,7 @@
 
 namespace clang {
 
-/// \brief Defines the address space values used by the address space qualifier
+/// Defines the address space values used by the address space qualifier
 /// of QualType.
 ///
 enum class LangAS : unsigned {

Modified: cfe/trunk/include/clang/Basic/AlignedAllocation.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AlignedAllocation.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AlignedAllocation.h (original)
+++ cfe/trunk/include/clang/Basic/AlignedAllocation.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines a function that returns the minimum OS versions supporting
+/// Defines a function that returns the minimum OS versions supporting
 /// C++17's aligned allocation functions.
 ///
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/include/clang/Basic/AllDiagnostics.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AllDiagnostics.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AllDiagnostics.h (original)
+++ cfe/trunk/include/clang/Basic/AllDiagnostics.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Includes all the separate Diagnostic headers & some related helpers.
+/// Includes all the separate Diagnostic headers & some related helpers.
 ///
 //===----------------------------------------------------------------------===//
 

Modified: cfe/trunk/include/clang/Basic/AttrKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AttrKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AttrKinds.h (original)
+++ cfe/trunk/include/clang/Basic/AttrKinds.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::attr::Kind enum.
+/// Defines the clang::attr::Kind enum.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -19,7 +19,7 @@ namespace clang {
 
 namespace attr {
 
-// \brief A list of all the recognized kinds of attributes.
+// A list of all the recognized kinds of attributes.
 enum Kind {
 #define ATTR(X) X,
 #define ATTR_RANGE(CLASS, FIRST_NAME, LAST_NAME) \

Modified: cfe/trunk/include/clang/Basic/AttrSubjectMatchRules.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AttrSubjectMatchRules.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/AttrSubjectMatchRules.h (original)
+++ cfe/trunk/include/clang/Basic/AttrSubjectMatchRules.h Tue May  8 18:00:01 2018
@@ -16,7 +16,7 @@
 namespace clang {
 namespace attr {
 
-/// \brief A list of all the recognized kinds of attributes.
+/// A list of all the recognized kinds of attributes.
 enum SubjectMatchRule {
 #define ATTR_MATCH_RULE(X, Spelling, IsAbstract) X,
 #include "clang/Basic/AttrSubMatchRulesList.inc"

Modified: cfe/trunk/include/clang/Basic/Attributes.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attributes.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Attributes.h (original)
+++ cfe/trunk/include/clang/Basic/Attributes.h Tue May  8 18:00:01 2018
@@ -32,7 +32,7 @@ enum class AttrSyntax {
   Pragma
 };
 
-/// \brief Return the version number associated with the attribute if we
+/// Return the version number associated with the attribute if we
 /// recognize and implement the attribute specified by the given information.
 int hasAttribute(AttrSyntax Syntax, const IdentifierInfo *Scope,
                  const IdentifierInfo *Attr, const TargetInfo &Target,

Modified: cfe/trunk/include/clang/Basic/Builtins.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Builtins.h (original)
+++ cfe/trunk/include/clang/Basic/Builtins.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines enum values for all the target-independent builtin
+/// Defines enum values for all the target-independent builtin
 /// functions.
 ///
 //===----------------------------------------------------------------------===//
@@ -59,7 +59,7 @@ struct Info {
   const char *Features;
 };
 
-/// \brief Holds information about both target-independent and
+/// Holds information about both target-independent and
 /// target-specific builtins, allowing easy queries by clients.
 ///
 /// Builtins from an optional auxiliary target are stored in
@@ -72,129 +72,129 @@ class Context {
 public:
   Context() {}
 
-  /// \brief Perform target-specific initialization
+  /// Perform target-specific initialization
   /// \param AuxTarget Target info to incorporate builtins from. May be nullptr.
   void InitializeTarget(const TargetInfo &Target, const TargetInfo *AuxTarget);
 
-  /// \brief Mark the identifiers for all the builtins with their
+  /// Mark the identifiers for all the builtins with their
   /// appropriate builtin ID # and mark any non-portable builtin identifiers as
   /// such.
   void initializeBuiltins(IdentifierTable &Table, const LangOptions& LangOpts);
 
-  /// \brief Return the identifier name for the specified builtin,
+  /// Return the identifier name for the specified builtin,
   /// e.g. "__builtin_abs".
   const char *getName(unsigned ID) const {
     return getRecord(ID).Name;
   }
 
-  /// \brief Get the type descriptor string for the specified builtin.
+  /// Get the type descriptor string for the specified builtin.
   const char *getTypeString(unsigned ID) const {
     return getRecord(ID).Type;
   }
 
-  /// \brief Return true if this function is a target-specific builtin.
+  /// Return true if this function is a target-specific builtin.
   bool isTSBuiltin(unsigned ID) const {
     return ID >= Builtin::FirstTSBuiltin;
   }
 
-  /// \brief Return true if this function has no side effects.
+  /// Return true if this function has no side effects.
   bool isPure(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'U') != nullptr;
   }
 
-  /// \brief Return true if this function has no side effects and doesn't
+  /// Return true if this function has no side effects and doesn't
   /// read memory.
   bool isConst(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'c') != nullptr;
   }
 
-  /// \brief Return true if we know this builtin never throws an exception.
+  /// Return true if we know this builtin never throws an exception.
   bool isNoThrow(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'n') != nullptr;
   }
 
-  /// \brief Return true if we know this builtin never returns.
+  /// Return true if we know this builtin never returns.
   bool isNoReturn(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'r') != nullptr;
   }
 
-  /// \brief Return true if we know this builtin can return twice.
+  /// Return true if we know this builtin can return twice.
   bool isReturnsTwice(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'j') != nullptr;
   }
 
-  /// \brief Returns true if this builtin does not perform the side-effects
+  /// Returns true if this builtin does not perform the side-effects
   /// of its arguments.
   bool isUnevaluated(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'u') != nullptr;
   }
 
-  /// \brief Return true if this is a builtin for a libc/libm function,
+  /// Return true if this is a builtin for a libc/libm function,
   /// with a "__builtin_" prefix (e.g. __builtin_abs).
   bool isLibFunction(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'F') != nullptr;
   }
 
-  /// \brief Determines whether this builtin is a predefined libc/libm
+  /// Determines whether this builtin is a predefined libc/libm
   /// function, such as "malloc", where we know the signature a
   /// priori.
   bool isPredefinedLibFunction(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'f') != nullptr;
   }
 
-  /// \brief Returns true if this builtin requires appropriate header in other
+  /// Returns true if this builtin requires appropriate header in other
   /// compilers. In Clang it will work even without including it, but we can emit
   /// a warning about missing header.
   bool isHeaderDependentFunction(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'h') != nullptr;
   }
 
-  /// \brief Determines whether this builtin is a predefined compiler-rt/libgcc
+  /// Determines whether this builtin is a predefined compiler-rt/libgcc
   /// function, such as "__clear_cache", where we know the signature a
   /// priori.
   bool isPredefinedRuntimeFunction(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 'i') != nullptr;
   }
 
-  /// \brief Determines whether this builtin has custom typechecking.
+  /// Determines whether this builtin has custom typechecking.
   bool hasCustomTypechecking(unsigned ID) const {
     return strchr(getRecord(ID).Attributes, 't') != nullptr;
   }
 
-  /// \brief Determines whether this builtin has a result or any arguments which
+  /// Determines whether this builtin has a result or any arguments which
   /// are pointer types.
   bool hasPtrArgsOrResult(unsigned ID) const {
     return strchr(getRecord(ID).Type, '*') != nullptr;
   }
 
-  /// \brief Return true if this builtin has a result or any arguments which are
+  /// Return true if this builtin has a result or any arguments which are
   /// reference types.
   bool hasReferenceArgsOrResult(unsigned ID) const {
     return strchr(getRecord(ID).Type, '&') != nullptr ||
            strchr(getRecord(ID).Type, 'A') != nullptr;
   }
 
-  /// \brief Completely forget that the given ID was ever considered a builtin,
+  /// Completely forget that the given ID was ever considered a builtin,
   /// e.g., because the user provided a conflicting signature.
   void forgetBuiltin(unsigned ID, IdentifierTable &Table);
 
-  /// \brief If this is a library function that comes from a specific
+  /// If this is a library function that comes from a specific
   /// header, retrieve that header name.
   const char *getHeaderName(unsigned ID) const {
     return getRecord(ID).HeaderName;
   }
 
-  /// \brief Determine whether this builtin is like printf in its
+  /// Determine whether this builtin is like printf in its
   /// formatting rules and, if so, set the index to the format string
   /// argument and whether this function as a va_list argument.
   bool isPrintfLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg);
 
-  /// \brief Determine whether this builtin is like scanf in its
+  /// Determine whether this builtin is like scanf in its
   /// formatting rules and, if so, set the index to the format string
   /// argument and whether this function as a va_list argument.
   bool isScanfLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg);
 
-  /// \brief Return true if this function has no side effects and doesn't
+  /// Return true if this function has no side effects and doesn't
   /// read memory, except for possibly errno.
   ///
   /// Such functions can be const when the MathErrno lang option is disabled.
@@ -206,7 +206,7 @@ public:
     return getRecord(ID).Features;
   }
 
-  /// \brief Return true if builtin ID belongs to AuxTarget.
+  /// Return true if builtin ID belongs to AuxTarget.
   bool isAuxBuiltinID(unsigned ID) const {
     return ID >= (Builtin::FirstTSBuiltin + TSRecords.size());
   }
@@ -226,23 +226,23 @@ public:
 private:
   const Info &getRecord(unsigned ID) const;
 
-  /// \brief Is this builtin supported according to the given language options?
+  /// Is this builtin supported according to the given language options?
   bool builtinIsSupported(const Builtin::Info &BuiltinInfo,
                           const LangOptions &LangOpts);
 
-  /// \brief Helper function for isPrintfLike and isScanfLike.
+  /// Helper function for isPrintfLike and isScanfLike.
   bool isLike(unsigned ID, unsigned &FormatIdx, bool &HasVAListArg,
               const char *Fmt) const;
 };
 
 }
 
-/// \brief Kinds of BuiltinTemplateDecl.
+/// Kinds of BuiltinTemplateDecl.
 enum BuiltinTemplateKind : int {
-  /// \brief This names the __make_integer_seq BuiltinTemplateDecl.
+  /// This names the __make_integer_seq BuiltinTemplateDecl.
   BTK__make_integer_seq,
 
-  /// \brief This names the __type_pack_element BuiltinTemplateDecl.
+  /// This names the __type_pack_element BuiltinTemplateDecl.
   BTK__type_pack_element
 };
 

Modified: cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def (original)
+++ cfe/trunk/include/clang/Basic/BuiltinsWebAssembly.def Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief This file defines the WebAssembly-specific builtin function database.
+/// This file defines the WebAssembly-specific builtin function database.
 /// Users of this file must define the BUILTIN macro to make use of this
 /// information.
 ///

Modified: cfe/trunk/include/clang/Basic/CapturedStmt.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/CapturedStmt.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/CapturedStmt.h (original)
+++ cfe/trunk/include/clang/Basic/CapturedStmt.h Tue May  8 18:00:01 2018
@@ -13,7 +13,7 @@
 
 namespace clang {
 
-/// \brief The different kinds of captured statement.
+/// The different kinds of captured statement.
 enum CapturedRegionKind {
   CR_Default,
   CR_OpenMP

Modified: cfe/trunk/include/clang/Basic/CommentOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/CommentOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/CommentOptions.h (original)
+++ cfe/trunk/include/clang/Basic/CommentOptions.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::CommentOptions interface.
+/// Defines the clang::CommentOptions interface.
 //
 //===----------------------------------------------------------------------===//
 
@@ -20,15 +20,15 @@
 
 namespace clang {
 
-/// \brief Options for controlling comment parsing.
+/// Options for controlling comment parsing.
 struct CommentOptions {
   using BlockCommandNamesTy = std::vector<std::string>;
 
-  /// \brief Command names to treat as block commands in comments.
+  /// Command names to treat as block commands in comments.
   /// Should not include the leading backslash.
   BlockCommandNamesTy BlockCommandNames;
 
-  /// \brief Treat ordinary comments as documentation comments.
+  /// Treat ordinary comments as documentation comments.
   bool ParseAllComments = false;
 
   CommentOptions() = default;

Modified: cfe/trunk/include/clang/Basic/Diagnostic.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Diagnostic.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Diagnostic.h (original)
+++ cfe/trunk/include/clang/Basic/Diagnostic.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the Diagnostic-related interfaces.
+/// Defines the Diagnostic-related interfaces.
 //
 //===----------------------------------------------------------------------===//
 
@@ -54,7 +54,7 @@ enum TokenKind : unsigned short;
 
 } // namespace tok
 
-/// \brief Annotates a diagnostic with some code that should be
+/// Annotates a diagnostic with some code that should be
 /// inserted, removed, or replaced to fix the problem.
 ///
 /// This kind of hint should be used when we are certain that the
@@ -65,21 +65,21 @@ enum TokenKind : unsigned short;
 /// compilation.
 class FixItHint {
 public:
-  /// \brief Code that should be replaced to correct the error. Empty for an
+  /// Code that should be replaced to correct the error. Empty for an
   /// insertion hint.
   CharSourceRange RemoveRange;
 
-  /// \brief Code in the specific range that should be inserted in the insertion
+  /// Code in the specific range that should be inserted in the insertion
   /// location.
   CharSourceRange InsertFromRange;
 
-  /// \brief The actual code to insert at the insertion location, as a
+  /// The actual code to insert at the insertion location, as a
   /// string.
   std::string CodeToInsert;
 
   bool BeforePreviousInsertions = false;
 
-  /// \brief Empty code modification hint, indicating that no code
+  /// Empty code modification hint, indicating that no code
   /// modification is known.
   FixItHint() = default;
 
@@ -87,7 +87,7 @@ public:
     return !RemoveRange.isValid();
   }
   
-  /// \brief Create a code modification hint that inserts the given
+  /// Create a code modification hint that inserts the given
   /// code string at a specific location.
   static FixItHint CreateInsertion(SourceLocation InsertionLoc,
                                    StringRef Code,
@@ -100,7 +100,7 @@ public:
     return Hint;
   }
   
-  /// \brief Create a code modification hint that inserts the given
+  /// Create a code modification hint that inserts the given
   /// code from \p FromRange at a specific location.
   static FixItHint CreateInsertionFromRange(SourceLocation InsertionLoc,
                                             CharSourceRange FromRange,
@@ -113,7 +113,7 @@ public:
     return Hint;
   }
 
-  /// \brief Create a code modification hint that removes the given
+  /// Create a code modification hint that removes the given
   /// source range.
   static FixItHint CreateRemoval(CharSourceRange RemoveRange) {
     FixItHint Hint;
@@ -124,7 +124,7 @@ public:
     return CreateRemoval(CharSourceRange::getTokenRange(RemoveRange));
   }
   
-  /// \brief Create a code modification hint that replaces the given
+  /// Create a code modification hint that replaces the given
   /// source range with the given code string.
   static FixItHint CreateReplacement(CharSourceRange RemoveRange,
                                      StringRef Code) {
@@ -140,7 +140,7 @@ public:
   }
 };
 
-/// \brief Concrete class used by the front-end to report problems and issues.
+/// Concrete class used by the front-end to report problems and issues.
 ///
 /// This massages the diagnostics (e.g. handling things like "report warnings
 /// as errors" and passes them off to the DiagnosticConsumer for reporting to
@@ -148,7 +148,7 @@ public:
 /// SourceManager.
 class DiagnosticsEngine : public RefCountedBase<DiagnosticsEngine> {
 public:
-  /// \brief The level of the diagnostic, after it has been through mapping.
+  /// The level of the diagnostic, after it has been through mapping.
   enum Level {
     Ignored = DiagnosticIDs::Ignored,
     Note = DiagnosticIDs::Note,
@@ -199,7 +199,7 @@ public:
     ak_attr
   };
 
-  /// \brief Represents on argument value, which is a union discriminated
+  /// Represents on argument value, which is a union discriminated
   /// by ArgumentKind, with a value.
   using ArgumentValue = std::pair<ArgumentKind, intptr_t>;
 
@@ -240,7 +240,7 @@ private:
   std::unique_ptr<DiagnosticConsumer> Owner;
   SourceManager *SourceMgr = nullptr;
 
-  /// \brief Mapping information for diagnostics.
+  /// Mapping information for diagnostics.
   ///
   /// Mapping info is packed into four bits per diagnostic.  The low three
   /// bits are the mapping (an instance of diag::Severity), or zero if unset.
@@ -298,7 +298,7 @@ private:
     const_iterator end() const { return DiagMap.end(); }
   };
 
-  /// \brief Keeps and automatically disposes all DiagStates that we create.
+  /// Keeps and automatically disposes all DiagStates that we create.
   std::list<DiagState> DiagStates;
 
   /// A mapping from files to the diagnostic states for those files. Lazily
@@ -338,7 +338,7 @@ private:
     friend class ASTReader;
     friend class ASTWriter;
 
-    /// \brief Represents a point in source where the diagnostic state was
+    /// Represents a point in source where the diagnostic state was
     /// modified because of a pragma.
     ///
     /// 'Loc' can be null if the point represents the diagnostic state
@@ -391,7 +391,7 @@ private:
 
   DiagStateMap DiagStatesByLoc;
 
-  /// \brief Keeps the DiagState that was active during each diagnostic 'push'
+  /// Keeps the DiagState that was active during each diagnostic 'push'
   /// so we can get back at it when we 'pop'.
   std::vector<DiagState *> DiagStateOnPushStack;
 
@@ -401,32 +401,32 @@ private:
 
   void PushDiagStatePoint(DiagState *State, SourceLocation L);
 
-  /// \brief Finds the DiagStatePoint that contains the diagnostic state of
+  /// Finds the DiagStatePoint that contains the diagnostic state of
   /// the given source location.
   DiagState *GetDiagStateForLoc(SourceLocation Loc) const {
     return SourceMgr ? DiagStatesByLoc.lookup(*SourceMgr, Loc)
                      : DiagStatesByLoc.getCurDiagState();
   }
 
-  /// \brief Sticky flag set to \c true when an error is emitted.
+  /// Sticky flag set to \c true when an error is emitted.
   bool ErrorOccurred;
 
-  /// \brief Sticky flag set to \c true when an "uncompilable error" occurs.
+  /// Sticky flag set to \c true when an "uncompilable error" occurs.
   /// I.e. an error that was not upgraded from a warning by -Werror.
   bool UncompilableErrorOccurred;
 
-  /// \brief Sticky flag set to \c true when a fatal error is emitted.
+  /// Sticky flag set to \c true when a fatal error is emitted.
   bool FatalErrorOccurred;
 
-  /// \brief Indicates that an unrecoverable error has occurred.
+  /// Indicates that an unrecoverable error has occurred.
   bool UnrecoverableErrorOccurred;
   
-  /// \brief Counts for DiagnosticErrorTrap to check whether an error occurred
+  /// Counts for DiagnosticErrorTrap to check whether an error occurred
   /// during a parsing section, e.g. during parsing a function.
   unsigned TrapNumErrorsOccurred;
   unsigned TrapNumUnrecoverableErrorsOccurred;
 
-  /// \brief The level of the last diagnostic emitted.
+  /// The level of the last diagnostic emitted.
   ///
   /// This is used to emit continuation diagnostics with the same level as the
   /// diagnostic that they follow.
@@ -438,7 +438,7 @@ private:
   /// Number of errors reported
   unsigned NumErrors;
 
-  /// \brief A function pointer that converts an opaque diagnostic
+  /// A function pointer that converts an opaque diagnostic
   /// argument to a strings.
   ///
   /// This takes the modifiers and argument that was present in the diagnostic.
@@ -459,18 +459,18 @@ private:
   void *ArgToStringCookie = nullptr;
   ArgToStringFnTy ArgToStringFn;
 
-  /// \brief ID of the "delayed" diagnostic, which is a (typically
+  /// ID of the "delayed" diagnostic, which is a (typically
   /// fatal) diagnostic that had to be delayed because it was found
   /// while emitting another diagnostic.
   unsigned DelayedDiagID;
 
-  /// \brief First string argument for the delayed diagnostic.
+  /// First string argument for the delayed diagnostic.
   std::string DelayedDiagArg1;
 
-  /// \brief Second string argument for the delayed diagnostic.
+  /// Second string argument for the delayed diagnostic.
   std::string DelayedDiagArg2;
 
-  /// \brief Optional flag value.
+  /// Optional flag value.
   ///
   /// Some flags accept values, for instance: -Wframe-larger-than=<value> and
   /// -Rpass=<value>. The content of this string is emitted after the flag name
@@ -495,12 +495,12 @@ public:
     return Diags;
   }
 
-  /// \brief Retrieve the diagnostic options.
+  /// Retrieve the diagnostic options.
   DiagnosticOptions &getDiagnosticOptions() const { return *DiagOpts; }
 
   using diag_mapping_range = llvm::iterator_range<DiagState::const_iterator>;
 
-  /// \brief Get the current set of diagnostic mappings.
+  /// Get the current set of diagnostic mappings.
   diag_mapping_range getDiagnosticMappings() const {
     const DiagState &DS = *GetCurDiagState();
     return diag_mapping_range(DS.begin(), DS.end());
@@ -509,10 +509,10 @@ public:
   DiagnosticConsumer *getClient() { return Client; }
   const DiagnosticConsumer *getClient() const { return Client; }
 
-  /// \brief Determine whether this \c DiagnosticsEngine object own its client.
+  /// Determine whether this \c DiagnosticsEngine object own its client.
   bool ownsClient() const { return Owner != nullptr; }
 
-  /// \brief Return the current diagnostic client along with ownership of that
+  /// Return the current diagnostic client along with ownership of that
   /// client.
   std::unique_ptr<DiagnosticConsumer> takeClient() { return std::move(Owner); }
 
@@ -534,54 +534,54 @@ public:
   //  how diagnostics are emitted.
   //
 
-  /// \brief Copies the current DiagMappings and pushes the new copy
+  /// Copies the current DiagMappings and pushes the new copy
   /// onto the top of the stack.
   void pushMappings(SourceLocation Loc);
 
-  /// \brief Pops the current DiagMappings off the top of the stack,
+  /// Pops the current DiagMappings off the top of the stack,
   /// causing the new top of the stack to be the active mappings.
   ///
   /// \returns \c true if the pop happens, \c false if there is only one
   /// DiagMapping on the stack.
   bool popMappings(SourceLocation Loc);
 
-  /// \brief Set the diagnostic client associated with this diagnostic object.
+  /// Set the diagnostic client associated with this diagnostic object.
   ///
   /// \param ShouldOwnClient true if the diagnostic object should take
   /// ownership of \c client.
   void setClient(DiagnosticConsumer *client, bool ShouldOwnClient = true);
 
-  /// \brief Specify a limit for the number of errors we should
+  /// Specify a limit for the number of errors we should
   /// emit before giving up.
   ///
   /// Zero disables the limit.
   void setErrorLimit(unsigned Limit) { ErrorLimit = Limit; }
   
-  /// \brief Specify the maximum number of template instantiation
+  /// Specify the maximum number of template instantiation
   /// notes to emit along with a given diagnostic.
   void setTemplateBacktraceLimit(unsigned Limit) {
     TemplateBacktraceLimit = Limit;
   }
 
-  /// \brief Retrieve the maximum number of template instantiation
+  /// Retrieve the maximum number of template instantiation
   /// notes to emit along with a given diagnostic.
   unsigned getTemplateBacktraceLimit() const {
     return TemplateBacktraceLimit;
   }
 
-  /// \brief Specify the maximum number of constexpr evaluation
+  /// Specify the maximum number of constexpr evaluation
   /// notes to emit along with a given diagnostic.
   void setConstexprBacktraceLimit(unsigned Limit) {
     ConstexprBacktraceLimit = Limit;
   }
 
-  /// \brief Retrieve the maximum number of constexpr evaluation
+  /// Retrieve the maximum number of constexpr evaluation
   /// notes to emit along with a given diagnostic.
   unsigned getConstexprBacktraceLimit() const {
     return ConstexprBacktraceLimit;
   }
 
-  /// \brief When set to true, any unmapped warnings are ignored.
+  /// When set to true, any unmapped warnings are ignored.
   ///
   /// If this and WarningsAsErrors are both set, then this one wins.
   void setIgnoreAllWarnings(bool Val) {
@@ -591,7 +591,7 @@ public:
     return GetCurDiagState()->IgnoreAllWarnings;
   }
 
-  /// \brief When set to true, any unmapped ignored warnings are no longer
+  /// When set to true, any unmapped ignored warnings are no longer
   /// ignored.
   ///
   /// If this and IgnoreAllWarnings are both set, then that one wins.
@@ -602,7 +602,7 @@ public:
     return GetCurDiagState()->EnableAllWarnings;
   }
 
-  /// \brief When set to true, any warnings reported are issued as errors.
+  /// When set to true, any warnings reported are issued as errors.
   void setWarningsAsErrors(bool Val) {
     GetCurDiagState()->WarningsAsErrors = Val;
   }
@@ -610,15 +610,15 @@ public:
     return GetCurDiagState()->WarningsAsErrors;
   }
 
-  /// \brief When set to true, any error reported is made a fatal error.
+  /// When set to true, any error reported is made a fatal error.
   void setErrorsAsFatal(bool Val) { GetCurDiagState()->ErrorsAsFatal = Val; }
   bool getErrorsAsFatal() const { return GetCurDiagState()->ErrorsAsFatal; }
 
-  /// \brief When set to true (the default), suppress further diagnostics after
+  /// When set to true (the default), suppress further diagnostics after
   /// a fatal error.
   void setSuppressAfterFatalError(bool Val) { SuppressAfterFatalError = Val; }
 
-  /// \brief When set to true mask warnings that come from system headers.
+  /// When set to true mask warnings that come from system headers.
   void setSuppressSystemWarnings(bool Val) {
     GetCurDiagState()->SuppressSystemWarnings = Val;
   }
@@ -626,7 +626,7 @@ public:
     return GetCurDiagState()->SuppressSystemWarnings;
   }
 
-  /// \brief Suppress all diagnostics, to silence the front end when we 
+  /// Suppress all diagnostics, to silence the front end when we 
   /// know that we don't want any more diagnostics to be passed along to the
   /// client
   void setSuppressAllDiagnostics(bool Val = true) { 
@@ -634,22 +634,22 @@ public:
   }
   bool getSuppressAllDiagnostics() const { return SuppressAllDiagnostics; }
 
-  /// \brief Set type eliding, to skip outputting same types occurring in
+  /// Set type eliding, to skip outputting same types occurring in
   /// template types.
   void setElideType(bool Val = true) { ElideType = Val; }
   bool getElideType() { return ElideType; }
  
-  /// \brief Set tree printing, to outputting the template difference in a
+  /// Set tree printing, to outputting the template difference in a
   /// tree format.
   void setPrintTemplateTree(bool Val = false) { PrintTemplateTree = Val; }
   bool getPrintTemplateTree() { return PrintTemplateTree; }
  
-  /// \brief Set color printing, so the type diffing will inject color markers
+  /// Set color printing, so the type diffing will inject color markers
   /// into the output.
   void setShowColors(bool Val = false) { ShowColors = Val; }
   bool getShowColors() { return ShowColors; }
 
-  /// \brief Specify which overload candidates to show when overload resolution
+  /// Specify which overload candidates to show when overload resolution
   /// fails.
   ///
   /// By default, we show all candidates.
@@ -658,7 +658,7 @@ public:
   }
   OverloadsShown getShowOverloads() const { return ShowOverloads; }
   
-  /// \brief Pretend that the last diagnostic issued was ignored, so any
+  /// Pretend that the last diagnostic issued was ignored, so any
   /// subsequent notes will be suppressed, or restore a prior ignoring
   /// state after ignoring some diagnostics and their notes, possibly in
   /// the middle of another diagnostic.
@@ -670,14 +670,14 @@ public:
     LastDiagLevel = Ignored ? DiagnosticIDs::Ignored : DiagnosticIDs::Warning;
   }
 
-  /// \brief Determine whether the previous diagnostic was ignored. This can
+  /// Determine whether the previous diagnostic was ignored. This can
   /// be used by clients that want to determine whether notes attached to a
   /// diagnostic will be suppressed.
   bool isLastDiagnosticIgnored() const {
     return LastDiagLevel == DiagnosticIDs::Ignored;
   }
 
-  /// \brief Controls whether otherwise-unmapped extension diagnostics are
+  /// Controls whether otherwise-unmapped extension diagnostics are
   /// mapped onto ignore/warning/error.
   ///
   /// This corresponds to the GCC -pedantic and -pedantic-errors option.
@@ -688,7 +688,7 @@ public:
     return GetCurDiagState()->ExtBehavior;
   }
 
-  /// \brief Counter bumped when an __extension__  block is/ encountered.
+  /// Counter bumped when an __extension__  block is/ encountered.
   ///
   /// When non-zero, all extension diagnostics are entirely silenced, no
   /// matter how they are mapped.
@@ -696,7 +696,7 @@ public:
   void DecrementAllExtensionsSilenced() { --AllExtensionsSilenced; }
   bool hasAllExtensionsSilenced() { return AllExtensionsSilenced != 0; }
 
-  /// \brief This allows the client to specify that certain warnings are
+  /// This allows the client to specify that certain warnings are
   /// ignored.
   ///
   /// Notes can never be mapped, errors can only be mapped to fatal, and
@@ -706,7 +706,7 @@ public:
   /// take affect. It can be null if we are setting the latest state.
   void setSeverity(diag::kind Diag, diag::Severity Map, SourceLocation Loc);
 
-  /// \brief Change an entire diagnostic group (e.g. "unknown-pragmas") to
+  /// Change an entire diagnostic group (e.g. "unknown-pragmas") to
   /// have the specified mapping.
   ///
   /// \returns true (and ignores the request) if "Group" was unknown, false
@@ -721,21 +721,21 @@ public:
                            diag::Severity Map,
                            SourceLocation Loc = SourceLocation());
 
-  /// \brief Set the warning-as-error flag for the given diagnostic group.
+  /// Set the warning-as-error flag for the given diagnostic group.
   ///
   /// This function always only operates on the current diagnostic state.
   ///
   /// \returns True if the given group is unknown, false otherwise.
   bool setDiagnosticGroupWarningAsError(StringRef Group, bool Enabled);
 
-  /// \brief Set the error-as-fatal flag for the given diagnostic group.
+  /// Set the error-as-fatal flag for the given diagnostic group.
   ///
   /// This function always only operates on the current diagnostic state.
   ///
   /// \returns True if the given group is unknown, false otherwise.
   bool setDiagnosticGroupErrorAsFatal(StringRef Group, bool Enabled);
 
-  /// \brief Add the specified mapping to all diagnostics of the specified
+  /// Add the specified mapping to all diagnostics of the specified
   /// flavor.
   ///
   /// Mainly to be used by -Wno-everything to disable all warnings but allow
@@ -745,14 +745,14 @@ public:
 
   bool hasErrorOccurred() const { return ErrorOccurred; }
 
-  /// \brief Errors that actually prevent compilation, not those that are
+  /// Errors that actually prevent compilation, not those that are
   /// upgraded from a warning by -Werror.
   bool hasUncompilableErrorOccurred() const {
     return UncompilableErrorOccurred;
   }
   bool hasFatalErrorOccurred() const { return FatalErrorOccurred; }
   
-  /// \brief Determine whether any kind of unrecoverable error has occurred.
+  /// Determine whether any kind of unrecoverable error has occurred.
   bool hasUnrecoverableErrorOccurred() const {
     return FatalErrorOccurred || UnrecoverableErrorOccurred;
   }
@@ -763,7 +763,7 @@ public:
     this->NumWarnings = NumWarnings;
   }
 
-  /// \brief Return an ID for a diagnostic with the specified format string and
+  /// Return an ID for a diagnostic with the specified format string and
   /// level.
   ///
   /// If this is the first request for this diagnostic, it is registered and
@@ -777,7 +777,7 @@ public:
                                   StringRef(FormatString, N - 1));
   }
 
-  /// \brief Converts a diagnostic argument (as an intptr_t) into the string
+  /// Converts a diagnostic argument (as an intptr_t) into the string
   /// that represents it.
   void ConvertArgToString(ArgumentKind Kind, intptr_t Val,
                           StringRef Modifier, StringRef Argument,
@@ -793,13 +793,13 @@ public:
     ArgToStringCookie = Cookie;
   }
 
-  /// \brief Note that the prior diagnostic was emitted by some other
+  /// Note that the prior diagnostic was emitted by some other
   /// \c DiagnosticsEngine, and we may be attaching a note to that diagnostic.
   void notePriorDiagnosticFrom(const DiagnosticsEngine &Other) {
     LastDiagLevel = Other.LastDiagLevel;
   }
 
-  /// \brief Reset the state of the diagnostic object to its initial 
+  /// Reset the state of the diagnostic object to its initial 
   /// configuration.
   void Reset();
   
@@ -807,7 +807,7 @@ public:
   // DiagnosticsEngine classification and reporting interfaces.
   //
 
-  /// \brief Determine whether the diagnostic is known to be ignored.
+  /// Determine whether the diagnostic is known to be ignored.
   ///
   /// This can be used to opportunistically avoid expensive checks when it's
   /// known for certain that the diagnostic has been suppressed at the
@@ -820,7 +820,7 @@ public:
            diag::Severity::Ignored;
   }
 
-  /// \brief Based on the way the client configured the DiagnosticsEngine
+  /// Based on the way the client configured the DiagnosticsEngine
   /// object, classify the specified diagnostic ID into a Level, consumable by
   /// the DiagnosticConsumer.
   ///
@@ -834,7 +834,7 @@ public:
     return (Level)Diags->getDiagnosticLevel(DiagID, Loc, *this);
   }
 
-  /// \brief Issue the message to the client.
+  /// Issue the message to the client.
   ///
   /// This actually returns an instance of DiagnosticBuilder which emits the
   /// diagnostics (through @c ProcessDiag) when it is destroyed.
@@ -847,12 +847,12 @@ public:
 
   void Report(const StoredDiagnostic &storedDiag);
 
-  /// \brief Determine whethere there is already a diagnostic in flight.
+  /// Determine whethere there is already a diagnostic in flight.
   bool isDiagnosticInFlight() const {
     return CurDiagID != std::numeric_limits<unsigned>::max();
   }
 
-  /// \brief Set the "delayed" diagnostic that will be emitted once
+  /// Set the "delayed" diagnostic that will be emitted once
   /// the current diagnostic completes.
   ///
   ///  If a diagnostic is already in-flight but the front end must
@@ -876,10 +876,10 @@ public:
   void SetDelayedDiagnostic(unsigned DiagID, StringRef Arg1 = "",
                             StringRef Arg2 = "");
   
-  /// \brief Clear out the current diagnostic.
+  /// Clear out the current diagnostic.
   void Clear() { CurDiagID = std::numeric_limits<unsigned>::max(); }
 
-  /// \brief Return the value associated with this diagnostic flag.
+  /// Return the value associated with this diagnostic flag.
   StringRef getFlagValue() const { return FlagValue; }
 
 private:
@@ -895,20 +895,20 @@ private:
   friend class DiagnosticIDs;
   friend class PartialDiagnostic;
   
-  /// \brief Report the delayed diagnostic.
+  /// Report the delayed diagnostic.
   void ReportDelayed();
 
-  /// \brief The location of the current diagnostic that is in flight.
+  /// The location of the current diagnostic that is in flight.
   SourceLocation CurDiagLoc;
 
-  /// \brief The ID of the current diagnostic that is in flight.
+  /// The ID of the current diagnostic that is in flight.
   ///
   /// This is set to std::numeric_limits<unsigned>::max() when there is no
   /// diagnostic in flight.
   unsigned CurDiagID;
 
   enum {
-    /// \brief The maximum number of arguments we can hold.
+    /// The maximum number of arguments we can hold.
     ///
     /// We currently only support up to 10 arguments (%0-%9).  A single
     /// diagnostic with more than that almost certainly has to be simplified
@@ -916,33 +916,33 @@ private:
     MaxArguments = 10,
   };
 
-  /// \brief The number of entries in Arguments.
+  /// The number of entries in Arguments.
   signed char NumDiagArgs;
 
-  /// \brief Specifies whether an argument is in DiagArgumentsStr or
+  /// Specifies whether an argument is in DiagArgumentsStr or
   /// in DiagArguments.
   ///
   /// This is an array of ArgumentKind::ArgumentKind enum values, one for each
   /// argument.
   unsigned char DiagArgumentsKind[MaxArguments];
 
-  /// \brief Holds the values of each string argument for the current
+  /// Holds the values of each string argument for the current
   /// diagnostic.
   ///
   /// This is only used when the corresponding ArgumentKind is ak_std_string.
   std::string DiagArgumentsStr[MaxArguments];
 
-  /// \brief The values for the various substitution positions.
+  /// The values for the various substitution positions.
   ///
   /// This is used when the argument is not an std::string.  The specific
   /// value is mangled into an intptr_t and the interpretation depends on
   /// exactly what sort of argument kind it is.
   intptr_t DiagArgumentsVal[MaxArguments];
 
-  /// \brief The list of ranges added to this diagnostic.
+  /// The list of ranges added to this diagnostic.
   SmallVector<CharSourceRange, 8> DiagRanges;
 
-  /// \brief If valid, provides a hint with some code to insert, remove,
+  /// If valid, provides a hint with some code to insert, remove,
   /// or modify at a particular position.
   SmallVector<FixItHint, 8> DiagFixItHints;
 
@@ -961,7 +961,7 @@ private:
     return Mapping;
   }
 
-  /// \brief Used to report a diagnostic that is finally fully formed.
+  /// Used to report a diagnostic that is finally fully formed.
   ///
   /// \returns true if the diagnostic was emitted, false if it was suppressed.
   bool ProcessDiag() {
@@ -980,7 +980,7 @@ protected:
   // Sema::Diag() patterns.
   friend class Sema;
 
-  /// \brief Emit the current diagnostic and clear the diagnostic state.
+  /// Emit the current diagnostic and clear the diagnostic state.
   ///
   /// \param Force Emit the diagnostic regardless of suppression settings.
   bool EmitCurrentDiagnostic(bool Force = false);
@@ -992,7 +992,7 @@ protected:
   /// @}
 };
 
-/// \brief RAII class that determines when any errors have occurred
+/// RAII class that determines when any errors have occurred
 /// between the time the instance was created and the time it was
 /// queried.
 class DiagnosticErrorTrap {
@@ -1004,19 +1004,19 @@ public:
   explicit DiagnosticErrorTrap(DiagnosticsEngine &Diag)
       : Diag(Diag) { reset(); }
 
-  /// \brief Determine whether any errors have occurred since this
+  /// Determine whether any errors have occurred since this
   /// object instance was created.
   bool hasErrorOccurred() const {
     return Diag.TrapNumErrorsOccurred > NumErrors;
   }
 
-  /// \brief Determine whether any unrecoverable errors have occurred since this
+  /// Determine whether any unrecoverable errors have occurred since this
   /// object instance was created.
   bool hasUnrecoverableErrorOccurred() const {
     return Diag.TrapNumUnrecoverableErrorsOccurred > NumUnrecoverableErrors;
   }
 
-  /// \brief Set to initial state of "no errors occurred".
+  /// Set to initial state of "no errors occurred".
   void reset() {
     NumErrors = Diag.TrapNumErrorsOccurred;
     NumUnrecoverableErrors = Diag.TrapNumUnrecoverableErrorsOccurred;
@@ -1027,7 +1027,7 @@ public:
 // DiagnosticBuilder
 //===----------------------------------------------------------------------===//
 
-/// \brief A little helper class used to produce diagnostics.
+/// A little helper class used to produce diagnostics.
 ///
 /// This is constructed by the DiagnosticsEngine::Report method, and
 /// allows insertion of extra information (arguments and source ranges) into
@@ -1046,14 +1046,14 @@ class DiagnosticBuilder {
   mutable DiagnosticsEngine *DiagObj = nullptr;
   mutable unsigned NumArgs = 0;
 
-  /// \brief Status variable indicating if this diagnostic is still active.
+  /// Status variable indicating if this diagnostic is still active.
   ///
   // NOTE: This field is redundant with DiagObj (IsActive iff (DiagObj == 0)),
   // but LLVM is not currently smart enough to eliminate the null check that
   // Emit() would end up with if we used that as our status variable.
   mutable bool IsActive = false;
 
-  /// \brief Flag indicating that this diagnostic is being emitted via a
+  /// Flag indicating that this diagnostic is being emitted via a
   /// call to ForceEmit.
   mutable bool IsForceEmit = false;
 
@@ -1071,17 +1071,17 @@ protected:
     DiagObj->NumDiagArgs = NumArgs;
   }
 
-  /// \brief Clear out the current diagnostic.
+  /// Clear out the current diagnostic.
   void Clear() const {
     DiagObj = nullptr;
     IsActive = false;
     IsForceEmit = false;
   }
 
-  /// \brief Determine whether this diagnostic is still active.
+  /// Determine whether this diagnostic is still active.
   bool isActive() const { return IsActive; }
 
-  /// \brief Force the diagnostic builder to emit the diagnostic now.
+  /// Force the diagnostic builder to emit the diagnostic now.
   ///
   /// Once this function has been called, the DiagnosticBuilder object
   /// should not be used again before it is destroyed.
@@ -1119,23 +1119,23 @@ public:
 
   DiagnosticBuilder &operator=(const DiagnosticBuilder &) = delete;
 
-  /// \brief Emits the diagnostic.
+  /// Emits the diagnostic.
   ~DiagnosticBuilder() {
     Emit();
   }
 
-  /// \brief Retrieve an empty diagnostic builder.
+  /// Retrieve an empty diagnostic builder.
   static DiagnosticBuilder getEmpty() {
     return {};
   }
 
-  /// \brief Forces the diagnostic to be emitted.
+  /// Forces the diagnostic to be emitted.
   const DiagnosticBuilder &setForceEmit() const {
     IsForceEmit = true;
     return *this;
   }
 
-  /// \brief Conversion of DiagnosticBuilder to bool always returns \c true.
+  /// Conversion of DiagnosticBuilder to bool always returns \c true.
   ///
   /// This allows is to be used in boolean error contexts (where \c true is
   /// used to indicate that an error has occurred), like:
@@ -1180,7 +1180,7 @@ struct AddFlagValue {
   explicit AddFlagValue(StringRef V) : Val(V) {}
 };
 
-/// \brief Register a value for the flag in the current diagnostic. This
+/// Register a value for the flag in the current diagnostic. This
 /// value will be shown as the suffix "=value" after the flag name. It is
 /// useful in cases where the diagnostic flag accepts values (e.g.,
 /// -Rpass or -Wframe-larger-than).
@@ -1329,7 +1329,7 @@ public:
 
   unsigned getNumArgs() const { return DiagObj->NumDiagArgs; }
 
-  /// \brief Return the kind of the specified index.
+  /// Return the kind of the specified index.
   ///
   /// Based on the kind of argument, the accessors below can be used to get
   /// the value.
@@ -1340,7 +1340,7 @@ public:
     return (DiagnosticsEngine::ArgumentKind)DiagObj->DiagArgumentsKind[Idx];
   }
 
-  /// \brief Return the provided argument string specified by \p Idx.
+  /// Return the provided argument string specified by \p Idx.
   /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_std_string
   const std::string &getArgStdStr(unsigned Idx) const {
     assert(getArgKind(Idx) == DiagnosticsEngine::ak_std_string &&
@@ -1348,7 +1348,7 @@ public:
     return DiagObj->DiagArgumentsStr[Idx];
   }
 
-  /// \brief Return the specified C string argument.
+  /// Return the specified C string argument.
   /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_c_string
   const char *getArgCStr(unsigned Idx) const {
     assert(getArgKind(Idx) == DiagnosticsEngine::ak_c_string &&
@@ -1356,7 +1356,7 @@ public:
     return reinterpret_cast<const char*>(DiagObj->DiagArgumentsVal[Idx]);
   }
 
-  /// \brief Return the specified signed integer argument.
+  /// Return the specified signed integer argument.
   /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_sint
   int getArgSInt(unsigned Idx) const {
     assert(getArgKind(Idx) == DiagnosticsEngine::ak_sint &&
@@ -1364,7 +1364,7 @@ public:
     return (int)DiagObj->DiagArgumentsVal[Idx];
   }
 
-  /// \brief Return the specified unsigned integer argument.
+  /// Return the specified unsigned integer argument.
   /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_uint
   unsigned getArgUInt(unsigned Idx) const {
     assert(getArgKind(Idx) == DiagnosticsEngine::ak_uint &&
@@ -1372,7 +1372,7 @@ public:
     return (unsigned)DiagObj->DiagArgumentsVal[Idx];
   }
 
-  /// \brief Return the specified IdentifierInfo argument.
+  /// Return the specified IdentifierInfo argument.
   /// \pre getArgKind(Idx) == DiagnosticsEngine::ak_identifierinfo
   const IdentifierInfo *getArgIdentifier(unsigned Idx) const {
     assert(getArgKind(Idx) == DiagnosticsEngine::ak_identifierinfo &&
@@ -1380,7 +1380,7 @@ public:
     return reinterpret_cast<IdentifierInfo*>(DiagObj->DiagArgumentsVal[Idx]);
   }
 
-  /// \brief Return the specified non-string argument in an opaque form.
+  /// Return the specified non-string argument in an opaque form.
   /// \pre getArgKind(Idx) != DiagnosticsEngine::ak_std_string
   intptr_t getRawArg(unsigned Idx) const {
     assert(getArgKind(Idx) != DiagnosticsEngine::ak_std_string &&
@@ -1388,7 +1388,7 @@ public:
     return DiagObj->DiagArgumentsVal[Idx];
   }
 
-  /// \brief Return the number of source ranges associated with this diagnostic.
+  /// Return the number of source ranges associated with this diagnostic.
   unsigned getNumRanges() const {
     return DiagObj->DiagRanges.size();
   }
@@ -1399,7 +1399,7 @@ public:
     return DiagObj->DiagRanges[Idx];
   }
 
-  /// \brief Return an array reference for this diagnostic's ranges.
+  /// Return an array reference for this diagnostic's ranges.
   ArrayRef<CharSourceRange> getRanges() const {
     return DiagObj->DiagRanges;
   }
@@ -1417,20 +1417,20 @@ public:
     return DiagObj->DiagFixItHints;
   }
 
-  /// \brief Format this diagnostic into a string, substituting the
+  /// Format this diagnostic into a string, substituting the
   /// formal arguments into the %0 slots.
   ///
   /// The result is appended onto the \p OutStr array.
   void FormatDiagnostic(SmallVectorImpl<char> &OutStr) const;
 
-  /// \brief Format the given format-string into the output buffer using the
+  /// Format the given format-string into the output buffer using the
   /// arguments stored in this diagnostic.
   void FormatDiagnostic(const char *DiagStr, const char *DiagEnd,
                         SmallVectorImpl<char> &OutStr) const;
 };
 
 /**
- * \brief Represents a diagnostic in a form that can be retained until its 
+ * Represents a diagnostic in a form that can be retained until its 
  * corresponding source manager is destroyed. 
  */
 class StoredDiagnostic {
@@ -1451,7 +1451,7 @@ public:
                    ArrayRef<CharSourceRange> Ranges,
                    ArrayRef<FixItHint> Fixits);
 
-  /// \brief Evaluates true when this object stores a diagnostic.
+  /// Evaluates true when this object stores a diagnostic.
   explicit operator bool() const { return !Message.empty(); }
 
   unsigned getID() const { return ID; }
@@ -1482,7 +1482,7 @@ public:
   }
 };
 
-/// \brief Abstract interface, implemented by clients of the front-end, which
+/// Abstract interface, implemented by clients of the front-end, which
 /// formats and prints fully processed diagnostics.
 class DiagnosticConsumer {
 protected:
@@ -1497,7 +1497,7 @@ public:
   unsigned getNumWarnings() const { return NumWarnings; }
   virtual void clear() { NumWarnings = NumErrors = 0; }
 
-  /// \brief Callback to inform the diagnostic client that processing
+  /// Callback to inform the diagnostic client that processing
   /// of a source file is beginning.
   ///
   /// Note that diagnostics may be emitted outside the processing of a source
@@ -1511,25 +1511,25 @@ public:
   virtual void BeginSourceFile(const LangOptions &LangOpts,
                                const Preprocessor *PP = nullptr) {}
 
-  /// \brief Callback to inform the diagnostic client that processing
+  /// Callback to inform the diagnostic client that processing
   /// of a source file has ended.
   ///
   /// The diagnostic client should assume that any objects made available via
   /// BeginSourceFile() are inaccessible.
   virtual void EndSourceFile() {}
 
-  /// \brief Callback to inform the diagnostic client that processing of all
+  /// Callback to inform the diagnostic client that processing of all
   /// source files has ended.
   virtual void finish() {}
 
-  /// \brief Indicates whether the diagnostics handled by this
+  /// Indicates whether the diagnostics handled by this
   /// DiagnosticConsumer should be included in the number of diagnostics
   /// reported by DiagnosticsEngine.
   ///
   /// The default implementation returns true.
   virtual bool IncludeInDiagnosticCounts() const;
 
-  /// \brief Handle this diagnostic, reporting it to the user or
+  /// Handle this diagnostic, reporting it to the user or
   /// capturing it to a log as needed.
   ///
   /// The default implementation just keeps track of the total number of
@@ -1538,7 +1538,7 @@ public:
                                 const Diagnostic &Info);
 };
 
-/// \brief A diagnostic client that ignores all diagnostics.
+/// A diagnostic client that ignores all diagnostics.
 class IgnoringDiagConsumer : public DiagnosticConsumer {
   virtual void anchor();
 
@@ -1548,7 +1548,7 @@ class IgnoringDiagConsumer : public Diag
   }
 };
 
-/// \brief Diagnostic consumer that forwards diagnostics along to an
+/// Diagnostic consumer that forwards diagnostics along to an
 /// existing, already-initialized diagnostic consumer.
 ///
 class ForwardingDiagnosticConsumer : public DiagnosticConsumer {

Modified: cfe/trunk/include/clang/Basic/DiagnosticError.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticError.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticError.h (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticError.h Tue May  8 18:00:01 2018
@@ -15,7 +15,7 @@
 
 namespace clang {
 
-/// \brief Carries a Clang diagnostic in an llvm::Error.
+/// Carries a Clang diagnostic in an llvm::Error.
 ///
 /// Users should emit the stored diagnostic using the DiagnosticsEngine.
 class DiagnosticError : public llvm::ErrorInfo<DiagnosticError> {

Modified: cfe/trunk/include/clang/Basic/DiagnosticIDs.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticIDs.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticIDs.h (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticIDs.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the Diagnostic IDs-related interfaces.
+/// Defines the Diagnostic IDs-related interfaces.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -60,7 +60,7 @@ namespace clang {
 
     class CustomDiagInfo;
 
-    /// \brief All of the diagnostics that can be emitted by the frontend.
+    /// All of the diagnostics that can be emitted by the frontend.
     typedef unsigned kind;
 
     // Get typedefs for common diagnostics.
@@ -158,25 +158,25 @@ public:
   }
 };
 
-/// \brief Used for handling and querying diagnostic IDs.
+/// Used for handling and querying diagnostic IDs.
 ///
 /// Can be used and shared by multiple Diagnostics for multiple translation units.
 class DiagnosticIDs : public RefCountedBase<DiagnosticIDs> {
 public:
-  /// \brief The level of the diagnostic, after it has been through mapping.
+  /// The level of the diagnostic, after it has been through mapping.
   enum Level {
     Ignored, Note, Remark, Warning, Error, Fatal
   };
 
 private:
-  /// \brief Information for uniquing and looking up custom diags.
+  /// Information for uniquing and looking up custom diags.
   diag::CustomDiagInfo *CustomDiagInfo;
 
 public:
   DiagnosticIDs();
   ~DiagnosticIDs();
 
-  /// \brief Return an ID for a diagnostic with the specified format string and
+  /// Return an ID for a diagnostic with the specified format string and
   /// level.
   ///
   /// If this is the first request for this diagnostic, it is registered and
@@ -191,31 +191,31 @@ public:
   // Diagnostic classification and reporting interfaces.
   //
 
-  /// \brief Given a diagnostic ID, return a description of the issue.
+  /// Given a diagnostic ID, return a description of the issue.
   StringRef getDescription(unsigned DiagID) const;
 
-  /// \brief Return true if the unmapped diagnostic levelof the specified
+  /// Return true if the unmapped diagnostic levelof the specified
   /// diagnostic ID is a Warning or Extension.
   ///
   /// This only works on builtin diagnostics, not custom ones, and is not
   /// legal to call on NOTEs.
   static bool isBuiltinWarningOrExtension(unsigned DiagID);
 
-  /// \brief Return true if the specified diagnostic is mapped to errors by
+  /// Return true if the specified diagnostic is mapped to errors by
   /// default.
   static bool isDefaultMappingAsError(unsigned DiagID);
 
-  /// \brief Determine whether the given built-in diagnostic ID is a Note.
+  /// Determine whether the given built-in diagnostic ID is a Note.
   static bool isBuiltinNote(unsigned DiagID);
 
-  /// \brief Determine whether the given built-in diagnostic ID is for an
+  /// Determine whether the given built-in diagnostic ID is for an
   /// extension of some sort.
   static bool isBuiltinExtensionDiag(unsigned DiagID) {
     bool ignored;
     return isBuiltinExtensionDiag(DiagID, ignored);
   }
   
-  /// \brief Determine whether the given built-in diagnostic ID is for an
+  /// Determine whether the given built-in diagnostic ID is for an
   /// extension of some sort, and whether it is enabled by default.
   ///
   /// This also returns EnabledByDefault, which is set to indicate whether the
@@ -225,53 +225,53 @@ public:
   static bool isBuiltinExtensionDiag(unsigned DiagID, bool &EnabledByDefault);
   
 
-  /// \brief Return the lowest-level warning option that enables the specified
+  /// Return the lowest-level warning option that enables the specified
   /// diagnostic.
   ///
   /// If there is no -Wfoo flag that controls the diagnostic, this returns null.
   static StringRef getWarningOptionForDiag(unsigned DiagID);
   
-  /// \brief Return the category number that a specified \p DiagID belongs to,
+  /// Return the category number that a specified \p DiagID belongs to,
   /// or 0 if no category.
   static unsigned getCategoryNumberForDiag(unsigned DiagID);
 
-  /// \brief Return the number of diagnostic categories.
+  /// Return the number of diagnostic categories.
   static unsigned getNumberOfCategories();
 
-  /// \brief Given a category ID, return the name of the category.
+  /// Given a category ID, return the name of the category.
   static StringRef getCategoryNameFromID(unsigned CategoryID);
   
-  /// \brief Return true if a given diagnostic falls into an ARC diagnostic
+  /// Return true if a given diagnostic falls into an ARC diagnostic
   /// category.
   static bool isARCDiagnostic(unsigned DiagID);
 
-  /// \brief Enumeration describing how the emission of a diagnostic should
+  /// Enumeration describing how the emission of a diagnostic should
   /// be treated when it occurs during C++ template argument deduction.
   enum SFINAEResponse {
-    /// \brief The diagnostic should not be reported, but it should cause
+    /// The diagnostic should not be reported, but it should cause
     /// template argument deduction to fail.
     ///
     /// The vast majority of errors that occur during template argument 
     /// deduction fall into this category.
     SFINAE_SubstitutionFailure,
     
-    /// \brief The diagnostic should be suppressed entirely.
+    /// The diagnostic should be suppressed entirely.
     ///
     /// Warnings generally fall into this category.
     SFINAE_Suppress,
     
-    /// \brief The diagnostic should be reported.
+    /// The diagnostic should be reported.
     ///
     /// The diagnostic should be reported. Various fatal errors (e.g., 
     /// template instantiation depth exceeded) fall into this category.
     SFINAE_Report,
     
-    /// \brief The diagnostic is an access-control diagnostic, which will be
+    /// The diagnostic is an access-control diagnostic, which will be
     /// substitution failures in some contexts and reported in others.
     SFINAE_AccessControl
   };
   
-  /// \brief Determines whether the given built-in diagnostic ID is
+  /// Determines whether the given built-in diagnostic ID is
   /// for an error that is suppressed if it occurs during C++ template
   /// argument deduction.
   ///
@@ -281,30 +281,30 @@ public:
   /// are not SFINAE errors.
   static SFINAEResponse getDiagnosticSFINAEResponse(unsigned DiagID);
 
-  /// \brief Get the string of all diagnostic flags.
+  /// Get the string of all diagnostic flags.
   ///
   /// \returns A list of all diagnostics flags as they would be written in a
   /// command line invocation including their `no-` variants. For example:
   /// `{"-Wempty-body", "-Wno-empty-body", ...}`
   static std::vector<std::string> getDiagnosticFlags();
 
-  /// \brief Get the set of all diagnostic IDs in the group with the given name.
+  /// Get the set of all diagnostic IDs in the group with the given name.
   ///
   /// \param[out] Diags - On return, the diagnostics in the group.
   /// \returns \c true if the given group is unknown, \c false otherwise.
   bool getDiagnosticsInGroup(diag::Flavor Flavor, StringRef Group,
                              SmallVectorImpl<diag::kind> &Diags) const;
 
-  /// \brief Get the set of all diagnostic IDs.
+  /// Get the set of all diagnostic IDs.
   static void getAllDiagnostics(diag::Flavor Flavor,
                                 std::vector<diag::kind> &Diags);
 
-  /// \brief Get the diagnostic option with the closest edit distance to the
+  /// Get the diagnostic option with the closest edit distance to the
   /// given group name.
   static StringRef getNearestOption(diag::Flavor Flavor, StringRef Group);
 
 private:
-  /// \brief Classify the specified diagnostic ID into a Level, consumable by
+  /// Classify the specified diagnostic ID into a Level, consumable by
   /// the DiagnosticClient.
   /// 
   /// The classification is based on the way the client configured the
@@ -320,17 +320,17 @@ private:
   getDiagnosticSeverity(unsigned DiagID, SourceLocation Loc,
                         const DiagnosticsEngine &Diag) const LLVM_READONLY;
 
-  /// \brief Used to report a diagnostic that is finally fully formed.
+  /// Used to report a diagnostic that is finally fully formed.
   ///
   /// \returns \c true if the diagnostic was emitted, \c false if it was
   /// suppressed.
   bool ProcessDiag(DiagnosticsEngine &Diag) const;
 
-  /// \brief Used to emit a diagnostic that is finally fully formed,
+  /// Used to emit a diagnostic that is finally fully formed,
   /// ignoring suppression.
   void EmitDiag(DiagnosticsEngine &Diag, Level DiagLevel) const;
 
-  /// \brief Whether the diagnostic may leave the AST in a state where some
+  /// Whether the diagnostic may leave the AST in a state where some
   /// invariants can break.
   bool isUnrecoverable(unsigned DiagID) const;
 

Modified: cfe/trunk/include/clang/Basic/DiagnosticOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticOptions.h (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticOptions.h Tue May  8 18:00:01 2018
@@ -18,7 +18,7 @@
 
 namespace clang {
 
-/// \brief Specifies which overload candidates to display when overload
+/// Specifies which overload candidates to display when overload
 /// resolution fails.
 enum OverloadsShown : unsigned {
   /// Show all overloads.
@@ -28,7 +28,7 @@ enum OverloadsShown : unsigned {
   Ovl_Best
 };
 
-/// \brief A bitmask representing the diagnostic levels used by
+/// A bitmask representing the diagnostic levels used by
 /// VerifyDiagnosticConsumer.
 enum class DiagnosticLevelMask : unsigned {
   None    = 0,
@@ -60,7 +60,7 @@ inline DiagnosticLevelMask operator&(Dia
 
 raw_ostream& operator<<(raw_ostream& Out, DiagnosticLevelMask M);
 
-/// \brief Options for controlling the compiler diagnostics engine.
+/// Options for controlling the compiler diagnostics engine.
 class DiagnosticOptions : public RefCountedBase<DiagnosticOptions>{
 public:
   enum TextDiagnosticFormat { Clang, MSVC, Vi };
@@ -89,10 +89,10 @@ protected:
 #include "clang/Basic/DiagnosticOptions.def"
 
 public:
-  /// \brief The file to log diagnostic output to.
+  /// The file to log diagnostic output to.
   std::string DiagnosticLogFile;
   
-  /// \brief The file to serialize diagnostics to (non-appending).
+  /// The file to serialize diagnostics to (non-appending).
   std::string DiagnosticSerializationFile;
 
   /// The list of -W... options used to alter the diagnostic mappings, with the

Modified: cfe/trunk/include/clang/Basic/ExceptionSpecificationType.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ExceptionSpecificationType.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/ExceptionSpecificationType.h (original)
+++ cfe/trunk/include/clang/Basic/ExceptionSpecificationType.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the ExceptionSpecificationType enumeration and various
+/// Defines the ExceptionSpecificationType enumeration and various
 /// utility functions.
 ///
 //===----------------------------------------------------------------------===//
@@ -17,7 +17,7 @@
 
 namespace clang {
 
-/// \brief The various types of exception specifications that exist in C++11.
+/// The various types of exception specifications that exist in C++11.
 enum ExceptionSpecificationType {
   EST_None,             ///< no exception specification
   EST_DynamicNone,      ///< throw()
@@ -49,7 +49,7 @@ inline bool isUnresolvedExceptionSpec(Ex
   return ESpecType == EST_Unevaluated || ESpecType == EST_Uninstantiated;
 }
 
-/// \brief Possible results from evaluation of a noexcept expression.
+/// Possible results from evaluation of a noexcept expression.
 enum CanThrowResult {
   CT_Cannot,
   CT_Dependent,

Modified: cfe/trunk/include/clang/Basic/ExpressionTraits.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ExpressionTraits.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/ExpressionTraits.h (original)
+++ cfe/trunk/include/clang/Basic/ExpressionTraits.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines enumerations for expression traits intrinsics.
+/// Defines enumerations for expression traits intrinsics.
 ///
 //===----------------------------------------------------------------------===//
 

Modified: cfe/trunk/include/clang/Basic/FileManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/FileManager.h (original)
+++ cfe/trunk/include/clang/Basic/FileManager.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::FileManager interface and associated types.
+/// Defines the clang::FileManager interface and associated types.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -40,7 +40,7 @@ namespace clang {
 
 class FileSystemStatCache;
 
-/// \brief Cached information about one directory (either on disk or in
+/// Cached information about one directory (either on disk or in
 /// the virtual file system).
 class DirectoryEntry {
   friend class FileManager;
@@ -51,7 +51,7 @@ public:
   StringRef getName() const { return Name; }
 };
 
-/// \brief Cached information about one file (either on disk
+/// Cached information about one file (either on disk
 /// or in the virtual file system).
 ///
 /// If the 'File' member is valid, then this FileEntry has an open file
@@ -70,7 +70,7 @@ class FileEntry {
   bool InPCH;
   bool IsValid;               // Is this \c FileEntry initialized and valid?
 
-  /// \brief The open file, if it is owned by the \p FileEntry.
+  /// The open file, if it is owned by the \p FileEntry.
   mutable std::unique_ptr<vfs::File> File;
 
 public:
@@ -90,12 +90,12 @@ public:
   bool isInPCH() const { return InPCH; }
   time_t getModificationTime() const { return ModTime; }
 
-  /// \brief Return the directory the file lives in.
+  /// Return the directory the file lives in.
   const DirectoryEntry *getDir() const { return Dir; }
 
   bool operator<(const FileEntry &RHS) const { return UniqueID < RHS.UniqueID; }
 
-  /// \brief Check whether the file is a named pipe (and thus can't be opened by
+  /// Check whether the file is a named pipe (and thus can't be opened by
   /// the native FileManager methods).
   bool isNamedPipe() const { return IsNamedPipe; }
 
@@ -106,7 +106,7 @@ public:
 
 struct FileData;
 
-/// \brief Implements support for file system lookup, file system caching,
+/// Implements support for file system lookup, file system caching,
 /// and directory search management.
 ///
 /// This also handles more advanced properties, such as uniquing files based
@@ -117,21 +117,21 @@ class FileManager : public RefCountedBas
   IntrusiveRefCntPtr<vfs::FileSystem> FS;
   FileSystemOptions FileSystemOpts;
 
-  /// \brief Cache for existing real directories.
+  /// Cache for existing real directories.
   std::map<llvm::sys::fs::UniqueID, DirectoryEntry> UniqueRealDirs;
 
-  /// \brief Cache for existing real files.
+  /// Cache for existing real files.
   std::map<llvm::sys::fs::UniqueID, FileEntry> UniqueRealFiles;
 
-  /// \brief The virtual directories that we have allocated.
+  /// The virtual directories that we have allocated.
   ///
   /// For each virtual file (e.g. foo/bar/baz.cpp), we add all of its parent
   /// directories (foo/ and foo/bar/) here.
   SmallVector<std::unique_ptr<DirectoryEntry>, 4> VirtualDirectoryEntries;
-  /// \brief The virtual files that we have allocated.
+  /// The virtual files that we have allocated.
   SmallVector<std::unique_ptr<FileEntry>, 4> VirtualFileEntries;
 
-  /// \brief A cache that maps paths to directory entries (either real or
+  /// A cache that maps paths to directory entries (either real or
   /// virtual) we have looked up
   ///
   /// The actual Entries for real directories/files are
@@ -141,19 +141,19 @@ class FileManager : public RefCountedBas
   ///
   llvm::StringMap<DirectoryEntry*, llvm::BumpPtrAllocator> SeenDirEntries;
 
-  /// \brief A cache that maps paths to file entries (either real or
+  /// A cache that maps paths to file entries (either real or
   /// virtual) we have looked up.
   ///
   /// \see SeenDirEntries
   llvm::StringMap<FileEntry*, llvm::BumpPtrAllocator> SeenFileEntries;
 
-  /// \brief The canonical names of directories.
+  /// The canonical names of directories.
   llvm::DenseMap<const DirectoryEntry *, llvm::StringRef> CanonicalDirNames;
 
-  /// \brief Storage for canonical names that we have computed.
+  /// Storage for canonical names that we have computed.
   llvm::BumpPtrAllocator CanonicalNameStorage;
 
-  /// \brief Each FileEntry we create is assigned a unique ID #.
+  /// Each FileEntry we create is assigned a unique ID #.
   ///
   unsigned NextFileUID;
 
@@ -176,7 +176,7 @@ public:
               IntrusiveRefCntPtr<vfs::FileSystem> FS = nullptr);
   ~FileManager();
 
-  /// \brief Installs the provided FileSystemStatCache object within
+  /// Installs the provided FileSystemStatCache object within
   /// the FileManager.
   ///
   /// Ownership of this object is transferred to the FileManager.
@@ -190,13 +190,13 @@ public:
   void addStatCache(std::unique_ptr<FileSystemStatCache> statCache,
                     bool AtBeginning = false);
 
-  /// \brief Removes the specified FileSystemStatCache object from the manager.
+  /// Removes the specified FileSystemStatCache object from the manager.
   void removeStatCache(FileSystemStatCache *statCache);
 
-  /// \brief Removes all FileSystemStatCache objects from the manager.
+  /// Removes all FileSystemStatCache objects from the manager.
   void clearStatCaches();
 
-  /// \brief Lookup, cache, and verify the specified directory (real or
+  /// Lookup, cache, and verify the specified directory (real or
   /// virtual).
   ///
   /// This returns NULL if the directory doesn't exist.
@@ -206,7 +206,7 @@ public:
   const DirectoryEntry *getDirectory(StringRef DirName,
                                      bool CacheFailure = true);
 
-  /// \brief Lookup, cache, and verify the specified file (real or
+  /// Lookup, cache, and verify the specified file (real or
   /// virtual).
   ///
   /// This returns NULL if the file doesn't exist.
@@ -218,7 +218,7 @@ public:
   const FileEntry *getFile(StringRef Filename, bool OpenFile = false,
                            bool CacheFailure = true);
 
-  /// \brief Returns the current file system options
+  /// Returns the current file system options
   FileSystemOptions &getFileSystemOpts() { return FileSystemOpts; }
   const FileSystemOptions &getFileSystemOpts() const { return FileSystemOpts; }
 
@@ -226,14 +226,14 @@ public:
     return FS;
   }
 
-  /// \brief Retrieve a file entry for a "virtual" file that acts as
+  /// Retrieve a file entry for a "virtual" file that acts as
   /// if there were a file with the given name on disk.
   ///
   /// The file itself is not accessed.
   const FileEntry *getVirtualFile(StringRef Filename, off_t Size,
                                   time_t ModificationTime);
 
-  /// \brief Open the specified file as a MemoryBuffer, returning a new
+  /// Open the specified file as a MemoryBuffer, returning a new
   /// MemoryBuffer if successful, otherwise returning null.
   llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
   getBufferForFile(const FileEntry *Entry, bool isVolatile = false,
@@ -241,7 +241,7 @@ public:
   llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
   getBufferForFile(StringRef Filename);
 
-  /// \brief Get the 'stat' information for the given \p Path.
+  /// Get the 'stat' information for the given \p Path.
   ///
   /// If the path is relative, it will be resolved against the WorkingDir of the
   /// FileManager's FileSystemOptions.
@@ -250,10 +250,10 @@ public:
   bool getNoncachedStatValue(StringRef Path,
                              vfs::Status &Result);
 
-  /// \brief Remove the real file \p Entry from the cache.
+  /// Remove the real file \p Entry from the cache.
   void invalidateCache(const FileEntry *Entry);
 
-  /// \brief If path is not absolute and FileSystemOptions set the working
+  /// If path is not absolute and FileSystemOptions set the working
   /// directory, the path is modified to be relative to the given
   /// working directory.
   /// \returns true if \c path changed.
@@ -264,17 +264,17 @@ public:
   /// \returns true if \c Path changed to absolute.
   bool makeAbsolutePath(SmallVectorImpl<char> &Path) const;
 
-  /// \brief Produce an array mapping from the unique IDs assigned to each
+  /// Produce an array mapping from the unique IDs assigned to each
   /// file to the corresponding FileEntry pointer.
   void GetUniqueIDMapping(
                     SmallVectorImpl<const FileEntry *> &UIDToFiles) const;
 
-  /// \brief Modifies the size and modification time of a previously created
+  /// Modifies the size and modification time of a previously created
   /// FileEntry. Use with caution.
   static void modifyFileEntry(FileEntry *File, off_t Size,
                               time_t ModificationTime);
 
-  /// \brief Retrieve the canonical name for a given directory.
+  /// Retrieve the canonical name for a given directory.
   ///
   /// This is a very expensive operation, despite its results being cached,
   /// and should only be used when the physical layout of the file system is

Modified: cfe/trunk/include/clang/Basic/FileSystemOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileSystemOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/FileSystemOptions.h (original)
+++ cfe/trunk/include/clang/Basic/FileSystemOptions.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::FileSystemOptions interface.
+/// Defines the clang::FileSystemOptions interface.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -19,10 +19,10 @@
 
 namespace clang {
 
-/// \brief Keeps track of options that affect how file operations are performed.
+/// Keeps track of options that affect how file operations are performed.
 class FileSystemOptions {
 public:
-  /// \brief If set, paths are resolved as if the working directory was
+  /// If set, paths are resolved as if the working directory was
   /// set to the value of WorkingDir.
   std::string WorkingDir;
 };

Modified: cfe/trunk/include/clang/Basic/FileSystemStatCache.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileSystemStatCache.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/FileSystemStatCache.h (original)
+++ cfe/trunk/include/clang/Basic/FileSystemStatCache.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the FileSystemStatCache interface.
+/// Defines the FileSystemStatCache interface.
 //
 //===----------------------------------------------------------------------===//
 
@@ -51,7 +51,7 @@ struct FileData {
   FileData() = default;
 };
 
-/// \brief Abstract interface for introducing a FileManager cache for 'stat'
+/// Abstract interface for introducing a FileManager cache for 'stat'
 /// system calls, which is used by precompiled and pretokenized headers to
 /// improve performance.
 class FileSystemStatCache {
@@ -71,7 +71,7 @@ public:
     CacheMissing
   };
 
-  /// \brief Get the 'stat' information for the specified path, using the cache
+  /// Get the 'stat' information for the specified path, using the cache
   /// to accelerate it if possible.
   ///
   /// \returns \c true if the path does not exist or \c false if it exists.
@@ -85,16 +85,16 @@ public:
                   std::unique_ptr<vfs::File> *F, FileSystemStatCache *Cache,
                   vfs::FileSystem &FS);
 
-  /// \brief Sets the next stat call cache in the chain of stat caches.
+  /// Sets the next stat call cache in the chain of stat caches.
   /// Takes ownership of the given stat cache.
   void setNextStatCache(std::unique_ptr<FileSystemStatCache> Cache) {
     NextStatCache = std::move(Cache);
   }
   
-  /// \brief Retrieve the next stat call cache in the chain.
+  /// Retrieve the next stat call cache in the chain.
   FileSystemStatCache *getNextStatCache() { return NextStatCache.get(); }
   
-  /// \brief Retrieve the next stat call cache in the chain, transferring
+  /// Retrieve the next stat call cache in the chain, transferring
   /// ownership of this cache (and, transitively, all of the remaining caches)
   /// to the caller.
   std::unique_ptr<FileSystemStatCache> takeNextStatCache() {
@@ -120,12 +120,12 @@ protected:
   }
 };
 
-/// \brief A stat "cache" that can be used by FileManager to keep
+/// A stat "cache" that can be used by FileManager to keep
 /// track of the results of stat() calls that occur throughout the
 /// execution of the front end.
 class MemorizeStatCalls : public FileSystemStatCache {
 public:
-  /// \brief The set of stat() calls that have been seen.
+  /// The set of stat() calls that have been seen.
   llvm::StringMap<FileData, llvm::BumpPtrAllocator> StatCalls;
 
   using iterator =

Modified: cfe/trunk/include/clang/Basic/IdentifierTable.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/IdentifierTable.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/IdentifierTable.h (original)
+++ cfe/trunk/include/clang/Basic/IdentifierTable.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::IdentifierInfo, clang::IdentifierTable, and
+/// Defines the clang::IdentifierInfo, clang::IdentifierTable, and
 /// clang::Selector interfaces.
 //
 //===----------------------------------------------------------------------===//
@@ -39,7 +39,7 @@ class LangOptions;
 class MultiKeywordSelector;
 class SourceLocation;
 
-/// \brief A simple pair of identifier info and location.
+/// A simple pair of identifier info and location.
 using IdentifierLocPair = std::pair<IdentifierInfo *, SourceLocation>;
 
 /// One of these records is kept for each identifier that
@@ -89,7 +89,7 @@ public:
   IdentifierInfo(const IdentifierInfo &) = delete;
   IdentifierInfo &operator=(const IdentifierInfo &) = delete;
 
-  /// \brief Return true if this is the identifier for the specified string.
+  /// Return true if this is the identifier for the specified string.
   ///
   /// This is intended to be used for string literals only: II->isStr("foo").
   template <std::size_t StrLen>
@@ -98,13 +98,13 @@ public:
            memcmp(getNameStart(), Str, StrLen-1) == 0;
   }
 
-  /// \brief Return true if this is the identifier for the specified StringRef.
+  /// Return true if this is the identifier for the specified StringRef.
   bool isStr(llvm::StringRef Str) const {
     llvm::StringRef ThisStr(getNameStart(), getLength());
     return ThisStr == Str;
   }
 
-  /// \brief Return the beginning of the actual null-terminated string for this
+  /// Return the beginning of the actual null-terminated string for this
   /// identifier.
   const char *getNameStart() const {
     if (Entry) return Entry->getKeyData();
@@ -118,7 +118,7 @@ public:
     return ((const actualtype*) this)->second;
   }
 
-  /// \brief Efficiently return the length of this identifier info.
+  /// Efficiently return the length of this identifier info.
   unsigned getLength() const {
     if (Entry) return Entry->getKeyLength();
     // FIXME: This is gross. It would be best not to embed specific details
@@ -132,12 +132,12 @@ public:
     return (((unsigned) p[0]) | (((unsigned) p[1]) << 8)) - 1;
   }
 
-  /// \brief Return the actual identifier string.
+  /// Return the actual identifier string.
   StringRef getName() const {
     return StringRef(getNameStart(), getLength());
   }
 
-  /// \brief Return true if this identifier is \#defined to some other value.
+  /// Return true if this identifier is \#defined to some other value.
   /// \note The current definition may be in a module and not currently visible.
   bool hasMacroDefinition() const {
     return HasMacro;
@@ -153,7 +153,7 @@ public:
       RecomputeNeedsHandleIdentifier();
     }
   }
-  /// \brief Returns true if this identifier was \#defined to some value at any
+  /// Returns true if this identifier was \#defined to some value at any
   /// moment. In this case there should be an entry for the identifier in the
   /// macro history table in Preprocessor.
   bool hadMacroDefinition() const {
@@ -165,10 +165,10 @@ public:
   /// tokens.
   tok::TokenKind getTokenID() const { return (tok::TokenKind)TokenID; }
 
-  /// \brief True if revertTokenIDToIdentifier() was called.
+  /// True if revertTokenIDToIdentifier() was called.
   bool hasRevertedTokenIDToIdentifier() const { return RevertedTokenID; }
 
-  /// \brief Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2
+  /// Revert TokenID to tok::identifier; used for GNU libstdc++ 4.2
   /// compatibility.
   ///
   /// TokenID is normally read-only but there are 2 instances where we revert it
@@ -185,12 +185,12 @@ public:
     RevertedTokenID = false;
   }
 
-  /// \brief Return the preprocessor keyword ID for this identifier.
+  /// Return the preprocessor keyword ID for this identifier.
   ///
   /// For example, "define" will return tok::pp_define.
   tok::PPKeywordKind getPPKeywordID() const;
 
-  /// \brief Return the Objective-C keyword ID for the this identifier.
+  /// Return the Objective-C keyword ID for the this identifier.
   ///
   /// For example, 'class' will return tok::objc_class if ObjC is enabled.
   tok::ObjCKeywordKind getObjCKeywordID() const {
@@ -201,19 +201,19 @@ public:
   }
   void setObjCKeywordID(tok::ObjCKeywordKind ID) { ObjCOrBuiltinID = ID; }
 
-  /// \brief True if setNotBuiltin() was called.
+  /// True if setNotBuiltin() was called.
   bool hasRevertedBuiltin() const {
     return ObjCOrBuiltinID == tok::NUM_OBJC_KEYWORDS;
   }
 
-  /// \brief Revert the identifier to a non-builtin identifier. We do this if
+  /// Revert the identifier to a non-builtin identifier. We do this if
   /// the name of a known builtin library function is used to declare that
   /// function, but an unexpected type is specified.
   void revertBuiltin() {
     setBuiltinID(0);
   }
 
-  /// \brief Return a value indicating whether this is a builtin function.
+  /// Return a value indicating whether this is a builtin function.
   ///
   /// 0 is not-built-in. 1+ are specific builtin functions.
   unsigned getBuiltinID() const {
@@ -267,7 +267,7 @@ public:
       RecomputeNeedsHandleIdentifier();
   }
 
-  /// \brief Return true if this token has been poisoned.
+  /// Return true if this token has been poisoned.
   bool isPoisoned() const { return IsPoisoned; }
 
   /// isCPlusPlusOperatorKeyword/setIsCPlusPlusOperatorKeyword controls whether
@@ -277,10 +277,10 @@ public:
   }
   bool isCPlusPlusOperatorKeyword() const { return IsCPPOperatorKeyword; }
 
-  /// \brief Return true if this token is a keyword in the specified language.
+  /// Return true if this token is a keyword in the specified language.
   bool isKeyword(const LangOptions &LangOpts) const;
 
-  /// \brief Return true if this token is a C++ keyword in the specified
+  /// Return true if this token is a C++ keyword in the specified
   /// language.
   bool isCPlusPlusKeyword(const LangOptions &LangOpts) const;
 
@@ -290,48 +290,48 @@ public:
   T *getFETokenInfo() const { return static_cast<T*>(FETokenInfo); }
   void setFETokenInfo(void *T) { FETokenInfo = T; }
 
-  /// \brief Return true if the Preprocessor::HandleIdentifier must be called
+  /// Return true if the Preprocessor::HandleIdentifier must be called
   /// on a token of this identifier.
   ///
   /// If this returns false, we know that HandleIdentifier will not affect
   /// the token.
   bool isHandleIdentifierCase() const { return NeedsHandleIdentifier; }
 
-  /// \brief Return true if the identifier in its current state was loaded
+  /// Return true if the identifier in its current state was loaded
   /// from an AST file.
   bool isFromAST() const { return IsFromAST; }
 
   void setIsFromAST() { IsFromAST = true; }
 
-  /// \brief Determine whether this identifier has changed since it was loaded
+  /// Determine whether this identifier has changed since it was loaded
   /// from an AST file.
   bool hasChangedSinceDeserialization() const {
     return ChangedAfterLoad;
   }
   
-  /// \brief Note that this identifier has changed since it was loaded from
+  /// Note that this identifier has changed since it was loaded from
   /// an AST file.
   void setChangedSinceDeserialization() {
     ChangedAfterLoad = true;
   }
 
-  /// \brief Determine whether the frontend token information for this
+  /// Determine whether the frontend token information for this
   /// identifier has changed since it was loaded from an AST file.
   bool hasFETokenInfoChangedSinceDeserialization() const {
     return FEChangedAfterLoad;
   }
   
-  /// \brief Note that the frontend token information for this identifier has
+  /// Note that the frontend token information for this identifier has
   /// changed since it was loaded from an AST file.
   void setFETokenInfoChangedSinceDeserialization() {
     FEChangedAfterLoad = true;
   }
 
-  /// \brief Determine whether the information for this identifier is out of
+  /// Determine whether the information for this identifier is out of
   /// date with respect to the external source.
   bool isOutOfDate() const { return OutOfDate; }
   
-  /// \brief Set whether the information for this identifier is out of
+  /// Set whether the information for this identifier is out of
   /// date with respect to the external source.
   void setOutOfDate(bool OOD) {
     OutOfDate = OOD;
@@ -341,10 +341,10 @@ public:
       RecomputeNeedsHandleIdentifier();
   }
   
-  /// \brief Determine whether this is the contextual keyword \c import.
+  /// Determine whether this is the contextual keyword \c import.
   bool isModulesImport() const { return IsModulesImport; }
   
-  /// \brief Set whether this identifier is the contextual keyword \c import.
+  /// Set whether this identifier is the contextual keyword \c import.
   void setModulesImport(bool I) {
     IsModulesImport = I;
     if (I)
@@ -366,7 +366,7 @@ public:
     return getName().startswith("<#") && getName().endswith("#>");
   }
 
-  /// \brief Provide less than operator for lexicographical sorting.
+  /// Provide less than operator for lexicographical sorting.
   bool operator<(const IdentifierInfo &RHS) const {
     return getName() < RHS.getName();
   }
@@ -385,7 +385,7 @@ private:
   }
 };
 
-/// \brief An RAII object for [un]poisoning an identifier within a scope.
+/// An RAII object for [un]poisoning an identifier within a scope.
 ///
 /// \p II is allowed to be null, in which case objects of this type have
 /// no effect.
@@ -406,7 +406,7 @@ public:
   }
 };
 
-/// \brief An iterator that walks over all of the known identifiers
+/// An iterator that walks over all of the known identifiers
 /// in the lookup table.
 ///
 /// Since this iterator uses an abstract interface via virtual
@@ -426,7 +426,7 @@ public:
 
   virtual ~IdentifierIterator();
 
-  /// \brief Retrieve the next string in the identifier table and
+  /// Retrieve the next string in the identifier table and
   /// advances the iterator for the following string.
   ///
   /// \returns The next string in the identifier table. If there is
@@ -434,19 +434,19 @@ public:
   virtual StringRef Next() = 0;
 };
 
-/// \brief Provides lookups to, and iteration over, IdentiferInfo objects.
+/// Provides lookups to, and iteration over, IdentiferInfo objects.
 class IdentifierInfoLookup {
 public:
   virtual ~IdentifierInfoLookup();
 
-  /// \brief Return the IdentifierInfo for the specified named identifier.
+  /// Return the IdentifierInfo for the specified named identifier.
   ///
   /// Unlike the version in IdentifierTable, this returns a pointer instead
   /// of a reference.  If the pointer is null then the IdentifierInfo cannot
   /// be found.
   virtual IdentifierInfo* get(StringRef Name) = 0;
 
-  /// \brief Retrieve an iterator into the set of all identifiers
+  /// Retrieve an iterator into the set of all identifiers
   /// known to this identifier lookup source.
   ///
   /// This routine provides access to all of the identifiers known to
@@ -459,7 +459,7 @@ public:
   virtual IdentifierIterator *getIdentifiers();
 };
 
-/// \brief Implements an efficient mapping from strings to IdentifierInfo nodes.
+/// Implements an efficient mapping from strings to IdentifierInfo nodes.
 ///
 /// This has no other purpose, but this is an extremely performance-critical
 /// piece of the code, as each occurrence of every identifier goes through
@@ -473,20 +473,20 @@ class IdentifierTable {
   IdentifierInfoLookup* ExternalLookup;
 
 public:
-  /// \brief Create the identifier table.
+  /// Create the identifier table.
   explicit IdentifierTable(IdentifierInfoLookup *ExternalLookup = nullptr);
 
-  /// \brief Create the identifier table, populating it with info about the
+  /// Create the identifier table, populating it with info about the
   /// language keywords for the language specified by \p LangOpts.
   explicit IdentifierTable(const LangOptions &LangOpts,
                            IdentifierInfoLookup *ExternalLookup = nullptr);
 
-  /// \brief Set the external identifier lookup mechanism.
+  /// Set the external identifier lookup mechanism.
   void setExternalIdentifierLookup(IdentifierInfoLookup *IILookup) {
     ExternalLookup = IILookup;
   }
 
-  /// \brief Retrieve the external identifier lookup object, if any.
+  /// Retrieve the external identifier lookup object, if any.
   IdentifierInfoLookup *getExternalIdentifierLookup() const {
     return ExternalLookup;
   }
@@ -495,7 +495,7 @@ public:
     return HashTable.getAllocator();
   }
 
-  /// \brief Return the identifier token info for the specified named
+  /// Return the identifier token info for the specified named
   /// identifier.
   IdentifierInfo &get(StringRef Name) {
     auto &Entry = *HashTable.insert(std::make_pair(Name, nullptr)).first;
@@ -528,7 +528,7 @@ public:
     return II;
   }
 
-  /// \brief Gets an IdentifierInfo for the given name without consulting
+  /// Gets an IdentifierInfo for the given name without consulting
   ///        external sources.
   ///
   /// This is a version of get() meant for external sources that want to
@@ -563,16 +563,16 @@ public:
   iterator end() const   { return HashTable.end(); }
   unsigned size() const  { return HashTable.size(); }
 
-  /// \brief Print some statistics to stderr that indicate how well the
+  /// Print some statistics to stderr that indicate how well the
   /// hashing is doing.
   void PrintStats() const;
 
-  /// \brief Populate the identifier table with info about the language keywords
+  /// Populate the identifier table with info about the language keywords
   /// for the language specified by \p LangOpts.
   void AddKeywords(const LangOptions &LangOpts);
 };
 
-/// \brief A family of Objective-C methods. 
+/// A family of Objective-C methods. 
 ///
 /// These families have no inherent meaning in the language, but are
 /// nonetheless central enough in the existing implementations to
@@ -590,7 +590,7 @@ public:
 /// explicitly change or remove a method's family.  Therefore the
 /// method's family should be considered the single source of truth.
 enum ObjCMethodFamily {
-  /// \brief No particular method family.
+  /// No particular method family.
   OMF_None,
 
   // Selectors in these families may have arbitrary arity, may be
@@ -622,10 +622,10 @@ enum ObjCMethodFamily {
 /// InvalidObjCMethodFamily.
 enum { ObjCMethodFamilyBitWidth = 4 };
 
-/// \brief An invalid value of ObjCMethodFamily.
+/// An invalid value of ObjCMethodFamily.
 enum { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 };
 
-/// \brief A family of Objective-C methods.
+/// A family of Objective-C methods.
 ///
 /// These are family of methods whose result type is initially 'id', but
 /// but are candidate for the result type to be changed to 'instancetype'.
@@ -644,7 +644,7 @@ enum ObjCStringFormatFamily {
   SFF_CFString
 };
 
-/// \brief Smart pointer class that efficiently represents Objective-C method
+/// Smart pointer class that efficiently represents Objective-C method
 /// names.
 ///
 /// This class will either point to an IdentifierInfo or a
@@ -717,7 +717,7 @@ public:
     return reinterpret_cast<void*>(InfoPtr);
   }
 
-  /// \brief Determine whether this is the empty selector.
+  /// Determine whether this is the empty selector.
   bool isNull() const { return InfoPtr == 0; }
 
   // Predicates to identify the selector type.
@@ -731,7 +731,7 @@ public:
 
   unsigned getNumArgs() const;
   
-  /// \brief Retrieve the identifier at a given position in the selector.
+  /// Retrieve the identifier at a given position in the selector.
   ///
   /// Note that the identifier pointer returned may be NULL. Clients that only
   /// care about the text of the identifier string, and not the specific, 
@@ -746,7 +746,7 @@ public:
   /// no corresponding identifier.
   IdentifierInfo *getIdentifierInfoForSlot(unsigned argIndex) const;
   
-  /// \brief Retrieve the name at a given position in the selector.
+  /// Retrieve the name at a given position in the selector.
   ///
   /// \param argIndex The index for which we want to retrieve the name.
   /// This index shall be less than \c getNumArgs() unless this is a keyword
@@ -756,14 +756,14 @@ public:
   /// name was supplied.
   StringRef getNameForSlot(unsigned argIndex) const;
   
-  /// \brief Derive the full selector name (e.g. "foo:bar:") and return
+  /// Derive the full selector name (e.g. "foo:bar:") and return
   /// it as an std::string.
   std::string getAsString() const;
 
-  /// \brief Prints the full selector name (e.g. "foo:bar:").
+  /// Prints the full selector name (e.g. "foo:bar:").
   void print(llvm::raw_ostream &OS) const;
 
-  /// \brief Derive the conventional family of this method.
+  /// Derive the conventional family of this method.
   ObjCMethodFamily getMethodFamily() const {
     return getMethodFamilyImpl(*this);
   }
@@ -783,7 +783,7 @@ public:
   static ObjCInstanceTypeFamily getInstTypeMethodFamily(Selector sel);
 };
 
-/// \brief This table allows us to fully hide how we implement
+/// This table allows us to fully hide how we implement
 /// multi-keyword caching.
 class SelectorTable {
   // Actually a SelectorTableImpl
@@ -795,7 +795,7 @@ public:
   SelectorTable &operator=(const SelectorTable &) = delete;
   ~SelectorTable();
 
-  /// \brief Can create any sort of selector.
+  /// Can create any sort of selector.
   ///
   /// \p NumArgs indicates whether this is a no argument selector "foo", a
   /// single argument selector "foo:" or multi-argument "foo:bar:".
@@ -809,16 +809,16 @@ public:
     return Selector(ID, 0);
   }
 
-  /// \brief Return the total amount of memory allocated for managing selectors.
+  /// Return the total amount of memory allocated for managing selectors.
   size_t getTotalMemory() const;
 
-  /// \brief Return the default setter name for the given identifier.
+  /// Return the default setter name for the given identifier.
   ///
   /// This is "set" + \p Name where the initial character of \p Name
   /// has been capitalized.
   static SmallString<64> constructSetterName(StringRef Name);
 
-  /// \brief Return the default setter selector for the given identifier.
+  /// Return the default setter selector for the given identifier.
   ///
   /// This is "set" + \p Name where the initial character of \p Name
   /// has been capitalized.

Modified: cfe/trunk/include/clang/Basic/LLVM.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LLVM.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/LLVM.h (original)
+++ cfe/trunk/include/clang/Basic/LLVM.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Forward-declares and imports various common LLVM datatypes that
+/// Forward-declares and imports various common LLVM datatypes that
 /// clang wants to use unqualified.
 ///
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/include/clang/Basic/Lambda.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Lambda.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Lambda.h (original)
+++ cfe/trunk/include/clang/Basic/Lambda.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines several types used to describe C++ lambda expressions
+/// Defines several types used to describe C++ lambda expressions
 /// that are shared between the parser and AST.
 ///
 //===----------------------------------------------------------------------===//
@@ -19,14 +19,14 @@
 
 namespace clang {
 
-/// \brief The default, if any, capture method for a lambda expression.
+/// The default, if any, capture method for a lambda expression.
 enum LambdaCaptureDefault {
   LCD_None,
   LCD_ByCopy,
   LCD_ByRef
 };
 
-/// \brief The different capture forms in a lambda introducer
+/// The different capture forms in a lambda introducer
 ///
 /// C++11 allows capture of \c this, or of local variables by copy or
 /// by reference.  C++1y also allows "init-capture", where the initializer

Modified: cfe/trunk/include/clang/Basic/LangOptions.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.def?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/LangOptions.def (original)
+++ cfe/trunk/include/clang/Basic/LangOptions.def Tue May  8 18:00:01 2018
@@ -233,7 +233,7 @@ BENIGN_LANGOPT(DebuggerObjCLiteral , 1,
 BENIGN_LANGOPT(SpellChecking , 1, 1, "spell-checking")
 LANGOPT(SinglePrecisionConstants , 1, 0, "treating double-precision floating point constants as single precision constants")
 LANGOPT(FastRelaxedMath , 1, 0, "OpenCL fast relaxed math")
-/// \brief FP_CONTRACT mode (on/off/fast).
+/// FP_CONTRACT mode (on/off/fast).
 ENUM_LANGOPT(DefaultFPContractMode, FPContractModeKind, 2, FPC_Off, "FP contraction type")
 LANGOPT(NoBitFieldTypeAlign , 1, 0, "bit-field type alignment")
 LANGOPT(HexagonQdsp6Compat , 1, 0, "hexagon-qdsp6 backward compatibility")

Modified: cfe/trunk/include/clang/Basic/LangOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/LangOptions.h (original)
+++ cfe/trunk/include/clang/Basic/LangOptions.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::LangOptions interface.
+/// Defines the clang::LangOptions interface.
 //
 //===----------------------------------------------------------------------===//
 
@@ -45,7 +45,7 @@ protected:
 #include "clang/Basic/LangOptions.def"
 };
 
-/// \brief Keeps track of the various options that can be
+/// Keeps track of the various options that can be
 /// enabled, which controls the dialect of C or C++ that is accepted.
 class LangOptions : public LangOptionsBase {
 public:
@@ -138,26 +138,26 @@ public:
   };
 
 public:
-  /// \brief Set of enabled sanitizers.
+  /// Set of enabled sanitizers.
   SanitizerSet Sanitize;
 
-  /// \brief Paths to blacklist files specifying which objects
+  /// Paths to blacklist files specifying which objects
   /// (files, functions, variables) should not be instrumented.
   std::vector<std::string> SanitizerBlacklistFiles;
 
-  /// \brief Paths to the XRay "always instrument" files specifying which
+  /// Paths to the XRay "always instrument" files specifying which
   /// objects (files, functions, variables) should be imbued with the XRay
   /// "always instrument" attribute.
   /// WARNING: This is a deprecated field and will go away in the future.
   std::vector<std::string> XRayAlwaysInstrumentFiles;
 
-  /// \brief Paths to the XRay "never instrument" files specifying which
+  /// Paths to the XRay "never instrument" files specifying which
   /// objects (files, functions, variables) should be imbued with the XRay
   /// "never instrument" attribute.
   /// WARNING: This is a deprecated field and will go away in the future.
   std::vector<std::string> XRayNeverInstrumentFiles;
 
-  /// \brief Paths to the XRay attribute list files, specifying which objects
+  /// Paths to the XRay attribute list files, specifying which objects
   /// (files, functions, variables) should be imbued with the appropriate XRay
   /// attribute(s).
   std::vector<std::string> XRayAttrListFiles;
@@ -166,7 +166,7 @@ public:
 
   std::string ObjCConstantStringClass;
   
-  /// \brief The name of the handler function to be called when -ftrapv is
+  /// The name of the handler function to be called when -ftrapv is
   /// specified.
   ///
   /// If none is specified, abort (GCC-compatible behaviour).
@@ -175,34 +175,34 @@ public:
   /// The module currently being compiled as speficied by -fmodule-name.
   std::string ModuleName;
 
-  /// \brief The name of the current module, of which the main source file
+  /// The name of the current module, of which the main source file
   /// is a part. If CompilingModule is set, we are compiling the interface
   /// of this module, otherwise we are compiling an implementation file of
   /// it. This starts as ModuleName in case -fmodule-name is provided and
   /// changes during compilation to reflect the current module.
   std::string CurrentModule;
 
-  /// \brief The names of any features to enable in module 'requires' decls
+  /// The names of any features to enable in module 'requires' decls
   /// in addition to the hard-coded list in Module.cpp and the target features.
   ///
   /// This list is sorted.
   std::vector<std::string> ModuleFeatures;
 
-  /// \brief Options for parsing comments.
+  /// Options for parsing comments.
   CommentOptions CommentOpts;
 
-  /// \brief A list of all -fno-builtin-* function names (e.g., memset).
+  /// A list of all -fno-builtin-* function names (e.g., memset).
   std::vector<std::string> NoBuiltinFuncs;
 
-  /// \brief Triples of the OpenMP targets that the host code codegen should
+  /// Triples of the OpenMP targets that the host code codegen should
   /// take into account in order to generate accurate offloading descriptors.
   std::vector<llvm::Triple> OMPTargetTriples;
 
-  /// \brief Name of the IR file that contains the result of the OpenMP target
+  /// Name of the IR file that contains the result of the OpenMP target
   /// host code generation.
   std::string OMPHostIRFile;
 
-  /// \brief Indicates whether the front-end is explicitly told that the
+  /// Indicates whether the front-end is explicitly told that the
   /// input is a header file (i.e. -x c-header).
   bool IsHeaderFile = false;
 
@@ -238,15 +238,15 @@ public:
     return MSCompatibilityVersion >= MajorVersion * 10000000U;
   }
 
-  /// \brief Reset all of the options that are not considered when building a
+  /// Reset all of the options that are not considered when building a
   /// module.
   void resetNonModularOptions();
 
-  /// \brief Is this a libc/libm function that is no longer recognized as a
+  /// Is this a libc/libm function that is no longer recognized as a
   /// builtin because a -fno-builtin-* option has been specified?
   bool isNoBuiltinFunc(StringRef Name) const;
 
-  /// \brief True if any ObjC types may have non-trivial lifetime qualifiers.
+  /// True if any ObjC types may have non-trivial lifetime qualifiers.
   bool allowsNonTrivialObjCLifetimeQualifiers() const {
     return ObjCAutoRefCount || ObjCWeak;
   }
@@ -255,11 +255,11 @@ public:
     return (CUDA && CUDAIsDevice) || OpenCL;
   }
 
-  /// \brief Return the OpenCL C or C++ version as a VersionTuple.
+  /// Return the OpenCL C or C++ version as a VersionTuple.
   VersionTuple getOpenCLVersionTuple() const;
 };
 
-/// \brief Floating point control options
+/// Floating point control options
 class FPOptions {
 public:
   FPOptions() : fp_contract(LangOptions::FPC_Off) {}
@@ -297,16 +297,16 @@ private:
   unsigned fp_contract : 2;
 };
 
-/// \brief Describes the kind of translation unit being processed.
+/// Describes the kind of translation unit being processed.
 enum TranslationUnitKind {
-  /// \brief The translation unit is a complete translation unit.
+  /// The translation unit is a complete translation unit.
   TU_Complete,
 
-  /// \brief The translation unit is a prefix to a translation unit, and is
+  /// The translation unit is a prefix to a translation unit, and is
   /// not complete.
   TU_Prefix,
 
-  /// \brief The translation unit is a module.
+  /// The translation unit is a module.
   TU_Module
 };
   

Modified: cfe/trunk/include/clang/Basic/Linkage.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Linkage.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Linkage.h (original)
+++ cfe/trunk/include/clang/Basic/Linkage.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the Linkage enumeration and various utility functions.
+/// Defines the Linkage enumeration and various utility functions.
 //
 //===----------------------------------------------------------------------===//
 
@@ -19,19 +19,19 @@
 
 namespace clang {
 
-/// \brief Describes the different kinds of linkage 
+/// Describes the different kinds of linkage 
 /// (C++ [basic.link], C99 6.2.2) that an entity may have.
 enum Linkage : unsigned char {
-  /// \brief No linkage, which means that the entity is unique and
+  /// No linkage, which means that the entity is unique and
   /// can only be referred to from within its scope.
   NoLinkage = 0,
 
-  /// \brief Internal linkage, which indicates that the entity can
+  /// Internal linkage, which indicates that the entity can
   /// be referred to from within the translation unit (but not other
   /// translation units).
   InternalLinkage,
 
-  /// \brief External linkage within a unique namespace. 
+  /// External linkage within a unique namespace. 
   ///
   /// From the language perspective, these entities have external
   /// linkage. However, since they reside in an anonymous namespace,
@@ -40,27 +40,27 @@ enum Linkage : unsigned char {
   /// point of view.
   UniqueExternalLinkage,
 
-  /// \brief No linkage according to the standard, but is visible from other
+  /// No linkage according to the standard, but is visible from other
   /// translation units because of types defined in a inline function.
   VisibleNoLinkage,
 
-  /// \brief Internal linkage according to the Modules TS, but can be referred
+  /// Internal linkage according to the Modules TS, but can be referred
   /// to from other translation units indirectly through inline functions and
   /// templates in the module interface.
   ModuleInternalLinkage,
 
-  /// \brief Module linkage, which indicates that the entity can be referred
+  /// Module linkage, which indicates that the entity can be referred
   /// to from other translation units within the same module, and indirectly
   /// from arbitrary other translation units through inline functions and
   /// templates in the module interface.
   ModuleLinkage,
 
-  /// \brief External linkage, which indicates that the entity can
+  /// External linkage, which indicates that the entity can
   /// be referred to from other translation units.
   ExternalLinkage
 };
 
-/// \brief Describes the different kinds of language linkage
+/// Describes the different kinds of language linkage
 /// (C++ [dcl.link]) that an entity may have.
 enum LanguageLinkage {
   CLanguageLinkage,
@@ -68,7 +68,7 @@ enum LanguageLinkage {
   NoLanguageLinkage
 };
 
-/// \brief A more specific kind of linkage than enum Linkage.
+/// A more specific kind of linkage than enum Linkage.
 ///
 /// This is relevant to CodeGen and AST file reading.
 enum GVALinkage {
@@ -104,7 +104,7 @@ inline bool isExternalFormalLinkage(Link
   return getFormalLinkage(L) == ExternalLinkage;
 }
 
-/// \brief Compute the minimum linkage given two linkages.
+/// Compute the minimum linkage given two linkages.
 ///
 /// The linkage can be interpreted as a pair formed by the formal linkage and
 /// a boolean for external visibility. This is just what getFormalLinkage and

Modified: cfe/trunk/include/clang/Basic/MacroBuilder.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/MacroBuilder.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/MacroBuilder.h (original)
+++ cfe/trunk/include/clang/Basic/MacroBuilder.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::MacroBuilder utility class.
+/// Defines the clang::MacroBuilder utility class.
 ///
 //===----------------------------------------------------------------------===//
 

Modified: cfe/trunk/include/clang/Basic/Module.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Module.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Module.h (original)
+++ cfe/trunk/include/clang/Basic/Module.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::Module class, which describes a module in the
+/// Defines the clang::Module class, which describes a module in the
 /// source code.
 //
 //===----------------------------------------------------------------------===//
@@ -48,7 +48,7 @@ namespace clang {
 class LangOptions;
 class TargetInfo;
 
-/// \brief Describes the name of a module.
+/// Describes the name of a module.
 using ModuleId = SmallVector<std::pair<std::string, SourceLocation>, 2>;
 
 /// The signature of a module, which is a hash of the AST content.
@@ -61,76 +61,76 @@ struct ASTFileSignature : std::array<uin
   }
 };
 
-/// \brief Describes a module or submodule.
+/// Describes a module or submodule.
 class Module {
 public:
-  /// \brief The name of this module.
+  /// The name of this module.
   std::string Name;
   
-  /// \brief The location of the module definition.
+  /// The location of the module definition.
   SourceLocation DefinitionLoc;
 
   enum ModuleKind {
-    /// \brief This is a module that was defined by a module map and built out
+    /// This is a module that was defined by a module map and built out
     /// of header files.
     ModuleMapModule,
 
-    /// \brief This is a C++ Modules TS module interface unit.
+    /// This is a C++ Modules TS module interface unit.
     ModuleInterfaceUnit,
 
-    /// \brief This is a fragment of the global module within some C++ Modules
+    /// This is a fragment of the global module within some C++ Modules
     /// TS module.
     GlobalModuleFragment,
   };
 
-  /// \brief The kind of this module.
+  /// The kind of this module.
   ModuleKind Kind = ModuleMapModule;
 
-  /// \brief The parent of this module. This will be NULL for the top-level
+  /// The parent of this module. This will be NULL for the top-level
   /// module.
   Module *Parent;
 
-  /// \brief The build directory of this module. This is the directory in
+  /// The build directory of this module. This is the directory in
   /// which the module is notionally built, and relative to which its headers
   /// are found.
   const DirectoryEntry *Directory = nullptr;
 
-  /// \brief The presumed file name for the module map defining this module.
+  /// The presumed file name for the module map defining this module.
   /// Only non-empty when building from preprocessed source.
   std::string PresumedModuleMapFile;
 
-  /// \brief The umbrella header or directory.
+  /// The umbrella header or directory.
   llvm::PointerUnion<const DirectoryEntry *, const FileEntry *> Umbrella;
 
-  /// \brief The module signature.
+  /// The module signature.
   ASTFileSignature Signature;
 
-  /// \brief The name of the umbrella entry, as written in the module map.
+  /// The name of the umbrella entry, as written in the module map.
   std::string UmbrellaAsWritten;
 
-  /// \brief The module through which entities defined in this module will
+  /// The module through which entities defined in this module will
   /// eventually be exposed, for use in "private" modules.
   std::string ExportAsModule;
   
 private:
-  /// \brief The submodules of this module, indexed by name.
+  /// The submodules of this module, indexed by name.
   std::vector<Module *> SubModules;
   
-  /// \brief A mapping from the submodule name to the index into the 
+  /// A mapping from the submodule name to the index into the 
   /// \c SubModules vector at which that submodule resides.
   llvm::StringMap<unsigned> SubModuleIndex;
 
-  /// \brief The AST file if this is a top-level module which has a
+  /// The AST file if this is a top-level module which has a
   /// corresponding serialized AST file, or null otherwise.
   const FileEntry *ASTFile = nullptr;
 
-  /// \brief The top-level headers associated with this module.
+  /// The top-level headers associated with this module.
   llvm::SmallSetVector<const FileEntry *, 2> TopHeaders;
 
-  /// \brief top-level header filenames that aren't resolved to FileEntries yet.
+  /// top-level header filenames that aren't resolved to FileEntries yet.
   std::vector<std::string> TopHeaderNames;
 
-  /// \brief Cache of modules visible to lookup in this module.
+  /// Cache of modules visible to lookup in this module.
   mutable llvm::DenseSet<const Module*> VisibleModulesCache;
 
   /// The ID used when referencing this module within a VisibleModuleSet.
@@ -146,7 +146,7 @@ public:
   };
   static const int NumHeaderKinds = HK_Excluded + 1;
 
-  /// \brief Information about a header directive as found in the module map
+  /// Information about a header directive as found in the module map
   /// file.
   struct Header {
     std::string NameAsWritten;
@@ -155,7 +155,7 @@ public:
     explicit operator bool() { return Entry; }
   };
 
-  /// \brief Information about a directory name as found in the module map
+  /// Information about a directory name as found in the module map
   /// file.
   struct DirectoryName {
     std::string NameAsWritten;
@@ -164,10 +164,10 @@ public:
     explicit operator bool() { return Entry; }
   };
 
-  /// \brief The headers that are part of this module.
+  /// The headers that are part of this module.
   SmallVector<Header, 2> Headers[5];
 
-  /// \brief Stored information about a header directive that was found in the
+  /// Stored information about a header directive that was found in the
   /// module map file but has not been resolved to a file.
   struct UnresolvedHeaderDirective {
     HeaderKind Kind = HK_Normal;
@@ -183,155 +183,155 @@ public:
   /// yet attempted to resolve to a file on the file system.
   SmallVector<UnresolvedHeaderDirective, 1> UnresolvedHeaders;
 
-  /// \brief Headers that are mentioned in the module map file but could not be
+  /// Headers that are mentioned in the module map file but could not be
   /// found on the file system.
   SmallVector<UnresolvedHeaderDirective, 1> MissingHeaders;
 
-  /// \brief An individual requirement: a feature name and a flag indicating
+  /// An individual requirement: a feature name and a flag indicating
   /// the required state of that feature.
   using Requirement = std::pair<std::string, bool>;
 
-  /// \brief The set of language features required to use this module.
+  /// The set of language features required to use this module.
   ///
   /// If any of these requirements are not available, the \c IsAvailable bit
   /// will be false to indicate that this (sub)module is not available.
   SmallVector<Requirement, 2> Requirements;
 
-  /// \brief A module with the same name that shadows this module.
+  /// A module with the same name that shadows this module.
   Module *ShadowingModule = nullptr;
 
-  /// \brief Whether this module is missing a feature from \c Requirements.
+  /// Whether this module is missing a feature from \c Requirements.
   unsigned IsMissingRequirement : 1;
 
-  /// \brief Whether we tried and failed to load a module file for this module.
+  /// Whether we tried and failed to load a module file for this module.
   unsigned HasIncompatibleModuleFile : 1;
 
-  /// \brief Whether this module is available in the current translation unit.
+  /// Whether this module is available in the current translation unit.
   ///
   /// If the module is missing headers or does not meet all requirements then
   /// this bit will be 0.
   unsigned IsAvailable : 1;
 
-  /// \brief Whether this module was loaded from a module file.
+  /// Whether this module was loaded from a module file.
   unsigned IsFromModuleFile : 1;
   
-  /// \brief Whether this is a framework module.
+  /// Whether this is a framework module.
   unsigned IsFramework : 1;
   
-  /// \brief Whether this is an explicit submodule.
+  /// Whether this is an explicit submodule.
   unsigned IsExplicit : 1;
   
-  /// \brief Whether this is a "system" module (which assumes that all
+  /// Whether this is a "system" module (which assumes that all
   /// headers in it are system headers).
   unsigned IsSystem : 1;
 
-  /// \brief Whether this is an 'extern "C"' module (which implicitly puts all
+  /// Whether this is an 'extern "C"' module (which implicitly puts all
   /// headers in it within an 'extern "C"' block, and allows the module to be
   /// imported within such a block).
   unsigned IsExternC : 1;
 
-  /// \brief Whether this is an inferred submodule (module * { ... }).
+  /// Whether this is an inferred submodule (module * { ... }).
   unsigned IsInferred : 1;
 
-  /// \brief Whether we should infer submodules for this module based on 
+  /// Whether we should infer submodules for this module based on 
   /// the headers.
   ///
   /// Submodules can only be inferred for modules with an umbrella header.
   unsigned InferSubmodules : 1;
   
-  /// \brief Whether, when inferring submodules, the inferred submodules
+  /// Whether, when inferring submodules, the inferred submodules
   /// should be explicit.
   unsigned InferExplicitSubmodules : 1;
   
-  /// \brief Whether, when inferring submodules, the inferr submodules should
+  /// Whether, when inferring submodules, the inferr submodules should
   /// export all modules they import (e.g., the equivalent of "export *").
   unsigned InferExportWildcard : 1;
 
-  /// \brief Whether the set of configuration macros is exhaustive.
+  /// Whether the set of configuration macros is exhaustive.
   ///
   /// When the set of configuration macros is exhaustive, meaning
   /// that no identifier not in this list should affect how the module is
   /// built.
   unsigned ConfigMacrosExhaustive : 1;
 
-  /// \brief Whether files in this module can only include non-modular headers
+  /// Whether files in this module can only include non-modular headers
   /// and headers from used modules.
   unsigned NoUndeclaredIncludes : 1;
 
-  /// \brief Whether this module came from a "private" module map, found next
+  /// Whether this module came from a "private" module map, found next
   /// to a regular (public) module map.
   unsigned ModuleMapIsPrivate : 1;
 
-  /// \brief Describes the visibility of the various names within a
+  /// Describes the visibility of the various names within a
   /// particular module.
   enum NameVisibilityKind {
-    /// \brief All of the names in this module are hidden.
+    /// All of the names in this module are hidden.
     Hidden,
-    /// \brief All of the names in this module are visible.
+    /// All of the names in this module are visible.
     AllVisible
   };
 
-  /// \brief The visibility of names within this particular module.
+  /// The visibility of names within this particular module.
   NameVisibilityKind NameVisibility;
 
-  /// \brief The location of the inferred submodule.
+  /// The location of the inferred submodule.
   SourceLocation InferredSubmoduleLoc;
 
-  /// \brief The set of modules imported by this module, and on which this
+  /// The set of modules imported by this module, and on which this
   /// module depends.
   llvm::SmallSetVector<Module *, 2> Imports;
   
-  /// \brief Describes an exported module.
+  /// Describes an exported module.
   ///
   /// The pointer is the module being re-exported, while the bit will be true
   /// to indicate that this is a wildcard export.
   using ExportDecl = llvm::PointerIntPair<Module *, 1, bool>;
   
-  /// \brief The set of export declarations.
+  /// The set of export declarations.
   SmallVector<ExportDecl, 2> Exports;
   
-  /// \brief Describes an exported module that has not yet been resolved
+  /// Describes an exported module that has not yet been resolved
   /// (perhaps because the module it refers to has not yet been loaded).
   struct UnresolvedExportDecl {
-    /// \brief The location of the 'export' keyword in the module map file.
+    /// The location of the 'export' keyword in the module map file.
     SourceLocation ExportLoc;
     
-    /// \brief The name of the module.
+    /// The name of the module.
     ModuleId Id;
     
-    /// \brief Whether this export declaration ends in a wildcard, indicating
+    /// Whether this export declaration ends in a wildcard, indicating
     /// that all of its submodules should be exported (rather than the named
     /// module itself).
     bool Wildcard;
   };
   
-  /// \brief The set of export declarations that have yet to be resolved.
+  /// The set of export declarations that have yet to be resolved.
   SmallVector<UnresolvedExportDecl, 2> UnresolvedExports;
 
-  /// \brief The directly used modules.
+  /// The directly used modules.
   SmallVector<Module *, 2> DirectUses;
 
-  /// \brief The set of use declarations that have yet to be resolved.
+  /// The set of use declarations that have yet to be resolved.
   SmallVector<ModuleId, 2> UnresolvedDirectUses;
 
-  /// \brief A library or framework to link against when an entity from this
+  /// A library or framework to link against when an entity from this
   /// module is used.
   struct LinkLibrary {
     LinkLibrary() = default;
     LinkLibrary(const std::string &Library, bool IsFramework)
         : Library(Library), IsFramework(IsFramework) {}
     
-    /// \brief The library to link against.
+    /// The library to link against.
     ///
     /// This will typically be a library or framework name, but can also
     /// be an absolute path to the library or framework.
     std::string Library;
 
-    /// \brief Whether this is a framework rather than a library.
+    /// Whether this is a framework rather than a library.
     bool IsFramework = false;
   };
 
-  /// \brief The set of libraries or frameworks to link against when
+  /// The set of libraries or frameworks to link against when
   /// an entity from this module is used.
   llvm::SmallVector<LinkLibrary, 2> LinkLibraries;
 
@@ -339,46 +339,46 @@ public:
   /// when this is false and the export_as name otherwise.
   bool UseExportAsModuleLinkName = false;
 
-  /// \brief The set of "configuration macros", which are macros that
+  /// The set of "configuration macros", which are macros that
   /// (intentionally) change how this module is built.
   std::vector<std::string> ConfigMacros;
 
-  /// \brief An unresolved conflict with another module.
+  /// An unresolved conflict with another module.
   struct UnresolvedConflict {
-    /// \brief The (unresolved) module id.
+    /// The (unresolved) module id.
     ModuleId Id;
 
-    /// \brief The message provided to the user when there is a conflict.
+    /// The message provided to the user when there is a conflict.
     std::string Message;
   };
 
-  /// \brief The list of conflicts for which the module-id has not yet been
+  /// The list of conflicts for which the module-id has not yet been
   /// resolved.
   std::vector<UnresolvedConflict> UnresolvedConflicts;
 
-  /// \brief A conflict between two modules.
+  /// A conflict between two modules.
   struct Conflict {
-    /// \brief The module that this module conflicts with.
+    /// The module that this module conflicts with.
     Module *Other;
 
-    /// \brief The message provided to the user when there is a conflict.
+    /// The message provided to the user when there is a conflict.
     std::string Message;
   };
 
-  /// \brief The list of conflicts.
+  /// The list of conflicts.
   std::vector<Conflict> Conflicts;
 
-  /// \brief Construct a new module or submodule.
+  /// Construct a new module or submodule.
   Module(StringRef Name, SourceLocation DefinitionLoc, Module *Parent,
          bool IsFramework, bool IsExplicit, unsigned VisibilityID);
   
   ~Module();
   
-  /// \brief Determine whether this module is available for use within the
+  /// Determine whether this module is available for use within the
   /// current translation unit.
   bool isAvailable() const { return IsAvailable; }
 
-  /// \brief Determine whether this module is available for use within the
+  /// Determine whether this module is available for use within the
   /// current translation unit.
   ///
   /// \param LangOpts The language options used for the current
@@ -401,14 +401,14 @@ public:
                    UnresolvedHeaderDirective &MissingHeader,
                    Module *&ShadowingModule) const;
 
-  /// \brief Determine whether this module is a submodule.
+  /// Determine whether this module is a submodule.
   bool isSubModule() const { return Parent != nullptr; }
   
-  /// \brief Determine whether this module is a submodule of the given other
+  /// Determine whether this module is a submodule of the given other
   /// module.
   bool isSubModuleOf(const Module *Other) const;
   
-  /// \brief Determine whether this module is a part of a framework,
+  /// Determine whether this module is a part of a framework,
   /// either because it is a framework module or because it is a submodule
   /// of a framework module.
   bool isPartOfFramework() const {
@@ -419,7 +419,7 @@ public:
     return false;
   }
 
-  /// \brief Determine whether this module is a subframework of another
+  /// Determine whether this module is a subframework of another
   /// framework.
   bool isSubFramework() const {
     return IsFramework && Parent && Parent->isPartOfFramework();
@@ -434,51 +434,51 @@ public:
     Parent->SubModules.push_back(this);
   }
 
-  /// \brief Retrieve the full name of this module, including the path from
+  /// Retrieve the full name of this module, including the path from
   /// its top-level module.
   /// \param AllowStringLiterals If \c true, components that might not be
   ///        lexically valid as identifiers will be emitted as string literals.
   std::string getFullModuleName(bool AllowStringLiterals = false) const;
 
-  /// \brief Whether the full name of this module is equal to joining
+  /// Whether the full name of this module is equal to joining
   /// \p nameParts with "."s.
   ///
   /// This is more efficient than getFullModuleName().
   bool fullModuleNameIs(ArrayRef<StringRef> nameParts) const;
 
-  /// \brief Retrieve the top-level module for this (sub)module, which may
+  /// Retrieve the top-level module for this (sub)module, which may
   /// be this module.
   Module *getTopLevelModule() {
     return const_cast<Module *>(
              const_cast<const Module *>(this)->getTopLevelModule());
   }
 
-  /// \brief Retrieve the top-level module for this (sub)module, which may
+  /// Retrieve the top-level module for this (sub)module, which may
   /// be this module.
   const Module *getTopLevelModule() const;
   
-  /// \brief Retrieve the name of the top-level module.
+  /// Retrieve the name of the top-level module.
   StringRef getTopLevelModuleName() const {
     return getTopLevelModule()->Name;
   }
 
-  /// \brief The serialized AST file for this module, if one was created.
+  /// The serialized AST file for this module, if one was created.
   const FileEntry *getASTFile() const {
     return getTopLevelModule()->ASTFile;
   }
 
-  /// \brief Set the serialized AST file for the top-level module of this module.
+  /// Set the serialized AST file for the top-level module of this module.
   void setASTFile(const FileEntry *File) {
     assert((File == nullptr || getASTFile() == nullptr ||
             getASTFile() == File) && "file path changed");
     getTopLevelModule()->ASTFile = File;
   }
 
-  /// \brief Retrieve the directory for which this module serves as the
+  /// Retrieve the directory for which this module serves as the
   /// umbrella.
   DirectoryName getUmbrellaDir() const;
 
-  /// \brief Retrieve the header that serves as the umbrella header for this
+  /// Retrieve the header that serves as the umbrella header for this
   /// module.
   Header getUmbrellaHeader() const {
     if (auto *E = Umbrella.dyn_cast<const FileEntry *>())
@@ -486,31 +486,31 @@ public:
     return Header{};
   }
 
-  /// \brief Determine whether this module has an umbrella directory that is
+  /// Determine whether this module has an umbrella directory that is
   /// not based on an umbrella header.
   bool hasUmbrellaDir() const {
     return Umbrella && Umbrella.is<const DirectoryEntry *>();
   }
 
-  /// \brief Add a top-level header associated with this module.
+  /// Add a top-level header associated with this module.
   void addTopHeader(const FileEntry *File) {
     assert(File);
     TopHeaders.insert(File);
   }
 
-  /// \brief Add a top-level header filename associated with this module.
+  /// Add a top-level header filename associated with this module.
   void addTopHeaderFilename(StringRef Filename) {
     TopHeaderNames.push_back(Filename);
   }
 
-  /// \brief The top-level headers associated with this module.
+  /// The top-level headers associated with this module.
   ArrayRef<const FileEntry *> getTopHeaders(FileManager &FileMgr);
 
-  /// \brief Determine whether this module has declared its intention to
+  /// Determine whether this module has declared its intention to
   /// directly use another module.
   bool directlyUses(const Module *Requested) const;
 
-  /// \brief Add the given feature requirement to the list of features
+  /// Add the given feature requirement to the list of features
   /// required by this module.
   ///
   /// \param Feature The feature that is required by this module (and
@@ -528,15 +528,15 @@ public:
                       const LangOptions &LangOpts,
                       const TargetInfo &Target);
 
-  /// \brief Mark this module and all of its submodules as unavailable.
+  /// Mark this module and all of its submodules as unavailable.
   void markUnavailable(bool MissingRequirement = false);
 
-  /// \brief Find the submodule with the given name.
+  /// Find the submodule with the given name.
   ///
   /// \returns The submodule if found, or NULL otherwise.
   Module *findSubmodule(StringRef Name) const;
 
-  /// \brief Determine whether the specified module would be visible to
+  /// Determine whether the specified module would be visible to
   /// a lookup at the end of this module.
   ///
   /// FIXME: This may return incorrect results for (submodules of) the
@@ -565,7 +565,7 @@ public:
     return llvm::make_range(submodule_begin(), submodule_end());
   }
 
-  /// \brief Appends this module's list of exported modules to \p Exported.
+  /// Appends this module's list of exported modules to \p Exported.
   ///
   /// This provides a subset of immediately imported modules (the ones that are
   /// directly exported), not the complete set of exported modules.
@@ -575,17 +575,17 @@ public:
     return "<module-includes>";
   }
 
-  /// \brief Print the module map for this module to the given stream. 
+  /// Print the module map for this module to the given stream. 
   void print(raw_ostream &OS, unsigned Indent = 0) const;
   
-  /// \brief Dump the contents of this module to the given output stream.
+  /// Dump the contents of this module to the given output stream.
   void dump() const;
 
 private:
   void buildVisibleModulesCache() const;
 };
 
-/// \brief A set of visible modules.
+/// A set of visible modules.
 class VisibleModuleSet {
 public:
   VisibleModuleSet() = default;
@@ -605,34 +605,34 @@ public:
     return *this;
   }
 
-  /// \brief Get the current visibility generation. Incremented each time the
+  /// Get the current visibility generation. Incremented each time the
   /// set of visible modules changes in any way.
   unsigned getGeneration() const { return Generation; }
 
-  /// \brief Determine whether a module is visible.
+  /// Determine whether a module is visible.
   bool isVisible(const Module *M) const {
     return getImportLoc(M).isValid();
   }
 
-  /// \brief Get the location at which the import of a module was triggered.
+  /// Get the location at which the import of a module was triggered.
   SourceLocation getImportLoc(const Module *M) const {
     return M->getVisibilityID() < ImportLocs.size()
                ? ImportLocs[M->getVisibilityID()]
                : SourceLocation();
   }
 
-  /// \brief A callback to call when a module is made visible (directly or
+  /// A callback to call when a module is made visible (directly or
   /// indirectly) by a call to \ref setVisible.
   using VisibleCallback = llvm::function_ref<void(Module *M)>;
 
-  /// \brief A callback to call when a module conflict is found. \p Path
+  /// A callback to call when a module conflict is found. \p Path
   /// consists of a sequence of modules from the conflicting module to the one
   /// made visible, where each was exported by the next.
   using ConflictCallback =
       llvm::function_ref<void(ArrayRef<Module *> Path, Module *Conflict,
                          StringRef Message)>;
 
-  /// \brief Make a specific module visible.
+  /// Make a specific module visible.
   void setVisible(Module *M, SourceLocation Loc,
                   VisibleCallback Vis = [](Module *) {},
                   ConflictCallback Cb = [](ArrayRef<Module *>, Module *,

Modified: cfe/trunk/include/clang/Basic/ObjCRuntime.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ObjCRuntime.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/ObjCRuntime.h (original)
+++ cfe/trunk/include/clang/Basic/ObjCRuntime.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines types useful for describing an Objective-C runtime.
+/// Defines types useful for describing an Objective-C runtime.
 //
 //===----------------------------------------------------------------------===//
 
@@ -24,10 +24,10 @@
 
 namespace clang {
 
-/// \brief The basic abstraction for the target Objective-C runtime.
+/// The basic abstraction for the target Objective-C runtime.
 class ObjCRuntime {
 public:
-  /// \brief The basic Objective-C runtimes that we know about.
+  /// The basic Objective-C runtimes that we know about.
   enum Kind {
     /// 'macosx' is the Apple-provided NeXT-derived runtime on Mac OS
     /// X platforms that use the non-fragile ABI; the version is a
@@ -77,7 +77,7 @@ public:
   Kind getKind() const { return TheKind; }
   const VersionTuple &getVersion() const { return Version; }
 
-  /// \brief Does this runtime follow the set of implied behaviors for a
+  /// Does this runtime follow the set of implied behaviors for a
   /// "non-fragile" ABI?
   bool isNonFragile() const {
     switch (getKind()) {
@@ -115,7 +115,7 @@ public:
     return true;
   }
 
-  /// \brief Is this runtime basically of the GNU family of runtimes?
+  /// Is this runtime basically of the GNU family of runtimes?
   bool isGNUFamily() const {
     switch (getKind()) {
     case FragileMacOSX:
@@ -131,14 +131,14 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Is this runtime basically of the NeXT family of runtimes?
+  /// Is this runtime basically of the NeXT family of runtimes?
   bool isNeXTFamily() const {
     // For now, this is just the inverse of isGNUFamily(), but that's
     // not inherently true.
     return !isGNUFamily();
   }
 
-  /// \brief Does this runtime allow ARC at all?
+  /// Does this runtime allow ARC at all?
   bool allowsARC() const {
     switch (getKind()) {
     case FragileMacOSX:
@@ -154,7 +154,7 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Does this runtime natively provide the ARC entrypoints? 
+  /// Does this runtime natively provide the ARC entrypoints? 
   ///
   /// ARC cannot be directly supported on a platform that does not provide
   /// these entrypoints, although it may be supportable via a stub
@@ -173,7 +173,7 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Does this runtime supports optimized setter entrypoints?
+  /// Does this runtime supports optimized setter entrypoints?
   bool hasOptimizedSetter() const {
     switch (getKind()) {
       case MacOSX:
@@ -194,7 +194,7 @@ public:
     return hasNativeWeak();
   }
 
-  /// \brief Does this runtime natively provide ARC-compliant 'weak'
+  /// Does this runtime natively provide ARC-compliant 'weak'
   /// entrypoints?
   bool hasNativeWeak() const {
     // Right now, this is always equivalent to whether the runtime
@@ -202,7 +202,7 @@ public:
     return hasNativeARC();
   }
 
-  /// \brief Does this runtime directly support the subscripting methods?
+  /// Does this runtime directly support the subscripting methods?
   ///
   /// This is really a property of the library, not the runtime.
   bool hasSubscripting() const {
@@ -222,12 +222,12 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Does this runtime allow sizeof or alignof on object types?
+  /// Does this runtime allow sizeof or alignof on object types?
   bool allowsSizeofAlignof() const {
     return isFragile();
   }
 
-  /// \brief Does this runtime allow pointer arithmetic on objects?
+  /// Does this runtime allow pointer arithmetic on objects?
   ///
   /// This covers +, -, ++, --, and (if isSubscriptPointerArithmetic()
   /// yields true) [].
@@ -246,12 +246,12 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Is subscripting pointer arithmetic?
+  /// Is subscripting pointer arithmetic?
   bool isSubscriptPointerArithmetic() const {
     return allowsPointerArithmetic();
   }
 
-  /// \brief Does this runtime provide an objc_terminate function?
+  /// Does this runtime provide an objc_terminate function?
   ///
   /// This is used in handlers for exceptions during the unwind process;
   /// without it, abort() must be used in pure ObjC files.
@@ -268,7 +268,7 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Does this runtime support weakly importing classes?
+  /// Does this runtime support weakly importing classes?
   bool hasWeakClassImport() const {
     switch (getKind()) {
     case MacOSX: return true;
@@ -282,7 +282,7 @@ public:
     llvm_unreachable("bad kind");
   }
 
-  /// \brief Does this runtime use zero-cost exceptions?
+  /// Does this runtime use zero-cost exceptions?
   bool hasUnwindExceptions() const {
     switch (getKind()) {
     case MacOSX: return true;
@@ -340,7 +340,7 @@ public:
     }
   }
 
-  /// \brief Try to parse an Objective-C runtime specification from the given
+  /// Try to parse an Objective-C runtime specification from the given
   /// string.
   ///
   /// \return true on error.

Modified: cfe/trunk/include/clang/Basic/OpenCLOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OpenCLOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/OpenCLOptions.h (original)
+++ cfe/trunk/include/clang/Basic/OpenCLOptions.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::OpenCLOptions class.
+/// Defines the clang::OpenCLOptions class.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -19,7 +19,7 @@
 
 namespace clang {
 
-/// \brief OpenCL supported extensions and optional core features
+/// OpenCL supported extensions and optional core features
 class OpenCLOptions {
   struct Info {
     bool Supported; // Is this option supported
@@ -67,7 +67,7 @@ public:
     OptMap[Ext].Enabled = V;
   }
 
-  /// \brief Enable or disable support for OpenCL extensions
+  /// Enable or disable support for OpenCL extensions
   /// \param Ext name of the extension optionally prefixed with
   ///        '+' or '-'
   /// \param V used when \p Ext is not prefixed by '+' or '-'

Modified: cfe/trunk/include/clang/Basic/OpenMPKinds.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OpenMPKinds.def?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/OpenMPKinds.def (original)
+++ cfe/trunk/include/clang/Basic/OpenMPKinds.def Tue May  8 18:00:01 2018
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 /// \file
-/// \brief This file defines the list of supported OpenMP directives and
+/// This file defines the list of supported OpenMP directives and
 /// clauses.
 ///
 //===----------------------------------------------------------------------===//

Modified: cfe/trunk/include/clang/Basic/OpenMPKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OpenMPKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/OpenMPKinds.h (original)
+++ cfe/trunk/include/clang/Basic/OpenMPKinds.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines some OpenMP-specific enums and functions.
+/// Defines some OpenMP-specific enums and functions.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -19,7 +19,7 @@
 
 namespace clang {
 
-/// \brief OpenMP directives.
+/// OpenMP directives.
 enum OpenMPDirectiveKind {
 #define OPENMP_DIRECTIVE(Name) \
   OMPD_##Name,
@@ -29,7 +29,7 @@ enum OpenMPDirectiveKind {
   OMPD_unknown
 };
 
-/// \brief OpenMP clauses.
+/// OpenMP clauses.
 enum OpenMPClauseKind {
 #define OPENMP_CLAUSE(Name, Class) \
   OMPC_##Name,
@@ -39,7 +39,7 @@ enum OpenMPClauseKind {
   OMPC_unknown
 };
 
-/// \brief OpenMP attributes for 'default' clause.
+/// OpenMP attributes for 'default' clause.
 enum OpenMPDefaultClauseKind {
 #define OPENMP_DEFAULT_KIND(Name) \
   OMPC_DEFAULT_##Name,
@@ -47,7 +47,7 @@ enum OpenMPDefaultClauseKind {
   OMPC_DEFAULT_unknown
 };
 
-/// \brief OpenMP attributes for 'proc_bind' clause.
+/// OpenMP attributes for 'proc_bind' clause.
 enum OpenMPProcBindClauseKind {
 #define OPENMP_PROC_BIND_KIND(Name) \
   OMPC_PROC_BIND_##Name,
@@ -55,7 +55,7 @@ enum OpenMPProcBindClauseKind {
   OMPC_PROC_BIND_unknown
 };
 
-/// \brief OpenMP attributes for 'schedule' clause.
+/// OpenMP attributes for 'schedule' clause.
 enum OpenMPScheduleClauseKind {
 #define OPENMP_SCHEDULE_KIND(Name) \
   OMPC_SCHEDULE_##Name,
@@ -63,7 +63,7 @@ enum OpenMPScheduleClauseKind {
   OMPC_SCHEDULE_unknown
 };
 
-/// \brief OpenMP modifiers for 'schedule' clause.
+/// OpenMP modifiers for 'schedule' clause.
 enum OpenMPScheduleClauseModifier {
   OMPC_SCHEDULE_MODIFIER_unknown = OMPC_SCHEDULE_unknown,
 #define OPENMP_SCHEDULE_MODIFIER(Name) \
@@ -72,7 +72,7 @@ enum OpenMPScheduleClauseModifier {
   OMPC_SCHEDULE_MODIFIER_last
 };
 
-/// \brief OpenMP attributes for 'depend' clause.
+/// OpenMP attributes for 'depend' clause.
 enum OpenMPDependClauseKind {
 #define OPENMP_DEPEND_KIND(Name) \
   OMPC_DEPEND_##Name,
@@ -80,7 +80,7 @@ enum OpenMPDependClauseKind {
   OMPC_DEPEND_unknown
 };
 
-/// \brief OpenMP attributes for 'linear' clause.
+/// OpenMP attributes for 'linear' clause.
 enum OpenMPLinearClauseKind {
 #define OPENMP_LINEAR_KIND(Name) \
   OMPC_LINEAR_##Name,
@@ -88,7 +88,7 @@ enum OpenMPLinearClauseKind {
   OMPC_LINEAR_unknown
 };
 
-/// \brief OpenMP mapping kind for 'map' clause.
+/// OpenMP mapping kind for 'map' clause.
 enum OpenMPMapClauseKind {
 #define OPENMP_MAP_KIND(Name) \
   OMPC_MAP_##Name,
@@ -96,14 +96,14 @@ enum OpenMPMapClauseKind {
   OMPC_MAP_unknown
 };
 
-/// \brief OpenMP attributes for 'dist_schedule' clause.
+/// OpenMP attributes for 'dist_schedule' clause.
 enum OpenMPDistScheduleClauseKind {
 #define OPENMP_DIST_SCHEDULE_KIND(Name) OMPC_DIST_SCHEDULE_##Name,
 #include "clang/Basic/OpenMPKinds.def"
   OMPC_DIST_SCHEDULE_unknown
 };
 
-/// \brief OpenMP attributes for 'defaultmap' clause.
+/// OpenMP attributes for 'defaultmap' clause.
 enum OpenMPDefaultmapClauseKind {
 #define OPENMP_DEFAULTMAP_KIND(Name) \
   OMPC_DEFAULTMAP_##Name,
@@ -111,7 +111,7 @@ enum OpenMPDefaultmapClauseKind {
   OMPC_DEFAULTMAP_unknown
 };
 
-/// \brief OpenMP modifiers for 'defaultmap' clause.
+/// OpenMP modifiers for 'defaultmap' clause.
 enum OpenMPDefaultmapClauseModifier {
   OMPC_DEFAULTMAP_MODIFIER_unknown = OMPC_DEFAULTMAP_unknown,
 #define OPENMP_DEFAULTMAP_MODIFIER(Name) \
@@ -139,39 +139,39 @@ const char *getOpenMPSimpleClauseTypeNam
 bool isAllowedClauseForDirective(OpenMPDirectiveKind DKind,
                                  OpenMPClauseKind CKind);
 
-/// \brief Checks if the specified directive is a directive with an associated
+/// Checks if the specified directive is a directive with an associated
 /// loop construct.
 /// \param DKind Specified directive.
 /// \return true - the directive is a loop-associated directive like 'omp simd'
 /// or 'omp for' directive, otherwise - false.
 bool isOpenMPLoopDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a worksharing directive.
+/// Checks if the specified directive is a worksharing directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a worksharing directive like 'omp for',
 /// otherwise - false.
 bool isOpenMPWorksharingDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a taskloop directive.
+/// Checks if the specified directive is a taskloop directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a worksharing directive like 'omp taskloop',
 /// otherwise - false.
 bool isOpenMPTaskLoopDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a parallel-kind directive.
+/// Checks if the specified directive is a parallel-kind directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a parallel-like directive like 'omp
 /// parallel', otherwise - false.
 bool isOpenMPParallelDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a target code offload directive.
+/// Checks if the specified directive is a target code offload directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a target code offload directive like
 /// 'omp target', 'omp target parallel', 'omp target xxx'
 /// otherwise - false.
 bool isOpenMPTargetExecutionDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a target data offload directive.
+/// Checks if the specified directive is a target data offload directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a target data offload directive like
 /// 'omp target data', 'omp target update', 'omp target enter data',
@@ -193,13 +193,13 @@ bool isOpenMPNestingTeamsDirective(OpenM
 /// \return true - the directive is a teams-like directive, otherwise - false.
 bool isOpenMPTeamsDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a simd directive.
+/// Checks if the specified directive is a simd directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a simd directive like 'omp simd',
 /// otherwise - false.
 bool isOpenMPSimdDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified directive is a distribute directive.
+/// Checks if the specified directive is a distribute directive.
 /// \param DKind Specified directive.
 /// \return true - the directive is a distribute-directive like 'omp
 /// distribute',
@@ -214,13 +214,13 @@ bool isOpenMPDistributeDirective(OpenMPD
 /// otherwise - false.
 bool isOpenMPNestingDistributeDirective(OpenMPDirectiveKind DKind);
 
-/// \brief Checks if the specified clause is one of private clauses like
+/// Checks if the specified clause is one of private clauses like
 /// 'private', 'firstprivate', 'reduction' etc..
 /// \param Kind Clause kind.
 /// \return true - the clause is a private clause, otherwise - false.
 bool isOpenMPPrivate(OpenMPClauseKind Kind);
 
-/// \brief Checks if the specified clause is one of threadprivate clauses like
+/// Checks if the specified clause is one of threadprivate clauses like
 /// 'threadprivate', 'copyin' or 'copyprivate'.
 /// \param Kind Clause kind.
 /// \return true - the clause is a threadprivate clause, otherwise - false.

Modified: cfe/trunk/include/clang/Basic/OperatorKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OperatorKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/OperatorKinds.h (original)
+++ cfe/trunk/include/clang/Basic/OperatorKinds.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines an enumeration for C++ overloaded operators.
+/// Defines an enumeration for C++ overloaded operators.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -17,7 +17,7 @@
 
 namespace clang {
 
-/// \brief Enumeration specifying the different kinds of C++ overloaded
+/// Enumeration specifying the different kinds of C++ overloaded
 /// operators.
 enum OverloadedOperatorKind : int {
   OO_None,                ///< Not an overloaded operator
@@ -27,7 +27,7 @@ enum OverloadedOperatorKind : int {
   NUM_OVERLOADED_OPERATORS
 };
 
-/// \brief Retrieve the spelling of the given overloaded operator, without 
+/// Retrieve the spelling of the given overloaded operator, without 
 /// the preceding "operator" keyword.
 const char *getOperatorSpelling(OverloadedOperatorKind Operator);
 

Modified: cfe/trunk/include/clang/Basic/OperatorPrecedence.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/OperatorPrecedence.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/OperatorPrecedence.h (original)
+++ cfe/trunk/include/clang/Basic/OperatorPrecedence.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines and computes precedence levels for binary/ternary operators.
+/// Defines and computes precedence levels for binary/ternary operators.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -44,7 +44,7 @@ namespace prec {
   };
 }
 
-/// \brief Return the precedence of the specified binary operator token.
+/// Return the precedence of the specified binary operator token.
 prec::Level getBinOpPrecedence(tok::TokenKind Kind, bool GreaterThanIsOperator,
                                bool CPlusPlus11);
 

Modified: cfe/trunk/include/clang/Basic/PartialDiagnostic.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/PartialDiagnostic.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/PartialDiagnostic.h (original)
+++ cfe/trunk/include/clang/Basic/PartialDiagnostic.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Implements a partial diagnostic that can be emitted anwyhere
+/// Implements a partial diagnostic that can be emitted anwyhere
 /// in a DiagnosticBuilder stream.
 //
 //===----------------------------------------------------------------------===//
@@ -44,7 +44,7 @@ public:
 
   struct Storage {
     enum {
-        /// \brief The maximum number of arguments we can hold. We
+        /// The maximum number of arguments we can hold. We
         /// currently only support up to 10 arguments (%0-%9).
         ///
         /// A single diagnostic with more than that almost certainly has to
@@ -52,35 +52,35 @@ public:
         MaxArguments = PartialDiagnostic::MaxArguments
     };
 
-    /// \brief The number of entries in Arguments.
+    /// The number of entries in Arguments.
     unsigned char NumDiagArgs = 0;
 
-    /// \brief Specifies for each argument whether it is in DiagArgumentsStr
+    /// Specifies for each argument whether it is in DiagArgumentsStr
     /// or in DiagArguments.
     unsigned char DiagArgumentsKind[MaxArguments];
 
-    /// \brief The values for the various substitution positions.
+    /// The values for the various substitution positions.
     ///
     /// This is used when the argument is not an std::string. The specific value
     /// is mangled into an intptr_t and the interpretation depends on exactly
     /// what sort of argument kind it is.
     intptr_t DiagArgumentsVal[MaxArguments];
 
-    /// \brief The values for the various substitution positions that have
+    /// The values for the various substitution positions that have
     /// string arguments.
     std::string DiagArgumentsStr[MaxArguments];
 
-    /// \brief The list of ranges added to this diagnostic.
+    /// The list of ranges added to this diagnostic.
     SmallVector<CharSourceRange, 8> DiagRanges;
 
-    /// \brief If valid, provides a hint with some code to insert, remove, or
+    /// If valid, provides a hint with some code to insert, remove, or
     /// modify at a particular position.
     SmallVector<FixItHint, 6>  FixItHints;
 
     Storage() = default;
   };
 
-  /// \brief An allocator for Storage objects, which uses a small cache to
+  /// An allocator for Storage objects, which uses a small cache to
   /// objects, used to reduce malloc()/free() traffic for partial diagnostics.
   class StorageAllocator {
     static const unsigned NumCached = 16;
@@ -92,7 +92,7 @@ public:
     StorageAllocator();
     ~StorageAllocator();
 
-    /// \brief Allocate new storage.
+    /// Allocate new storage.
     Storage *Allocate() {
       if (NumFreeListEntries == 0)
         return new Storage;
@@ -104,7 +104,7 @@ public:
       return Result;
     }
 
-    /// \brief Free the given storage object.
+    /// Free the given storage object.
     void Deallocate(Storage *S) {
       if (S >= Cached && S <= Cached + NumCached) {
         FreeList[NumFreeListEntries++] = S;
@@ -120,16 +120,16 @@ private:
   // in the sense that its bits can be safely memcpy'ed and destructed
   // in the new location.
 
-  /// \brief The diagnostic ID.
+  /// The diagnostic ID.
   mutable unsigned DiagID = 0;
 
-  /// \brief Storage for args and ranges.
+  /// Storage for args and ranges.
   mutable Storage *DiagStorage = nullptr;
 
-  /// \brief Allocator used to allocate storage for this diagnostic.
+  /// Allocator used to allocate storage for this diagnostic.
   StorageAllocator *Allocator = nullptr;
 
-  /// \brief Retrieve storage for this particular diagnostic.
+  /// Retrieve storage for this particular diagnostic.
   Storage *getStorage() const {
     if (DiagStorage)
       return DiagStorage;
@@ -184,7 +184,7 @@ private:
 public:
   struct NullDiagnostic {};
 
-  /// \brief Create a null partial diagnostic, which cannot carry a payload,
+  /// Create a null partial diagnostic, which cannot carry a payload,
   /// and only exists to be swapped with a real partial diagnostic.
   PartialDiagnostic(NullDiagnostic) {}
 
@@ -324,7 +324,7 @@ public:
     Diags.Clear();
   }
 
-  /// \brief Clear out this partial diagnostic, giving it a new diagnostic ID
+  /// Clear out this partial diagnostic, giving it a new diagnostic ID
   /// and removing all of its arguments, ranges, and fix-it hints.
   void Reset(unsigned DiagID = 0) {
     this->DiagID = DiagID;
@@ -414,7 +414,7 @@ inline const DiagnosticBuilder &operator
   return DB;
 }
 
-/// \brief A partial diagnostic along with the source location where this
+/// A partial diagnostic along with the source location where this
 /// diagnostic occurs.
 using PartialDiagnosticAt = std::pair<SourceLocation, PartialDiagnostic>;
 

Modified: cfe/trunk/include/clang/Basic/PrettyStackTrace.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/PrettyStackTrace.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/PrettyStackTrace.h (original)
+++ cfe/trunk/include/clang/Basic/PrettyStackTrace.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the PrettyStackTraceEntry class, which is used to make
+/// Defines the PrettyStackTraceEntry class, which is used to make
 /// crashes give more contextual information about what the program was doing
 /// when it crashed.
 ///

Modified: cfe/trunk/include/clang/Basic/Sanitizers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Sanitizers.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Sanitizers.h (original)
+++ cfe/trunk/include/clang/Basic/Sanitizers.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::SanitizerKind enum.
+/// Defines the clang::SanitizerKind enum.
 //
 //===----------------------------------------------------------------------===//
 
@@ -48,16 +48,16 @@ enum SanitizerOrdinal : uint64_t {
 } // namespace SanitizerKind
 
 struct SanitizerSet {
-  /// \brief Check if a certain (single) sanitizer is enabled.
+  /// Check if a certain (single) sanitizer is enabled.
   bool has(SanitizerMask K) const {
     assert(llvm::isPowerOf2_64(K));
     return Mask & K;
   }
 
-  /// \brief Check if one or more sanitizers are enabled.
+  /// Check if one or more sanitizers are enabled.
   bool hasOneOf(SanitizerMask K) const { return Mask & K; }
 
-  /// \brief Enable or disable a certain (single) sanitizer.
+  /// Enable or disable a certain (single) sanitizer.
   void set(SanitizerMask K, bool Value) {
     assert(llvm::isPowerOf2_64(K));
     Mask = Value ? (Mask | K) : (Mask & ~K);
@@ -66,10 +66,10 @@ struct SanitizerSet {
   /// Disable the sanitizers specified in \p K.
   void clear(SanitizerMask K = SanitizerKind::All) { Mask &= ~K; }
 
-  /// \brief Returns true if at least one sanitizer is enabled.
+  /// Returns true if at least one sanitizer is enabled.
   bool empty() const { return Mask == 0; }
 
-  /// \brief Bitmask of enabled sanitizers.
+  /// Bitmask of enabled sanitizers.
   SanitizerMask Mask = 0;
 };
 

Modified: cfe/trunk/include/clang/Basic/SourceLocation.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceLocation.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/SourceLocation.h (original)
+++ cfe/trunk/include/clang/Basic/SourceLocation.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::SourceLocation class and associated facilities.
+/// Defines the clang::SourceLocation class and associated facilities.
 //
 //===----------------------------------------------------------------------===//
 
@@ -34,11 +34,11 @@ namespace clang {
 
 class SourceManager;
 
-/// \brief An opaque identifier used by SourceManager which refers to a
+/// An opaque identifier used by SourceManager which refers to a
 /// source file (MemoryBuffer) along with its \#include path and \#line data.
 ///
 class FileID {
-  /// \brief A mostly-opaque identifier, where 0 is "invalid", >0 is 
+  /// A mostly-opaque identifier, where 0 is "invalid", >0 is 
   /// this module, and <-1 is something loaded from another module.
   int ID = 0;
 
@@ -70,7 +70,7 @@ private:
   int getOpaqueValue() const { return ID; }
 };
 
-/// \brief Encodes a location in the source. The SourceManager can decode this
+/// Encodes a location in the source. The SourceManager can decode this
 /// to get at the full include stack, line and column information.
 ///
 /// Technically, a source location is simply an offset into the manager's view
@@ -100,7 +100,7 @@ public:
   bool isFileID() const  { return (ID & MacroIDBit) == 0; }
   bool isMacroID() const { return (ID & MacroIDBit) != 0; }
 
-  /// \brief Return true if this is a valid SourceLocation object.
+  /// Return true if this is a valid SourceLocation object.
   ///
   /// Invalid SourceLocations are often used when events have no corresponding
   /// location in the source (e.g. a diagnostic is required for a command line
@@ -109,7 +109,7 @@ public:
   bool isInvalid() const { return ID == 0; }
 
 private:
-  /// \brief Return the offset into the manager's global input view.
+  /// Return the offset into the manager's global input view.
   unsigned getOffset() const {
     return ID & ~MacroIDBit;
   }
@@ -129,7 +129,7 @@ private:
   }
 
 public:
-  /// \brief Return a source location with the specified offset from this
+  /// Return a source location with the specified offset from this
   /// SourceLocation.
   SourceLocation getLocWithOffset(int Offset) const {
     assert(((getOffset()+Offset) & MacroIDBit) == 0 && "offset overflow");
@@ -138,14 +138,14 @@ public:
     return L;
   }
 
-  /// \brief When a SourceLocation itself cannot be used, this returns
+  /// When a SourceLocation itself cannot be used, this returns
   /// an (opaque) 32-bit integer encoding for it.
   ///
   /// This should only be passed to SourceLocation::getFromRawEncoding, it
   /// should not be inspected directly.
   unsigned getRawEncoding() const { return ID; }
 
-  /// \brief Turn a raw encoding of a SourceLocation object into
+  /// Turn a raw encoding of a SourceLocation object into
   /// a real SourceLocation.
   ///
   /// \see getRawEncoding.
@@ -155,7 +155,7 @@ public:
     return X;
   }
 
-  /// \brief When a SourceLocation itself cannot be used, this returns
+  /// When a SourceLocation itself cannot be used, this returns
   /// an (opaque) pointer encoding for it.
   ///
   /// This should only be passed to SourceLocation::getFromPtrEncoding, it
@@ -166,7 +166,7 @@ public:
     return (void*)(uintptr_t)getRawEncoding();
   }
 
-  /// \brief Turn a pointer encoding of a SourceLocation object back
+  /// Turn a pointer encoding of a SourceLocation object back
   /// into a real SourceLocation.
   static SourceLocation getFromPtrEncoding(const void *Encoding) {
     return getFromRawEncoding((unsigned)(uintptr_t)Encoding);
@@ -194,7 +194,7 @@ inline bool operator<(const SourceLocati
   return LHS.getRawEncoding() < RHS.getRawEncoding();
 }
 
-/// \brief A trivial tuple used to represent a source range.
+/// A trivial tuple used to represent a source range.
 class SourceRange {
   SourceLocation B;
   SourceLocation E;
@@ -222,7 +222,7 @@ public:
   }
 };
   
-/// \brief Represents a character-granular source range.
+/// Represents a character-granular source range.
 ///
 /// The underlying SourceRange can either specify the starting/ending character
 /// of the range, or it can specify the start of the range and the start of the
@@ -253,7 +253,7 @@ public:
     return getCharRange(SourceRange(B, E));
   }
   
-  /// \brief Return true if the end of this range specifies the start of
+  /// Return true if the end of this range specifies the start of
   /// the last token.  Return false if the end of this range specifies the last
   /// character in the range.
   bool isTokenRange() const { return IsTokenRange; }
@@ -271,7 +271,7 @@ public:
   bool isInvalid() const { return !isValid(); }
 };
 
-/// \brief Represents an unpacked "presumed" location which can be presented
+/// Represents an unpacked "presumed" location which can be presented
 /// to the user.
 ///
 /// A 'presumed' location can be modified by \#line and GNU line marker
@@ -288,14 +288,14 @@ public:
   PresumedLoc(const char *FN, unsigned Ln, unsigned Co, SourceLocation IL)
       : Filename(FN), Line(Ln), Col(Co), IncludeLoc(IL) {}
 
-  /// \brief Return true if this object is invalid or uninitialized.
+  /// Return true if this object is invalid or uninitialized.
   ///
   /// This occurs when created with invalid source locations or when walking
   /// off the top of a \#include stack.
   bool isInvalid() const { return Filename == nullptr; }
   bool isValid() const { return Filename != nullptr; }
 
-  /// \brief Return the presumed filename of this location.
+  /// Return the presumed filename of this location.
   ///
   /// This can be affected by \#line etc.
   const char *getFilename() const {
@@ -303,7 +303,7 @@ public:
     return Filename;
   }
 
-  /// \brief Return the presumed line number of this location.
+  /// Return the presumed line number of this location.
   ///
   /// This can be affected by \#line etc.
   unsigned getLine() const {
@@ -311,7 +311,7 @@ public:
     return Line;
   }
 
-  /// \brief Return the presumed column number of this location.
+  /// Return the presumed column number of this location.
   ///
   /// This cannot be affected by \#line, but is packaged here for convenience.
   unsigned getColumn() const {
@@ -319,7 +319,7 @@ public:
     return Col;
   }
 
-  /// \brief Return the presumed include location of this location.
+  /// Return the presumed include location of this location.
   ///
   /// This can be affected by GNU linemarker directives.
   SourceLocation getIncludeLoc() const {
@@ -330,14 +330,14 @@ public:
 
 class FileEntry;
 
-/// \brief A SourceLocation and its associated SourceManager.
+/// A SourceLocation and its associated SourceManager.
 ///
 /// This is useful for argument passing to functions that expect both objects.
 class FullSourceLoc : public SourceLocation {
   const SourceManager *SrcMgr = nullptr;
 
 public:
-  /// \brief Creates a FullSourceLoc where isValid() returns \c false.
+  /// Creates a FullSourceLoc where isValid() returns \c false.
   FullSourceLoc() = default;
 
   explicit FullSourceLoc(SourceLocation Loc, const SourceManager &SM)
@@ -379,11 +379,11 @@ public:
 
   const FileEntry *getFileEntry() const;
 
-  /// \brief Return a StringRef to the source buffer data for the
+  /// Return a StringRef to the source buffer data for the
   /// specified FileID.
   StringRef getBufferData(bool *Invalid = nullptr) const;
 
-  /// \brief Decompose the specified location into a raw FileID + Offset pair.
+  /// Decompose the specified location into a raw FileID + Offset pair.
   ///
   /// The first element is the FileID, the second is the offset from the
   /// start of the buffer of the location.
@@ -391,12 +391,12 @@ public:
 
   bool isInSystemHeader() const;
 
-  /// \brief Determines the order of 2 source locations in the translation unit.
+  /// Determines the order of 2 source locations in the translation unit.
   ///
   /// \returns true if this source location comes before 'Loc', false otherwise.
   bool isBeforeInTranslationUnitThan(SourceLocation Loc) const;
 
-  /// \brief Determines the order of 2 source locations in the translation unit.
+  /// Determines the order of 2 source locations in the translation unit.
   ///
   /// \returns true if this source location comes before 'Loc', false otherwise.
   bool isBeforeInTranslationUnitThan(FullSourceLoc Loc) const {
@@ -405,14 +405,14 @@ public:
     return isBeforeInTranslationUnitThan((SourceLocation)Loc);
   }
 
-  /// \brief Comparison function class, useful for sorting FullSourceLocs.
+  /// Comparison function class, useful for sorting FullSourceLocs.
   struct BeforeThanCompare {
     bool operator()(const FullSourceLoc& lhs, const FullSourceLoc& rhs) const {
       return lhs.isBeforeInTranslationUnitThan(rhs);
     }
   };
 
-  /// \brief Prints information about this FullSourceLoc to stderr.
+  /// Prints information about this FullSourceLoc to stderr.
   ///
   /// This is useful for debugging.
   void dump() const;

Modified: cfe/trunk/include/clang/Basic/SourceManager.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceManager.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/SourceManager.h (original)
+++ cfe/trunk/include/clang/Basic/SourceManager.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the SourceManager interface.
+/// Defines the SourceManager interface.
 ///
 /// There are three different types of locations in a %file: a spelling
 /// location, an expansion location, and a presumed location.
@@ -64,11 +64,11 @@ class DiagnosticsEngine;
 class LineTableInfo;
 class SourceManager;
 
-/// \brief Public enums and private classes that are part of the
+/// Public enums and private classes that are part of the
 /// SourceManager implementation.
 namespace SrcMgr {
 
-  /// \brief Indicates whether a file or directory holds normal user code,
+  /// Indicates whether a file or directory holds normal user code,
   /// system code, or system code which is implicitly 'extern "C"' in C++ mode.
   ///
   /// Entire directories can be tagged with this (this is maintained by
@@ -89,19 +89,19 @@ namespace SrcMgr {
     return CK == C_User_ModuleMap || CK == C_System_ModuleMap;
   }
 
-  /// \brief One instance of this struct is kept for every file loaded or used.
+  /// One instance of this struct is kept for every file loaded or used.
   ///
   /// This object owns the MemoryBuffer object.
   class LLVM_ALIGNAS(8) ContentCache {
     enum CCFlags {
-      /// \brief Whether the buffer is invalid.
+      /// Whether the buffer is invalid.
       InvalidFlag = 0x01,
 
-      /// \brief Whether the buffer should not be freed on destruction.
+      /// Whether the buffer should not be freed on destruction.
       DoNotFreeFlag = 0x02
     };
 
-    /// \brief The actual buffer containing the characters from the input
+    /// The actual buffer containing the characters from the input
     /// file.
     ///
     /// This is owned by the ContentCache object.  The bits indicate
@@ -109,7 +109,7 @@ namespace SrcMgr {
     mutable llvm::PointerIntPair<llvm::MemoryBuffer *, 2> Buffer;
 
   public:
-    /// \brief Reference to the file entry representing this ContentCache.
+    /// Reference to the file entry representing this ContentCache.
     ///
     /// This reference does not own the FileEntry object.
     ///
@@ -117,35 +117,35 @@ namespace SrcMgr {
     /// an imaginary text buffer.
     const FileEntry *OrigEntry;
 
-    /// \brief References the file which the contents were actually loaded from.
+    /// References the file which the contents were actually loaded from.
     ///
     /// Can be different from 'Entry' if we overridden the contents of one file
     /// with the contents of another file.
     const FileEntry *ContentsEntry;
 
-    /// \brief A bump pointer allocated array of offsets for each source line.
+    /// A bump pointer allocated array of offsets for each source line.
     ///
     /// This is lazily computed.  This is owned by the SourceManager
     /// BumpPointerAllocator object.
     unsigned *SourceLineCache = nullptr;
 
-    /// \brief The number of lines in this ContentCache.
+    /// The number of lines in this ContentCache.
     ///
     /// This is only valid if SourceLineCache is non-null.
     unsigned NumLines = 0;
 
-    /// \brief Indicates whether the buffer itself was provided to override
+    /// Indicates whether the buffer itself was provided to override
     /// the actual file contents.
     ///
     /// When true, the original entry may be a virtual file that does not
     /// exist.
     unsigned BufferOverridden : 1;
 
-    /// \brief True if this content cache was initially created for a source
+    /// True if this content cache was initially created for a source
     /// file considered as a system one.
     unsigned IsSystemFile : 1;
 
-    /// \brief True if this file may be transient, that is, if it might not
+    /// True if this file may be transient, that is, if it might not
     /// exist at some later point in time when this content entry is used,
     /// after serialization and deserialization.
     unsigned IsTransient : 1;
@@ -176,7 +176,7 @@ namespace SrcMgr {
 
     ~ContentCache();
 
-    /// \brief Returns the memory buffer for the associated content.
+    /// Returns the memory buffer for the associated content.
     ///
     /// \param Diag Object through which diagnostics will be emitted if the
     ///   buffer cannot be retrieved.
@@ -190,7 +190,7 @@ namespace SrcMgr {
                                   SourceLocation Loc = SourceLocation(),
                                   bool *Invalid = nullptr) const;
 
-    /// \brief Returns the size of the content encapsulated by this
+    /// Returns the size of the content encapsulated by this
     /// ContentCache.
     ///
     /// This can be the size of the source file or the size of an
@@ -198,7 +198,7 @@ namespace SrcMgr {
     /// file this size is retrieved from the file's FileEntry.
     unsigned getSize() const;
 
-    /// \brief Returns the number of bytes actually mapped for this
+    /// Returns the number of bytes actually mapped for this
     /// ContentCache.
     ///
     /// This can be 0 if the MemBuffer was not actually expanded.
@@ -208,20 +208,20 @@ namespace SrcMgr {
     /// this content cache.  This is used for performance analysis.
     llvm::MemoryBuffer::BufferKind getMemoryBufferKind() const;
 
-    /// \brief Get the underlying buffer, returning NULL if the buffer is not
+    /// Get the underlying buffer, returning NULL if the buffer is not
     /// yet available.
     llvm::MemoryBuffer *getRawBuffer() const { return Buffer.getPointer(); }
 
-    /// \brief Replace the existing buffer (which will be deleted)
+    /// Replace the existing buffer (which will be deleted)
     /// with the given buffer.
     void replaceBuffer(llvm::MemoryBuffer *B, bool DoNotFree = false);
 
-    /// \brief Determine whether the buffer itself is invalid.
+    /// Determine whether the buffer itself is invalid.
     bool isBufferInvalid() const {
       return Buffer.getInt() & InvalidFlag;
     }
 
-    /// \brief Determine whether the buffer should be freed.
+    /// Determine whether the buffer should be freed.
     bool shouldFreeBuffer() const {
       return (Buffer.getInt() & DoNotFreeFlag) == 0;
     }
@@ -232,7 +232,7 @@ namespace SrcMgr {
   static_assert(alignof(ContentCache) >= 8,
                 "ContentCache must be 8-byte aligned.");
 
-  /// \brief Information about a FileID, basically just the logical file
+  /// Information about a FileID, basically just the logical file
   /// that it represents and include stack information.
   ///
   /// Each FileInfo has include stack information, indicating where it came
@@ -246,26 +246,26 @@ namespace SrcMgr {
     friend class clang::ASTWriter;
     friend class clang::ASTReader;
 
-    /// \brief The location of the \#include that brought in this file.
+    /// The location of the \#include that brought in this file.
     ///
     /// This is an invalid SLOC for the main file (top of the \#include chain).
     unsigned IncludeLoc;  // Really a SourceLocation
 
-    /// \brief Number of FileIDs (files and macros) that were created during
+    /// Number of FileIDs (files and macros) that were created during
     /// preprocessing of this \#include, including this SLocEntry.
     ///
     /// Zero means the preprocessor didn't provide such info for this SLocEntry.
     unsigned NumCreatedFIDs : 31;
 
-    /// \brief Whether this FileInfo has any \#line directives.
+    /// Whether this FileInfo has any \#line directives.
     unsigned HasLineDirectives : 1;
 
-    /// \brief The content cache and the characteristic of the file.
+    /// The content cache and the characteristic of the file.
     llvm::PointerIntPair<const ContentCache*, 3, CharacteristicKind>
         ContentAndKind;
 
   public:
-    /// \brief Return a FileInfo object.
+    /// Return a FileInfo object.
     static FileInfo get(SourceLocation IL, const ContentCache *Con,
                         CharacteristicKind FileCharacter) {
       FileInfo X;
@@ -285,28 +285,28 @@ namespace SrcMgr {
       return ContentAndKind.getPointer();
     }
 
-    /// \brief Return whether this is a system header or not.
+    /// Return whether this is a system header or not.
     CharacteristicKind getFileCharacteristic() const {
       return ContentAndKind.getInt();
     }
 
-    /// \brief Return true if this FileID has \#line directives in it.
+    /// Return true if this FileID has \#line directives in it.
     bool hasLineDirectives() const { return HasLineDirectives; }
 
-    /// \brief Set the flag that indicates that this FileID has
+    /// Set the flag that indicates that this FileID has
     /// line table entries associated with it.
     void setHasLineDirectives() {
       HasLineDirectives = true;
     }
   };
 
-  /// \brief Each ExpansionInfo encodes the expansion location - where
+  /// Each ExpansionInfo encodes the expansion location - where
   /// the token was ultimately expanded, and the SpellingLoc - where the actual
   /// character data for the token came from.
   class ExpansionInfo {
     // Really these are all SourceLocations.
 
-    /// \brief Where the spelling for the token can be found.
+    /// Where the spelling for the token can be found.
     unsigned SpellingLoc;
 
     /// In a macro expansion, ExpansionLocStart and ExpansionLocEnd
@@ -362,7 +362,7 @@ namespace SrcMgr {
           getExpansionLocStart() != getExpansionLocEnd();
     }
 
-    /// \brief Return a ExpansionInfo for an expansion.
+    /// Return a ExpansionInfo for an expansion.
     ///
     /// Start and End specify the expansion range (where the macro is
     /// expanded), and SpellingLoc specifies the spelling location (where
@@ -379,7 +379,7 @@ namespace SrcMgr {
       return X;
     }
 
-    /// \brief Return a special ExpansionInfo for the expansion of
+    /// Return a special ExpansionInfo for the expansion of
     /// a macro argument into a function-like macro's body.
     ///
     /// ExpansionLoc specifies the expansion location (where the macro is
@@ -406,7 +406,7 @@ namespace SrcMgr {
       return create(SpellingLoc, ExpansionLoc, SourceLocation());
     }
 
-    /// \brief Return a special ExpansionInfo representing a token that ends
+    /// Return a special ExpansionInfo representing a token that ends
     /// prematurely. This is used to model a '>>' token that has been split
     /// into '>' tokens and similar cases. Unlike for the other forms of
     /// expansion, the expansion range in this case is a character range, not
@@ -418,7 +418,7 @@ namespace SrcMgr {
     }
   };
 
-  /// \brief This is a discriminated union of FileInfo and ExpansionInfo.
+  /// This is a discriminated union of FileInfo and ExpansionInfo.
   ///
   /// SourceManager keeps an array of these objects, and they are uniquely
   /// identified by the FileID datatype.
@@ -469,44 +469,44 @@ namespace SrcMgr {
 
 } // namespace SrcMgr
 
-/// \brief External source of source location entries.
+/// External source of source location entries.
 class ExternalSLocEntrySource {
 public:
   virtual ~ExternalSLocEntrySource();
 
-  /// \brief Read the source location entry with index ID, which will always be
+  /// Read the source location entry with index ID, which will always be
   /// less than -1.
   ///
   /// \returns true if an error occurred that prevented the source-location
   /// entry from being loaded.
   virtual bool ReadSLocEntry(int ID) = 0;
 
-  /// \brief Retrieve the module import location and name for the given ID, if
+  /// Retrieve the module import location and name for the given ID, if
   /// in fact it was loaded from a module (rather than, say, a precompiled
   /// header).
   virtual std::pair<SourceLocation, StringRef> getModuleImportLoc(int ID) = 0;
 };
 
-/// \brief Holds the cache used by isBeforeInTranslationUnit.
+/// Holds the cache used by isBeforeInTranslationUnit.
 ///
 /// The cache structure is complex enough to be worth breaking out of
 /// SourceManager.
 class InBeforeInTUCacheEntry {
-  /// \brief The FileID's of the cached query.
+  /// The FileID's of the cached query.
   ///
   /// If these match up with a subsequent query, the result can be reused.
   FileID LQueryFID, RQueryFID;
 
-  /// \brief True if LQueryFID was created before RQueryFID.
+  /// True if LQueryFID was created before RQueryFID.
   ///
   /// This is used to compare macro expansion locations.
   bool IsLQFIDBeforeRQFID;
 
-  /// \brief The file found in common between the two \#include traces, i.e.,
+  /// The file found in common between the two \#include traces, i.e.,
   /// the nearest common ancestor of the \#include tree.
   FileID CommonFID;
 
-  /// \brief The offset of the previous query in CommonFID.
+  /// The offset of the previous query in CommonFID.
   ///
   /// Usually, this represents the location of the \#include for QueryFID, but
   /// if LQueryFID is a parent of RQueryFID (or vice versa) then these can be a
@@ -514,7 +514,7 @@ class InBeforeInTUCacheEntry {
   unsigned LCommonOffset, RCommonOffset;
 
 public:
-  /// \brief Return true if the currently cached values match up with
+  /// Return true if the currently cached values match up with
   /// the specified LHS/RHS query.
   ///
   /// If not, we can't use the cache.
@@ -522,7 +522,7 @@ public:
     return LQueryFID == LHS && RQueryFID == RHS;
   }
 
-  /// \brief If the cache is valid, compute the result given the
+  /// If the cache is valid, compute the result given the
   /// specified offsets in the LHS/RHS FileID's.
   bool getCachedResult(unsigned LOffset, unsigned ROffset) const {
     // If one of the query files is the common file, use the offset.  Otherwise,
@@ -541,7 +541,7 @@ public:
     return LOffset < ROffset;
   }
 
-  /// \brief Set up a new query.
+  /// Set up a new query.
   void setQueryFIDs(FileID LHS, FileID RHS, bool isLFIDBeforeRFID) {
     assert(LHS != RHS);
     LQueryFID = LHS;
@@ -562,12 +562,12 @@ public:
   }
 };
 
-/// \brief The stack used when building modules on demand, which is used
+/// The stack used when building modules on demand, which is used
 /// to provide a link between the source managers of the different compiler
 /// instances.
 using ModuleBuildStack = ArrayRef<std::pair<std::string, FullSourceLoc>>;
 
-/// \brief This class handles loading and caching of source files into memory.
+/// This class handles loading and caching of source files into memory.
 ///
 /// This object owns the MemoryBuffer objects for all of the loaded
 /// files and assigns unique FileID's for each unique \#include chain.
@@ -580,14 +580,14 @@ using ModuleBuildStack = ArrayRef<std::p
 /// where the expanded token came from and the expansion location specifies
 /// where it was expanded.
 class SourceManager : public RefCountedBase<SourceManager> {
-  /// \brief DiagnosticsEngine object.
+  /// DiagnosticsEngine object.
   DiagnosticsEngine &Diag;
 
   FileManager &FileMgr;
 
   mutable llvm::BumpPtrAllocator ContentCacheAlloc;
 
-  /// \brief Memoized information about all of the files tracked by this
+  /// Memoized information about all of the files tracked by this
   /// SourceManager.
   ///
   /// This map allows us to merge ContentCache entries based
@@ -595,29 +595,29 @@ class SourceManager : public RefCountedB
   /// non-null, FileEntry pointers.
   llvm::DenseMap<const FileEntry*, SrcMgr::ContentCache*> FileInfos;
 
-  /// \brief True if the ContentCache for files that are overridden by other
+  /// True if the ContentCache for files that are overridden by other
   /// files, should report the original file name. Defaults to true.
   bool OverridenFilesKeepOriginalName = true;
 
-  /// \brief True if non-system source files should be treated as volatile
+  /// True if non-system source files should be treated as volatile
   /// (likely to change while trying to use them). Defaults to false.
   bool UserFilesAreVolatile;
 
-  /// \brief True if all files read during this compilation should be treated
+  /// True if all files read during this compilation should be treated
   /// as transient (may not be present in later compilations using a module
   /// file created from this compilation). Defaults to false.
   bool FilesAreTransient = false;
 
   struct OverriddenFilesInfoTy {
-    /// \brief Files that have been overridden with the contents from another
+    /// Files that have been overridden with the contents from another
     /// file.
     llvm::DenseMap<const FileEntry *, const FileEntry *> OverriddenFiles;
 
-    /// \brief Files that were overridden with a memory buffer.
+    /// Files that were overridden with a memory buffer.
     llvm::DenseSet<const FileEntry *> OverriddenFilesWithBuffer;
   };
 
-  /// \brief Lazily create the object keeping overridden files info, since
+  /// Lazily create the object keeping overridden files info, since
   /// it is uncommonly used.
   std::unique_ptr<OverriddenFilesInfoTy> OverriddenFilesInfo;
 
@@ -627,77 +627,77 @@ class SourceManager : public RefCountedB
     return *OverriddenFilesInfo;
   }
 
-  /// \brief Information about various memory buffers that we have read in.
+  /// Information about various memory buffers that we have read in.
   ///
   /// All FileEntry* within the stored ContentCache objects are NULL,
   /// as they do not refer to a file.
   std::vector<SrcMgr::ContentCache*> MemBufferInfos;
 
-  /// \brief The table of SLocEntries that are local to this module.
+  /// The table of SLocEntries that are local to this module.
   ///
   /// Positive FileIDs are indexes into this table. Entry 0 indicates an invalid
   /// expansion.
   SmallVector<SrcMgr::SLocEntry, 0> LocalSLocEntryTable;
 
-  /// \brief The table of SLocEntries that are loaded from other modules.
+  /// The table of SLocEntries that are loaded from other modules.
   ///
   /// Negative FileIDs are indexes into this table. To get from ID to an index,
   /// use (-ID - 2).
   mutable SmallVector<SrcMgr::SLocEntry, 0> LoadedSLocEntryTable;
 
-  /// \brief The starting offset of the next local SLocEntry.
+  /// The starting offset of the next local SLocEntry.
   ///
   /// This is LocalSLocEntryTable.back().Offset + the size of that entry.
   unsigned NextLocalOffset;
 
-  /// \brief The starting offset of the latest batch of loaded SLocEntries.
+  /// The starting offset of the latest batch of loaded SLocEntries.
   ///
   /// This is LoadedSLocEntryTable.back().Offset, except that that entry might
   /// not have been loaded, so that value would be unknown.
   unsigned CurrentLoadedOffset;
 
-  /// \brief The highest possible offset is 2^31-1, so CurrentLoadedOffset
+  /// The highest possible offset is 2^31-1, so CurrentLoadedOffset
   /// starts at 2^31.
   static const unsigned MaxLoadedOffset = 1U << 31U;
 
-  /// \brief A bitmap that indicates whether the entries of LoadedSLocEntryTable
+  /// A bitmap that indicates whether the entries of LoadedSLocEntryTable
   /// have already been loaded from the external source.
   ///
   /// Same indexing as LoadedSLocEntryTable.
   llvm::BitVector SLocEntryLoaded;
 
-  /// \brief An external source for source location entries.
+  /// An external source for source location entries.
   ExternalSLocEntrySource *ExternalSLocEntries = nullptr;
 
-  /// \brief A one-entry cache to speed up getFileID.
+  /// A one-entry cache to speed up getFileID.
   ///
   /// LastFileIDLookup records the last FileID looked up or created, because it
   /// is very common to look up many tokens from the same file.
   mutable FileID LastFileIDLookup;
 
-  /// \brief Holds information for \#line directives.
+  /// Holds information for \#line directives.
   ///
   /// This is referenced by indices from SLocEntryTable.
   LineTableInfo *LineTable = nullptr;
 
-  /// \brief These ivars serve as a cache used in the getLineNumber
+  /// These ivars serve as a cache used in the getLineNumber
   /// method which is used to speedup getLineNumber calls to nearby locations.
   mutable FileID LastLineNoFileIDQuery;
   mutable SrcMgr::ContentCache *LastLineNoContentCache;
   mutable unsigned LastLineNoFilePos;
   mutable unsigned LastLineNoResult;
 
-  /// \brief The file ID for the main source file of the translation unit.
+  /// The file ID for the main source file of the translation unit.
   FileID MainFileID;
 
-  /// \brief The file ID for the precompiled preamble there is one.
+  /// The file ID for the precompiled preamble there is one.
   FileID PreambleFileID;
 
   // Statistics for -print-stats.
   mutable unsigned NumLinearScans = 0;
   mutable unsigned NumBinaryProbes = 0;
 
-  /// \brief Associates a FileID with its "included/expanded in" decomposed
+  /// Associates a FileID with its "included/expanded in" decomposed
   /// location.
   ///
   /// Used to cache results from and speed-up \c getDecomposedIncludedLoc
@@ -725,14 +725,14 @@ class SourceManager : public RefCountedB
 
   mutable std::unique_ptr<SrcMgr::ContentCache> FakeContentCacheForRecovery;
 
-  /// \brief Lazily computed map of macro argument chunks to their expanded
+  /// Lazily computed map of macro argument chunks to their expanded
   /// source location.
   using MacroArgsMap = std::map<unsigned, SourceLocation>;
 
   mutable llvm::DenseMap<FileID, std::unique_ptr<MacroArgsMap>>
       MacroArgsCacheMap;
 
-  /// \brief The stack of modules being built, which is used to detect
+  /// The stack of modules being built, which is used to detect
   /// cycles in the module dependency graph as modules are being built, as
   /// well as to describe why we're rebuilding a particular module.
   ///
@@ -758,29 +758,29 @@ public:
 
   FileManager &getFileManager() const { return FileMgr; }
 
-  /// \brief Set true if the SourceManager should report the original file name
+  /// Set true if the SourceManager should report the original file name
   /// for contents of files that were overridden by other files. Defaults to
   /// true.
   void setOverridenFilesKeepOriginalName(bool value) {
     OverridenFilesKeepOriginalName = value;
   }
 
-  /// \brief True if non-system source files should be treated as volatile
+  /// True if non-system source files should be treated as volatile
   /// (likely to change while trying to use them).
   bool userFilesAreVolatile() const { return UserFilesAreVolatile; }
 
-  /// \brief Retrieve the module build stack.
+  /// Retrieve the module build stack.
   ModuleBuildStack getModuleBuildStack() const {
     return StoredModuleBuildStack;
   }
 
-  /// \brief Set the module build stack.
+  /// Set the module build stack.
   void setModuleBuildStack(ModuleBuildStack stack) {
     StoredModuleBuildStack.clear();
     StoredModuleBuildStack.append(stack.begin(), stack.end());
   }
 
-  /// \brief Push an entry to the module build stack.
+  /// Push an entry to the module build stack.
   void pushModuleBuildStack(StringRef moduleName, FullSourceLoc importLoc) {
     StoredModuleBuildStack.push_back(std::make_pair(moduleName.str(),importLoc));
   }
@@ -789,28 +789,28 @@ public:
   // MainFileID creation and querying methods.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Returns the FileID of the main source file.
+  /// Returns the FileID of the main source file.
   FileID getMainFileID() const { return MainFileID; }
 
-  /// \brief Set the file ID for the main source file.
+  /// Set the file ID for the main source file.
   void setMainFileID(FileID FID) {
     MainFileID = FID;
   }
 
-  /// \brief Set the file ID for the precompiled preamble.
+  /// Set the file ID for the precompiled preamble.
   void setPreambleFileID(FileID Preamble) {
     assert(PreambleFileID.isInvalid() && "PreambleFileID already set!");
     PreambleFileID = Preamble;
   }
 
-  /// \brief Get the file ID for the precompiled preamble if there is one.
+  /// Get the file ID for the precompiled preamble if there is one.
   FileID getPreambleFileID() const { return PreambleFileID; }
 
   //===--------------------------------------------------------------------===//
   // Methods to create new FileID's and macro expansions.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Create a new FileID that represents the specified file
+  /// Create a new FileID that represents the specified file
   /// being \#included from the specified IncludePosition.
   ///
   /// This translates NULL into standard input.
@@ -823,7 +823,7 @@ public:
     return createFileID(IR, IncludePos, FileCharacter, LoadedID, LoadedOffset);
   }
 
-  /// \brief Create a new FileID that represents the specified memory buffer.
+  /// Create a new FileID that represents the specified memory buffer.
   ///
   /// This does no caching of the buffer and takes ownership of the
   /// MemoryBuffer, so only pass a MemoryBuffer to this once.
@@ -838,7 +838,7 @@ public:
 
   enum UnownedTag { Unowned };
 
-  /// \brief Create a new FileID that represents the specified memory buffer.
+  /// Create a new FileID that represents the specified memory buffer.
   ///
   /// This does no caching of the buffer and takes ownership of the
   /// MemoryBuffer, so only pass a MemoryBuffer to this once.
@@ -850,7 +850,7 @@ public:
                         IncludeLoc, FileCharacter, LoadedID, LoadedOffset);
   }
 
-  /// \brief Get the FileID for \p SourceFile if it exists. Otherwise, create a
+  /// Get the FileID for \p SourceFile if it exists. Otherwise, create a
   /// new FileID for the \p SourceFile.
   FileID getOrCreateFileID(const FileEntry *SourceFile,
                            SrcMgr::CharacteristicKind FileCharacter) {
@@ -859,7 +859,7 @@ public:
                                             FileCharacter);
   }
 
-  /// \brief Return a new SourceLocation that encodes the
+  /// Return a new SourceLocation that encodes the
   /// fact that a token from SpellingLoc should actually be referenced from
   /// ExpansionLoc, and that it represents the expansion of a macro argument
   /// into the function-like macro body.
@@ -867,7 +867,7 @@ public:
                                             SourceLocation ExpansionLoc,
                                             unsigned TokLength);
 
-  /// \brief Return a new SourceLocation that encodes the fact
+  /// Return a new SourceLocation that encodes the fact
   /// that a token from SpellingLoc should actually be referenced from
   /// ExpansionLoc.
   SourceLocation createExpansionLoc(SourceLocation Loc,
@@ -878,20 +878,20 @@ public:
                                     int LoadedID = 0,
                                     unsigned LoadedOffset = 0);
 
-  /// \brief Return a new SourceLocation that encodes that the token starting
+  /// Return a new SourceLocation that encodes that the token starting
   /// at \p TokenStart ends prematurely at \p TokenEnd.
   SourceLocation createTokenSplitLoc(SourceLocation SpellingLoc,
                                      SourceLocation TokenStart,
                                      SourceLocation TokenEnd);
 
-  /// \brief Retrieve the memory buffer associated with the given file.
+  /// Retrieve the memory buffer associated with the given file.
   ///
   /// \param Invalid If non-NULL, will be set \c true if an error
   /// occurs while retrieving the memory buffer.
   llvm::MemoryBuffer *getMemoryBufferForFile(const FileEntry *File,
                                              bool *Invalid = nullptr);
 
-  /// \brief Override the contents of the given source file by providing an
+  /// Override the contents of the given source file by providing an
   /// already-allocated buffer.
   ///
   /// \param SourceFile the source file whose contents will be overridden.
@@ -908,7 +908,7 @@ public:
     overrideFileContents(SourceFile, Buffer.release(), /*DoNotFree*/ false);
   }
 
-  /// \brief Override the given source file with another one.
+  /// Override the given source file with another one.
   ///
   /// \param SourceFile the source file which will be overridden.
   ///
@@ -917,7 +917,7 @@ public:
   void overrideFileContents(const FileEntry *SourceFile,
                             const FileEntry *NewFile);
 
-  /// \brief Returns true if the file contents have been overridden.
+  /// Returns true if the file contents have been overridden.
   bool isFileOverridden(const FileEntry *File) const {
     if (OverriddenFilesInfo) {
       if (OverriddenFilesInfo->OverriddenFilesWithBuffer.count(File))
@@ -929,16 +929,16 @@ public:
     return false;
   }
 
-  /// \brief Disable overridding the contents of a file, previously enabled
+  /// Disable overridding the contents of a file, previously enabled
   /// with #overrideFileContents.
   ///
   /// This should be called before parsing has begun.
   void disableFileContentsOverride(const FileEntry *File);
 
-  /// \brief Specify that a file is transient.
+  /// Specify that a file is transient.
   void setFileIsTransient(const FileEntry *SourceFile);
 
-  /// \brief Specify that all files that are read during this compilation are
+  /// Specify that all files that are read during this compilation are
   /// transient.
   void setAllFilesAreTransient(bool Transient) {
     FilesAreTransient = Transient;
@@ -948,7 +948,7 @@ public:
   // FileID manipulation methods.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the buffer for the specified FileID.
+  /// Return the buffer for the specified FileID.
   ///
   /// If there is an error opening this buffer the first time, this
   /// manufactures a temporary buffer and returns a non-empty error string.
@@ -982,7 +982,7 @@ public:
                                                         Invalid);
   }
 
-  /// \brief Returns the FileEntry record for the provided FileID.
+  /// Returns the FileEntry record for the provided FileID.
   const FileEntry *getFileEntryForID(FileID FID) const {
     bool MyInvalid = false;
     const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &MyInvalid);
@@ -995,7 +995,7 @@ public:
     return Content->OrigEntry;
   }
 
-  /// \brief Returns the FileEntry record for the provided SLocEntry.
+  /// Returns the FileEntry record for the provided SLocEntry.
   const FileEntry *getFileEntryForSLocEntry(const SrcMgr::SLocEntry &sloc) const
   {
     const SrcMgr::ContentCache *Content = sloc.getFile().getContentCache();
@@ -1004,14 +1004,14 @@ public:
     return Content->OrigEntry;
   }
 
-  /// \brief Return a StringRef to the source buffer data for the
+  /// Return a StringRef to the source buffer data for the
   /// specified FileID.
   ///
   /// \param FID The file ID whose contents will be returned.
   /// \param Invalid If non-NULL, will be set true if an error occurred.
   StringRef getBufferData(FileID FID, bool *Invalid = nullptr) const;
 
-  /// \brief Get the number of FileIDs (files and macros) that were created
+  /// Get the number of FileIDs (files and macros) that were created
   /// during preprocessing of \p FID, including it.
   unsigned getNumCreatedFIDsForFileID(FileID FID) const {
     bool Invalid = false;
@@ -1022,7 +1022,7 @@ public:
     return Entry.getFile().NumCreatedFIDs;
   }
 
-  /// \brief Set the number of FileIDs (files and macros) that were created
+  /// Set the number of FileIDs (files and macros) that were created
   /// during preprocessing of \p FID, including it.
   void setNumCreatedFIDsForFileID(FileID FID, unsigned NumFIDs) const {
     bool Invalid = false;
@@ -1038,7 +1038,7 @@ public:
   // SourceLocation manipulation methods.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the FileID for a SourceLocation.
+  /// Return the FileID for a SourceLocation.
   ///
   /// This is a very hot method that is used for all SourceManager queries
   /// that start with a SourceLocation object.  It is responsible for finding
@@ -1054,14 +1054,14 @@ public:
     return getFileIDSlow(SLocOffset);
   }
 
-  /// \brief Return the filename of the file containing a SourceLocation.
+  /// Return the filename of the file containing a SourceLocation.
   StringRef getFilename(SourceLocation SpellingLoc) const {
     if (const FileEntry *F = getFileEntryForID(getFileID(SpellingLoc)))
       return F->getName();
     return StringRef();
   }
 
-  /// \brief Return the source location corresponding to the first byte of
+  /// Return the source location corresponding to the first byte of
   /// the specified file.
   SourceLocation getLocForStartOfFile(FileID FID) const {
     bool Invalid = false;
@@ -1073,7 +1073,7 @@ public:
     return SourceLocation::getFileLoc(FileOffset);
   }
   
-  /// \brief Return the source location corresponding to the last byte of the
+  /// Return the source location corresponding to the last byte of the
   /// specified file.
   SourceLocation getLocForEndOfFile(FileID FID) const {
     bool Invalid = false;
@@ -1085,7 +1085,7 @@ public:
     return SourceLocation::getFileLoc(FileOffset + getFileIDSize(FID));
   }
 
-  /// \brief Returns the include location if \p FID is a \#include'd file
+  /// Returns the include location if \p FID is a \#include'd file
   /// otherwise it returns an invalid location.
   SourceLocation getIncludeLoc(FileID FID) const {
     bool Invalid = false;
@@ -1096,7 +1096,7 @@ public:
     return Entry.getFile().getIncludeLoc();
   }
 
-  // \brief Returns the import location if the given source location is
+  // Returns the import location if the given source location is
   // located within a module, or an invalid location if the source location
   // is within the current translation unit.
   std::pair<SourceLocation, StringRef>
@@ -1111,7 +1111,7 @@ public:
     return ExternalSLocEntries->getModuleImportLoc(FID.ID);
   }
 
-  /// \brief Given a SourceLocation object \p Loc, return the expansion
+  /// Given a SourceLocation object \p Loc, return the expansion
   /// location referenced by the ID.
   SourceLocation getExpansionLoc(SourceLocation Loc) const {
     // Handle the non-mapped case inline, defer to out of line code to handle
@@ -1120,7 +1120,7 @@ public:
     return getExpansionLocSlowCase(Loc);
   }
 
-  /// \brief Given \p Loc, if it is a macro location return the expansion
+  /// Given \p Loc, if it is a macro location return the expansion
   /// location or the spelling location, depending on if it comes from a
   /// macro argument or not.
   SourceLocation getFileLoc(SourceLocation Loc) const {
@@ -1128,17 +1128,17 @@ public:
     return getFileLocSlowCase(Loc);
   }
 
-  /// \brief Return the start/end of the expansion information for an
+  /// Return the start/end of the expansion information for an
   /// expansion location.
   ///
   /// \pre \p Loc is required to be an expansion location.
   CharSourceRange getImmediateExpansionRange(SourceLocation Loc) const;
 
-  /// \brief Given a SourceLocation object, return the range of
+  /// Given a SourceLocation object, return the range of
   /// tokens covered by the expansion in the ultimate file.
   CharSourceRange getExpansionRange(SourceLocation Loc) const;
 
-  /// \brief Given a SourceRange object, return the range of
+  /// Given a SourceRange object, return the range of
   /// tokens or characters covered by the expansion in the ultimate file.
   CharSourceRange getExpansionRange(SourceRange Range) const {
     SourceLocation Begin = getExpansionRange(Range.getBegin()).getBegin();
@@ -1147,7 +1147,7 @@ public:
                            End.isTokenRange());
   }
 
-  /// \brief Given a CharSourceRange object, return the range of
+  /// Given a CharSourceRange object, return the range of
   /// tokens or characters covered by the expansion in the ultimate file.
   CharSourceRange getExpansionRange(CharSourceRange Range) const {
     CharSourceRange Expansion = getExpansionRange(Range.getAsRange());
@@ -1156,7 +1156,7 @@ public:
     return Expansion;
   }
 
-  /// \brief Given a SourceLocation object, return the spelling
+  /// Given a SourceLocation object, return the spelling
   /// location referenced by the ID.
   ///
   /// This is the place where the characters that make up the lexed token
@@ -1168,7 +1168,7 @@ public:
     return getSpellingLocSlowCase(Loc);
   }
 
-  /// \brief Given a SourceLocation object, return the spelling location
+  /// Given a SourceLocation object, return the spelling location
   /// referenced by the ID.
   ///
   /// This is the first level down towards the place where the characters
@@ -1176,7 +1176,7 @@ public:
   /// be used by clients.
   SourceLocation getImmediateSpellingLoc(SourceLocation Loc) const;
 
-  /// \brief Form a SourceLocation from a FileID and Offset pair.
+  /// Form a SourceLocation from a FileID and Offset pair.
   SourceLocation getComposedLoc(FileID FID, unsigned Offset) const {
     bool Invalid = false;
     const SrcMgr::SLocEntry &Entry = getSLocEntry(FID, &Invalid);
@@ -1188,7 +1188,7 @@ public:
                           : SourceLocation::getMacroLoc(GlobalOffset);
   }
 
-  /// \brief Decompose the specified location into a raw FileID + Offset pair.
+  /// Decompose the specified location into a raw FileID + Offset pair.
   ///
   /// The first element is the FileID, the second is the offset from the
   /// start of the buffer of the location.
@@ -1201,7 +1201,7 @@ public:
     return std::make_pair(FID, Loc.getOffset()-E.getOffset());
   }
 
-  /// \brief Decompose the specified location into a raw FileID + Offset pair.
+  /// Decompose the specified location into a raw FileID + Offset pair.
   ///
   /// If the location is an expansion record, walk through it until we find
   /// the final location expanded.
@@ -1220,7 +1220,7 @@ public:
     return getDecomposedExpansionLocSlowCase(E);
   }
 
-  /// \brief Decompose the specified location into a raw FileID + Offset pair.
+  /// Decompose the specified location into a raw FileID + Offset pair.
   ///
   /// If the location is an expansion record, walk through it until we find
   /// its spelling record.
@@ -1238,11 +1238,11 @@ public:
     return getDecomposedSpellingLocSlowCase(E, Offset);
   }
 
-  /// \brief Returns the "included/expanded in" decomposed location of the given
+  /// Returns the "included/expanded in" decomposed location of the given
   /// FileID.
   std::pair<FileID, unsigned> getDecomposedIncludedLoc(FileID FID) const;
 
-  /// \brief Returns the offset from the start of the file that the
+  /// Returns the offset from the start of the file that the
   /// specified SourceLocation represents.
   ///
   /// This is not very meaningful for a macro ID.
@@ -1250,7 +1250,7 @@ public:
     return getDecomposedLoc(SpellingLoc).second;
   }
 
-  /// \brief Tests whether the given source location represents a macro
+  /// Tests whether the given source location represents a macro
   /// argument's expansion into the function-like macro definition.
   ///
   /// \param StartLoc If non-null and function returns true, it is set to the
@@ -1262,14 +1262,14 @@ public:
   bool isMacroArgExpansion(SourceLocation Loc,
                            SourceLocation *StartLoc = nullptr) const;
 
-  /// \brief Tests whether the given source location represents the expansion of
+  /// Tests whether the given source location represents the expansion of
   /// a macro body.
   ///
   /// This is equivalent to testing whether the location is part of a macro
   /// expansion but not the expansion of an argument to a function-like macro.
   bool isMacroBodyExpansion(SourceLocation Loc) const;
 
-  /// \brief Returns true if the given MacroID location points at the beginning
+  /// Returns true if the given MacroID location points at the beginning
   /// of the immediate macro expansion.
   ///
   /// \param MacroBegin If non-null and function returns true, it is set to the
@@ -1277,7 +1277,7 @@ public:
   bool isAtStartOfImmediateMacroExpansion(SourceLocation Loc,
                                     SourceLocation *MacroBegin = nullptr) const;
 
-  /// \brief Returns true if the given MacroID location points at the character
+  /// Returns true if the given MacroID location points at the character
   /// end of the immediate macro expansion.
   ///
   /// \param MacroEnd If non-null and function returns true, it is set to the
@@ -1286,7 +1286,7 @@ public:
   isAtEndOfImmediateMacroExpansion(SourceLocation Loc,
                                    SourceLocation *MacroEnd = nullptr) const;
 
-  /// \brief Returns true if \p Loc is inside the [\p Start, +\p Length)
+  /// Returns true if \p Loc is inside the [\p Start, +\p Length)
   /// chunk of the source location address space.
   ///
   /// If it's true and \p RelativeOffset is non-null, it will be set to the
@@ -1311,7 +1311,7 @@ public:
     return false;
   }
 
-  /// \brief Return true if both \p LHS and \p RHS are in the local source
+  /// Return true if both \p LHS and \p RHS are in the local source
   /// location address space or the loaded one.
   ///
   /// If it's true and \p RelativeOffset is non-null, it will be set to the
@@ -1335,14 +1335,14 @@ public:
   // Queries about the code at a SourceLocation.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return a pointer to the start of the specified location
+  /// Return a pointer to the start of the specified location
   /// in the appropriate spelling MemoryBuffer.
   ///
   /// \param Invalid If non-NULL, will be set \c true if an error occurs.
   const char *getCharacterData(SourceLocation SL,
                                bool *Invalid = nullptr) const;
 
-  /// \brief Return the column # for the specified file position.
+  /// Return the column # for the specified file position.
   ///
   /// This is significantly cheaper to compute than the line number.  This
   /// returns zero if the column number isn't known.  This may only be called
@@ -1357,7 +1357,7 @@ public:
   unsigned getPresumedColumnNumber(SourceLocation Loc,
                                    bool *Invalid = nullptr) const;
 
-  /// \brief Given a SourceLocation, return the spelling line number
+  /// Given a SourceLocation, return the spelling line number
   /// for the position indicated.
   ///
   /// This requires building and caching a table of line offsets for the
@@ -1368,14 +1368,14 @@ public:
   unsigned getExpansionLineNumber(SourceLocation Loc, bool *Invalid = nullptr) const;
   unsigned getPresumedLineNumber(SourceLocation Loc, bool *Invalid = nullptr) const;
 
-  /// \brief Return the filename or buffer identifier of the buffer the
+  /// Return the filename or buffer identifier of the buffer the
   /// location is in.
   ///
   /// Note that this name does not respect \#line directives.  Use
   /// getPresumedLoc for normal clients.
   StringRef getBufferName(SourceLocation Loc, bool *Invalid = nullptr) const;
 
-  /// \brief Return the file characteristic of the specified source
+  /// Return the file characteristic of the specified source
   /// location, indicating whether this is a normal file, a system
   /// header, or an "implicit extern C" system header.
   ///
@@ -1387,7 +1387,7 @@ public:
   /// considered to be from a system header.
   SrcMgr::CharacteristicKind getFileCharacteristic(SourceLocation Loc) const;
 
-  /// \brief Returns the "presumed" location of a SourceLocation specifies.
+  /// Returns the "presumed" location of a SourceLocation specifies.
   ///
   /// A "presumed location" can be modified by \#line or GNU line marker
   /// directives.  This provides a view on the data that a user should see
@@ -1403,7 +1403,7 @@ public:
   PresumedLoc getPresumedLoc(SourceLocation Loc,
                              bool UseLineDirectives = true) const;
 
-  /// \brief Returns whether the PresumedLoc for a given SourceLocation is 
+  /// Returns whether the PresumedLoc for a given SourceLocation is 
   /// in the main file.
   ///
   /// This computes the "presumed" location for a SourceLocation, then checks
@@ -1412,7 +1412,7 @@ public:
   /// account.
   bool isInMainFile(SourceLocation Loc) const;
 
-  /// \brief Returns true if the spelling locations for both SourceLocations
+  /// Returns true if the spelling locations for both SourceLocations
   /// are part of the same file buffer.
   ///
   /// This check ignores line marker directives.
@@ -1420,7 +1420,7 @@ public:
     return getFileID(Loc1) == getFileID(Loc2);
   }
 
-  /// \brief Returns true if the spelling location for the given location
+  /// Returns true if the spelling location for the given location
   /// is in the main file buffer.
   ///
   /// This check ignores line marker directives.
@@ -1428,25 +1428,25 @@ public:
     return getFileID(Loc) == getMainFileID();
   }
 
-  /// \brief Returns if a SourceLocation is in a system header.
+  /// Returns if a SourceLocation is in a system header.
   bool isInSystemHeader(SourceLocation Loc) const {
     return isSystem(getFileCharacteristic(Loc));
   }
 
-  /// \brief Returns if a SourceLocation is in an "extern C" system header.
+  /// Returns if a SourceLocation is in an "extern C" system header.
   bool isInExternCSystemHeader(SourceLocation Loc) const {
     return getFileCharacteristic(Loc) == SrcMgr::C_ExternCSystem;
   }
 
-  /// \brief Returns whether \p Loc is expanded from a macro in a system header.
+  /// Returns whether \p Loc is expanded from a macro in a system header.
   bool isInSystemMacro(SourceLocation loc) const {
     return loc.isMacroID() && isInSystemHeader(getSpellingLoc(loc));
   }
 
-  /// \brief The size of the SLocEntry that \p FID represents.
+  /// The size of the SLocEntry that \p FID represents.
   unsigned getFileIDSize(FileID FID) const;
 
-  /// \brief Given a specific FileID, returns true if \p Loc is inside that
+  /// Given a specific FileID, returns true if \p Loc is inside that
   /// FileID chunk and sets relative offset (offset of \p Loc from beginning
   /// of FileID) to \p relativeOffset.
   bool isInFileID(SourceLocation Loc, FileID FID,
@@ -1465,10 +1465,10 @@ public:
   // Line Table Manipulation Routines
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the uniqued ID for the specified filename.
+  /// Return the uniqued ID for the specified filename.
   unsigned getLineTableFilenameID(StringRef Str);
 
-  /// \brief Add a line note to the line table for the FileID and offset
+  /// Add a line note to the line table for the FileID and offset
   /// specified by Loc.
   ///
   /// If FilenameID is -1, it is considered to be unspecified.
@@ -1476,17 +1476,17 @@ public:
                    bool IsFileEntry, bool IsFileExit,
                    SrcMgr::CharacteristicKind FileKind);
 
-  /// \brief Determine if the source manager has a line table.
+  /// Determine if the source manager has a line table.
   bool hasLineTable() const { return LineTable != nullptr; }
 
-  /// \brief Retrieve the stored line table.
+  /// Retrieve the stored line table.
   LineTableInfo &getLineTable();
 
   //===--------------------------------------------------------------------===//
   // Queries for performance analysis.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Return the total amount of physical memory allocated by the
+  /// Return the total amount of physical memory allocated by the
   /// ContentCache allocator.
   size_t getContentCacheSize() const {
     return ContentCacheAlloc.getTotalMemory();
@@ -1500,11 +1500,11 @@ public:
       : malloc_bytes(malloc_bytes), mmap_bytes(mmap_bytes) {}
   };
 
-  /// \brief Return the amount of memory used by memory buffers, breaking down
+  /// Return the amount of memory used by memory buffers, breaking down
   /// by heap-backed versus mmap'ed memory.
   MemoryBufferSizes getMemoryBufferSizes() const;
 
-  /// \brief Return the amount of memory used for various side tables and
+  /// Return the amount of memory used for various side tables and
   /// data structures in the SourceManager.
   size_t getDataStructureSizes() const;
 
@@ -1512,25 +1512,25 @@ public:
   // Other miscellaneous methods.
   //===--------------------------------------------------------------------===//
 
-  /// \brief Get the source location for the given file:line:col triplet.
+  /// Get the source location for the given file:line:col triplet.
   ///
   /// If the source file is included multiple times, the source location will
   /// be based upon the first inclusion.
   SourceLocation translateFileLineCol(const FileEntry *SourceFile,
                                       unsigned Line, unsigned Col) const;
 
-  /// \brief Get the FileID for the given file.
+  /// Get the FileID for the given file.
   ///
   /// If the source file is included multiple times, the FileID will be the
   /// first inclusion.
   FileID translateFile(const FileEntry *SourceFile) const;
 
-  /// \brief Get the source location in \p FID for the given line:col.
+  /// Get the source location in \p FID for the given line:col.
   /// Returns null location if \p FID is not a file SLocEntry.
   SourceLocation translateLineCol(FileID FID,
                                   unsigned Line, unsigned Col) const;
 
-  /// \brief If \p Loc points inside a function macro argument, the returned
+  /// If \p Loc points inside a function macro argument, the returned
   /// location will be the macro location in which the argument was expanded.
   /// If a macro argument is used multiple times, the expanded location will
   /// be at the first expansion of the argument.
@@ -1541,12 +1541,12 @@ public:
   /// where 'foo' was expanded into.
   SourceLocation getMacroArgExpandedLocation(SourceLocation Loc) const;
 
-  /// \brief Determines the order of 2 source locations in the translation unit.
+  /// Determines the order of 2 source locations in the translation unit.
   ///
   /// \returns true if LHS source location comes before RHS, false otherwise.
   bool isBeforeInTranslationUnit(SourceLocation LHS, SourceLocation RHS) const;
 
-  /// \brief Determines whether the two decomposed source location is in the
+  /// Determines whether the two decomposed source location is in the
   ///        same translation unit. As a byproduct, it also calculates the order
   ///        of the source locations in case they are in the same TU.
   ///
@@ -1557,13 +1557,13 @@ public:
   isInTheSameTranslationUnit(std::pair<FileID, unsigned> &LOffs,
                              std::pair<FileID, unsigned> &ROffs) const;
 
-  /// \brief Determines the order of 2 source locations in the "source location
+  /// Determines the order of 2 source locations in the "source location
   /// address space".
   bool isBeforeInSLocAddrSpace(SourceLocation LHS, SourceLocation RHS) const {
     return isBeforeInSLocAddrSpace(LHS, RHS.getOffset());
   }
 
-  /// \brief Determines the order of a source location and a source location
+  /// Determines the order of a source location and a source location
   /// offset in the "source location address space".
   ///
   /// Note that we always consider source locations loaded from
@@ -1595,25 +1595,25 @@ public:
     return FileInfos.find(File) != FileInfos.end();
   }
 
-  /// \brief Print statistics to stderr.
+  /// Print statistics to stderr.
   void PrintStats() const;
 
   void dump() const;
 
-  /// \brief Get the number of local SLocEntries we have.
+  /// Get the number of local SLocEntries we have.
   unsigned local_sloc_entry_size() const { return LocalSLocEntryTable.size(); }
 
-  /// \brief Get a local SLocEntry. This is exposed for indexing.
+  /// Get a local SLocEntry. This is exposed for indexing.
   const SrcMgr::SLocEntry &getLocalSLocEntry(unsigned Index,
                                              bool *Invalid = nullptr) const {
     assert(Index < LocalSLocEntryTable.size() && "Invalid index");
     return LocalSLocEntryTable[Index];
   }
 
-  /// \brief Get the number of loaded SLocEntries we have.
+  /// Get the number of loaded SLocEntries we have.
   unsigned loaded_sloc_entry_size() const { return LoadedSLocEntryTable.size();}
 
-  /// \brief Get a loaded SLocEntry. This is exposed for indexing.
+  /// Get a loaded SLocEntry. This is exposed for indexing.
   const SrcMgr::SLocEntry &getLoadedSLocEntry(unsigned Index,
                                               bool *Invalid = nullptr) const {
     assert(Index < LoadedSLocEntryTable.size() && "Invalid index");
@@ -1639,7 +1639,7 @@ public:
     ExternalSLocEntries = Source;
   }
 
-  /// \brief Allocate a number of loaded SLocEntries, which will be actually
+  /// Allocate a number of loaded SLocEntries, which will be actually
   /// loaded on demand from the external source.
   ///
   /// NumSLocEntries will be allocated, which occupy a total of TotalSize space
@@ -1648,23 +1648,23 @@ public:
   std::pair<int, unsigned>
   AllocateLoadedSLocEntries(unsigned NumSLocEntries, unsigned TotalSize);
 
-  /// \brief Returns true if \p Loc came from a PCH/Module.
+  /// Returns true if \p Loc came from a PCH/Module.
   bool isLoadedSourceLocation(SourceLocation Loc) const {
     return Loc.getOffset() >= CurrentLoadedOffset;
   }
 
-  /// \brief Returns true if \p Loc did not come from a PCH/Module.
+  /// Returns true if \p Loc did not come from a PCH/Module.
   bool isLocalSourceLocation(SourceLocation Loc) const {
     return Loc.getOffset() < NextLocalOffset;
   }
 
-  /// \brief Returns true if \p FID came from a PCH/Module.
+  /// Returns true if \p FID came from a PCH/Module.
   bool isLoadedFileID(FileID FID) const {
     assert(FID.ID != -1 && "Using FileID sentinel value");
     return FID.ID < 0;
   }
 
-  /// \brief Returns true if \p FID did not come from a PCH/Module.
+  /// Returns true if \p FID did not come from a PCH/Module.
   bool isLocalFileID(FileID FID) const {
     return !isLoadedFileID(FID);
   }
@@ -1697,7 +1697,7 @@ private:
 
   const SrcMgr::SLocEntry &loadSLocEntry(unsigned Index, bool *Invalid) const;
 
-  /// \brief Get the entry with the given unwrapped FileID.
+  /// Get the entry with the given unwrapped FileID.
   const SrcMgr::SLocEntry &getSLocEntryByID(int ID,
                                             bool *Invalid = nullptr) const {
     assert(ID != -1 && "Using FileID sentinel value");
@@ -1718,7 +1718,7 @@ private:
                                         int LoadedID = 0,
                                         unsigned LoadedOffset = 0);
 
-  /// \brief Return true if the specified FileID contains the
+  /// Return true if the specified FileID contains the
   /// specified SourceLocation offset.  This is a very hot method.
   inline bool isOffsetInFileID(FileID FID, unsigned SLocOffset) const {
     const SrcMgr::SLocEntry &Entry = getSLocEntry(FID);
@@ -1738,15 +1738,15 @@ private:
     return SLocOffset < getSLocEntryByID(FID.ID+1).getOffset();
   }
 
-  /// \brief Returns the previous in-order FileID or an invalid FileID if there
+  /// Returns the previous in-order FileID or an invalid FileID if there
   /// is no previous one.
   FileID getPreviousFileID(FileID FID) const;
 
-  /// \brief Returns the next in-order FileID or an invalid FileID if there is
+  /// Returns the next in-order FileID or an invalid FileID if there is
   /// no next one.
   FileID getNextFileID(FileID FID) const;
 
-  /// \brief Create a new fileID for the specified ContentCache and
+  /// Create a new fileID for the specified ContentCache and
   /// include position.
   ///
   /// This works regardless of whether the ContentCache corresponds to a
@@ -1760,7 +1760,7 @@ private:
     getOrCreateContentCache(const FileEntry *SourceFile,
                             bool isSystemFile = false);
 
-  /// \brief Create a new ContentCache for the specified  memory buffer.
+  /// Create a new ContentCache for the specified  memory buffer.
   const SrcMgr::ContentCache *
   createMemBufferContentCache(llvm::MemoryBuffer *Buf, bool DoNotFree);
 
@@ -1785,11 +1785,11 @@ private:
                                          unsigned ExpansionLength) const;
 };
 
-/// \brief Comparison function object.
+/// Comparison function object.
 template<typename T>
 class BeforeThanCompare;
 
-/// \brief Compare two source locations.
+/// Compare two source locations.
 template<>
 class BeforeThanCompare<SourceLocation> {
   SourceManager &SM;
@@ -1802,7 +1802,7 @@ public:
   }
 };
 
-/// \brief Compare two non-overlapping source ranges.
+/// Compare two non-overlapping source ranges.
 template<>
 class BeforeThanCompare<SourceRange> {
   SourceManager &SM;

Modified: cfe/trunk/include/clang/Basic/SourceManagerInternals.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceManagerInternals.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/SourceManagerInternals.h (original)
+++ cfe/trunk/include/clang/Basic/SourceManagerInternals.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines implementation details of the clang::SourceManager class.
+/// Defines implementation details of the clang::SourceManager class.
 //
 //===----------------------------------------------------------------------===//
 
@@ -31,20 +31,20 @@ namespace clang {
 //===----------------------------------------------------------------------===//
 
 struct LineEntry {
-  /// \brief The offset in this file that the line entry occurs at.
+  /// The offset in this file that the line entry occurs at.
   unsigned FileOffset;
 
-  /// \brief The presumed line number of this line entry: \#line 4.
+  /// The presumed line number of this line entry: \#line 4.
   unsigned LineNo;
 
-  /// \brief The ID of the filename identified by this line entry:
+  /// The ID of the filename identified by this line entry:
   /// \#line 4 "foo.c".  This is -1 if not specified.
   int FilenameID;
 
-  /// \brief Set the 0 if no flags, 1 if a system header,
+  /// Set the 0 if no flags, 1 if a system header,
   SrcMgr::CharacteristicKind FileKind;
 
-  /// \brief The offset of the virtual include stack location,
+  /// The offset of the virtual include stack location,
   /// which is manipulated by GNU linemarker directives.
   ///
   /// If this is 0 then there is no virtual \#includer.
@@ -77,9 +77,9 @@ inline bool operator<(unsigned Offset, c
   return Offset < E.FileOffset;
 }
 
-/// \brief Used to hold and unique data used to represent \#line information.
+/// Used to hold and unique data used to represent \#line information.
 class LineTableInfo {
-  /// \brief Map used to assign unique IDs to filenames in \#line directives. 
+  /// Map used to assign unique IDs to filenames in \#line directives. 
   ///
   /// This allows us to unique the filenames that
   /// frequently reoccur and reference them with indices.  FilenameIDs holds
@@ -88,7 +88,7 @@ class LineTableInfo {
   llvm::StringMap<unsigned, llvm::BumpPtrAllocator> FilenameIDs;
   std::vector<llvm::StringMapEntry<unsigned>*> FilenamesByID;
 
-  /// \brief Map from FileIDs to a list of line entries (sorted by the offset
+  /// Map from FileIDs to a list of line entries (sorted by the offset
   /// at which they occur in the file).
   std::map<FileID, std::vector<LineEntry>> LineEntries;
 
@@ -113,7 +113,7 @@ public:
                    unsigned EntryExit, SrcMgr::CharacteristicKind FileKind);
 
 
-  /// \brief Find the line entry nearest to FID that is before it.
+  /// Find the line entry nearest to FID that is before it.
   ///
   /// If there is no line entry before \p Offset in \p FID, returns null.
   const LineEntry *FindNearestLineEntry(FileID FID, unsigned Offset);
@@ -124,7 +124,7 @@ public:
   iterator begin() { return LineEntries.begin(); }
   iterator end() { return LineEntries.end(); }
 
-  /// \brief Add a new line entry that has already been encoded into
+  /// Add a new line entry that has already been encoded into
   /// the internal representation of the line table.
   void AddEntry(FileID FID, const std::vector<LineEntry> &Entries);
 };

Modified: cfe/trunk/include/clang/Basic/Specifiers.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Specifiers.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Specifiers.h (original)
+++ cfe/trunk/include/clang/Basic/Specifiers.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines various enumerations that describe declaration and
+/// Defines various enumerations that describe declaration and
 /// type specifiers.
 ///
 //===----------------------------------------------------------------------===//
@@ -21,7 +21,7 @@
 #include "llvm/Support/ErrorHandling.h"
 
 namespace clang {
-  /// \brief Specifies the width of a type, e.g., short, long, or long long.
+  /// Specifies the width of a type, e.g., short, long, or long long.
   enum TypeSpecifierWidth {
     TSW_unspecified,
     TSW_short,
@@ -29,7 +29,7 @@ namespace clang {
     TSW_longlong
   };
   
-  /// \brief Specifies the signedness of a type, e.g., signed or unsigned.
+  /// Specifies the signedness of a type, e.g., signed or unsigned.
   enum TypeSpecifierSign {
     TSS_unspecified,
     TSS_signed,
@@ -41,7 +41,7 @@ namespace clang {
     TSP_pipe
   };
 
-  /// \brief Specifies the kind of type.
+  /// Specifies the kind of type.
   enum TypeSpecifierType {
     TST_unspecified,
     TST_void,
@@ -81,7 +81,7 @@ namespace clang {
     TST_error // erroneous type
   };
 
-  /// \brief Structure that packs information about the type specifiers that
+  /// Structure that packs information about the type specifiers that
   /// were written in a particular type specifier sequence.
   struct WrittenBuiltinSpecs {
     static_assert(TST_error < 1 << 6, "Type bitfield not wide enough for TST");
@@ -91,7 +91,7 @@ namespace clang {
     unsigned ModeAttr : 1;
   };
 
-  /// \brief A C++ access specifier (public, private, protected), plus the
+  /// A C++ access specifier (public, private, protected), plus the
   /// special value "none" which means different things in different contexts.
   enum AccessSpecifier {
     AS_public,
@@ -100,24 +100,24 @@ namespace clang {
     AS_none
   };
 
-  /// \brief The categorization of expression values, currently following the
+  /// The categorization of expression values, currently following the
   /// C++11 scheme.
   enum ExprValueKind {
-    /// \brief An r-value expression (a pr-value in the C++11 taxonomy)
+    /// An r-value expression (a pr-value in the C++11 taxonomy)
     /// produces a temporary value.
     VK_RValue,
 
-    /// \brief An l-value expression is a reference to an object with
+    /// An l-value expression is a reference to an object with
     /// independent storage.
     VK_LValue,
 
-    /// \brief An x-value expression is a reference to an object with
+    /// An x-value expression is a reference to an object with
     /// independent storage but which can be "moved", i.e.
     /// efficiently cannibalized for its resources.
     VK_XValue
   };
 
-  /// \brief A further classification of the kind of object referenced by an
+  /// A further classification of the kind of object referenced by an
   /// l-value or x-value.
   enum ExprObjectKind {
     /// An ordinary object is located at an address in memory.
@@ -139,7 +139,7 @@ namespace clang {
     OK_ObjCSubscript
   };
 
-  /// \brief Describes the kind of template specialization that a
+  /// Describes the kind of template specialization that a
   /// particular template specialization declaration represents.
   enum TemplateSpecializationKind {
     /// This template specialization was formed from a template-id but
@@ -162,14 +162,14 @@ namespace clang {
     TSK_ExplicitInstantiationDefinition
   };
 
-  /// \brief Determine whether this template specialization kind refers
+  /// Determine whether this template specialization kind refers
   /// to an instantiation of an entity (as opposed to a non-template or
   /// an explicit specialization).
   inline bool isTemplateInstantiation(TemplateSpecializationKind Kind) {
     return Kind != TSK_Undeclared && Kind != TSK_ExplicitSpecialization;
   }
 
-  /// \brief True if this template specialization kind is an explicit
+  /// True if this template specialization kind is an explicit
   /// specialization, explicit instantiation declaration, or explicit
   /// instantiation definition.
   inline bool isTemplateExplicitInstantiationOrSpecialization(
@@ -187,7 +187,7 @@ namespace clang {
     llvm_unreachable("bad template specialization kind");
   }
 
-  /// \brief Thread storage-class-specifier.
+  /// Thread storage-class-specifier.
   enum ThreadStorageClassSpecifier {
     TSCS_unspecified,
     /// GNU __thread.
@@ -200,7 +200,7 @@ namespace clang {
     TSCS__Thread_local
   };
 
-  /// \brief Storage classes.
+  /// Storage classes.
   enum StorageClass {
     // These are legal on both functions and variables.
     SC_None,
@@ -213,24 +213,24 @@ namespace clang {
     SC_Register
   };
 
-  /// \brief Checks whether the given storage class is legal for functions.
+  /// Checks whether the given storage class is legal for functions.
   inline bool isLegalForFunction(StorageClass SC) {
     return SC <= SC_PrivateExtern;
   }
 
-  /// \brief Checks whether the given storage class is legal for variables.
+  /// Checks whether the given storage class is legal for variables.
   inline bool isLegalForVariable(StorageClass SC) {
     return true;
   }
 
-  /// \brief In-class initialization styles for non-static data members.
+  /// In-class initialization styles for non-static data members.
   enum InClassInitStyle {
     ICIS_NoInit,   ///< No in-class initializer.
     ICIS_CopyInit, ///< Copy initialization.
     ICIS_ListInit  ///< Direct list-initialization.
   };
 
-  /// \brief CallingConv - Specifies the calling convention that a function uses.
+  /// CallingConv - Specifies the calling convention that a function uses.
   enum CallingConv {
     CC_C,           // __attribute__((cdecl))
     CC_X86StdCall,  // __attribute__((stdcall))
@@ -251,7 +251,7 @@ namespace clang {
     CC_PreserveAll,  // __attribute__((preserve_all))
   };
 
-  /// \brief Checks whether the given calling convention supports variadic
+  /// Checks whether the given calling convention supports variadic
   /// calls. Unprototyped calls also use the variadic call rules.
   inline bool supportsVariadicCall(CallingConv CC) {
     switch (CC) {
@@ -270,7 +270,7 @@ namespace clang {
     }
   }
 
-  /// \brief The storage duration for an object (per C++ [basic.stc]).
+  /// The storage duration for an object (per C++ [basic.stc]).
   enum StorageDuration {
     SD_FullExpression, ///< Full-expression storage duration (for temporaries).
     SD_Automatic,      ///< Automatic storage duration (most local variables).
@@ -296,7 +296,7 @@ namespace clang {
   llvm::StringRef getNullabilitySpelling(NullabilityKind kind,
                                          bool isContextSensitive = false);
 
-  /// \brief Kinds of parameter ABI.
+  /// Kinds of parameter ABI.
   enum class ParameterABI {
     /// This parameter uses ordinary ABI rules for its type.
     Ordinary,

Modified: cfe/trunk/include/clang/Basic/SyncScope.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SyncScope.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/SyncScope.h (original)
+++ cfe/trunk/include/clang/Basic/SyncScope.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Provides definitions for the atomic synchronization scopes.
+/// Provides definitions for the atomic synchronization scopes.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -22,7 +22,7 @@
 
 namespace clang {
 
-/// \brief Defines synch scope values used internally by clang.
+/// Defines synch scope values used internally by clang.
 ///
 /// The enum values start from 0 and are contiguous. They are mainly used for
 /// enumerating all supported synch scope values and mapping them to LLVM
@@ -62,36 +62,36 @@ inline llvm::StringRef getAsString(SyncS
   llvm_unreachable("Invalid synch scope");
 }
 
-/// \brief Defines the kind of atomic scope models.
+/// Defines the kind of atomic scope models.
 enum class AtomicScopeModelKind { None, OpenCL };
 
-/// \brief Defines the interface for synch scope model.
+/// Defines the interface for synch scope model.
 class AtomicScopeModel {
 public:
   virtual ~AtomicScopeModel() {}
-  /// \brief Maps language specific synch scope values to internal
+  /// Maps language specific synch scope values to internal
   /// SyncScope enum.
   virtual SyncScope map(unsigned S) const = 0;
 
-  /// \brief Check if the compile-time constant synch scope value
+  /// Check if the compile-time constant synch scope value
   /// is valid.
   virtual bool isValid(unsigned S) const = 0;
 
-  /// \brief Get all possible synch scope values that might be
+  /// Get all possible synch scope values that might be
   /// encountered at runtime for the current language.
   virtual ArrayRef<unsigned> getRuntimeValues() const = 0;
 
-  /// \brief If atomic builtin function is called with invalid
+  /// If atomic builtin function is called with invalid
   /// synch scope value at runtime, it will fall back to a valid
   /// synch scope value returned by this function.
   virtual unsigned getFallBackValue() const = 0;
 
-  /// \brief Create an atomic scope model by AtomicScopeModelKind.
+  /// Create an atomic scope model by AtomicScopeModelKind.
   /// \return an empty std::unique_ptr for AtomicScopeModelKind::None.
   static std::unique_ptr<AtomicScopeModel> create(AtomicScopeModelKind K);
 };
 
-/// \brief Defines the synch scope model for OpenCL.
+/// Defines the synch scope model for OpenCL.
 class AtomicScopeOpenCLModel : public AtomicScopeModel {
 public:
   /// The enum values match the pre-defined macros

Modified: cfe/trunk/include/clang/Basic/TargetBuiltins.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetBuiltins.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TargetBuiltins.h (original)
+++ cfe/trunk/include/clang/Basic/TargetBuiltins.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Enumerates target-specific builtins in their own namespaces within
+/// Enumerates target-specific builtins in their own namespaces within
 /// namespace ::clang.
 ///
 //===----------------------------------------------------------------------===//
@@ -31,7 +31,7 @@ namespace clang {
   };
   }
 
-  /// \brief ARM builtins
+  /// ARM builtins
   namespace ARM {
     enum {
       LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -42,7 +42,7 @@ namespace clang {
     };
   }
 
-  /// \brief AArch64 builtins
+  /// AArch64 builtins
   namespace AArch64 {
   enum {
     LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1,
@@ -53,7 +53,7 @@ namespace clang {
   };
   }
 
-  /// \brief PPC builtins
+  /// PPC builtins
   namespace PPC {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -63,7 +63,7 @@ namespace clang {
     };
   }
 
-  /// \brief NVPTX builtins
+  /// NVPTX builtins
   namespace NVPTX {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -73,7 +73,7 @@ namespace clang {
     };
   }
 
-  /// \brief AMDGPU builtins
+  /// AMDGPU builtins
   namespace AMDGPU {
   enum {
     LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1,
@@ -83,7 +83,7 @@ namespace clang {
   };
   }
 
-  /// \brief X86 builtins
+  /// X86 builtins
   namespace X86 {
   enum {
     LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1,
@@ -97,7 +97,7 @@ namespace clang {
   };
   }
 
-  /// \brief Flags to identify the types for overloaded Neon builtins.
+  /// Flags to identify the types for overloaded Neon builtins.
   ///
   /// These must be kept in sync with the flags in utils/TableGen/NeonEmitter.h.
   class NeonTypeFlags {
@@ -140,7 +140,7 @@ namespace clang {
     bool isQuad() const { return (Flags & QuadFlag) != 0; }
   };
 
-  /// \brief Hexagon builtins
+  /// Hexagon builtins
   namespace Hexagon {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -150,7 +150,7 @@ namespace clang {
     };
   }
 
-  /// \brief Nios2 builtins
+  /// Nios2 builtins
   namespace Nios2 {
   enum {
     LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1,
@@ -160,7 +160,7 @@ namespace clang {
   };
   }
 
-  /// \brief MIPS builtins
+  /// MIPS builtins
   namespace Mips {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -170,7 +170,7 @@ namespace clang {
     };
   }
 
-  /// \brief XCore builtins
+  /// XCore builtins
   namespace XCore {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -180,7 +180,7 @@ namespace clang {
     };
   }
 
-  /// \brief Le64 builtins
+  /// Le64 builtins
   namespace Le64 {
   enum {
     LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1,
@@ -190,7 +190,7 @@ namespace clang {
   };
   }
 
-  /// \brief SystemZ builtins
+  /// SystemZ builtins
   namespace SystemZ {
     enum {
         LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,
@@ -200,7 +200,7 @@ namespace clang {
     };
   }
 
-  /// \brief WebAssembly builtins
+  /// WebAssembly builtins
   namespace WebAssembly {
     enum {
       LastTIBuiltin = clang::Builtin::FirstTSBuiltin-1,

Modified: cfe/trunk/include/clang/Basic/TargetCXXABI.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetCXXABI.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TargetCXXABI.h (original)
+++ cfe/trunk/include/clang/Basic/TargetCXXABI.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the TargetCXXABI class, which abstracts details of the
+/// Defines the TargetCXXABI class, which abstracts details of the
 /// C++ ABI that we're targeting.
 ///
 //===----------------------------------------------------------------------===//
@@ -20,10 +20,10 @@
 
 namespace clang {
 
-/// \brief The basic abstraction for the target C++ ABI.
+/// The basic abstraction for the target C++ ABI.
 class TargetCXXABI {
 public:
-  /// \brief The basic C++ ABI kind.
+  /// The basic C++ ABI kind.
   enum Kind {
     /// The generic Itanium ABI is the standard ABI of most open-source
     /// and Unix-like platforms.  It is the primary ABI targeted by
@@ -131,7 +131,7 @@ public:
 
   Kind getKind() const { return TheKind; }
 
-  /// \brief Does this ABI generally fall into the Itanium family of ABIs?
+  /// Does this ABI generally fall into the Itanium family of ABIs?
   bool isItaniumFamily() const {
     switch (getKind()) {
     case GenericAArch64:
@@ -150,7 +150,7 @@ public:
     llvm_unreachable("bad ABI kind");
   }
 
-  /// \brief Is this ABI an MSVC-compatible ABI?
+  /// Is this ABI an MSVC-compatible ABI?
   bool isMicrosoft() const {
     switch (getKind()) {
     case GenericAArch64:
@@ -169,7 +169,7 @@ public:
     llvm_unreachable("bad ABI kind");
   }
 
-  /// \brief Are member functions differently aligned?
+  /// Are member functions differently aligned?
   ///
   /// Many Itanium-style C++ ABIs require member functions to be aligned, so
   /// that a pointer to such a function is guaranteed to have a zero in the
@@ -210,25 +210,25 @@ public:
     return isMicrosoft();
   }
 
-  /// \brief Does this ABI have different entrypoints for complete-object
+  /// Does this ABI have different entrypoints for complete-object
   /// and base-subobject constructors?
   bool hasConstructorVariants() const {
     return isItaniumFamily();
   }
 
-  /// \brief Does this ABI allow virtual bases to be primary base classes?
+  /// Does this ABI allow virtual bases to be primary base classes?
   bool hasPrimaryVBases() const {
     return isItaniumFamily();
   }
 
-  /// \brief Does this ABI use key functions?  If so, class data such as the
+  /// Does this ABI use key functions?  If so, class data such as the
   /// vtable is emitted with strong linkage by the TU containing the key
   /// function.
   bool hasKeyFunctions() const {
     return isItaniumFamily();
   }
 
-  /// \brief Can an out-of-line inline function serve as a key function?
+  /// Can an out-of-line inline function serve as a key function?
   ///
   /// This flag is only useful in ABIs where type data (for example,
   /// vtables and type_info objects) are emitted only after processing

Modified: cfe/trunk/include/clang/Basic/TargetInfo.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetInfo.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TargetInfo.h (original)
+++ cfe/trunk/include/clang/Basic/TargetInfo.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::TargetInfo interface.
+/// Defines the clang::TargetInfo interface.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -49,7 +49,7 @@ class SourceManager;
 
 namespace Builtin { struct Info; }
 
-/// \brief Exposes information about the current target.
+/// Exposes information about the current target.
 ///
 class TargetInfo : public RefCountedBase<TargetInfo> {
   std::shared_ptr<TargetOptions> TargetOpts;
@@ -109,7 +109,7 @@ protected:
   }
 
 public:
-  /// \brief Construct a target for the given options.
+  /// Construct a target for the given options.
   ///
   /// \param Opts - The options to use to initialize the target. The target may
   /// modify the options to canonicalize the target feature information to match
@@ -120,7 +120,7 @@ public:
 
   virtual ~TargetInfo();
 
-  /// \brief Retrieve the target options.
+  /// Retrieve the target options.
   TargetOptions &getTargetOpts() const {
     assert(TargetOpts && "Missing target options");
     return *TargetOpts;
@@ -149,7 +149,7 @@ public:
     Float128
   };
 
-  /// \brief The different kinds of __builtin_va_list types defined by
+  /// The different kinds of __builtin_va_list types defined by
   /// the target implementation.
   enum BuiltinVaListKind {
     /// typedef char* __builtin_va_list;
@@ -195,7 +195,7 @@ protected:
           WIntType, Char16Type, Char32Type, Int64Type, SigAtomicType,
           ProcessIDType;
 
-  /// \brief Whether Objective-C's built-in boolean type should be signed char.
+  /// Whether Objective-C's built-in boolean type should be signed char.
   ///
   /// Otherwise, when this flag is not set, the normal built-in boolean type is
   /// used.
@@ -208,7 +208,7 @@ protected:
   /// boundary.
   unsigned UseBitFieldTypeAlignment : 1;
 
-  /// \brief Whether zero length bitfields (e.g., int : 0;) force alignment of
+  /// Whether zero length bitfields (e.g., int : 0;) force alignment of
   /// the next bitfield.
   ///
   /// If the alignment of the zero length bitfield is greater than the member
@@ -216,14 +216,14 @@ protected:
   /// zero-length bitfield.
   unsigned UseZeroLengthBitfieldAlignment : 1;
 
-  /// \brief  Whether explicit bit field alignment attributes are honored.
+  ///  Whether explicit bit field alignment attributes are honored.
   unsigned UseExplicitBitFieldAlignment : 1;
 
   /// If non-zero, specifies a fixed alignment value for bitfields that follow
   /// zero length bitfield, regardless of the zero length bitfield type.
   unsigned ZeroLengthBitfieldBoundary;
 
-  /// \brief Specify if mangling based on address space map should be used or
+  /// Specify if mangling based on address space map should be used or
   /// not for language specific address spaces
   bool UseAddrSpaceMapMangling;
 
@@ -285,30 +285,30 @@ public:
     }
   }
 
-  /// \brief Return the width (in bits) of the specified integer type enum.
+  /// Return the width (in bits) of the specified integer type enum.
   ///
   /// For example, SignedInt -> getIntWidth().
   unsigned getTypeWidth(IntType T) const;
 
-  /// \brief Return integer type with specified width.
+  /// Return integer type with specified width.
   virtual IntType getIntTypeByWidth(unsigned BitWidth, bool IsSigned) const;
 
-  /// \brief Return the smallest integer type with at least the specified width.
+  /// Return the smallest integer type with at least the specified width.
   virtual IntType getLeastIntTypeByWidth(unsigned BitWidth,
                                          bool IsSigned) const;
 
-  /// \brief Return floating point type with specified width.
+  /// Return floating point type with specified width.
   RealType getRealTypeByWidth(unsigned BitWidth) const;
 
-  /// \brief Return the alignment (in bits) of the specified integer type enum.
+  /// Return the alignment (in bits) of the specified integer type enum.
   ///
   /// For example, SignedInt -> getIntAlign().
   unsigned getTypeAlign(IntType T) const;
 
-  /// \brief Returns true if the type is signed; false otherwise.
+  /// Returns true if the type is signed; false otherwise.
   static bool isTypeSigned(IntType T);
 
-  /// \brief Return the width of pointers on this target, for the
+  /// Return the width of pointers on this target, for the
   /// specified address space.
   uint64_t getPointerWidth(unsigned AddrSpace) const {
     return AddrSpace == 0 ? PointerWidth : getPointerWidthV(AddrSpace);
@@ -317,29 +317,29 @@ public:
     return AddrSpace == 0 ? PointerAlign : getPointerAlignV(AddrSpace);
   }
 
-  /// \brief Return the maximum width of pointers on this target.
+  /// Return the maximum width of pointers on this target.
   virtual uint64_t getMaxPointerWidth() const {
     return PointerWidth;
   }
 
-  /// \brief Get integer value for null pointer.
+  /// Get integer value for null pointer.
   /// \param AddrSpace address space of pointee in source language.
   virtual uint64_t getNullPointerValue(LangAS AddrSpace) const { return 0; }
 
-  /// \brief Return the size of '_Bool' and C++ 'bool' for this target, in bits.
+  /// Return the size of '_Bool' and C++ 'bool' for this target, in bits.
   unsigned getBoolWidth() const { return BoolWidth; }
 
-  /// \brief Return the alignment of '_Bool' and C++ 'bool' for this target.
+  /// Return the alignment of '_Bool' and C++ 'bool' for this target.
   unsigned getBoolAlign() const { return BoolAlign; }
 
   unsigned getCharWidth() const { return 8; } // FIXME
   unsigned getCharAlign() const { return 8; } // FIXME
 
-  /// \brief Return the size of 'signed short' and 'unsigned short' for this
+  /// Return the size of 'signed short' and 'unsigned short' for this
   /// target, in bits.
   unsigned getShortWidth() const { return 16; } // FIXME
 
-  /// \brief Return the alignment of 'signed short' and 'unsigned short' for
+  /// Return the alignment of 'signed short' and 'unsigned short' for
   /// this target.
   unsigned getShortAlign() const { return 16; } // FIXME
 
@@ -358,22 +358,22 @@ public:
   unsigned getLongLongWidth() const { return LongLongWidth; }
   unsigned getLongLongAlign() const { return LongLongAlign; }
 
-  /// \brief Determine whether the __int128 type is supported on this target.
+  /// Determine whether the __int128 type is supported on this target.
   virtual bool hasInt128Type() const {
     return (getPointerWidth(0) >= 64) || getTargetOpts().ForceEnableInt128;
   } // FIXME
 
-  /// \brief Determine whether _Float16 is supported on this target.
+  /// Determine whether _Float16 is supported on this target.
   virtual bool hasLegalHalfType() const { return HasLegalHalfType; }
 
-  /// \brief Determine whether the __float128 type is supported on this target.
+  /// Determine whether the __float128 type is supported on this target.
   virtual bool hasFloat128Type() const { return HasFloat128; }
 
-  /// \brief Return the alignment that is suitable for storing any
+  /// Return the alignment that is suitable for storing any
   /// object with a fundamental alignment requirement.
   unsigned getSuitableAlign() const { return SuitableAlign; }
 
-  /// \brief Return the default alignment for __attribute__((aligned)) on
+  /// Return the default alignment for __attribute__((aligned)) on
   /// this target, to be used if no alignment value is specified.
   unsigned getDefaultAlignForAttributeAligned() const {
     return DefaultAlignForAttributeAligned;
@@ -436,11 +436,11 @@ public:
     return *Float128Format;
   }
 
-  /// \brief Return true if the 'long double' type should be mangled like
+  /// Return true if the 'long double' type should be mangled like
   /// __float128.
   virtual bool useFloat128ManglingForLongDouble() const { return false; }
 
-  /// \brief Return the value for the C99 FLT_EVAL_METHOD macro.
+  /// Return the value for the C99 FLT_EVAL_METHOD macro.
   virtual unsigned getFloatEvalMethod() const { return 0; }
 
   // getLargeArrayMinWidth/Align - Return the minimum array size that is
@@ -448,16 +448,16 @@ public:
   unsigned getLargeArrayMinWidth() const { return LargeArrayMinWidth; }
   unsigned getLargeArrayAlign() const { return LargeArrayAlign; }
 
-  /// \brief Return the maximum width lock-free atomic operation which will
+  /// Return the maximum width lock-free atomic operation which will
   /// ever be supported for the given target
   unsigned getMaxAtomicPromoteWidth() const { return MaxAtomicPromoteWidth; }
-  /// \brief Return the maximum width lock-free atomic operation which can be
+  /// Return the maximum width lock-free atomic operation which can be
   /// inlined given the supported features of the given target.
   unsigned getMaxAtomicInlineWidth() const { return MaxAtomicInlineWidth; }
-  /// \brief Set the maximum inline or promote width lock-free atomic operation
+  /// Set the maximum inline or promote width lock-free atomic operation
   /// for the given target.
   virtual void setMaxAtomicWidth() {}
-  /// \brief Returns true if the given target supports lock-free atomic
+  /// Returns true if the given target supports lock-free atomic
   /// operations at the specified width and alignment.
   virtual bool hasBuiltinAtomic(uint64_t AtomicSizeInBits,
                                 uint64_t AlignmentInBits) const {
@@ -467,14 +467,14 @@ public:
             llvm::isPowerOf2_64(AtomicSizeInBits / getCharWidth()));
   }
 
-  /// \brief Return the maximum vector alignment supported for the given target.
+  /// Return the maximum vector alignment supported for the given target.
   unsigned getMaxVectorAlign() const { return MaxVectorAlign; }
-  /// \brief Return default simd alignment for the given target. Generally, this
+  /// Return default simd alignment for the given target. Generally, this
   /// value is type-specific, but this alignment can be used for most of the
   /// types for the given target.
   unsigned getSimdDefaultAlign() const { return SimdDefaultAlign; }
 
-  /// \brief Return the size of intmax_t and uintmax_t for this target, in bits.
+  /// Return the size of intmax_t and uintmax_t for this target, in bits.
   unsigned getIntMaxTWidth() const {
     return getTypeWidth(IntMaxType);
   }
@@ -482,7 +482,7 @@ public:
   // Return the size of unwind_word for this target.
   virtual unsigned getUnwindWordWidth() const { return getPointerWidth(0); }
 
-  /// \brief Return the "preferred" register width on this target.
+  /// Return the "preferred" register width on this target.
   virtual unsigned getRegisterWidth() const {
     // Currently we assume the register width on the target matches the pointer
     // width, we can introduce a new variable for this if/when some target wants
@@ -490,12 +490,12 @@ public:
     return PointerWidth;
   }
 
-  /// \brief Returns the name of the mcount instrumentation function.
+  /// Returns the name of the mcount instrumentation function.
   const char *getMCountName() const {
     return MCountName;
   }
 
-  /// \brief Check if the Objective-C built-in boolean type should be signed
+  /// Check if the Objective-C built-in boolean type should be signed
   /// char.
   ///
   /// Otherwise, if this returns false, the normal built-in boolean type
@@ -507,58 +507,58 @@ public:
     UseSignedCharForObjCBool = false;
   }
 
-  /// \brief Check whether the alignment of bit-field types is respected
+  /// Check whether the alignment of bit-field types is respected
   /// when laying out structures.
   bool useBitFieldTypeAlignment() const {
     return UseBitFieldTypeAlignment;
   }
 
-  /// \brief Check whether zero length bitfields should force alignment of
+  /// Check whether zero length bitfields should force alignment of
   /// the next member.
   bool useZeroLengthBitfieldAlignment() const {
     return UseZeroLengthBitfieldAlignment;
   }
 
-  /// \brief Get the fixed alignment value in bits for a member that follows
+  /// Get the fixed alignment value in bits for a member that follows
   /// a zero length bitfield.
   unsigned getZeroLengthBitfieldBoundary() const {
     return ZeroLengthBitfieldBoundary;
   }
 
-  /// \brief Check whether explicit bitfield alignment attributes should be
+  /// Check whether explicit bitfield alignment attributes should be
   //  honored, as in "__attribute__((aligned(2))) int b : 1;".
   bool useExplicitBitFieldAlignment() const {
     return UseExplicitBitFieldAlignment;
   }
 
-  /// \brief Check whether this target support '\#pragma options align=mac68k'.
+  /// Check whether this target support '\#pragma options align=mac68k'.
   bool hasAlignMac68kSupport() const {
     return HasAlignMac68kSupport;
   }
 
-  /// \brief Return the user string for the specified integer type enum.
+  /// Return the user string for the specified integer type enum.
   ///
   /// For example, SignedShort -> "short".
   static const char *getTypeName(IntType T);
 
-  /// \brief Return the constant suffix for the specified integer type enum.
+  /// Return the constant suffix for the specified integer type enum.
   ///
   /// For example, SignedLong -> "L".
   const char *getTypeConstantSuffix(IntType T) const;
 
-  /// \brief Return the printf format modifier for the specified
+  /// Return the printf format modifier for the specified
   /// integer type enum.
   ///
   /// For example, SignedLong -> "l".
   static const char *getTypeFormatModifier(IntType T);
 
-  /// \brief Check whether the given real type should use the "fpret" flavor of
+  /// Check whether the given real type should use the "fpret" flavor of
   /// Objective-C message passing on this target.
   bool useObjCFPRetForRealType(RealType T) const {
     return RealTypeUsesObjCFPRet & (1 << T);
   }
 
-  /// \brief Check whether _Complex long double should use the "fp2ret" flavor
+  /// Check whether _Complex long double should use the "fp2ret" flavor
   /// of Objective-C message passing on this target.
   bool useObjCFP2RetForComplexLongDouble() const {
     return ComplexLongDoubleUsesFP2Ret;
@@ -572,7 +572,7 @@ public:
     return true;
   }
 
-  /// \brief Specify if mangling based on address space map should be used or
+  /// Specify if mangling based on address space map should be used or
   /// not for language specific address spaces
   bool useAddressSpaceMapMangling() const {
     return UseAddrSpaceMapMangling;
@@ -580,7 +580,7 @@ public:
 
   ///===---- Other target property query methods --------------------------===//
 
-  /// \brief Appends the target-specific \#define values for this
+  /// Appends the target-specific \#define values for this
   /// target set to the specified buffer.
   virtual void getTargetDefines(const LangOptions &Opts,
                                 MacroBuilder &Builder) const = 0;
@@ -598,7 +598,7 @@ public:
   /// idea to avoid optimizing based on that undef behavior.
   virtual bool isCLZForZeroUndef() const { return true; }
 
-  /// \brief Returns the kind of __builtin_va_list type that should be used
+  /// Returns the kind of __builtin_va_list type that should be used
   /// with this target.
   virtual BuiltinVaListKind getBuiltinVaListKind() const = 0;
 
@@ -609,19 +609,19 @@ public:
   /// Returns true for RenderScript.
   bool isRenderScriptTarget() const { return IsRenderScriptTarget; }
 
-  /// \brief Returns whether the passed in string is a valid clobber in an
+  /// Returns whether the passed in string is a valid clobber in an
   /// inline asm statement.
   ///
   /// This is used by Sema.
   bool isValidClobber(StringRef Name) const;
 
-  /// \brief Returns whether the passed in string is a valid register name
+  /// Returns whether the passed in string is a valid register name
   /// according to GCC.
   ///
   /// This is used by Sema for inline asm statements.
   virtual bool isValidGCCRegisterName(StringRef Name) const;
 
-  /// \brief Returns the "normalized" GCC register name.
+  /// Returns the "normalized" GCC register name.
   ///
   /// ReturnCannonical true will return the register name without any additions
   /// such as "{}" or "%" in it's canonical form, for example:
@@ -629,7 +629,7 @@ public:
   StringRef getNormalizedGCCRegisterName(StringRef Name,
                                          bool ReturnCanonical = false) const;
 
-  /// \brief Extracts a register from the passed constraint (if it is a
+  /// Extracts a register from the passed constraint (if it is a
   /// single-register constraint) and the asm label expression related to a
   /// variable in the input or output list of an inline asm statement.
   ///
@@ -674,11 +674,11 @@ public:
     bool allowsRegister() const { return (Flags & CI_AllowsRegister) != 0; }
     bool allowsMemory() const { return (Flags & CI_AllowsMemory) != 0; }
 
-    /// \brief Return true if this output operand has a matching
+    /// Return true if this output operand has a matching
     /// (tied) input operand.
     bool hasMatchingInput() const { return (Flags & CI_HasMatchingInput) != 0; }
 
-    /// \brief Return true if this input operand is a matching
+    /// Return true if this input operand is a matching
     /// constraint that ties it to an output operand.
     ///
     /// If this returns true then getTiedOperand will indicate which output
@@ -722,7 +722,7 @@ public:
       ImmRange.Max = INT_MAX;
     }
 
-    /// \brief Indicate that this is an input operand that is tied to
+    /// Indicate that this is an input operand that is tied to
     /// the specified output operand.
     ///
     /// Copy over the various constraint information from the output.
@@ -734,7 +734,7 @@ public:
     }
   };
 
-  /// \brief Validate register name used for global register variables.
+  /// Validate register name used for global register variables.
   ///
   /// This function returns true if the register passed in RegName can be used
   /// for global register variables on this target. In addition, it returns
@@ -788,16 +788,16 @@ public:
     return std::string(1, *Constraint);
   }
 
-  /// \brief Returns a string of target-specific clobbers, in LLVM format.
+  /// Returns a string of target-specific clobbers, in LLVM format.
   virtual const char *getClobbers() const = 0;
 
-  /// \brief Returns true if NaN encoding is IEEE 754-2008.
+  /// Returns true if NaN encoding is IEEE 754-2008.
   /// Only MIPS allows a different encoding.
   virtual bool isNan2008() const {
     return true;
   }
 
-  /// \brief Returns the target triple of the primary target.
+  /// Returns the target triple of the primary target.
   const llvm::Triple &getTriple() const {
     return Triple;
   }
@@ -817,7 +817,7 @@ public:
     const unsigned RegNum;
   };
 
-  /// \brief Does this target support "protected" visibility?
+  /// Does this target support "protected" visibility?
   ///
   /// Any target which dynamic libraries will naturally support
   /// something like "default" (meaning that the symbol is visible
@@ -829,7 +829,7 @@ public:
   /// either; the entire thing is pretty badly mangled.
   virtual bool hasProtectedVisibility() const { return true; }
 
-  /// \brief An optional hook that targets can implement to perform semantic
+  /// An optional hook that targets can implement to perform semantic
   /// checking on attribute((section("foo"))) specifiers.
   ///
   /// In this case, "foo" is passed in to be checked.  If the section
@@ -844,18 +844,18 @@ public:
     return "";
   }
 
-  /// \brief Set forced language options.
+  /// Set forced language options.
   ///
   /// Apply changes to the target information with respect to certain
   /// language options which change the target configuration and adjust
   /// the language based on the target options where applicable.
   virtual void adjust(LangOptions &Opts);
 
-  /// \brief Adjust target options based on codegen options.
+  /// Adjust target options based on codegen options.
   virtual void adjustTargetOptions(const CodeGenOptions &CGOpts,
                                    TargetOptions &TargetOpts) const {}
 
-  /// \brief Initialize the map with the default set of target features for the
+  /// Initialize the map with the default set of target features for the
   /// CPU this should include all legal feature strings on the target.
   ///
   /// \return False on error (invalid features).
@@ -863,15 +863,15 @@ public:
                               DiagnosticsEngine &Diags, StringRef CPU,
                               const std::vector<std::string> &FeatureVec) const;
 
-  /// \brief Get the ABI currently in use.
+  /// Get the ABI currently in use.
   virtual StringRef getABI() const { return StringRef(); }
 
-  /// \brief Get the C++ ABI currently in use.
+  /// Get the C++ ABI currently in use.
   TargetCXXABI getCXXABI() const {
     return TheCXXABI;
   }
 
-  /// \brief Target the specified CPU.
+  /// Target the specified CPU.
   ///
   /// \return  False on error (invalid CPU name).
   virtual bool setCPU(const std::string &Name) {
@@ -886,21 +886,21 @@ public:
     return true;
   }
 
-  /// \brief Use the specified ABI.
+  /// Use the specified ABI.
   ///
   /// \return False on error (invalid ABI name).
   virtual bool setABI(const std::string &Name) {
     return false;
   }
 
-  /// \brief Use the specified unit for FP math.
+  /// Use the specified unit for FP math.
   ///
   /// \return False on error (invalid unit name).
   virtual bool setFPMath(StringRef Name) {
     return false;
   }
 
-  /// \brief Enable or disable a specific target feature;
+  /// Enable or disable a specific target feature;
   /// the feature name must be valid.
   virtual void setFeatureEnabled(llvm::StringMap<bool> &Features,
                                  StringRef Name,
@@ -908,12 +908,12 @@ public:
     Features[Name] = Enabled;
   }
 
-  /// \brief Determine whether this TargetInfo supports the given feature.
+  /// Determine whether this TargetInfo supports the given feature.
   virtual bool isValidFeatureName(StringRef Feature) const {
     return true;
   }
 
-  /// \brief Perform initialization based on the user configured
+  /// Perform initialization based on the user configured
   /// set of features (e.g., +sse4).
   ///
   /// The list is guaranteed to have at most one entry per feature.
@@ -929,41 +929,41 @@ public:
     return true;
   }
 
-  /// \brief Determine whether the given target has the given feature.
+  /// Determine whether the given target has the given feature.
   virtual bool hasFeature(StringRef Feature) const {
     return false;
   }
 
-  /// \brief Identify whether this taret supports multiversioning of functions,
+  /// Identify whether this taret supports multiversioning of functions,
   /// which requires support for cpu_supports and cpu_is functionality.
   virtual bool supportsMultiVersioning() const { return false; }
 
-  // \brief Validate the contents of the __builtin_cpu_supports(const char*)
+  // Validate the contents of the __builtin_cpu_supports(const char*)
   // argument.
   virtual bool validateCpuSupports(StringRef Name) const { return false; }
 
-  // \brief Return the target-specific priority for features/cpus/vendors so
+  // Return the target-specific priority for features/cpus/vendors so
   // that they can be properly sorted for checking.
   virtual unsigned multiVersionSortPriority(StringRef Name) const {
     return 0;
   }
 
-  // \brief Validate the contents of the __builtin_cpu_is(const char*)
+  // Validate the contents of the __builtin_cpu_is(const char*)
   // argument.
   virtual bool validateCpuIs(StringRef Name) const { return false; }
 
-  // \brief Returns maximal number of args passed in registers.
+  // Returns maximal number of args passed in registers.
   unsigned getRegParmMax() const {
     assert(RegParmMax < 7 && "RegParmMax value is larger than AST can handle");
     return RegParmMax;
   }
 
-  /// \brief Whether the target supports thread-local storage.
+  /// Whether the target supports thread-local storage.
   bool isTLSSupported() const {
     return TLSSupported;
   }
 
-  /// \brief Return the maximum alignment (in bits) of a TLS variable
+  /// Return the maximum alignment (in bits) of a TLS variable
   ///
   /// Gets the maximum alignment (in bits) of a TLS variable on this target.
   /// Returns zero if there is no such constraint.
@@ -971,17 +971,17 @@ public:
     return MaxTLSAlign;
   }
 
-  /// \brief Whether target supports variable-length arrays.
+  /// Whether target supports variable-length arrays.
   bool isVLASupported() const { return VLASupported; }
 
-  /// \brief Whether the target supports SEH __try.
+  /// Whether the target supports SEH __try.
   bool isSEHTrySupported() const {
     return getTriple().isOSWindows() &&
            (getTriple().getArch() == llvm::Triple::x86 ||
             getTriple().getArch() == llvm::Triple::x86_64);
   }
 
-  /// \brief Return true if {|} are normal characters in the asm string.
+  /// Return true if {|} are normal characters in the asm string.
   ///
   /// If this returns false (the default), then {abc|xyz} is syntax
   /// that says that when compiling for asm variant #0, "abc" should be
@@ -991,7 +991,7 @@ public:
     return NoAsmVariants;
   }
 
-  /// \brief Return the register number that __builtin_eh_return_regno would
+  /// Return the register number that __builtin_eh_return_regno would
   /// return with the specified argument.
   /// This corresponds with TargetLowering's getExceptionPointerRegister
   /// and getExceptionSelectorRegister in the backend.
@@ -999,14 +999,14 @@ public:
     return -1;
   }
 
-  /// \brief Return the section to use for C++ static initialization functions.
+  /// Return the section to use for C++ static initialization functions.
   virtual const char *getStaticInitSectionSpecifier() const {
     return nullptr;
   }
 
   const LangASMap &getAddressSpaceMap() const { return *AddrSpaceMap; }
 
-  /// \brief Return an AST address space which can be used opportunistically
+  /// Return an AST address space which can be used opportunistically
   /// for constant global memory. It must be possible to convert pointers into
   /// this address space to LangAS::Default. If no such address space exists,
   /// this may return None, and such optimizations will be disabled.
@@ -1014,11 +1014,11 @@ public:
     return LangAS::Default;
   }
 
-  /// \brief Retrieve the name of the platform as it is used in the
+  /// Retrieve the name of the platform as it is used in the
   /// availability attribute.
   StringRef getPlatformName() const { return PlatformName; }
 
-  /// \brief Retrieve the minimum desired version of the platform, to
+  /// Retrieve the minimum desired version of the platform, to
   /// which the program should be compiled.
   VersionTuple getPlatformMinVersion() const { return PlatformMinVersion; }
 
@@ -1031,7 +1031,7 @@ public:
     CCMT_NonMember
   };
 
-  /// \brief Gets the default calling convention for the given target and
+  /// Gets the default calling convention for the given target and
   /// declaration context.
   virtual CallingConv getDefaultCallingConv(CallingConvMethodType MT) const {
     // Not all targets will specify an explicit calling convention that we can
@@ -1046,7 +1046,7 @@ public:
     CCCR_Ignore,
   };
 
-  /// \brief Determines whether a given calling convention is valid for the
+  /// Determines whether a given calling convention is valid for the
   /// target. A calling convention can either be accepted, produce a warning
   /// and be substituted with the default calling convention, or (someday)
   /// produce an error (such as using thiscall on a non-instance function).
@@ -1085,25 +1085,25 @@ public:
     return false;
   }
 
-  /// \brief Whether target allows to overalign ABI-specified preferred alignment
+  /// Whether target allows to overalign ABI-specified preferred alignment
   virtual bool allowsLargerPreferedTypeAlignment() const { return true; }
 
-  /// \brief Set supported OpenCL extensions and optional core features.
+  /// Set supported OpenCL extensions and optional core features.
   virtual void setSupportedOpenCLOpts() {}
 
-  /// \brief Set supported OpenCL extensions as written on command line
+  /// Set supported OpenCL extensions as written on command line
   virtual void setOpenCLExtensionOpts() {
     for (const auto &Ext : getTargetOpts().OpenCLExtensionsAsWritten) {
       getTargetOpts().SupportedOpenCLOptions.support(Ext);
     }
   }
 
-  /// \brief Get supported OpenCL extensions and optional core features.
+  /// Get supported OpenCL extensions and optional core features.
   OpenCLOptions &getSupportedOpenCLOpts() {
     return getTargetOpts().SupportedOpenCLOptions;
   }
 
-  /// \brief Get const supported OpenCL extensions and optional core features.
+  /// Get const supported OpenCL extensions and optional core features.
   const OpenCLOptions &getSupportedOpenCLOpts() const {
       return getTargetOpts().SupportedOpenCLOptions;
   }
@@ -1119,7 +1119,7 @@ public:
     OCLTK_Sampler,
   };
 
-  /// \brief Get address space for OpenCL type.
+  /// Get address space for OpenCL type.
   virtual LangAS getOpenCLTypeAddrSpace(OpenCLTypeKind TK) const;
 
   /// \returns Target specific vtbl ptr address space.
@@ -1137,7 +1137,7 @@ public:
     return None;
   }
 
-  /// \brief Check the target is valid after it is fully initialized.
+  /// Check the target is valid after it is fully initialized.
   virtual bool validateTarget(DiagnosticsEngine &Diags) const {
     return true;
   }

Modified: cfe/trunk/include/clang/Basic/TargetOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TargetOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TargetOptions.h (original)
+++ cfe/trunk/include/clang/Basic/TargetOptions.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::TargetOptions class.
+/// Defines the clang::TargetOptions class.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -22,7 +22,7 @@
 
 namespace clang {
 
-/// \brief Options for controlling the target.
+/// Options for controlling the target.
 class TargetOptions {
 public:
   /// The name of the target triple to compile for.
@@ -47,7 +47,7 @@ public:
   /// If given, the version string of the linker in use.
   std::string LinkerVersion;
 
-  /// \brief The list of target specific features to enable or disable, as written on the command line.
+  /// The list of target specific features to enable or disable, as written on the command line.
   std::vector<std::string> FeaturesAsWritten;
 
   /// The list of target specific features to enable or disable -- this should
@@ -57,11 +57,11 @@ public:
   /// Supported OpenCL extensions and optional core features.
   OpenCLOptions SupportedOpenCLOptions;
 
-  /// \brief The list of OpenCL extensions to enable or disable, as written on
+  /// The list of OpenCL extensions to enable or disable, as written on
   /// the command line.
   std::vector<std::string> OpenCLExtensionsAsWritten;
 
-  /// \brief If given, enables support for __int128_t and __uint128_t types.
+  /// If given, enables support for __int128_t and __uint128_t types.
   bool ForceEnableInt128 = false;
 };
 

Modified: cfe/trunk/include/clang/Basic/TemplateKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TemplateKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TemplateKinds.h (original)
+++ cfe/trunk/include/clang/Basic/TemplateKinds.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::TemplateNameKind enum.
+/// Defines the clang::TemplateNameKind enum.
 ///
 //===----------------------------------------------------------------------===//
 #ifndef LLVM_CLANG_BASIC_TEMPLATEKINDS_H
@@ -16,7 +16,7 @@
 
 namespace clang {
 
-/// \brief Specifies the kind of template name that an identifier refers to.
+/// Specifies the kind of template name that an identifier refers to.
 /// Be careful when changing this: this enumeration is used in diagnostics.
 enum TemplateNameKind {
   /// The name does not refer to a template.

Modified: cfe/trunk/include/clang/Basic/TokenKinds.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TokenKinds.h (original)
+++ cfe/trunk/include/clang/Basic/TokenKinds.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::TokenKind enum and support functions.
+/// Defines the clang::TokenKind enum and support functions.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -21,14 +21,14 @@ namespace clang {
 
 namespace tok {
 
-/// \brief Provides a simple uniform namespace for tokens from all C languages.
+/// Provides a simple uniform namespace for tokens from all C languages.
 enum TokenKind : unsigned short {
 #define TOK(X) X,
 #include "clang/Basic/TokenKinds.def"
   NUM_TOKENS
 };
 
-/// \brief Provides a namespace for preprocessor keywords which start with a
+/// Provides a namespace for preprocessor keywords which start with a
 /// '#' at the beginning of the line.
 enum PPKeywordKind {
 #define PPKEYWORD(X) pp_##X,
@@ -36,7 +36,7 @@ enum PPKeywordKind {
   NUM_PP_KEYWORDS
 };
 
-/// \brief Provides a namespace for Objective-C keywords which start with
+/// Provides a namespace for Objective-C keywords which start with
 /// an '@'.
 enum ObjCKeywordKind {
 #define OBJC1_AT_KEYWORD(X) objc_##X,
@@ -45,18 +45,18 @@ enum ObjCKeywordKind {
   NUM_OBJC_KEYWORDS
 };
 
-/// \brief Defines the possible values of an on-off-switch (C99 6.10.6p2).
+/// Defines the possible values of an on-off-switch (C99 6.10.6p2).
 enum OnOffSwitch {
   OOS_ON, OOS_OFF, OOS_DEFAULT
 };
 
-/// \brief Determines the name of a token as used within the front end.
+/// Determines the name of a token as used within the front end.
 ///
 /// The name of a token will be an internal name (such as "l_square")
 /// and should not be used as part of diagnostic messages.
 const char *getTokenName(TokenKind Kind) LLVM_READNONE;
 
-/// \brief Determines the spelling of simple punctuation tokens like
+/// Determines the spelling of simple punctuation tokens like
 /// '!' or '%', and returns NULL for literal and annotation tokens.
 ///
 /// This routine only retrieves the "simple" spelling of the token,
@@ -65,16 +65,16 @@ const char *getTokenName(TokenKind Kind)
 /// Preprocessor::getSpelling().
 const char *getPunctuatorSpelling(TokenKind Kind) LLVM_READNONE;
 
-/// \brief Determines the spelling of simple keyword and contextual keyword
+/// Determines the spelling of simple keyword and contextual keyword
 /// tokens like 'int' and 'dynamic_cast'. Returns NULL for other token kinds.
 const char *getKeywordSpelling(TokenKind Kind) LLVM_READNONE;
 
-/// \brief Return true if this is a raw identifier or an identifier kind.
+/// Return true if this is a raw identifier or an identifier kind.
 inline bool isAnyIdentifier(TokenKind K) {
   return (K == tok::identifier) || (K == tok::raw_identifier);
 }
 
-/// \brief Return true if this is a C or C++ string-literal (or
+/// Return true if this is a C or C++ string-literal (or
 /// C++11 user-defined-string-literal) token.
 inline bool isStringLiteral(TokenKind K) {
   return K == tok::string_literal || K == tok::wide_string_literal ||
@@ -82,7 +82,7 @@ inline bool isStringLiteral(TokenKind K)
          K == tok::utf32_string_literal;
 }
 
-/// \brief Return true if this is a "literal" kind, like a numeric
+/// Return true if this is a "literal" kind, like a numeric
 /// constant, string, etc.
 inline bool isLiteral(TokenKind K) {
   return K == tok::numeric_constant || K == tok::char_constant ||
@@ -91,7 +91,7 @@ inline bool isLiteral(TokenKind K) {
          isStringLiteral(K) || K == tok::angle_string_literal;
 }
 
-/// \brief Return true if this is any of tok::annot_* kinds.
+/// Return true if this is any of tok::annot_* kinds.
 inline bool isAnnotation(TokenKind K) {
 #define ANNOTATION(NAME) \
   if (K == tok::annot_##NAME) \

Modified: cfe/trunk/include/clang/Basic/TypeTraits.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TypeTraits.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TypeTraits.h (original)
+++ cfe/trunk/include/clang/Basic/TypeTraits.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines enumerations for the type traits support.
+/// Defines enumerations for the type traits support.
 ///
 //===----------------------------------------------------------------------===//
 
@@ -17,7 +17,7 @@
 
 namespace clang {
 
-  /// \brief Names for traits that operate specifically on types.
+  /// Names for traits that operate specifically on types.
   enum TypeTrait {
     UTT_HasNothrowAssign,
     UTT_HasNothrowMoveAssign,
@@ -87,13 +87,13 @@ namespace clang {
     TT_IsTriviallyConstructible
   };
 
-  /// \brief Names for the array type traits.
+  /// Names for the array type traits.
   enum ArrayTypeTrait {
     ATT_ArrayRank,
     ATT_ArrayExtent
   };
 
-  /// \brief Names for the "expression or type" traits.
+  /// Names for the "expression or type" traits.
   enum UnaryExprOrTypeTrait {
     UETT_SizeOf,
     UETT_AlignOf,

Modified: cfe/trunk/include/clang/Basic/Version.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Version.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Version.h (original)
+++ cfe/trunk/include/clang/Basic/Version.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines version macros and version-related utility functions
+/// Defines version macros and version-related utility functions
 /// for Clang.
 ///
 //===----------------------------------------------------------------------===//
@@ -20,40 +20,40 @@
 #include "llvm/ADT/StringRef.h"
 
 namespace clang {
-  /// \brief Retrieves the repository path (e.g., Subversion path) that
+  /// Retrieves the repository path (e.g., Subversion path) that
   /// identifies the particular Clang branch, tag, or trunk from which this
   /// Clang was built.
   std::string getClangRepositoryPath();
 
-  /// \brief Retrieves the repository path from which LLVM was built.
+  /// Retrieves the repository path from which LLVM was built.
   ///
   /// This supports LLVM residing in a separate repository from clang.
   std::string getLLVMRepositoryPath();
 
-  /// \brief Retrieves the repository revision number (or identifier) from which
+  /// Retrieves the repository revision number (or identifier) from which
   /// this Clang was built.
   std::string getClangRevision();
 
-  /// \brief Retrieves the repository revision number (or identifier) from which
+  /// Retrieves the repository revision number (or identifier) from which
   /// LLVM was built.
   ///
   /// If Clang and LLVM are in the same repository, this returns the same
   /// string as getClangRevision.
   std::string getLLVMRevision();
 
-  /// \brief Retrieves the full repository version that is an amalgamation of
+  /// Retrieves the full repository version that is an amalgamation of
   /// the information in getClangRepositoryPath() and getClangRevision().
   std::string getClangFullRepositoryVersion();
 
-  /// \brief Retrieves a string representing the complete clang version,
+  /// Retrieves a string representing the complete clang version,
   /// which includes the clang version number, the repository version,
   /// and the vendor tag.
   std::string getClangFullVersion();
 
-  /// \brief Like getClangFullVersion(), but with a custom tool name.
+  /// Like getClangFullVersion(), but with a custom tool name.
   std::string getClangToolFullVersion(llvm::StringRef ToolName);
 
-  /// \brief Retrieves a string representing the complete clang version suitable
+  /// Retrieves a string representing the complete clang version suitable
   /// for use in the CPP __VERSION__ macro, which includes the clang version
   /// number, the repository version, and the vendor tag.
   std::string getClangFullCPPVersion();

Modified: cfe/trunk/include/clang/Basic/VersionTuple.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/VersionTuple.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/VersionTuple.h (original)
+++ cfe/trunk/include/clang/Basic/VersionTuple.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::VersionTuple class, which represents a version in
+/// Defines the clang::VersionTuple class, which represents a version in
 /// the form major[.minor[.subminor]].
 ///
 //===----------------------------------------------------------------------===//
@@ -22,7 +22,7 @@
 
 namespace clang {
 
-/// \brief Represents a version number in the form major[.minor[.subminor[.build]]].
+/// Represents a version number in the form major[.minor[.subminor[.build]]].
 class VersionTuple {
   unsigned Major : 31;
 
@@ -64,30 +64,30 @@ public:
         HasMinor(true), Subminor(Subminor), HasSubminor(true), Build(Build),
         HasBuild(true) {}
 
-  /// \brief Determine whether this version information is empty
+  /// Determine whether this version information is empty
   /// (e.g., all version components are zero).
   bool empty() const {
     return Major == 0 && Minor == 0 && Subminor == 0 && Build == 0;
   }
 
-  /// \brief Retrieve the major version number.
+  /// Retrieve the major version number.
   unsigned getMajor() const { return Major; }
 
-  /// \brief Retrieve the minor version number, if provided.
+  /// Retrieve the minor version number, if provided.
   Optional<unsigned> getMinor() const {
     if (!HasMinor)
       return None;
     return Minor;
   }
 
-  /// \brief Retrieve the subminor version number, if provided.
+  /// Retrieve the subminor version number, if provided.
   Optional<unsigned> getSubminor() const {
     if (!HasSubminor)
       return None;
     return Subminor;
   }
 
-  /// \brief Retrieve the build version number, if provided.
+  /// Retrieve the build version number, if provided.
   Optional<unsigned> getBuild() const {
     if (!HasBuild)
       return None;
@@ -102,14 +102,14 @@ public:
     UsesUnderscores = false;
   }
   
-  /// \brief Determine if two version numbers are equivalent. If not
+  /// Determine if two version numbers are equivalent. If not
   /// provided, minor and subminor version numbers are considered to be zero.
   friend bool operator==(const VersionTuple& X, const VersionTuple &Y) {
     return X.Major == Y.Major && X.Minor == Y.Minor &&
            X.Subminor == Y.Subminor && X.Build == Y.Build;
   }
 
-  /// \brief Determine if two version numbers are not equivalent.
+  /// Determine if two version numbers are not equivalent.
   ///
   /// If not provided, minor and subminor version numbers are considered to be 
   /// zero.
@@ -117,7 +117,7 @@ public:
     return !(X == Y);
   }
 
-  /// \brief Determine whether one version number precedes another.
+  /// Determine whether one version number precedes another.
   ///
   /// If not provided, minor and subminor version numbers are considered to be
   /// zero.
@@ -126,7 +126,7 @@ public:
            std::tie(Y.Major, Y.Minor, Y.Subminor, Y.Build);
   }
 
-  /// \brief Determine whether one version number follows another.
+  /// Determine whether one version number follows another.
   ///
   /// If not provided, minor and subminor version numbers are considered to be
   /// zero.
@@ -134,7 +134,7 @@ public:
     return Y < X;
   }
 
-  /// \brief Determine whether one version number precedes or is
+  /// Determine whether one version number precedes or is
   /// equivalent to another. 
   ///
   /// If not provided, minor and subminor version numbers are considered to be
@@ -143,7 +143,7 @@ public:
     return !(Y < X);
   }
 
-  /// \brief Determine whether one version number follows or is
+  /// Determine whether one version number follows or is
   /// equivalent to another.
   ///
   /// If not provided, minor and subminor version numbers are considered to be
@@ -152,16 +152,16 @@ public:
     return !(X < Y);
   }
 
-  /// \brief Retrieve a string representation of the version number.
+  /// Retrieve a string representation of the version number.
   std::string getAsString() const;
 
-  /// \brief Try to parse the given string as a version number.
+  /// Try to parse the given string as a version number.
   /// \returns \c true if the string does not match the regular expression
   ///   [0-9]+(\.[0-9]+){0,3}
   bool tryParse(StringRef string);
 };
 
-/// \brief Print a version number.
+/// Print a version number.
 raw_ostream& operator<<(raw_ostream &Out, const VersionTuple &V);
 
 } // end namespace clang

Modified: cfe/trunk/include/clang/Basic/VirtualFileSystem.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/VirtualFileSystem.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/VirtualFileSystem.h (original)
+++ cfe/trunk/include/clang/Basic/VirtualFileSystem.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the virtual file system interface vfs::FileSystem.
+/// Defines the virtual file system interface vfs::FileSystem.
 //
 //===----------------------------------------------------------------------===//
 
@@ -45,7 +45,7 @@ class MemoryBuffer;
 namespace clang {
 namespace vfs {
 
-/// \brief The result of a \p status operation.
+/// The result of a \p status operation.
 class Status {
   std::string Name;
   llvm::sys::fs::UniqueID UID;
@@ -72,7 +72,7 @@ public:
   static Status copyWithNewName(const llvm::sys::fs::file_status &In,
                                 StringRef NewName);
 
-  /// \brief Returns the name that should be used for this file or directory.
+  /// Returns the name that should be used for this file or directory.
   StringRef getName() const { return Name; }
 
   /// @name Status interface from llvm::sys::fs
@@ -98,18 +98,18 @@ public:
   /// @}
 };
 
-/// \brief Represents an open file.
+/// Represents an open file.
 class File {
 public:
-  /// \brief Destroy the file after closing it (if open).
+  /// Destroy the file after closing it (if open).
   /// Sub-classes should generally call close() inside their destructors.  We
   /// cannot do that from the base class, since close is virtual.
   virtual ~File();
 
-  /// \brief Get the status of the file.
+  /// Get the status of the file.
   virtual llvm::ErrorOr<Status> status() = 0;
 
-  /// \brief Get the name of the file
+  /// Get the name of the file
   virtual llvm::ErrorOr<std::string> getName() {
     if (auto Status = status())
       return Status->getName().str();
@@ -117,23 +117,23 @@ public:
       return Status.getError();
   }
 
-  /// \brief Get the contents of the file as a \p MemoryBuffer.
+  /// Get the contents of the file as a \p MemoryBuffer.
   virtual llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
   getBuffer(const Twine &Name, int64_t FileSize = -1,
             bool RequiresNullTerminator = true, bool IsVolatile = false) = 0;
 
-  /// \brief Closes the file.
+  /// Closes the file.
   virtual std::error_code close() = 0;
 };
 
 namespace detail {
 
-/// \brief An interface for virtual file systems to provide an iterator over the
+/// An interface for virtual file systems to provide an iterator over the
 /// (non-recursive) contents of a directory.
 struct DirIterImpl {
   virtual ~DirIterImpl();
 
-  /// \brief Sets \c CurrentEntry to the next entry in the directory on success,
+  /// Sets \c CurrentEntry to the next entry in the directory on success,
   /// or returns a system-defined \c error_code.
   virtual std::error_code increment() = 0;
 
@@ -142,7 +142,7 @@ struct DirIterImpl {
 
 } // namespace detail
 
-/// \brief An input iterator over the entries in a virtual path, similar to
+/// An input iterator over the entries in a virtual path, similar to
 /// llvm::sys::fs::directory_iterator.
 class directory_iterator {
   std::shared_ptr<detail::DirIterImpl> Impl; // Input iterator semantics on copy
@@ -155,10 +155,10 @@ public:
       Impl.reset(); // Normalize the end iterator to Impl == nullptr.
   }
 
-  /// \brief Construct an 'end' iterator.
+  /// Construct an 'end' iterator.
   directory_iterator() = default;
 
-  /// \brief Equivalent to operator++, with an error code.
+  /// Equivalent to operator++, with an error code.
   directory_iterator &increment(std::error_code &EC) {
     assert(Impl && "attempting to increment past end");
     EC = Impl->increment();
@@ -182,7 +182,7 @@ public:
 
 class FileSystem;
 
-/// \brief An input iterator over the recursive contents of a virtual path,
+/// An input iterator over the recursive contents of a virtual path,
 /// similar to llvm::sys::fs::recursive_directory_iterator.
 class recursive_directory_iterator {
   using IterState =
@@ -195,10 +195,10 @@ public:
   recursive_directory_iterator(FileSystem &FS, const Twine &Path,
                                std::error_code &EC);
 
-  /// \brief Construct an 'end' iterator.
+  /// Construct an 'end' iterator.
   recursive_directory_iterator() = default;
 
-  /// \brief Equivalent to operator++, with an error code.
+  /// Equivalent to operator++, with an error code.
   recursive_directory_iterator &increment(std::error_code &EC);
 
   const Status &operator*() const { return *State->top(); }
@@ -211,22 +211,22 @@ public:
     return !(*this == RHS);
   }
 
-  /// \brief Gets the current level. Starting path is at level 0.
+  /// Gets the current level. Starting path is at level 0.
   int level() const {
     assert(!State->empty() && "Cannot get level without any iteration state");
     return State->size()-1;
   }
 };
 
-/// \brief The virtual file system interface.
+/// The virtual file system interface.
 class FileSystem : public llvm::ThreadSafeRefCountedBase<FileSystem> {
 public:
   virtual ~FileSystem();
 
-  /// \brief Get the status of the entry at \p Path, if one exists.
+  /// Get the status of the entry at \p Path, if one exists.
   virtual llvm::ErrorOr<Status> status(const Twine &Path) = 0;
 
-  /// \brief Get a \p File object for the file at \p Path, if one exists.
+  /// Get a \p File object for the file at \p Path, if one exists.
   virtual llvm::ErrorOr<std::unique_ptr<File>>
   openFileForRead(const Twine &Path) = 0;
 
@@ -236,7 +236,7 @@ public:
   getBufferForFile(const Twine &Name, int64_t FileSize = -1,
                    bool RequiresNullTerminator = true, bool IsVolatile = false);
 
-  /// \brief Get a directory_iterator for \p Dir.
+  /// Get a directory_iterator for \p Dir.
   /// \note The 'end' iterator is directory_iterator().
   virtual directory_iterator dir_begin(const Twine &Dir,
                                        std::error_code &EC) = 0;
@@ -265,11 +265,11 @@ public:
   std::error_code makeAbsolute(SmallVectorImpl<char> &Path) const;
 };
 
-/// \brief Gets an \p vfs::FileSystem for the 'real' file system, as seen by
+/// Gets an \p vfs::FileSystem for the 'real' file system, as seen by
 /// the operating system.
 IntrusiveRefCntPtr<FileSystem> getRealFileSystem();
 
-/// \brief A file system that allows overlaying one \p AbstractFileSystem on top
+/// A file system that allows overlaying one \p AbstractFileSystem on top
 /// of another.
 ///
 /// Consists of a stack of >=1 \p FileSystem objects, which are treated as being
@@ -282,14 +282,14 @@ IntrusiveRefCntPtr<FileSystem> getRealFi
 class OverlayFileSystem : public FileSystem {
   using FileSystemList = SmallVector<IntrusiveRefCntPtr<FileSystem>, 1>;
 
-  /// \brief The stack of file systems, implemented as a list in order of
+  /// The stack of file systems, implemented as a list in order of
   /// their addition.
   FileSystemList FSList;
 
 public:
   OverlayFileSystem(IntrusiveRefCntPtr<FileSystem> Base);
 
-  /// \brief Pushes a file system on top of the stack.
+  /// Pushes a file system on top of the stack.
   void pushOverlay(IntrusiveRefCntPtr<FileSystem> FS);
 
   llvm::ErrorOr<Status> status(const Twine &Path) override;
@@ -301,10 +301,10 @@ public:
 
   using iterator = FileSystemList::reverse_iterator;
   
-  /// \brief Get an iterator pointing to the most recently added file system.
+  /// Get an iterator pointing to the most recently added file system.
   iterator overlays_begin() { return FSList.rbegin(); }
 
-  /// \brief Get an iterator pointing one-past the least recently added file
+  /// Get an iterator pointing one-past the least recently added file
   /// system.
   iterator overlays_end() { return FSList.rend(); }
 };
@@ -367,10 +367,10 @@ public:
   std::error_code setCurrentWorkingDirectory(const Twine &Path) override;
 };
 
-/// \brief Get a globally unique ID for a virtual file or directory.
+/// Get a globally unique ID for a virtual file or directory.
 llvm::sys::fs::UniqueID getNextVirtualUniqueID();
 
-/// \brief Gets a \p FileSystem for a virtual file system described in YAML
+/// Gets a \p FileSystem for a virtual file system described in YAML
 /// format.
 IntrusiveRefCntPtr<FileSystem>
 getVFSFromYAML(std::unique_ptr<llvm::MemoryBuffer> Buffer,
@@ -386,7 +386,7 @@ struct YAMLVFSEntry {
   std::string RPath;
 };
 
-/// \brief Collect all pairs of <virtual path, real path> entries from the
+/// Collect all pairs of <virtual path, real path> entries from the
 /// \p YAMLFilePath. This is used by the module dependency collector to forward
 /// the entries into the reproducer output VFS YAML file.
 void collectVFSFromYAML(

Modified: cfe/trunk/include/clang/Basic/Visibility.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Visibility.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Visibility.h (original)
+++ cfe/trunk/include/clang/Basic/Visibility.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::Visibility enumeration and various utility
+/// Defines the clang::Visibility enumeration and various utility
 /// functions.
 ///
 //===----------------------------------------------------------------------===//
@@ -20,7 +20,7 @@
 
 namespace clang {
 
-/// \brief Describes the different kinds of visibility that a declaration
+/// Describes the different kinds of visibility that a declaration
 /// may have.
 ///
 /// Visibility determines how a declaration interacts with the dynamic

Modified: cfe/trunk/include/clang/Basic/XRayInstr.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/XRayInstr.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/XRayInstr.h (original)
+++ cfe/trunk/include/clang/Basic/XRayInstr.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 //
 /// \file
-/// \brief Defines the clang::XRayInstrKind enum.
+/// Defines the clang::XRayInstrKind enum.
 //
 //===----------------------------------------------------------------------===//
 

Modified: cfe/trunk/include/clang/CodeGen/CGFunctionInfo.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/CodeGen/CGFunctionInfo.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/CodeGen/CGFunctionInfo.h (original)
+++ cfe/trunk/include/clang/CodeGen/CGFunctionInfo.h Tue May  8 18:00:01 2018
@@ -384,7 +384,7 @@ public:
     AllocaFieldIndex = FieldIndex;
   }
 
-  /// \brief Return true if this field of an inalloca struct should be returned
+  /// Return true if this field of an inalloca struct should be returned
   /// to implement a struct return calling convention.
   bool getInAllocaSRet() const {
     assert(isInAlloca() && "Invalid kind!");
@@ -648,10 +648,10 @@ public:
     return getExtParameterInfos()[argIndex];
   }
 
-  /// \brief Return true if this function uses inalloca arguments.
+  /// Return true if this function uses inalloca arguments.
   bool usesInAlloca() const { return ArgStruct; }
 
-  /// \brief Get the struct type used to represent all the arguments in memory.
+  /// Get the struct type used to represent all the arguments in memory.
   llvm::StructType *getArgStruct() const { return ArgStruct; }
   CharUnits getArgStructAlignment() const {
     return CharUnits::fromQuantity(ArgStructAlign);

Modified: cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.h (original)
+++ cfe/trunk/include/clang/CrossTU/CrossTranslationUnit.h Tue May  8 18:00:01 2018
@@ -62,7 +62,7 @@ private:
   int LineNo;
 };
 
-/// \brief This function parses an index file that determines which
+/// This function parses an index file that determines which
 ///        translation unit contains which definition.
 ///
 /// The index file format is the following:
@@ -75,7 +75,7 @@ parseCrossTUIndex(StringRef IndexPath, S
 
 std::string createCrossTUIndexString(const llvm::StringMap<std::string> &Index);
 
-/// \brief This class is used for tools that requires cross translation
+/// This class is used for tools that requires cross translation
 ///        unit capability.
 ///
 /// This class can load function definitions from external AST files.
@@ -90,7 +90,7 @@ public:
   CrossTranslationUnitContext(CompilerInstance &CI);
   ~CrossTranslationUnitContext();
 
-  /// \brief This function loads a function definition from an external AST
+  /// This function loads a function definition from an external AST
   ///        file and merge it into the original AST.
   ///
   /// This method should only be used on functions that have no definitions in
@@ -110,7 +110,7 @@ public:
   getCrossTUDefinition(const FunctionDecl *FD, StringRef CrossTUDir,
                        StringRef IndexName);
 
-  /// \brief This function loads a function definition from an external AST
+  /// This function loads a function definition from an external AST
   ///        file.
   ///
   /// A function definition with the same declaration will be looked up in the
@@ -126,17 +126,17 @@ public:
                                             StringRef CrossTUDir,
                                             StringRef IndexName);
 
-  /// \brief This function merges a definition from a separate AST Unit into
+  /// This function merges a definition from a separate AST Unit into
   ///        the current one which was created by the compiler instance that
   ///        was passed to the constructor.
   ///
   /// \return Returns the resulting definition or an error.
   llvm::Expected<const FunctionDecl *> importDefinition(const FunctionDecl *FD);
 
-  /// \brief Get a name to identify a function.
+  /// Get a name to identify a function.
   static std::string getLookupName(const NamedDecl *ND);
 
-  /// \brief Emit diagnostics for the user for potential configuration errors.
+  /// Emit diagnostics for the user for potential configuration errors.
   void emitCrossTUDiagnostics(const IndexError &IE);
 
 private:

Modified: cfe/trunk/include/clang/Driver/Action.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Action.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Action.h (original)
+++ cfe/trunk/include/clang/Driver/Action.h Tue May  8 18:00:01 2018
@@ -547,13 +547,13 @@ public:
   /// Type that provides information about the actions that depend on this
   /// unbundling action.
   struct DependentActionInfo final {
-    /// \brief The tool chain of the dependent action.
+    /// The tool chain of the dependent action.
     const ToolChain *DependentToolChain = nullptr;
 
-    /// \brief The bound architecture of the dependent action.
+    /// The bound architecture of the dependent action.
     StringRef DependentBoundArch;
 
-    /// \brief The offload kind of the dependent action.
+    /// The offload kind of the dependent action.
     const OffloadKind DependentOffloadKind = OFK_None;
 
     DependentActionInfo(const ToolChain *DependentToolChain,

Modified: cfe/trunk/include/clang/Driver/Driver.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Driver.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Driver.h (original)
+++ cfe/trunk/include/clang/Driver/Driver.h Tue May  8 18:00:01 2018
@@ -243,7 +243,7 @@ private:
   std::list<std::string> TempFiles;
   std::list<std::string> ResultFiles;
 
-  /// \brief Cache of all the ToolChains in use by the driver.
+  /// Cache of all the ToolChains in use by the driver.
   ///
   /// This maps from the string representation of a triple to a ToolChain
   /// created targeting that triple. The driver owns all the ToolChain objects
@@ -267,7 +267,7 @@ private:
   void generatePrefixedToolNames(StringRef Tool, const ToolChain &TC,
                                  SmallVectorImpl<std::string> &Names) const;
 
-  /// \brief Find the appropriate .crash diagonostic file for the child crash
+  /// Find the appropriate .crash diagonostic file for the child crash
   /// under this driver and copy it out to a temporary destination with the
   /// other reproducer related files (.sh, .cache, etc). If not found, suggest a
   /// directory for the user to look at.
@@ -309,12 +309,12 @@ public:
   const std::string &getTitle() { return DriverTitle; }
   void setTitle(std::string Value) { DriverTitle = std::move(Value); }
 
-  /// \brief Get the path to the main clang executable.
+  /// Get the path to the main clang executable.
   const char *getClangProgramPath() const {
     return ClangExecutable.c_str();
   }
 
-  /// \brief Get the path to where the clang executable was installed.
+  /// Get the path to where the clang executable was installed.
   const char *getInstalledDir() const {
     if (!InstalledDir.empty())
       return InstalledDir.c_str();
@@ -540,7 +540,7 @@ private:
   /// compilation based on which -f(no-)?lto(=.*)? option occurs last.
   void setLTOMode(const llvm::opt::ArgList &Args);
 
-  /// \brief Retrieves a ToolChain for a particular \p Target triple.
+  /// Retrieves a ToolChain for a particular \p Target triple.
   ///
   /// Will cache ToolChains for the life of the driver object, and create them
   /// on-demand.
@@ -549,7 +549,7 @@ private:
 
   /// @}
 
-  /// \brief Get bitmasks for which option flags to include and exclude based on
+  /// Get bitmasks for which option flags to include and exclude based on
   /// the driver mode.
   std::pair<unsigned, unsigned> getIncludeExcludeOptionFlagMasks() const;
 

Modified: cfe/trunk/include/clang/Driver/Job.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Job.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Job.h (original)
+++ cfe/trunk/include/clang/Driver/Job.h Tue May  8 18:00:01 2018
@@ -116,7 +116,7 @@ public:
     InputFileList = std::move(List);
   }
 
-  /// \brief Sets the environment to be used by the new process.
+  /// Sets the environment to be used by the new process.
   /// \param NewEnvironment An array of environment variables.
   /// \remark If the environment remains unset, then the environment
   ///         from the parent process will be used.

Modified: cfe/trunk/include/clang/Driver/Multilib.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Multilib.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Multilib.h (original)
+++ cfe/trunk/include/clang/Driver/Multilib.h Tue May  8 18:00:01 2018
@@ -40,7 +40,7 @@ public:
   Multilib(StringRef GCCSuffix = {}, StringRef OSSuffix = {},
            StringRef IncludeSuffix = {});
 
-  /// \brief Get the detected GCC installation path suffix for the multi-arch
+  /// Get the detected GCC installation path suffix for the multi-arch
   /// target variant. Always starts with a '/', unless empty
   const std::string &gccSuffix() const {
     assert(GCCSuffix.empty() ||
@@ -51,7 +51,7 @@ public:
   /// Set the GCC installation path suffix.
   Multilib &gccSuffix(StringRef S);
 
-  /// \brief Get the detected os path suffix for the multi-arch
+  /// Get the detected os path suffix for the multi-arch
   /// target variant. Always starts with a '/', unless empty
   const std::string &osSuffix() const {
     assert(OSSuffix.empty() ||
@@ -62,7 +62,7 @@ public:
   /// Set the os path suffix.
   Multilib &osSuffix(StringRef S);
 
-  /// \brief Get the include directory suffix. Always starts with a '/', unless
+  /// Get the include directory suffix. Always starts with a '/', unless
   /// empty
   const std::string &includeSuffix() const {
     assert(IncludeSuffix.empty() ||
@@ -73,7 +73,7 @@ public:
   /// Set the include directory suffix
   Multilib &includeSuffix(StringRef S);
 
-  /// \brief Get the flags that indicate or contraindicate this multilib's use
+  /// Get the flags that indicate or contraindicate this multilib's use
   /// All elements begin with either '+' or '-'
   const flags_list &flags() const { return Flags; }
   flags_list &flags() { return Flags; }
@@ -92,7 +92,7 @@ public:
   }
 
   LLVM_DUMP_METHOD void dump() const;
-  /// \brief print summary of the Multilib
+  /// print summary of the Multilib
   void print(raw_ostream &OS) const;
 
   /// Check whether any of the 'against' flags contradict the 'for' flags.

Modified: cfe/trunk/include/clang/Driver/Tool.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Tool.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Tool.h (original)
+++ cfe/trunk/include/clang/Driver/Tool.h Tue May  8 18:00:01 2018
@@ -88,12 +88,12 @@ public:
   virtual bool hasIntegratedCPP() const = 0;
   virtual bool isLinkJob() const { return false; }
   virtual bool isDsymutilJob() const { return false; }
-  /// \brief Returns the level of support for response files of this tool,
+  /// Returns the level of support for response files of this tool,
   /// whether it accepts arguments to be passed via a file on disk.
   ResponseFileSupport getResponseFilesSupport() const {
     return ResponseSupport;
   }
-  /// \brief Returns which encoding the response file should use. This is only
+  /// Returns which encoding the response file should use. This is only
   /// relevant on Windows platforms where there are different encodings being
   /// accepted for different tools. On UNIX, UTF8 is universal.
   ///
@@ -108,11 +108,11 @@ public:
   llvm::sys::WindowsEncodingMethod getResponseFileEncoding() const {
     return ResponseEncoding;
   }
-  /// \brief Returns which prefix to use when passing the name of a response
+  /// Returns which prefix to use when passing the name of a response
   /// file as a parameter to this tool.
   const char *getResponseFileFlag() const { return ResponseFlag; }
 
-  /// \brief Does this tool have "good" standardized diagnostics, or should the
+  /// Does this tool have "good" standardized diagnostics, or should the
   /// driver add an additional "command failed" diagnostic on failures.
   virtual bool hasGoodDiagnostics() const { return false; }
 

Modified: cfe/trunk/include/clang/Driver/ToolChain.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/ToolChain.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/ToolChain.h (original)
+++ cfe/trunk/include/clang/Driver/ToolChain.h Tue May  8 18:00:01 2018
@@ -201,7 +201,7 @@ public:
   StringRef getPlatform() const { return Triple.getVendorName(); }
   StringRef getOS() const { return Triple.getOSName(); }
 
-  /// \brief Provide the default architecture name (as expected by -arch) for
+  /// Provide the default architecture name (as expected by -arch) for
   /// this toolchain.
   StringRef getDefaultUniversalArchName() const;
 
@@ -233,7 +233,7 @@ public:
   // Returns the RTTIMode for the toolchain with the current arguments.
   RTTIMode getRTTIMode() const { return CachedRTTIMode; }
 
-  /// \brief Return any implicit target and/or mode flag for an invocation of
+  /// Return any implicit target and/or mode flag for an invocation of
   /// the compiler driver as `ProgName`.
   ///
   /// For example, when called with i686-linux-android-g++, the first element
@@ -287,7 +287,7 @@ public:
   /// the linker suffix or name.
   std::string GetLinkerPath() const;
 
-  /// \brief Dispatch to the specific toolchain for verbose printing.
+  /// Dispatch to the specific toolchain for verbose printing.
   ///
   /// This is used when handling the verbose option to print detailed,
   /// toolchain-specific information useful for understanding the behavior of
@@ -296,7 +296,7 @@ public:
 
   // Platform defaults information
 
-  /// \brief Returns true if the toolchain is targeting a non-native
+  /// Returns true if the toolchain is targeting a non-native
   /// architecture.
   virtual bool isCrossCompiling() const;
 
@@ -315,7 +315,7 @@ public:
   /// by default.
   virtual bool IsIntegratedAssemblerDefault() const { return false; }
 
-  /// \brief Check if the toolchain should use the integrated assembler.
+  /// Check if the toolchain should use the integrated assembler.
   virtual bool useIntegratedAs() const;
 
   /// IsMathErrnoDefault - Does this tool chain use -fmath-errno by default.
@@ -333,7 +333,7 @@ public:
   /// mixed dispatch method be used?
   virtual bool UseObjCMixedDispatch() const { return false; }
 
-  /// \brief Check whether to enable x86 relax relocations by default.
+  /// Check whether to enable x86 relax relocations by default.
   virtual bool useRelaxRelocations() const;
 
   /// GetDefaultStackProtectorLevel - Get the default stack protector level for
@@ -378,13 +378,13 @@ public:
   /// by default.
   virtual bool IsUnwindTablesDefault(const llvm::opt::ArgList &Args) const;
 
-  /// \brief Test whether this toolchain defaults to PIC.
+  /// Test whether this toolchain defaults to PIC.
   virtual bool isPICDefault() const = 0;
 
-  /// \brief Test whether this toolchain defaults to PIE.
+  /// Test whether this toolchain defaults to PIE.
   virtual bool isPIEDefault() const = 0;
 
-  /// \brief Tests whether this toolchain forces its default for PIC, PIE or
+  /// Tests whether this toolchain forces its default for PIC, PIE or
   /// non-PIC.  If this returns true, any PIC related flags should be ignored
   /// and instead the results of \c isPICDefault() and \c isPIEDefault() are
   /// used exclusively.
@@ -456,7 +456,7 @@ public:
   /// FIXME: this really belongs on some sort of DeploymentTarget abstraction
   virtual bool hasBlocksRuntime() const { return true; }
 
-  /// \brief Add the clang cc1 arguments for system include paths.
+  /// Add the clang cc1 arguments for system include paths.
   ///
   /// This routine is responsible for adding the necessary cc1 arguments to
   /// include headers from standard system header directories.
@@ -464,12 +464,12 @@ public:
   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                             llvm::opt::ArgStringList &CC1Args) const;
 
-  /// \brief Add options that need to be passed to cc1 for this target.
+  /// Add options that need to be passed to cc1 for this target.
   virtual void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
                                      llvm::opt::ArgStringList &CC1Args,
                                      Action::OffloadKind DeviceOffloadKind) const;
 
-  /// \brief Add warning options that need to be passed to cc1 for this target.
+  /// Add warning options that need to be passed to cc1 for this target.
   virtual void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const;
 
   // GetRuntimeLibType - Determine the runtime library type to use with the
@@ -517,22 +517,22 @@ public:
   virtual void addProfileRTLibs(const llvm::opt::ArgList &Args,
                                 llvm::opt::ArgStringList &CmdArgs) const;
 
-  /// \brief Add arguments to use system-specific CUDA includes.
+  /// Add arguments to use system-specific CUDA includes.
   virtual void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                                   llvm::opt::ArgStringList &CC1Args) const;
 
-  /// \brief Add arguments to use MCU GCC toolchain includes.
+  /// Add arguments to use MCU GCC toolchain includes.
   virtual void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                                    llvm::opt::ArgStringList &CC1Args) const;
 
-  /// \brief On Windows, returns the MSVC compatibility version.
+  /// On Windows, returns the MSVC compatibility version.
   virtual VersionTuple computeMSVCVersion(const Driver *D,
                                           const llvm::opt::ArgList &Args) const;
 
-  /// \brief Return sanitizers which are available in this toolchain.
+  /// Return sanitizers which are available in this toolchain.
   virtual SanitizerMask getSupportedSanitizers() const;
 
-  /// \brief Return sanitizers which are enabled by default.
+  /// Return sanitizers which are enabled by default.
   virtual SanitizerMask getDefaultSanitizers() const { return 0; }
 };
 

Modified: cfe/trunk/include/clang/Edit/EditsReceiver.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Edit/EditsReceiver.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Edit/EditsReceiver.h (original)
+++ cfe/trunk/include/clang/Edit/EditsReceiver.h Tue May  8 18:00:01 2018
@@ -24,7 +24,7 @@ public:
   virtual void insert(SourceLocation loc, StringRef text) = 0;
   virtual void replace(CharSourceRange range, StringRef text) = 0;
 
-  /// \brief By default it calls replace with an empty string.
+  /// By default it calls replace with an empty string.
   virtual void remove(CharSourceRange range);
 };
 

Modified: cfe/trunk/include/clang/Format/Format.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Format/Format.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Format/Format.h (original)
+++ cfe/trunk/include/clang/Format/Format.h Tue May  8 18:00:01 2018
@@ -41,27 +41,27 @@ public:
 const std::error_category &getParseCategory();
 std::error_code make_error_code(ParseError e);
 
-/// \brief The ``FormatStyle`` is used to configure the formatting to follow
+/// The ``FormatStyle`` is used to configure the formatting to follow
 /// specific guidelines.
 struct FormatStyle {
-  /// \brief The extra indent or outdent of access modifiers, e.g. ``public:``.
+  /// The extra indent or outdent of access modifiers, e.g. ``public:``.
   int AccessModifierOffset;
 
-  /// \brief Different styles for aligning after open brackets.
+  /// Different styles for aligning after open brackets.
   enum BracketAlignmentStyle {
-    /// \brief Align parameters on the open bracket, e.g.:
+    /// Align parameters on the open bracket, e.g.:
     /// \code
     ///   someLongFunction(argument1,
     ///                    argument2);
     /// \endcode
     BAS_Align,
-    /// \brief Don't align, instead use ``ContinuationIndentWidth``, e.g.:
+    /// Don't align, instead use ``ContinuationIndentWidth``, e.g.:
     /// \code
     ///   someLongFunction(argument1,
     ///       argument2);
     /// \endcode
     BAS_DontAlign,
-    /// \brief Always break after an open bracket, if the parameters don't fit
+    /// Always break after an open bracket, if the parameters don't fit
     /// on a single line, e.g.:
     /// \code
     ///   someLongFunction(
@@ -70,13 +70,13 @@ struct FormatStyle {
     BAS_AlwaysBreak,
   };
 
-  /// \brief If ``true``, horizontally aligns arguments after an open bracket.
+  /// If ``true``, horizontally aligns arguments after an open bracket.
   ///
   /// This applies to round brackets (parentheses), angle brackets and square
   /// brackets.
   BracketAlignmentStyle AlignAfterOpenBracket;
 
-  /// \brief If ``true``, aligns consecutive assignments.
+  /// If ``true``, aligns consecutive assignments.
   ///
   /// This will align the assignment operators of consecutive lines. This
   /// will result in formattings like
@@ -87,7 +87,7 @@ struct FormatStyle {
   /// \endcode
   bool AlignConsecutiveAssignments;
 
-  /// \brief If ``true``, aligns consecutive declarations.
+  /// If ``true``, aligns consecutive declarations.
   ///
   /// This will align the declaration names of consecutive lines. This
   /// will result in formattings like
@@ -98,9 +98,9 @@ struct FormatStyle {
   /// \endcode
   bool AlignConsecutiveDeclarations;
 
-  /// \brief Different styles for aligning escaped newlines.
+  /// Different styles for aligning escaped newlines.
   enum EscapedNewlineAlignmentStyle {
-    /// \brief Don't align escaped newlines.
+    /// Don't align escaped newlines.
     /// \code
     ///   #define A \
     ///     int aaaa; \
@@ -108,7 +108,7 @@ struct FormatStyle {
     ///     int dddddddddd;
     /// \endcode
     ENAS_DontAlign,
-    /// \brief Align escaped newlines as far left as possible.
+    /// Align escaped newlines as far left as possible.
     /// \code
     ///   true:
     ///   #define A   \
@@ -119,7 +119,7 @@ struct FormatStyle {
     ///   false:
     /// \endcode
     ENAS_Left,
-    /// \brief Align escaped newlines in the right-most column.
+    /// Align escaped newlines in the right-most column.
     /// \code
     ///   #define A                                                                      \
     ///     int aaaa;                                                                    \
@@ -129,10 +129,10 @@ struct FormatStyle {
     ENAS_Right,
   };
 
-  /// \brief Options for aligning backslashes in escaped newlines.
+  /// Options for aligning backslashes in escaped newlines.
   EscapedNewlineAlignmentStyle AlignEscapedNewlines;
 
-  /// \brief If ``true``, horizontally align operands of binary and ternary
+  /// If ``true``, horizontally align operands of binary and ternary
   /// expressions.
   ///
   /// Specifically, this aligns operands of a single expression that needs to be
@@ -143,7 +143,7 @@ struct FormatStyle {
   /// \endcode
   bool AlignOperands;
 
-  /// \brief If ``true``, aligns trailing comments.
+  /// If ``true``, aligns trailing comments.
   /// \code
   ///   true:                                   false:
   ///   int a;     // My comment a      vs.     int a; // My comment a
@@ -151,7 +151,7 @@ struct FormatStyle {
   /// \endcode
   bool AlignTrailingComments;
 
-  /// \brief If the function declaration doesn't fit on a line,
+  /// If the function declaration doesn't fit on a line,
   /// allow putting all parameters of a function declaration onto
   /// the next line even if ``BinPackParameters`` is ``false``.
   /// \code
@@ -168,12 +168,12 @@ struct FormatStyle {
   /// \endcode
   bool AllowAllParametersOfDeclarationOnNextLine;
 
-  /// \brief Allows contracting simple braced statements to a single line.
+  /// Allows contracting simple braced statements to a single line.
   ///
   /// E.g., this allows ``if (a) { return; }`` to be put on a single line.
   bool AllowShortBlocksOnASingleLine;
 
-  /// \brief If ``true``, short case labels will be contracted to a single line.
+  /// If ``true``, short case labels will be contracted to a single line.
   /// \code
   ///   true:                                   false:
   ///   switch (a) {                    vs.     switch (a) {
@@ -186,12 +186,12 @@ struct FormatStyle {
   /// \endcode
   bool AllowShortCaseLabelsOnASingleLine;
 
-  /// \brief Different styles for merging short functions containing at most one
+  /// Different styles for merging short functions containing at most one
   /// statement.
   enum ShortFunctionStyle {
-    /// \brief Never merge functions into a single line.
+    /// Never merge functions into a single line.
     SFS_None,
-    /// \brief Only merge functions defined inside a class. Same as "inline",
+    /// Only merge functions defined inside a class. Same as "inline",
     /// except it does not implies "empty": i.e. top level empty functions
     /// are not merged either.
     /// \code
@@ -205,7 +205,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     SFS_InlineOnly,
-    /// \brief Only merge empty functions.
+    /// Only merge empty functions.
     /// \code
     ///   void f() {}
     ///   void f2() {
@@ -213,7 +213,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     SFS_Empty,
-    /// \brief Only merge functions defined inside a class. Implies "empty".
+    /// Only merge functions defined inside a class. Implies "empty".
     /// \code
     ///   class Foo {
     ///     void f() { foo(); }
@@ -224,7 +224,7 @@ struct FormatStyle {
     ///   void f() {}
     /// \endcode
     SFS_Inline,
-    /// \brief Merge all functions fitting on a single line.
+    /// Merge all functions fitting on a single line.
     /// \code
     ///   class Foo {
     ///     void f() { foo(); }
@@ -234,18 +234,18 @@ struct FormatStyle {
     SFS_All,
   };
 
-  /// \brief Dependent on the value, ``int f() { return 0; }`` can be put on a
+  /// Dependent on the value, ``int f() { return 0; }`` can be put on a
   /// single line.
   ShortFunctionStyle AllowShortFunctionsOnASingleLine;
 
-  /// \brief If ``true``, ``if (a) return;`` can be put on a single line.
+  /// If ``true``, ``if (a) return;`` can be put on a single line.
   bool AllowShortIfStatementsOnASingleLine;
 
-  /// \brief If ``true``, ``while (true) continue;`` can be put on a single
+  /// If ``true``, ``while (true) continue;`` can be put on a single
   /// line.
   bool AllowShortLoopsOnASingleLine;
 
-  /// \brief Different ways to break after the function definition return type.
+  /// Different ways to break after the function definition return type.
   /// This option is **deprecated** and is retained for backwards compatibility.
   enum DefinitionReturnTypeBreakingStyle {
     /// Break after return type automatically.
@@ -257,7 +257,7 @@ struct FormatStyle {
     DRTBS_TopLevel,
   };
 
-  /// \brief Different ways to break after the function definition or
+  /// Different ways to break after the function definition or
   /// declaration return type.
   enum ReturnTypeBreakingStyle {
     /// Break after return type automatically.
@@ -328,14 +328,14 @@ struct FormatStyle {
     RTBS_TopLevelDefinitions,
   };
 
-  /// \brief The function definition return type breaking style to use.  This
+  /// The function definition return type breaking style to use.  This
   /// option is **deprecated** and is retained for backwards compatibility.
   DefinitionReturnTypeBreakingStyle AlwaysBreakAfterDefinitionReturnType;
 
-  /// \brief The function declaration return type breaking style to use.
+  /// The function declaration return type breaking style to use.
   ReturnTypeBreakingStyle AlwaysBreakAfterReturnType;
 
-  /// \brief If ``true``, always break before multiline string literals.
+  /// If ``true``, always break before multiline string literals.
   ///
   /// This flag is mean to make cases where there are multiple multiline strings
   /// in a file look more consistent. Thus, it will only take effect if wrapping
@@ -349,7 +349,7 @@ struct FormatStyle {
   /// \endcode
   bool AlwaysBreakBeforeMultilineStrings;
 
-  /// \brief If ``true``, always break after the ``template<...>`` of a template
+  /// If ``true``, always break after the ``template<...>`` of a template
   /// declaration.
   /// \code
   ///    true:                                  false:
@@ -358,7 +358,7 @@ struct FormatStyle {
   /// \endcode
   bool AlwaysBreakTemplateDeclarations;
 
-  /// \brief If ``false``, a function call's arguments will either be all on the
+  /// If ``false``, a function call's arguments will either be all on the
   /// same line or will have one line each.
   /// \code
   ///   true:
@@ -376,7 +376,7 @@ struct FormatStyle {
   /// \endcode
   bool BinPackArguments;
 
-  /// \brief If ``false``, a function declaration's or function definition's
+  /// If ``false``, a function declaration's or function definition's
   /// parameters will either all be on the same line or will have one line each.
   /// \code
   ///   true:
@@ -390,7 +390,7 @@ struct FormatStyle {
   /// \endcode
   bool BinPackParameters;
 
-  /// \brief The style of wrapping parameters on the same line (bin-packed) or
+  /// The style of wrapping parameters on the same line (bin-packed) or
   /// on one line each.
   enum BinPackStyle {
     /// Automatically determine parameter bin-packing behavior.
@@ -401,7 +401,7 @@ struct FormatStyle {
     BPS_Never,
   };
 
-  /// \brief The style of breaking before or after binary operators.
+  /// The style of breaking before or after binary operators.
   enum BinaryOperatorStyle {
     /// Break after operators.
     /// \code
@@ -441,10 +441,10 @@ struct FormatStyle {
     BOS_All,
   };
 
-  /// \brief The way to wrap binary operators.
+  /// The way to wrap binary operators.
   BinaryOperatorStyle BreakBeforeBinaryOperators;
 
-  /// \brief Different ways to attach braces to their surrounding context.
+  /// Different ways to attach braces to their surrounding context.
   enum BraceBreakingStyle {
     /// Always attach braces to surrounding context.
     /// \code
@@ -579,10 +579,10 @@ struct FormatStyle {
     BS_Custom
   };
 
-  /// \brief The brace breaking style to use.
+  /// The brace breaking style to use.
   BraceBreakingStyle BreakBeforeBraces;
 
-  /// \brief Precise control over the wrapping of braces.
+  /// Precise control over the wrapping of braces.
   /// \code
   ///   # Should be declared this way:
   ///   BreakBeforeBraces: Custom
@@ -590,7 +590,7 @@ struct FormatStyle {
   ///       AfterClass: true
   /// \endcode
   struct BraceWrappingFlags {
-    /// \brief Wrap class definitions.
+    /// Wrap class definitions.
     /// \code
     ///   true:
     ///   class foo {};
@@ -600,7 +600,7 @@ struct FormatStyle {
     ///   {};
     /// \endcode
     bool AfterClass;
-    /// \brief Wrap control statements (``if``/``for``/``while``/``switch``/..).
+    /// Wrap control statements (``if``/``for``/``while``/``switch``/..).
     /// \code
     ///   true:
     ///   if (foo())
@@ -618,7 +618,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool AfterControlStatement;
-    /// \brief Wrap enum definitions.
+    /// Wrap enum definitions.
     /// \code
     ///   true:
     ///   enum X : int
@@ -630,7 +630,7 @@ struct FormatStyle {
     ///   enum X : int { B };
     /// \endcode
     bool AfterEnum;
-    /// \brief Wrap function definitions.
+    /// Wrap function definitions.
     /// \code
     ///   true:
     ///   void foo()
@@ -646,7 +646,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool AfterFunction;
-    /// \brief Wrap namespace definitions.
+    /// Wrap namespace definitions.
     /// \code
     ///   true:
     ///   namespace
@@ -662,11 +662,11 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool AfterNamespace;
-    /// \brief Wrap ObjC definitions (interfaces, implementations...).
+    /// Wrap ObjC definitions (interfaces, implementations...).
     /// \note @autoreleasepool and @synchronized blocks are wrapped
     /// according to `AfterControlStatement` flag.
     bool AfterObjCDeclaration;
-    /// \brief Wrap struct definitions.
+    /// Wrap struct definitions.
     /// \code
     ///   true:
     ///   struct foo
@@ -680,7 +680,7 @@ struct FormatStyle {
     ///   };
     /// \endcode
     bool AfterStruct;
-    /// \brief Wrap union definitions.
+    /// Wrap union definitions.
     /// \code
     ///   true:
     ///   union foo
@@ -694,7 +694,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool AfterUnion;
-    /// \brief Wrap extern blocks.
+    /// Wrap extern blocks.
     /// \code
     ///   true:
     ///   extern "C"
@@ -708,7 +708,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool AfterExternBlock;
-    /// \brief Wrap before ``catch``.
+    /// Wrap before ``catch``.
     /// \code
     ///   true:
     ///   try {
@@ -724,7 +724,7 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool BeforeCatch;
-    /// \brief Wrap before ``else``.
+    /// Wrap before ``else``.
     /// \code
     ///   true:
     ///   if (foo()) {
@@ -738,9 +738,9 @@ struct FormatStyle {
     ///   }
     /// \endcode
     bool BeforeElse;
-    /// \brief Indent the wrapped braces themselves.
+    /// Indent the wrapped braces themselves.
     bool IndentBraces;
-    /// \brief If ``false``, empty function body can be put on a single line.
+    /// If ``false``, empty function body can be put on a single line.
     /// This option is used only if the opening brace of the function has
     /// already been wrapped, i.e. the `AfterFunction` brace wrapping mode is
     /// set, and the function could/should not be put on a single line (as per
@@ -752,7 +752,7 @@ struct FormatStyle {
     /// \endcode
     ///
     bool SplitEmptyFunction;
-    /// \brief If ``false``, empty record (e.g. class, struct or union) body
+    /// If ``false``, empty record (e.g. class, struct or union) body
     /// can be put on a single line. This option is used only if the opening
     /// brace of the record has already been wrapped, i.e. the `AfterClass`
     /// (for classes) brace wrapping mode is set.
@@ -763,7 +763,7 @@ struct FormatStyle {
     /// \endcode
     ///
     bool SplitEmptyRecord;
-    /// \brief If ``false``, empty namespace body can be put on a single line.
+    /// If ``false``, empty namespace body can be put on a single line.
     /// This option is used only if the opening brace of the namespace has
     /// already been wrapped, i.e. the `AfterNamespace` brace wrapping mode is
     /// set.
@@ -776,7 +776,7 @@ struct FormatStyle {
     bool SplitEmptyNamespace;
   };
 
-  /// \brief Control of individual brace wrapping cases.
+  /// Control of individual brace wrapping cases.
   ///
   /// If ``BreakBeforeBraces`` is set to ``BS_Custom``, use this to specify how
   /// each individual brace case should be handled. Otherwise, this is ignored.
@@ -790,7 +790,7 @@ struct FormatStyle {
   /// \endcode
   BraceWrappingFlags BraceWrapping;
 
-  /// \brief If ``true``, ternary operators will be placed after line breaks.
+  /// If ``true``, ternary operators will be placed after line breaks.
   /// \code
   ///    true:
   ///    veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongDescription
@@ -804,7 +804,7 @@ struct FormatStyle {
   /// \endcode
   bool BreakBeforeTernaryOperators;
 
-  /// \brief Different ways to break initializers.
+  /// Different ways to break initializers.
   enum BreakConstructorInitializersStyle {
     /// Break constructor initializers before the colon and after the commas.
     /// \code
@@ -830,10 +830,10 @@ struct FormatStyle {
     BCIS_AfterColon
   };
 
-  /// \brief The constructor initializers style to use.
+  /// The constructor initializers style to use.
   BreakConstructorInitializersStyle BreakConstructorInitializers;
 
-  /// \brief Break after each annotation on a field in Java files.
+  /// Break after each annotation on a field in Java files.
   /// \code{.java}
   ///    true:                                  false:
   ///    @Partial                       vs.     @Partial @Mock DataLoad loader;
@@ -842,17 +842,17 @@ struct FormatStyle {
   /// \endcode
   bool BreakAfterJavaFieldAnnotations;
 
-  /// \brief Allow breaking string literals when formatting.
+  /// Allow breaking string literals when formatting.
   bool BreakStringLiterals;
 
-  /// \brief The column limit.
+  /// The column limit.
   ///
   /// A column limit of ``0`` means that there is no column limit. In this case,
   /// clang-format will respect the input's line breaking decisions within
   /// statements unless they contradict other rules.
   unsigned ColumnLimit;
 
-  /// \brief A regular expression that describes comments with special meaning,
+  /// A regular expression that describes comments with special meaning,
   /// which should not be split into lines or otherwise changed.
   /// \code
   ///    // CommentPragmas: '^ FOOBAR pragma:'
@@ -861,7 +861,7 @@ struct FormatStyle {
   /// \endcode
   std::string CommentPragmas;
 
-  /// \brief If ``true``, in the class inheritance expression clang-format will
+  /// If ``true``, in the class inheritance expression clang-format will
   /// break before ``:`` and ``,`` if there is multiple inheritance.
   /// \code
   ///    true:                                  false:
@@ -872,7 +872,7 @@ struct FormatStyle {
   /// \endcode
   bool BreakBeforeInheritanceComma;
 
-  /// \brief If ``true``, consecutive namespace declarations will be on the same
+  /// If ``true``, consecutive namespace declarations will be on the same
   /// line. If ``false``, each namespace is declared on a new line.
   /// \code
   ///   true:
@@ -895,7 +895,7 @@ struct FormatStyle {
   /// \endcode
   bool CompactNamespaces;
 
-  /// \brief If the constructor initializers don't fit on a line, put each
+  /// If the constructor initializers don't fit on a line, put each
   /// initializer on its own line.
   /// \code
   ///   true:
@@ -913,11 +913,11 @@ struct FormatStyle {
   /// \endcode
   bool ConstructorInitializerAllOnOneLineOrOnePerLine;
 
-  /// \brief The number of characters to use for indentation of constructor
+  /// The number of characters to use for indentation of constructor
   /// initializer lists.
   unsigned ConstructorInitializerIndentWidth;
 
-  /// \brief Indent width for line continuations.
+  /// Indent width for line continuations.
   /// \code
   ///    ContinuationIndentWidth: 2
   ///
@@ -927,7 +927,7 @@ struct FormatStyle {
   /// \endcode
   unsigned ContinuationIndentWidth;
 
-  /// \brief If ``true``, format braced lists as best suited for C++11 braced
+  /// If ``true``, format braced lists as best suited for C++11 braced
   /// lists.
   ///
   /// Important differences:
@@ -949,17 +949,17 @@ struct FormatStyle {
   /// \endcode
   bool Cpp11BracedListStyle;
 
-  /// \brief If ``true``, analyze the formatted file for the most common
+  /// If ``true``, analyze the formatted file for the most common
   /// alignment of ``&`` and ``*``.
   /// Pointer and reference alignment styles are going to be updated according
   /// to the preferences found in the file.
   /// ``PointerAlignment`` is then used only as fallback.
   bool DerivePointerAlignment;
 
-  /// \brief Disables formatting completely.
+  /// Disables formatting completely.
   bool DisableFormat;
 
-  /// \brief If ``true``, clang-format detects whether function calls and
+  /// If ``true``, clang-format detects whether function calls and
   /// definitions are formatted with one parameter per line.
   ///
   /// Each call can be bin-packed, one-per-line or inconclusive. If it is
@@ -971,7 +971,7 @@ struct FormatStyle {
   /// not use this in config files, etc. Use at your own risk.
   bool ExperimentalAutoDetectBinPacking;
 
-  /// \brief If ``true``, clang-format adds missing namespace end comments and
+  /// If ``true``, clang-format adds missing namespace end comments and
   /// fixes invalid existing ones.
   /// \code
   ///    true:                                  false:
@@ -981,7 +981,7 @@ struct FormatStyle {
   /// \endcode
   bool FixNamespaceComments;
 
-  /// \brief A vector of macros that should be interpreted as foreach loops
+  /// A vector of macros that should be interpreted as foreach loops
   /// instead of as function calls.
   ///
   /// These are expected to be macros of the form:
@@ -998,9 +998,9 @@ struct FormatStyle {
   /// For example: BOOST_FOREACH.
   std::vector<std::string> ForEachMacros;
 
-  /// \brief Styles for sorting multiple ``#include`` blocks.
+  /// Styles for sorting multiple ``#include`` blocks.
   enum IncludeBlocksStyle {
-    /// \brief Sort each ``#include`` block separately.
+    /// Sort each ``#include`` block separately.
     /// \code
     ///    #include "b.h"               into      #include "b.h"
     ///
@@ -1008,7 +1008,7 @@ struct FormatStyle {
     ///    #include "a.h"                         #include <lib/main.h>
     /// \endcode
     IBS_Preserve,
-    /// \brief Merge multiple ``#include`` blocks together and sort as one.
+    /// Merge multiple ``#include`` blocks together and sort as one.
     /// \code
     ///    #include "b.h"               into      #include "a.h"
     ///                                           #include "b.h"
@@ -1016,7 +1016,7 @@ struct FormatStyle {
     ///    #include "a.h"
     /// \endcode
     IBS_Merge,
-    /// \brief Merge multiple ``#include`` blocks together and sort as one.
+    /// Merge multiple ``#include`` blocks together and sort as one.
     /// Then split into groups based on category priority. See
     /// ``IncludeCategories``.
     /// \code
@@ -1028,22 +1028,22 @@ struct FormatStyle {
     IBS_Regroup,
   };
 
-  /// \brief Dependent on the value, multiple ``#include`` blocks can be sorted
+  /// Dependent on the value, multiple ``#include`` blocks can be sorted
   /// as one and divided based on category.
   IncludeBlocksStyle IncludeBlocks;
 
-  /// \brief See documentation of ``IncludeCategories``.
+  /// See documentation of ``IncludeCategories``.
   struct IncludeCategory {
-    /// \brief The regular expression that this category matches.
+    /// The regular expression that this category matches.
     std::string Regex;
-    /// \brief The priority to assign to this category.
+    /// The priority to assign to this category.
     int Priority;
     bool operator==(const IncludeCategory &Other) const {
       return Regex == Other.Regex && Priority == Other.Priority;
     }
   };
 
-  /// \brief Regular expressions denoting the different ``#include`` categories
+  /// Regular expressions denoting the different ``#include`` categories
   /// used for ordering ``#includes``.
   ///
   /// These regular expressions are matched against the filename of an include
@@ -1071,7 +1071,7 @@ struct FormatStyle {
   /// \endcode
   std::vector<IncludeCategory> IncludeCategories;
 
-  /// \brief Specify a regular expression of suffixes that are allowed in the
+  /// Specify a regular expression of suffixes that are allowed in the
   /// file-to-main-include mapping.
   ///
   /// When guessing whether a #include is the "main" include (to assign
@@ -1084,7 +1084,7 @@ struct FormatStyle {
   /// as the "main" include in both a.cc and a_test.cc.
   std::string IncludeIsMainRegex;
 
-  /// \brief Indent case labels one level from the switch statement.
+  /// Indent case labels one level from the switch statement.
   ///
   /// When ``false``, use the same indentation level as for the switch statement.
   /// Switch statement body is always indented one level more than case labels.
@@ -1100,7 +1100,7 @@ struct FormatStyle {
   /// \endcode
   bool IndentCaseLabels;
 
-  /// \brief Options for indenting preprocessor directives.
+  /// Options for indenting preprocessor directives.
   enum PPDirectiveIndentStyle {
     /// Does not indent any directives.
     /// \code
@@ -1122,10 +1122,10 @@ struct FormatStyle {
     PPDIS_AfterHash
   };
 
-  /// \brief The preprocessor directive indenting style to use.
+  /// The preprocessor directive indenting style to use.
   PPDirectiveIndentStyle IndentPPDirectives;
 
-  /// \brief The number of columns to use for indentation.
+  /// The number of columns to use for indentation.
   /// \code
   ///    IndentWidth: 3
   ///
@@ -1138,7 +1138,7 @@ struct FormatStyle {
   /// \endcode
   unsigned IndentWidth;
 
-  /// \brief Indent if a function definition or declaration is wrapped after the
+  /// Indent if a function definition or declaration is wrapped after the
   /// type.
   /// \code
   ///    true:
@@ -1151,7 +1151,7 @@ struct FormatStyle {
   /// \endcode
   bool IndentWrappedFunctionNames;
 
-  /// \brief Quotation styles for JavaScript strings. Does not affect template
+  /// Quotation styles for JavaScript strings. Does not affect template
   /// strings.
   enum JavaScriptQuoteStyle {
     /// Leave string quotes as they are.
@@ -1174,10 +1174,10 @@ struct FormatStyle {
     JSQS_Double
   };
 
-  /// \brief The JavaScriptQuoteStyle to use for JavaScript strings.
+  /// The JavaScriptQuoteStyle to use for JavaScript strings.
   JavaScriptQuoteStyle JavaScriptQuotes;
 
-  /// \brief Whether to wrap JavaScript import/export statements.
+  /// Whether to wrap JavaScript import/export statements.
   /// \code{.js}
   ///    true:
   ///    import {
@@ -1191,7 +1191,7 @@ struct FormatStyle {
   /// \endcode
   bool JavaScriptWrapImports;
 
-  /// \brief If true, the empty line at the start of blocks is kept.
+  /// If true, the empty line at the start of blocks is kept.
   /// \code
   ///    true:                                  false:
   ///    if (foo) {                     vs.     if (foo) {
@@ -1201,7 +1201,7 @@ struct FormatStyle {
   /// \endcode
   bool KeepEmptyLinesAtTheStartOfBlocks;
 
-  /// \brief Supported languages.
+  /// Supported languages.
   ///
   /// When stored in a configuration file, specifies the language, that the
   /// configuration targets. When passed to the ``reformat()`` function, enables
@@ -1228,10 +1228,10 @@ struct FormatStyle {
   };
   bool isCpp() const { return Language == LK_Cpp || Language == LK_ObjC; }
 
-  /// \brief Language, this format style is targeted at.
+  /// Language, this format style is targeted at.
   LanguageKind Language;
 
-  /// \brief A regular expression matching macros that start a block.
+  /// A regular expression matching macros that start a block.
   /// \code
   ///    # With:
   ///    MacroBlockBegin: "^NS_MAP_BEGIN|\
@@ -1259,10 +1259,10 @@ struct FormatStyle {
   /// \endcode
   std::string MacroBlockBegin;
 
-  /// \brief A regular expression matching macros that end a block.
+  /// A regular expression matching macros that end a block.
   std::string MacroBlockEnd;
 
-  /// \brief The maximum number of consecutive empty lines to keep.
+  /// The maximum number of consecutive empty lines to keep.
   /// \code
   ///    MaxEmptyLinesToKeep: 1         vs.     MaxEmptyLinesToKeep: 0
   ///    int f() {                              int f() {
@@ -1275,7 +1275,7 @@ struct FormatStyle {
   /// \endcode
   unsigned MaxEmptyLinesToKeep;
 
-  /// \brief Different ways to indent namespace contents.
+  /// Different ways to indent namespace contents.
   enum NamespaceIndentationKind {
     /// Don't indent in namespaces.
     /// \code
@@ -1309,10 +1309,10 @@ struct FormatStyle {
     NI_All
   };
 
-  /// \brief The indentation used for namespaces.
+  /// The indentation used for namespaces.
   NamespaceIndentationKind NamespaceIndentation;
 
-  /// \brief Controls bin-packing Objective-C protocol conformance list
+  /// Controls bin-packing Objective-C protocol conformance list
   /// items into as few lines as possible when they go over ``ColumnLimit``.
   ///
   /// If ``Auto`` (the default), delegates to the value in
@@ -1344,7 +1344,7 @@ struct FormatStyle {
   /// \endcode
   BinPackStyle ObjCBinPackProtocolList;
 
-  /// \brief The number of characters to use for indentation of ObjC blocks.
+  /// The number of characters to use for indentation of ObjC blocks.
   /// \code{.objc}
   ///    ObjCBlockIndentWidth: 4
   ///
@@ -1354,37 +1354,37 @@ struct FormatStyle {
   /// \endcode
   unsigned ObjCBlockIndentWidth;
 
-  /// \brief Add a space after ``@property`` in Objective-C, i.e. use
+  /// Add a space after ``@property`` in Objective-C, i.e. use
   /// ``@property (readonly)`` instead of ``@property(readonly)``.
   bool ObjCSpaceAfterProperty;
 
-  /// \brief Add a space in front of an Objective-C protocol list, i.e. use
+  /// Add a space in front of an Objective-C protocol list, i.e. use
   /// ``Foo <Protocol>`` instead of ``Foo<Protocol>``.
   bool ObjCSpaceBeforeProtocolList;
 
-  /// \brief The penalty for breaking around an assignment operator.
+  /// The penalty for breaking around an assignment operator.
   unsigned PenaltyBreakAssignment;
 
-  /// \brief The penalty for breaking a function call after ``call(``.
+  /// The penalty for breaking a function call after ``call(``.
   unsigned PenaltyBreakBeforeFirstCallParameter;
 
-  /// \brief The penalty for each line break introduced inside a comment.
+  /// The penalty for each line break introduced inside a comment.
   unsigned PenaltyBreakComment;
 
-  /// \brief The penalty for breaking before the first ``<<``.
+  /// The penalty for breaking before the first ``<<``.
   unsigned PenaltyBreakFirstLessLess;
 
-  /// \brief The penalty for each line break introduced inside a string literal.
+  /// The penalty for each line break introduced inside a string literal.
   unsigned PenaltyBreakString;
 
-  /// \brief The penalty for each character outside of the column limit.
+  /// The penalty for each character outside of the column limit.
   unsigned PenaltyExcessCharacter;
 
-  /// \brief Penalty for putting the return type of a function onto its own
+  /// Penalty for putting the return type of a function onto its own
   /// line.
   unsigned PenaltyReturnTypeOnItsOwnLine;
 
-  /// \brief The ``&`` and ``*`` alignment style.
+  /// The ``&`` and ``*`` alignment style.
   enum PointerAlignmentStyle {
     /// Align pointer to the left.
     /// \code
@@ -1403,20 +1403,20 @@ struct FormatStyle {
     PAS_Middle
   };
 
-  /// \brief Pointer and reference alignment style.
+  /// Pointer and reference alignment style.
   PointerAlignmentStyle PointerAlignment;
 
   /// See documentation of ``RawStringFormats``.
   struct RawStringFormat {
-    /// \brief The language of this raw string.
+    /// The language of this raw string.
     LanguageKind Language;
-    /// \brief A list of raw string delimiters that match this language.
+    /// A list of raw string delimiters that match this language.
     std::vector<std::string> Delimiters;
-    /// \brief A list of enclosing function names that match this language.
+    /// A list of enclosing function names that match this language.
     std::vector<std::string> EnclosingFunctions;
-    /// \brief The canonical delimiter for this language.
+    /// The canonical delimiter for this language.
     std::string CanonicalDelimiter;
-    /// \brief The style name on which this raw string format is based on.
+    /// The style name on which this raw string format is based on.
     /// If not specified, the raw string format is based on the style that this
     /// format is based on.
     std::string BasedOnStyle;
@@ -1428,7 +1428,7 @@ struct FormatStyle {
     }
   };
 
-  /// \brief Defines hints for detecting supported languages code blocks in raw
+  /// Defines hints for detecting supported languages code blocks in raw
   /// strings.
   ///
   /// A raw string with a matching delimiter or a matching enclosing function
@@ -1465,7 +1465,7 @@ struct FormatStyle {
   /// \endcode
   std::vector<RawStringFormat> RawStringFormats;
 
-  /// \brief If ``true``, clang-format will attempt to re-flow comments.
+  /// If ``true``, clang-format will attempt to re-flow comments.
   /// \code
   ///    false:
   ///    // veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
@@ -1479,7 +1479,7 @@ struct FormatStyle {
   /// \endcode
   bool ReflowComments;
 
-  /// \brief If ``true``, clang-format will sort ``#includes``.
+  /// If ``true``, clang-format will sort ``#includes``.
   /// \code
   ///    false:                                 true:
   ///    #include "b.h"                 vs.     #include "a.h"
@@ -1487,7 +1487,7 @@ struct FormatStyle {
   /// \endcode
   bool SortIncludes;
 
-  /// \brief If ``true``, clang-format will sort using declarations.
+  /// If ``true``, clang-format will sort using declarations.
   ///
   /// The order of using declarations is defined as follows:
   /// Split the strings by "::" and discard any initial empty strings. The last
@@ -1503,21 +1503,21 @@ struct FormatStyle {
   /// \endcode
   bool SortUsingDeclarations;
 
-  /// \brief If ``true``, a space is inserted after C style casts.
+  /// If ``true``, a space is inserted after C style casts.
   /// \code
   ///    true:                                  false:
   ///    (int) i;                       vs.     (int)i;
   /// \endcode
   bool SpaceAfterCStyleCast;
 
-  /// \brief If \c true, a space will be inserted after the 'template' keyword.
+  /// If \c true, a space will be inserted after the 'template' keyword.
   /// \code
   ///    true:                                  false:
   ///    template <int> void foo();     vs.     template<int> void foo();
   /// \endcode
   bool SpaceAfterTemplateKeyword;
 
-  /// \brief If ``false``, spaces will be removed before assignment operators.
+  /// If ``false``, spaces will be removed before assignment operators.
   /// \code
   ///    true:                                  false:
   ///    int a = 5;                     vs.     int a=5;
@@ -1525,7 +1525,7 @@ struct FormatStyle {
   /// \endcode
   bool SpaceBeforeAssignmentOperators;
 
-  /// \brief If ``false``, spaces will be removed before constructor initializer
+  /// If ``false``, spaces will be removed before constructor initializer
   /// colon.
   /// \code
   ///    true:                                  false:
@@ -1533,14 +1533,14 @@ struct FormatStyle {
   /// \endcode
   bool SpaceBeforeCtorInitializerColon;
 
-  /// \brief If ``false``, spaces will be removed before inheritance colon.
+  /// If ``false``, spaces will be removed before inheritance colon.
   /// \code
   ///    true:                                  false:
   ///    class Foo : Bar {}             vs.     class Foo: Bar {}
   /// \endcode
   bool SpaceBeforeInheritanceColon;
 
-  /// \brief Different ways to put a space before opening parentheses.
+  /// Different ways to put a space before opening parentheses.
   enum SpaceBeforeParensOptions {
     /// Never put a space before opening parentheses.
     /// \code
@@ -1575,10 +1575,10 @@ struct FormatStyle {
     SBPO_Always
   };
 
-  /// \brief Defines in which cases to put a space before opening parentheses.
+  /// Defines in which cases to put a space before opening parentheses.
   SpaceBeforeParensOptions SpaceBeforeParens;
 
-  /// \brief If ``false``, spaces will be removed before range-based for loop
+  /// If ``false``, spaces will be removed before range-based for loop
   /// colon.
   /// \code
   ///    true:                                  false:
@@ -1586,7 +1586,7 @@ struct FormatStyle {
   /// \endcode
   bool SpaceBeforeRangeBasedForLoopColon;
 
-  /// \brief If ``true``, spaces may be inserted into ``()``.
+  /// If ``true``, spaces may be inserted into ``()``.
   /// \code
   ///    true:                                false:
   ///    void f( ) {                    vs.   void f() {
@@ -1598,7 +1598,7 @@ struct FormatStyle {
   /// \endcode
   bool SpaceInEmptyParentheses;
 
-  /// \brief The number of spaces before trailing line comments
+  /// The number of spaces before trailing line comments
   /// (``//`` - comments).
   ///
   /// This does not affect trailing block comments (``/*`` - comments) as
@@ -1614,7 +1614,7 @@ struct FormatStyle {
   /// \endcode
   unsigned SpacesBeforeTrailingComments;
 
-  /// \brief If ``true``, spaces will be inserted after ``<`` and before ``>``
+  /// If ``true``, spaces will be inserted after ``<`` and before ``>``
   /// in template argument lists.
   /// \code
   ///    true:                                  false:
@@ -1623,7 +1623,7 @@ struct FormatStyle {
   /// \endcode
   bool SpacesInAngles;
 
-  /// \brief If ``true``, spaces are inserted inside container literals (e.g.
+  /// If ``true``, spaces are inserted inside container literals (e.g.
   /// ObjC and Javascript array and dict literals).
   /// \code{.js}
   ///    true:                                  false:
@@ -1632,21 +1632,21 @@ struct FormatStyle {
   /// \endcode
   bool SpacesInContainerLiterals;
 
-  /// \brief If ``true``, spaces may be inserted into C style casts.
+  /// If ``true``, spaces may be inserted into C style casts.
   /// \code
   ///    true:                                  false:
   ///    x = ( int32 )y                 vs.     x = (int32)y
   /// \endcode
   bool SpacesInCStyleCastParentheses;
 
-  /// \brief If ``true``, spaces will be inserted after ``(`` and before ``)``.
+  /// If ``true``, spaces will be inserted after ``(`` and before ``)``.
   /// \code
   ///    true:                                  false:
   ///    t f( Deleted & ) & = delete;   vs.     t f(Deleted &) & = delete;
   /// \endcode
   bool SpacesInParentheses;
 
-  /// \brief If ``true``, spaces will be inserted after ``[`` and before ``]``.
+  /// If ``true``, spaces will be inserted after ``[`` and before ``]``.
   /// Lambdas or unspecified size array declarations will not be affected.
   /// \code
   ///    true:                                  false:
@@ -1655,7 +1655,7 @@ struct FormatStyle {
   /// \endcode
   bool SpacesInSquareBrackets;
 
-  /// \brief Supported language standards.
+  /// Supported language standards.
   enum LanguageStandard {
     /// Use C++03-compatible syntax.
     LS_Cpp03,
@@ -1666,14 +1666,14 @@ struct FormatStyle {
     LS_Auto
   };
 
-  /// \brief Format compatible with this standard, e.g. use ``A<A<int> >``
+  /// Format compatible with this standard, e.g. use ``A<A<int> >``
   /// instead of ``A<A<int>>`` for ``LS_Cpp03``.
   LanguageStandard Standard;
 
-  /// \brief The number of columns used for tab stops.
+  /// The number of columns used for tab stops.
   unsigned TabWidth;
 
-  /// \brief Different ways to use tab in formatting.
+  /// Different ways to use tab in formatting.
   enum UseTabStyle {
     /// Never use tab.
     UT_Never,
@@ -1686,7 +1686,7 @@ struct FormatStyle {
     UT_Always
   };
 
-  /// \brief The way to use tab characters in the resulting file.
+  /// The way to use tab characters in the resulting file.
   UseTabStyle UseTab;
 
   bool operator==(const FormatStyle &R) const {
@@ -1822,36 +1822,36 @@ private:
   friend std::error_code parseConfiguration(StringRef Text, FormatStyle *Style);
 };
 
-/// \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 one of Google's style guides:
+/// Returns a format style complying with one of Google's style guides:
 /// http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.
 /// http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml.
 /// https://developers.google.com/protocol-buffers/docs/style.
 FormatStyle getGoogleStyle(FormatStyle::LanguageKind Language);
 
-/// \brief Returns a format style complying with Chromium's style guide:
+/// Returns a format style complying with Chromium's style guide:
 /// http://www.chromium.org/developers/coding-style.
 FormatStyle getChromiumStyle(FormatStyle::LanguageKind Language);
 
-/// \brief Returns a format style complying with Mozilla's style guide:
+/// Returns a format style complying with Mozilla's style guide:
 /// https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style.
 FormatStyle getMozillaStyle();
 
-/// \brief Returns a format style complying with Webkit's style guide:
+/// Returns a format style complying with Webkit's style guide:
 /// http://www.webkit.org/coding/coding-style.html
 FormatStyle getWebKitStyle();
 
-/// \brief Returns a format style complying with GNU Coding Standards:
+/// Returns a format style complying with GNU Coding Standards:
 /// http://www.gnu.org/prep/standards/standards.html
 FormatStyle getGNUStyle();
 
-/// \brief Returns style indicating formatting should be not applied at all.
+/// Returns style indicating formatting should be not applied at all.
 FormatStyle getNoStyle();
 
-/// \brief Gets a predefined style for the specified language by name.
+/// Gets a predefined style for the specified language by name.
 ///
 /// Currently supported names: LLVM, Google, Chromium, Mozilla. Names are
 /// compared case-insensitively.
@@ -1860,7 +1860,7 @@ FormatStyle getNoStyle();
 bool getPredefinedStyle(StringRef Name, FormatStyle::LanguageKind Language,
                         FormatStyle *Style);
 
-/// \brief Parse configuration from YAML-formatted text.
+/// Parse configuration from YAML-formatted text.
 ///
 /// Style->Language is used to get the base style, if the ``BasedOnStyle``
 /// option is present.
@@ -1871,24 +1871,24 @@ bool getPredefinedStyle(StringRef Name,
 /// document, are retained in \p Style.
 std::error_code parseConfiguration(StringRef Text, FormatStyle *Style);
 
-/// \brief Gets configuration in a YAML string.
+/// Gets configuration in a YAML string.
 std::string configurationAsText(const FormatStyle &Style);
 
-/// \brief Returns the replacements necessary to sort all ``#include`` blocks
+/// Returns the replacements necessary to sort all ``#include`` blocks
 /// that are affected by ``Ranges``.
 tooling::Replacements sortIncludes(const FormatStyle &Style, StringRef Code,
                                    ArrayRef<tooling::Range> Ranges,
                                    StringRef FileName,
                                    unsigned *Cursor = nullptr);
 
-/// \brief Returns the replacements corresponding to applying and formatting
+/// Returns the replacements corresponding to applying and formatting
 /// \p Replaces on success; otheriwse, return an llvm::Error carrying
 /// llvm::StringError.
 llvm::Expected<tooling::Replacements>
 formatReplacements(StringRef Code, const tooling::Replacements &Replaces,
                    const FormatStyle &Style);
 
-/// \brief Returns the replacements corresponding to applying \p Replaces and
+/// Returns the replacements corresponding to applying \p Replaces and
 /// cleaning up the code after that on success; otherwise, return an llvm::Error
 /// carrying llvm::StringError.
 /// This also supports inserting/deleting C++ #include directives:
@@ -1909,19 +1909,19 @@ llvm::Expected<tooling::Replacements>
 cleanupAroundReplacements(StringRef Code, const tooling::Replacements &Replaces,
                           const FormatStyle &Style);
 
-/// \brief Represents the status of a formatting attempt.
+/// Represents the status of a formatting attempt.
 struct FormattingAttemptStatus {
-  /// \brief A value of ``false`` means that any of the affected ranges were not
+  /// A value of ``false`` means that any of the affected ranges were not
   /// formatted due to a non-recoverable syntax error.
   bool FormatComplete = true;
 
-  /// \brief If ``FormatComplete`` is false, ``Line`` records a one-based
+  /// If ``FormatComplete`` is false, ``Line`` records a one-based
   /// original line number at which a syntax error might have occurred. This is
   /// based on a best-effort analysis and could be imprecise.
   unsigned Line = 0;
 };
 
-/// \brief Reformats the given \p Ranges in \p Code.
+/// Reformats the given \p Ranges in \p Code.
 ///
 /// Each range is extended on either end to its next bigger logic unit, i.e.
 /// everything that might influence its formatting or might be influenced by its
@@ -1937,7 +1937,7 @@ tooling::Replacements reformat(const For
                                StringRef FileName = "<stdin>",
                                FormattingAttemptStatus *Status = nullptr);
 
-/// \brief Same as above, except if ``IncompleteFormat`` is non-null, its value
+/// Same as above, except if ``IncompleteFormat`` is non-null, its value
 /// will be set to true if any of the affected ranges were not formatted due to
 /// a non-recoverable syntax error.
 tooling::Replacements reformat(const FormatStyle &Style, StringRef Code,
@@ -1945,7 +1945,7 @@ tooling::Replacements reformat(const For
                                StringRef FileName,
                                bool *IncompleteFormat);
 
-/// \brief Clean up any erroneous/redundant code in the given \p Ranges in \p
+/// Clean up any erroneous/redundant code in the given \p Ranges in \p
 /// Code.
 ///
 /// Returns the ``Replacements`` that clean up all \p Ranges in \p Code.
@@ -1953,7 +1953,7 @@ tooling::Replacements cleanup(const Form
                               ArrayRef<tooling::Range> Ranges,
                               StringRef FileName = "<stdin>");
 
-/// \brief Fix namespace end comments in the given \p Ranges in \p Code.
+/// Fix namespace end comments in the given \p Ranges in \p Code.
 ///
 /// Returns the ``Replacements`` that fix the namespace comments in all
 /// \p Ranges in \p Code.
@@ -1962,7 +1962,7 @@ tooling::Replacements fixNamespaceEndCom
                                               ArrayRef<tooling::Range> Ranges,
                                               StringRef FileName = "<stdin>");
 
-/// \brief Sort consecutive using declarations in the given \p Ranges in
+/// Sort consecutive using declarations in the given \p Ranges in
 /// \p Code.
 ///
 /// Returns the ``Replacements`` that sort the using declarations in all
@@ -1972,17 +1972,17 @@ tooling::Replacements sortUsingDeclarati
                                             ArrayRef<tooling::Range> Ranges,
                                             StringRef FileName = "<stdin>");
 
-/// \brief Returns the ``LangOpts`` that the formatter expects you to set.
+/// Returns the ``LangOpts`` that the formatter expects you to set.
 ///
 /// \param Style determines specific settings for lexing mode.
 LangOptions getFormattingLangOpts(const FormatStyle &Style = getLLVMStyle());
 
-/// \brief Description to be used for help text for a ``llvm::cl`` option for
+/// Description to be used for help text for a ``llvm::cl`` option for
 /// specifying format style. The description is closely related to the operation
 /// of ``getStyle()``.
 extern const char *StyleOptionHelpDescription;
 
-/// \brief Construct a FormatStyle based on ``StyleName``.
+/// Construct a FormatStyle based on ``StyleName``.
 ///
 /// ``StyleName`` can take several forms:
 /// * "{<key>: <value>, ...}" - Set specic style parameters.
@@ -2011,11 +2011,11 @@ llvm::Expected<FormatStyle> getStyle(Str
                                      StringRef Code = "",
                                      vfs::FileSystem *FS = nullptr);
 
-// \brief Guesses the language from the ``FileName`` and ``Code`` to be formatted.
+// Guesses the language from the ``FileName`` and ``Code`` to be formatted.
 // Defaults to FormatStyle::LK_Cpp.
 FormatStyle::LanguageKind guessLanguage(StringRef FileName, StringRef Code);
 
-// \brief Returns a string representation of ``Language``.
+// Returns a string representation of ``Language``.
 inline StringRef getLanguageName(FormatStyle::LanguageKind Language) {
   switch (Language) {
   case FormatStyle::LK_Cpp:

Modified: cfe/trunk/include/clang/Frontend/ASTUnit.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ASTUnit.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/ASTUnit.h (original)
+++ cfe/trunk/include/clang/Frontend/ASTUnit.h Tue May  8 18:00:01 2018
@@ -81,7 +81,7 @@ class FileSystem;
 
 } // namespace vfs
 
-/// \brief Utility class for loading a ASTContext from an AST file.
+/// Utility class for loading a ASTContext from an AST file.
 class ASTUnit {
 public:
   struct StandaloneFixIt {
@@ -122,11 +122,11 @@ private:
 
   FileSystemOptions FileSystemOpts;
 
-  /// \brief The AST consumer that received information about the translation
+  /// The AST consumer that received information about the translation
   /// unit as it was parsed or loaded.
   std::unique_ptr<ASTConsumer> Consumer;
 
-  /// \brief The semantic analysis object used to type-check the translation
+  /// The semantic analysis object used to type-check the translation
   /// unit.
   std::unique_ptr<Sema> TheSema;
 
@@ -142,19 +142,19 @@ private:
   // FIXME: This is temporary; eventually, CIndex will always do this.
   bool OnlyLocalDecls = false;
 
-  /// \brief Whether to capture any diagnostics produced.
+  /// Whether to capture any diagnostics produced.
   bool CaptureDiagnostics = false;
 
-  /// \brief Track whether the main file was loaded from an AST or not.
+  /// Track whether the main file was loaded from an AST or not.
   bool MainFileIsAST;
 
-  /// \brief What kind of translation unit this AST represents.
+  /// What kind of translation unit this AST represents.
   TranslationUnitKind TUKind = TU_Complete;
 
-  /// \brief Whether we should time each operation.
+  /// Whether we should time each operation.
   bool WantTiming;
 
-  /// \brief Whether the ASTUnit should delete the remapped buffers.
+  /// Whether the ASTUnit should delete the remapped buffers.
   bool OwnsRemappedFileBuffers = true;
   
   /// Track the top-level decls which appeared in an ASTUnit which was loaded
@@ -166,36 +166,36 @@ private:
   // more scalable search mechanisms.
   std::vector<Decl*> TopLevelDecls;
 
-  /// \brief Sorted (by file offset) vector of pairs of file offset/Decl.
+  /// Sorted (by file offset) vector of pairs of file offset/Decl.
   using LocDeclsTy = SmallVector<std::pair<unsigned, Decl *>, 64>;
   using FileDeclsTy = llvm::DenseMap<FileID, LocDeclsTy *>;
 
-  /// \brief Map from FileID to the file-level declarations that it contains.
+  /// Map from FileID to the file-level declarations that it contains.
   /// The files and decls are only local (and non-preamble) ones.
   FileDeclsTy FileDecls;
   
   /// The name of the original source file used to generate this ASTUnit.
   std::string OriginalSourceFile;
 
-  /// \brief The set of diagnostics produced when creating the preamble.
+  /// The set of diagnostics produced when creating the preamble.
   SmallVector<StandaloneDiagnostic, 4> PreambleDiagnostics;
 
-  /// \brief The set of diagnostics produced when creating this
+  /// The set of diagnostics produced when creating this
   /// translation unit.
   SmallVector<StoredDiagnostic, 4> StoredDiagnostics;
 
-  /// \brief The set of diagnostics produced when failing to parse, e.g. due
+  /// The set of diagnostics produced when failing to parse, e.g. due
   /// to failure to load the PCH.
   SmallVector<StoredDiagnostic, 4> FailedParseDiagnostics;
 
-  /// \brief The number of stored diagnostics that come from the driver
+  /// The number of stored diagnostics that come from the driver
   /// itself.
   ///
   /// Diagnostics that come from the driver are retained from one parse to
   /// the next.
   unsigned NumStoredDiagnosticsFromDriver = 0;
   
-  /// \brief Counter that determines when we want to try building a
+  /// Counter that determines when we want to try building a
   /// precompiled preamble.
   ///
   /// If zero, we will never build a precompiled preamble. Otherwise,
@@ -206,7 +206,7 @@ private:
   /// some number of calls.
   unsigned PreambleRebuildCounter = 0;
 
-  /// \brief Cache pairs "filename - source location"
+  /// Cache pairs "filename - source location"
   ///
   /// Cache contains only source locations from preamble so it is
   /// guaranteed that they stay valid when the SourceManager is recreated.
@@ -217,12 +217,12 @@ private:
   /// The contents of the preamble.
   llvm::Optional<PrecompiledPreamble> Preamble;
 
-  /// \brief When non-NULL, this is the buffer used to store the contents of
+  /// When non-NULL, this is the buffer used to store the contents of
   /// the main file when it has been padded for use with the precompiled
   /// preamble.
   std::unique_ptr<llvm::MemoryBuffer> SavedMainFileBuffer;
 
-  /// \brief The number of warnings that occurred while parsing the preamble.
+  /// The number of warnings that occurred while parsing the preamble.
   ///
   /// This value will be used to restore the state of the \c DiagnosticsEngine
   /// object when re-using the precompiled preamble. Note that only the
@@ -230,18 +230,18 @@ private:
   /// when any errors are present.
   unsigned NumWarningsInPreamble = 0;
 
-  /// \brief A list of the serialization ID numbers for each of the top-level
+  /// A list of the serialization ID numbers for each of the top-level
   /// declarations parsed within the precompiled preamble.
   std::vector<serialization::DeclID> TopLevelDeclsInPreamble;
   
-  /// \brief Whether we should be caching code-completion results.
+  /// Whether we should be caching code-completion results.
   bool ShouldCacheCodeCompletionResults : 1;
 
-  /// \brief Whether to include brief documentation within the set of code
+  /// Whether to include brief documentation within the set of code
   /// completions cached.
   bool IncludeBriefCommentsInCodeCompletion : 1;
 
-  /// \brief True if non-system source files should be treated as volatile
+  /// True if non-system source files should be treated as volatile
   /// (likely to change while trying to use them).
   bool UserFilesAreVolatile : 1;
  
@@ -256,14 +256,14 @@ private:
   void clearFileLevelDecls();
 
 public:
-  /// \brief A cached code-completion result, which may be introduced in one of
+  /// A cached code-completion result, which may be introduced in one of
   /// many different contexts.
   struct CachedCodeCompletionResult {
-    /// \brief The code-completion string corresponding to this completion
+    /// The code-completion string corresponding to this completion
     /// result.
     CodeCompletionString *Completion;
     
-    /// \brief A bitmask that indicates which code-completion contexts should
+    /// A bitmask that indicates which code-completion contexts should
     /// contain this completion result.
     ///
     /// The bits in the bitmask correspond to the values of
@@ -272,20 +272,20 @@ public:
     /// several different contexts.
     uint64_t ShowInContexts;
     
-    /// \brief The priority given to this code-completion result.
+    /// The priority given to this code-completion result.
     unsigned Priority;
     
-    /// \brief The libclang cursor kind corresponding to this code-completion 
+    /// The libclang cursor kind corresponding to this code-completion 
     /// result.
     CXCursorKind Kind;
     
-    /// \brief The availability of this code-completion result.
+    /// The availability of this code-completion result.
     CXAvailabilityKind Availability;
     
-    /// \brief The simplified type class for a non-macro completion result.
+    /// The simplified type class for a non-macro completion result.
     SimplifiedTypeClass TypeClass;
     
-    /// \brief The type of a non-macro completion result, stored as a unique
+    /// The type of a non-macro completion result, stored as a unique
     /// integer used by the string map of cached completion types.
     ///
     /// This value will be zero if the type is not known, or a unique value
@@ -294,13 +294,13 @@ public:
     unsigned Type;
   };
   
-  /// \brief Retrieve the mapping from formatted type names to unique type
+  /// Retrieve the mapping from formatted type names to unique type
   /// identifiers.
   llvm::StringMap<unsigned> &getCachedCompletionTypes() {
     return CachedCompletionTypes; 
   }
   
-  /// \brief Retrieve the allocator used to cache global code completions.
+  /// Retrieve the allocator used to cache global code completions.
   std::shared_ptr<GlobalCodeCompletionAllocator>
   getCachedCompletionAllocator() {
     return CachedCompletionAllocator;
@@ -314,45 +314,45 @@ public:
   }
 
 private:
-  /// \brief Allocator used to store cached code completions.
+  /// Allocator used to store cached code completions.
   std::shared_ptr<GlobalCodeCompletionAllocator> CachedCompletionAllocator;
 
   std::unique_ptr<CodeCompletionTUInfo> CCTUInfo;
 
-  /// \brief The set of cached code-completion results.
+  /// The set of cached code-completion results.
   std::vector<CachedCodeCompletionResult> CachedCompletionResults;
   
-  /// \brief A mapping from the formatted type name to a unique number for that
+  /// A mapping from the formatted type name to a unique number for that
   /// type, which is used for type equality comparisons.
   llvm::StringMap<unsigned> CachedCompletionTypes;
   
-  /// \brief A string hash of the top-level declaration and macro definition 
+  /// A string hash of the top-level declaration and macro definition 
   /// names processed the last time that we reparsed the file.
   ///
   /// This hash value is used to determine when we need to refresh the 
   /// global code-completion cache.
   unsigned CompletionCacheTopLevelHashValue = 0;
 
-  /// \brief A string hash of the top-level declaration and macro definition 
+  /// A string hash of the top-level declaration and macro definition 
   /// names processed the last time that we reparsed the precompiled preamble.
   ///
   /// This hash value is used to determine when we need to refresh the 
   /// global code-completion cache after a rebuild of the precompiled preamble.
   unsigned PreambleTopLevelHashValue = 0;
 
-  /// \brief The current hash value for the top-level declaration and macro
+  /// The current hash value for the top-level declaration and macro
   /// definition names
   unsigned CurrentTopLevelHashValue = 0;
   
-  /// \brief Bit used by CIndex to mark when a translation unit may be in an
+  /// Bit used by CIndex to mark when a translation unit may be in an
   /// inconsistent state, and is not safe to free.
   unsigned UnsafeToFree : 1;
 
-  /// \brief Cache any "global" code-completion results, so that we can avoid
+  /// Cache any "global" code-completion results, so that we can avoid
   /// recomputing them with each completion.
   void CacheCodeCompletionResults();
   
-  /// \brief Clear out and deallocate 
+  /// Clear out and deallocate 
   void ClearCachedCompletionResults();
   
   explicit ASTUnit(bool MainFileIsAST);
@@ -368,11 +368,11 @@ private:
       unsigned MaxLines = 0);
   void RealizeTopLevelDeclsFromPreamble();
 
-  /// \brief Transfers ownership of the objects (like SourceManager) from
+  /// Transfers ownership of the objects (like SourceManager) from
   /// \param CI to this ASTUnit.
   void transferASTDataFromCompilerInstance(CompilerInstance &CI);
 
-  /// \brief Allows us to assert that ASTUnit is not being used concurrently,
+  /// Allows us to assert that ASTUnit is not being used concurrently,
   /// which is not supported.
   ///
   /// Clients should create instances of the ConcurrencyCheck class whenever
@@ -475,7 +475,7 @@ public:
 
   StringRef getMainFileName() const;
 
-  /// \brief If this ASTUnit came from an AST file, returns the filename for it.
+  /// If this ASTUnit came from an AST file, returns the filename for it.
   StringRef getASTFileName() const;
 
   using top_level_iterator = std::vector<Decl *>::iterator;
@@ -504,26 +504,26 @@ public:
     return TopLevelDeclsInPreamble.empty() && TopLevelDecls.empty();
   }
 
-  /// \brief Add a new top-level declaration.
+  /// Add a new top-level declaration.
   void addTopLevelDecl(Decl *D) {
     TopLevelDecls.push_back(D);
   }
 
-  /// \brief Add a new local file-level declaration.
+  /// Add a new local file-level declaration.
   void addFileLevelDecl(Decl *D);
 
-  /// \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. 
   void findFileRegionDecls(FileID File, unsigned Offset, unsigned Length,
                            SmallVectorImpl<Decl *> &Decls);
 
-  /// \brief Retrieve a reference to the current top-level name hash value.
+  /// Retrieve a reference to the current top-level name hash value.
   ///
   /// Note: This is used internally by the top-level tracking action
   unsigned &getCurrentTopLevelHashValue() { return CurrentTopLevelHashValue; }
 
-  /// \brief Get the source location for the given file:line:col triplet.
+  /// Get the source location for the given file:line:col triplet.
   ///
   /// The difference with SourceManager::getLocation is that this method checks
   /// whether the requested location points inside the precompiled preamble
@@ -531,15 +531,15 @@ public:
   SourceLocation getLocation(const FileEntry *File,
                              unsigned Line, unsigned Col) const;
 
-  /// \brief Get the source location for the given file:offset pair.
+  /// Get the source location for the given file:offset pair.
   SourceLocation getLocation(const FileEntry *File, unsigned Offset) const;
 
-  /// \brief If \p Loc is a loaded location from the preamble, returns
+  /// If \p Loc is a loaded location from the preamble, returns
   /// the corresponding local location of the main file, otherwise it returns
   /// \p Loc.
   SourceLocation mapLocationFromPreamble(SourceLocation Loc) const;
 
-  /// \brief If \p Loc is a local location of the main file but inside the
+  /// If \p Loc is a local location of the main file but inside the
   /// preamble chunk, returns the corresponding loaded location from the
   /// preamble, otherwise it returns \p Loc.
   SourceLocation mapLocationToPreamble(SourceLocation Loc) const;
@@ -604,43 +604,43 @@ public:
     return CachedCompletionResults.size(); 
   }
 
-  /// \brief Returns an iterator range for the local preprocessing entities
+  /// Returns an iterator range for the local preprocessing entities
   /// of the local Preprocessor, if this is a parsed source file, or the loaded
   /// preprocessing entities of the primary module if this is an AST file.
   llvm::iterator_range<PreprocessingRecord::iterator>
   getLocalPreprocessingEntities() const;
 
-  /// \brief Type for a function iterating over a number of declarations.
+  /// Type for a function iterating over a number of declarations.
   /// \returns true to continue iteration and false to abort.
   using DeclVisitorFn = bool (*)(void *context, const Decl *D);
 
-  /// \brief Iterate over local declarations (locally parsed if this is a parsed
+  /// Iterate over local declarations (locally parsed if this is a parsed
   /// source file or the loaded declarations of the primary module if this is an
   /// AST file).
   /// \returns true if the iteration was complete or false if it was aborted.
   bool visitLocalTopLevelDecls(void *context, DeclVisitorFn Fn);
 
-  /// \brief Get the PCH file if one was included.
+  /// Get the PCH file if one was included.
   const FileEntry *getPCHFile();
 
-  /// \brief Returns true if the ASTUnit was constructed from a serialized
+  /// Returns true if the ASTUnit was constructed from a serialized
   /// module file.
   bool isModuleFile() const;
 
   std::unique_ptr<llvm::MemoryBuffer>
   getBufferForFile(StringRef Filename, std::string *ErrorStr = nullptr);
 
-  /// \brief Determine what kind of translation unit this AST represents.
+  /// Determine what kind of translation unit this AST represents.
   TranslationUnitKind getTranslationUnitKind() const { return TUKind; }
 
-  /// \brief Determine the input kind this AST unit represents.
+  /// Determine the input kind this AST unit represents.
   InputKind getInputKind() const;
 
-  /// \brief A mapping from a file name to the memory buffer that stores the
+  /// A mapping from a file name to the memory buffer that stores the
   /// remapped contents of that file.
   using RemappedFile = std::pair<std::string, llvm::MemoryBuffer *>;
 
-  /// \brief Create a ASTUnit. Gets ownership of the passed CompilerInvocation.
+  /// Create a ASTUnit. Gets ownership of the passed CompilerInvocation.
   static std::unique_ptr<ASTUnit>
   create(std::shared_ptr<CompilerInvocation> CI,
          IntrusiveRefCntPtr<DiagnosticsEngine> Diags, bool CaptureDiagnostics,
@@ -657,7 +657,7 @@ public:
     LoadEverything
   };
 
-  /// \brief Create a ASTUnit from an AST file.
+  /// Create a ASTUnit from an AST file.
   ///
   /// \param Filename - The AST file to load.
   ///
@@ -676,7 +676,7 @@ public:
       bool UserFilesAreVolatile = false);
 
 private:
-  /// \brief Helper function for \c LoadFromCompilerInvocation() and
+  /// Helper function for \c LoadFromCompilerInvocation() and
   /// \c LoadFromCommandLine(), which loads an AST from a compiler invocation.
   ///
   /// \param PrecompilePreambleAfterNParses After how many parses the preamble
@@ -696,7 +696,7 @@ private:
       IntrusiveRefCntPtr<vfs::FileSystem> VFS);
 
 public:
-  /// \brief Create an ASTUnit from a source file, via a CompilerInvocation
+  /// Create an ASTUnit from a source file, via a CompilerInvocation
   /// object, by invoking the optionally provided ASTFrontendAction. 
   ///
   /// \param CI - The compiler invocation to use; it must have exactly one input
@@ -808,7 +808,7 @@ public:
       std::unique_ptr<ASTUnit> *ErrAST = nullptr,
       IntrusiveRefCntPtr<vfs::FileSystem> VFS = nullptr);
 
-  /// \brief Reparse the source files using the same command-line options that
+  /// Reparse the source files using the same command-line options that
   /// were originally used to produce this translation unit.
   ///
   /// \param VFS - A vfs::FileSystem to be used for all file accesses. Note that
@@ -823,12 +823,12 @@ public:
                ArrayRef<RemappedFile> RemappedFiles = None,
                IntrusiveRefCntPtr<vfs::FileSystem> VFS = nullptr);
 
-  /// \brief Free data that will be re-generated on the next parse.
+  /// Free data that will be re-generated on the next parse.
   ///
   /// Preamble-related data is not affected.
   void ResetForParse();
 
-  /// \brief Perform code completion at the given file, line, and
+  /// Perform code completion at the given file, line, and
   /// column within this translation unit.
   ///
   /// \param File The file in which code completion will occur.
@@ -858,13 +858,13 @@ public:
                     SmallVectorImpl<StoredDiagnostic> &StoredDiagnostics,
                     SmallVectorImpl<const llvm::MemoryBuffer *> &OwnedBuffers);
 
-  /// \brief Save this translation unit to a file with the given name.
+  /// Save this translation unit to a file with the given name.
   ///
   /// \returns true if there was a file error or false if the save was
   /// successful.
   bool Save(StringRef File);
 
-  /// \brief Serialize this translation unit with the given output stream.
+  /// Serialize this translation unit with the given output stream.
   ///
   /// \returns True if an error occurred, false otherwise.
   bool serialize(raw_ostream &OS);

Modified: cfe/trunk/include/clang/Frontend/ChainedDiagnosticConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/ChainedDiagnosticConsumer.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/ChainedDiagnosticConsumer.h (original)
+++ cfe/trunk/include/clang/Frontend/ChainedDiagnosticConsumer.h Tue May  8 18:00:01 2018
@@ -32,7 +32,7 @@ public:
       : OwningPrimary(std::move(Primary)), Primary(OwningPrimary.get()),
         Secondary(std::move(Secondary)) {}
 
-  /// \brief Construct without taking ownership of \c Primary.
+  /// Construct without taking ownership of \c Primary.
   ChainedDiagnosticConsumer(DiagnosticConsumer *Primary,
                             std::unique_ptr<DiagnosticConsumer> Secondary)
       : Primary(Primary), Secondary(std::move(Secondary)) {}

Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
+++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue May  8 18:00:01 2018
@@ -75,7 +75,7 @@ CODEGENOPT(EmitGcovNotes     , 1, 0) ///
 CODEGENOPT(EmitOpenCLArgMetadata , 1, 0) ///< Emit OpenCL kernel arg metadata.
 CODEGENOPT(EmulatedTLS       , 1, 0) ///< Set by default or -f[no-]emulated-tls.
 CODEGENOPT(ExplicitEmulatedTLS , 1, 0) ///< Set if -f[no-]emulated-tls is used.
-/// \brief Embed Bitcode mode (off/all/bitcode/marker).
+/// Embed Bitcode mode (off/all/bitcode/marker).
 ENUM_CODEGENOPT(EmbedBitcode, EmbedBitcodeKind, 2, Embed_Off)
 CODEGENOPT(ForbidGuardVariables , 1, 0) ///< Issue errors if C++ guard variables
                                         ///< are required.
@@ -144,7 +144,7 @@ CODEGENOPT(StrictFloatCastOverflow, 1, 1
 
 CODEGENOPT(UniformWGSize     , 1, 0) ///< -cl-uniform-work-group-size
 CODEGENOPT(NoZeroInitializedInBSS , 1, 0) ///< -fno-zero-initialized-in-bss.
-/// \brief Method of Objective-C dispatch to use.
+/// Method of Objective-C dispatch to use.
 ENUM_CODEGENOPT(ObjCDispatchMethod, ObjCDispatchMethodKind, 2, Legacy)
 CODEGENOPT(OmitLeafFramePointer , 1, 0) ///< Set when -momit-leaf-frame-pointer is
                                         ///< enabled.
@@ -152,9 +152,9 @@ CODEGENOPT(OmitLeafFramePointer , 1, 0)
 VALUE_CODEGENOPT(OptimizationLevel, 2, 0) ///< The -O[0-3] option specified.
 VALUE_CODEGENOPT(OptimizeSize, 2, 0) ///< If -Os (==1) or -Oz (==2) is specified.
 
-/// \brief Choose profile instrumenation kind or no instrumentation.
+/// Choose profile instrumenation kind or no instrumentation.
 ENUM_CODEGENOPT(ProfileInstr, ProfileInstrKind, 2, ProfileNone)
-/// \brief Choose profile kind for PGO use compilation.
+/// Choose profile kind for PGO use compilation.
 ENUM_CODEGENOPT(ProfileUse, ProfileInstrKind, 2, ProfileNone)
 CODEGENOPT(CoverageMapping , 1, 0) ///< Generate coverage mapping regions to
                                    ///< enable code coverage analysis.

Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/CodeGenOptions.h (original)
+++ cfe/trunk/include/clang/Frontend/CodeGenOptions.h Tue May  8 18:00:01 2018
@@ -27,7 +27,7 @@
 
 namespace clang {
 
-/// \brief Bitfields of CodeGenOptions, split out from CodeGenOptions to ensure
+/// Bitfields of CodeGenOptions, split out from CodeGenOptions to ensure
 /// that this large collection of bitfields is a trivial class type.
 class CodeGenOptionsBase {
 public:
@@ -249,7 +249,7 @@ public:
   /// List of backend command-line options for -fembed-bitcode.
   std::vector<uint8_t> CmdArgs;
 
-  /// \brief A list of all -fno-builtin-* function names (e.g., memset).
+  /// A list of all -fno-builtin-* function names (e.g., memset).
   std::vector<std::string> NoBuiltinFuncs;
 
   std::vector<std::string> Reciprocals;
@@ -272,7 +272,7 @@ public:
 
   CodeGenOptions();
 
-  /// \brief Is this a libc/libm function that is no longer recognized as a
+  /// Is this a libc/libm function that is no longer recognized as a
   /// builtin because a -fno-builtin-* option has been specified?
   bool isNoBuiltinFunc(const char *Name) const;
 
@@ -280,22 +280,22 @@ public:
     return NoBuiltinFuncs;
   }
 
-  /// \brief Check if Clang profile instrumenation is on.
+  /// Check if Clang profile instrumenation is on.
   bool hasProfileClangInstr() const {
     return getProfileInstr() == ProfileClangInstr;
   }
 
-  /// \brief Check if IR level profile instrumentation is on.
+  /// Check if IR level profile instrumentation is on.
   bool hasProfileIRInstr() const {
     return getProfileInstr() == ProfileIRInstr;
   }
 
-  /// \brief Check if Clang profile use is on.
+  /// Check if Clang profile use is on.
   bool hasProfileClangUse() const {
     return getProfileUse() == ProfileClangInstr;
   }
 
-  /// \brief Check if IR level profile use is on.
+  /// Check if IR level profile use is on.
   bool hasProfileIRUse() const {
     return getProfileUse() == ProfileIRInstr;
   }

Modified: cfe/trunk/include/clang/Frontend/CommandLineSourceLoc.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CommandLineSourceLoc.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/CommandLineSourceLoc.h (original)
+++ cfe/trunk/include/clang/Frontend/CommandLineSourceLoc.h Tue May  8 18:00:01 2018
@@ -21,7 +21,7 @@
 
 namespace clang {
 
-/// \brief A source location that has been parsed on the command line.
+/// A source location that has been parsed on the command line.
 struct ParsedSourceLocation {
   std::string FileName;
   unsigned Line;
@@ -101,7 +101,7 @@ struct ParsedSourceRange {
 
 namespace llvm {
   namespace cl {
-    /// \brief Command-line option parser that parses source locations.
+    /// Command-line option parser that parses source locations.
     ///
     /// Source locations are of the form filename:line:column.
     template<>

Modified: cfe/trunk/include/clang/Frontend/CompilerInstance.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompilerInstance.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/CompilerInstance.h (original)
+++ cfe/trunk/include/clang/Frontend/CompilerInstance.h Tue May  8 18:00:01 2018
@@ -109,59 +109,59 @@ class CompilerInstance : public ModuleLo
   /// The code completion consumer.
   std::unique_ptr<CodeCompleteConsumer> CompletionConsumer;
 
-  /// \brief The semantic analysis object.
+  /// The semantic analysis object.
   std::unique_ptr<Sema> TheSema;
 
-  /// \brief The frontend timer group.
+  /// The frontend timer group.
   std::unique_ptr<llvm::TimerGroup> FrontendTimerGroup;
 
-  /// \brief The frontend timer.
+  /// The frontend timer.
   std::unique_ptr<llvm::Timer> FrontendTimer;
 
-  /// \brief The ASTReader, if one exists.
+  /// The ASTReader, if one exists.
   IntrusiveRefCntPtr<ASTReader> ModuleManager;
 
-  /// \brief The module dependency collector for crashdumps
+  /// The module dependency collector for crashdumps
   std::shared_ptr<ModuleDependencyCollector> ModuleDepCollector;
 
-  /// \brief The module provider.
+  /// The module provider.
   std::shared_ptr<PCHContainerOperations> ThePCHContainerOperations;
 
-  /// \brief The dependency file generator.
+  /// The dependency file generator.
   std::unique_ptr<DependencyFileGenerator> TheDependencyFileGenerator;
 
   std::vector<std::shared_ptr<DependencyCollector>> DependencyCollectors;
 
-  /// \brief The set of top-level modules that has already been loaded,
+  /// The set of top-level modules that has already been loaded,
   /// along with the module map
   llvm::DenseMap<const IdentifierInfo *, Module *> KnownModules;
 
-  /// \brief The set of top-level modules that has already been built on the
+  /// The set of top-level modules that has already been built on the
   /// fly as part of this overall compilation action.
   std::map<std::string, std::string> BuiltModules;
 
   /// Should we delete the BuiltModules when we're done?
   bool DeleteBuiltModules = true;
 
-  /// \brief The location of the module-import keyword for the last module
+  /// The location of the module-import keyword for the last module
   /// import. 
   SourceLocation LastModuleImportLoc;
   
-  /// \brief The result of the last module import.
+  /// The result of the last module import.
   ///
   ModuleLoadResult LastModuleImportResult;
 
-  /// \brief Whether we should (re)build the global module index once we
+  /// Whether we should (re)build the global module index once we
   /// have finished with this translation unit.
   bool BuildGlobalModuleIndex = false;
 
-  /// \brief We have a full global module index, with all modules.
+  /// We have a full global module index, with all modules.
   bool HaveFullGlobalModuleIndex = false;
 
-  /// \brief One or more modules failed to build.
+  /// One or more modules failed to build.
   bool ModuleBuildFailed = false;
 
-  /// \brief Holds information about the output file.
+  /// Holds information about the output file.
   ///
   /// If TempFilename is not empty we must rename it to Filename at the end.
   /// TempFilename may be empty and Filename non-empty if creating the temporary
@@ -244,10 +244,10 @@ public:
   /// setInvocation - Replace the current invocation.
   void setInvocation(std::shared_ptr<CompilerInvocation> Value);
 
-  /// \brief Indicates whether we should (re)build the global module index.
+  /// Indicates whether we should (re)build the global module index.
   bool shouldBuildGlobalModuleIndex() const;
   
-  /// \brief Set the flag indicating whether we should (re)build the global
+  /// Set the flag indicating whether we should (re)build the global
   /// module index.
   void setBuildGlobalModuleIndex(bool Build) {
     BuildGlobalModuleIndex = Build;
@@ -390,7 +390,7 @@ public:
     return *VirtualFileSystem;
   }
 
-  /// \brief Replace the current virtual file system.
+  /// Replace the current virtual file system.
   ///
   /// \note Most clients should use setFileManager, which will implicitly reset
   /// the virtual file system to the one contained in the file manager.
@@ -415,7 +415,7 @@ public:
     FileMgr.resetWithoutRelease();
   }
 
-  /// \brief Replace the current file manager and virtual file system.
+  /// Replace the current file manager and virtual file system.
   void setFileManager(FileManager *Value);
 
   /// }
@@ -478,7 +478,7 @@ public:
   /// setASTContext - Replace the current AST context.
   void setASTContext(ASTContext *Value);
 
-  /// \brief Replace the current Sema; the compiler instance takes ownership
+  /// Replace the current Sema; the compiler instance takes ownership
   /// of S.
   void setSema(Sema *S);
   
@@ -690,7 +690,7 @@ public:
       Preprocessor &PP, StringRef Filename, unsigned Line, unsigned Column,
       const CodeCompleteOptions &Opts, raw_ostream &OS);
 
-  /// \brief Create the Sema object to be used for parsing.
+  /// Create the Sema object to be used for parsing.
   void createSema(TranslationUnitKind TUKind,
                   CodeCompleteConsumer *CompletionConsumer);
   

Modified: cfe/trunk/include/clang/Frontend/CompilerInvocation.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CompilerInvocation.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/CompilerInvocation.h (original)
+++ cfe/trunk/include/clang/Frontend/CompilerInvocation.h Tue May  8 18:00:01 2018
@@ -44,7 +44,7 @@ class HeaderSearchOptions;
 class PreprocessorOptions;
 class TargetOptions;
 
-/// \brief Fill out Opts based on the options given in Args.
+/// Fill out Opts based on the options given in Args.
 ///
 /// Args must have been created from the OptTable returned by
 /// createCC1OptTable().
@@ -107,7 +107,7 @@ public:
   }
 };
   
-/// \brief Helper class for holding the data necessary to invoke the compiler.
+/// Helper class for holding the data necessary to invoke the compiler.
 ///
 /// This class is designed to represent an abstract "invocation" of the
 /// compiler, including data such as the include paths, the code generation
@@ -139,7 +139,7 @@ public:
   /// @name Utility Methods
   /// @{
 
-  /// \brief Create a compiler invocation from a list of input options.
+  /// Create a compiler invocation from a list of input options.
   /// \returns true on success.
   ///
   /// \param [out] Res - The resulting invocation.
@@ -151,7 +151,7 @@ public:
                              const char* const *ArgEnd,
                              DiagnosticsEngine &Diags);
 
-  /// \brief Get the directory where the compiler headers
+  /// Get the directory where the compiler headers
   /// reside, relative to the compiler binary (found by the passed in
   /// arguments).
   ///
@@ -161,7 +161,7 @@ public:
   /// executable), for finding the builtin compiler path.
   static std::string GetResourcesPath(const char *Argv0, void *MainAddr);
 
-  /// \brief Set language defaults for the given input language and
+  /// Set language defaults for the given input language and
   /// language standard in the given LangOptions object.
   ///
   /// \param Opts - The LangOptions object to set up.
@@ -173,7 +173,7 @@ public:
                    const llvm::Triple &T, PreprocessorOptions &PPOpts,
                    LangStandard::Kind LangStd = LangStandard::lang_unspecified);
   
-  /// \brief Retrieve a module hash string that is suitable for uniquely 
+  /// Retrieve a module hash string that is suitable for uniquely 
   /// identifying the conditions under which the module was built.
   std::string getModuleHash() const;
   

Modified: cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h (original)
+++ cfe/trunk/include/clang/Frontend/DependencyOutputOptions.h Tue May  8 18:00:01 2018
@@ -58,10 +58,10 @@ public:
   /// In /showIncludes mode, pretend the main TU is a header with this name.
   std::string ShowIncludesPretendHeader;
 
-  /// \brief The file to write GraphViz-formatted header dependencies to.
+  /// The file to write GraphViz-formatted header dependencies to.
   std::string DOTOutputFile;
 
-  /// \brief The directory to copy module dependencies to when collecting them.
+  /// The directory to copy module dependencies to when collecting them.
   std::string ModuleDependencyOutputDir;
 
 public:

Modified: cfe/trunk/include/clang/Frontend/DiagnosticRenderer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/DiagnosticRenderer.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/DiagnosticRenderer.h (original)
+++ cfe/trunk/include/clang/Frontend/DiagnosticRenderer.h Tue May  8 18:00:01 2018
@@ -33,7 +33,7 @@ class SourceManager;
 using DiagOrStoredDiag =
     llvm::PointerUnion<const Diagnostic *, const StoredDiagnostic *>;
   
-/// \brief Class to encapsulate the logic for formatting a diagnostic message.
+/// Class to encapsulate the logic for formatting a diagnostic message.
 ///
 /// Actual "printing" logic is implemented by subclasses.
 ///
@@ -50,20 +50,20 @@ protected:
   const LangOptions &LangOpts;
   IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts;
   
-  /// \brief The location of the previous diagnostic if known.
+  /// The location of the previous diagnostic if known.
   ///
   /// This will be invalid in cases where there is no (known) previous
   /// diagnostic location, or that location itself is invalid or comes from
   /// a different source manager than SM.
   SourceLocation LastLoc;
   
-  /// \brief The location of the last include whose stack was printed if known.
+  /// The location of the last include whose stack was printed if known.
   ///
   /// Same restriction as LastLoc essentially, but tracking include stack
   /// root locations rather than diagnostic locations.
   SourceLocation LastIncludeLoc;
   
-  /// \brief The level of the last diagnostic emitted.
+  /// The level of the last diagnostic emitted.
   ///
   /// The level of the last diagnostic emitted. Used to detect level changes
   /// which change the amount of information displayed.
@@ -118,7 +118,7 @@ private:
                            ArrayRef<FixItHint> Hints);
 
 public:
-  /// \brief Emit a diagnostic.
+  /// Emit a diagnostic.
   ///
   /// This is the primary entry point for emitting diagnostic messages.
   /// It handles formatting and rendering the message as well as any ancillary

Modified: cfe/trunk/include/clang/Frontend/FrontendAction.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/FrontendAction.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/FrontendAction.h (original)
+++ cfe/trunk/include/clang/Frontend/FrontendAction.h Tue May  8 18:00:01 2018
@@ -8,7 +8,7 @@
 //===----------------------------------------------------------------------===//
 ///
 /// \file
-/// \brief Defines the clang::FrontendAction interface and various convenience
+/// Defines the clang::FrontendAction interface and various convenience
 /// abstract classes (clang::ASTFrontendAction, clang::PluginASTAction,
 /// clang::PreprocessorFrontendAction, and clang::WrapperFrontendAction)
 /// derived from it.
@@ -48,7 +48,7 @@ protected:
   /// @name Implementation Action Interface
   /// @{
 
-  /// \brief Create the AST consumer object for this action, if supported.
+  /// Create the AST consumer object for this action, if supported.
   ///
   /// This routine is called as part of BeginSourceFile(), which will
   /// fail if the AST consumer cannot be created. This will not be called if the
@@ -64,7 +64,7 @@ protected:
   virtual std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
                                                          StringRef InFile) = 0;
 
-  /// \brief Callback before starting processing a single input, giving the
+  /// Callback before starting processing a single input, giving the
   /// opportunity to modify the CompilerInvocation or do some other action
   /// before BeginSourceFileAction is called.
   ///
@@ -72,7 +72,7 @@ protected:
   /// ExecuteAction() and EndSourceFileAction() will not be called.
   virtual bool BeginInvocation(CompilerInstance &CI) { return true; }
 
-  /// \brief Callback at the start of processing a single input.
+  /// Callback at the start of processing a single input.
   ///
   /// \return True on success; on failure ExecutionAction() and
   /// EndSourceFileAction() will not be called.
@@ -80,20 +80,20 @@ protected:
     return true;
   }
 
-  /// \brief Callback to run the program action, using the initialized
+  /// Callback to run the program action, using the initialized
   /// compiler instance.
   ///
   /// This is guaranteed to only be called between BeginSourceFileAction()
   /// and EndSourceFileAction().
   virtual void ExecuteAction() = 0;
 
-  /// \brief Callback at the end of processing a single input.
+  /// Callback at the end of processing a single input.
   ///
   /// This is guaranteed to only be called following a successful call to
   /// BeginSourceFileAction (and BeginSourceFile).
   virtual void EndSourceFileAction() {}
 
-  /// \brief Callback at the end of processing a single input, to determine
+  /// Callback at the end of processing a single input, to determine
   /// if the output files should be erased or not.
   ///
   /// By default it returns true if a compiler error occurred.
@@ -158,39 +158,39 @@ public:
   /// @name Supported Modes
   /// @{
 
-  /// \brief Is this action invoked on a model file?
+  /// Is this action invoked on a model file?
   ///
   /// Model files are incomplete translation units that relies on type
   /// information from another translation unit. Check ParseModelFileAction for
   /// details.
   virtual bool isModelParsingAction() const { return false; }
 
-  /// \brief Does this action only use the preprocessor?
+  /// Does this action only use the preprocessor?
   ///
   /// If so no AST context will be created and this action will be invalid
   /// with AST file inputs.
   virtual bool usesPreprocessorOnly() const = 0;
 
-  /// \brief For AST-based actions, the kind of translation unit we're handling.
+  /// For AST-based actions, the kind of translation unit we're handling.
   virtual TranslationUnitKind getTranslationUnitKind() { return TU_Complete; }
 
-  /// \brief Does this action support use with PCH?
+  /// Does this action support use with PCH?
   virtual bool hasPCHSupport() const { return true; }
 
-  /// \brief Does this action support use with AST files?
+  /// Does this action support use with AST files?
   virtual bool hasASTFileSupport() const { return true; }
 
-  /// \brief Does this action support use with IR files?
+  /// Does this action support use with IR files?
   virtual bool hasIRSupport() const { return false; }
 
-  /// \brief Does this action support use with code completion?
+  /// Does this action support use with code completion?
   virtual bool hasCodeCompletionSupport() const { return false; }
 
   /// @}
   /// @name Public Action Interface
   /// @{
 
-  /// \brief Prepare the action for processing the input file \p Input.
+  /// Prepare the action for processing the input file \p Input.
   ///
   /// This is run after the options and frontend have been initialized,
   /// but prior to executing any per-file processing.
@@ -211,20 +211,20 @@ public:
   /// be aborted and neither Execute() nor EndSourceFile() should be called.
   bool BeginSourceFile(CompilerInstance &CI, const FrontendInputFile &Input);
 
-  /// \brief Set the source manager's main input file, and run the action.
+  /// Set the source manager's main input file, and run the action.
   bool Execute();
 
-  /// \brief Perform any per-file post processing, deallocate per-file
+  /// Perform any per-file post processing, deallocate per-file
   /// objects, and run statistics and output file cleanup code.
   void EndSourceFile();
 
   /// @}
 };
 
-/// \brief Abstract base class to use for AST consumer-based frontend actions.
+/// Abstract base class to use for AST consumer-based frontend actions.
 class ASTFrontendAction : public FrontendAction {
 protected:
-  /// \brief Implement the ExecuteAction interface by running Sema on
+  /// Implement the ExecuteAction interface by running Sema on
   /// the already-initialized AST consumer.
   ///
   /// This will also take care of instantiating a code completion consumer if
@@ -242,7 +242,7 @@ public:
   std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
                                                  StringRef InFile) override = 0;
 
-  /// \brief Parse the given plugin command line arguments.
+  /// Parse the given plugin command line arguments.
   ///
   /// \param CI - The compiler instance, for use in reporting diagnostics.
   /// \return True if the parsing succeeded; otherwise the plugin will be
@@ -257,7 +257,7 @@ public:
     AddBeforeMainAction, ///< Execute the action before the main action
     AddAfterMainAction   ///< Execute the action after the main action
   };
-  /// \brief Get the action type for this plugin
+  /// Get the action type for this plugin
   ///
   /// \return The action type. If the type is Cmdline then by default the
   /// plugin does nothing and what it does is determined by the cc1
@@ -265,10 +265,10 @@ public:
   virtual ActionType getActionType() { return Cmdline; }
 };
 
-/// \brief Abstract base class to use for preprocessor-based frontend actions.
+/// Abstract base class to use for preprocessor-based frontend actions.
 class PreprocessorFrontendAction : public FrontendAction {
 protected:
-  /// \brief Provide a default implementation which returns aborts;
+  /// Provide a default implementation which returns aborts;
   /// this method should never be called by FrontendAction clients.
   std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
                                                  StringRef InFile) override;
@@ -277,7 +277,7 @@ public:
   bool usesPreprocessorOnly() const override { return true; }
 };
 
-/// \brief A frontend action which simply wraps some other runtime-specified
+/// A frontend action which simply wraps some other runtime-specified
 /// frontend action.
 ///
 /// Deriving from this class allows an action to inject custom logic around

Modified: cfe/trunk/include/clang/Frontend/FrontendActions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/FrontendActions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/FrontendActions.h (original)
+++ cfe/trunk/include/clang/Frontend/FrontendActions.h Tue May  8 18:00:01 2018
@@ -83,14 +83,14 @@ protected:
   bool shouldEraseOutputFiles() override;
 
 public:
-  /// \brief Compute the AST consumer arguments that will be used to
+  /// Compute the AST consumer arguments that will be used to
   /// create the PCHGenerator instance returned by CreateASTConsumer.
   ///
   /// \returns false if an error occurred, true otherwise.
   static bool ComputeASTConsumerArguments(CompilerInstance &CI,
                                           std::string &Sysroot);
 
-  /// \brief Creates file to write the PCH into and returns a stream to write it
+  /// Creates file to write the PCH into and returns a stream to write it
   /// into. On error, returns null.
   static std::unique_ptr<llvm::raw_pwrite_stream>
   CreateOutputFile(CompilerInstance &CI, StringRef InFile,
@@ -140,7 +140,7 @@ public:
   bool hasCodeCompletionSupport() const override { return true; }
 };
 
-/// \brief Dump information about the given module file, to be used for
+/// Dump information about the given module file, to be used for
 /// basic debugging and discovery.
 class DumpModuleInfoAction : public ASTFrontendAction {
 protected:
@@ -176,7 +176,7 @@ protected:
 };
 
 /**
- * \brief Frontend action adaptor that merges ASTs together.
+ * Frontend action adaptor that merges ASTs together.
  *
  * This action takes an existing AST file and "merges" it into the AST
  * context, producing a merged context. This action is an action
@@ -184,10 +184,10 @@ protected:
  * will consume the merged context.
  */
 class ASTMergeAction : public FrontendAction {
-  /// \brief The action that the merge action adapts.
+  /// The action that the merge action adapts.
   std::unique_ptr<FrontendAction> AdaptedAction;
   
-  /// \brief The set of AST files to merge.
+  /// The set of AST files to merge.
   std::vector<std::string> ASTFiles;
 
 protected:

Modified: cfe/trunk/include/clang/Frontend/FrontendOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/FrontendOptions.h?rev=331834&r1=331833&r2=331834&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/FrontendOptions.h (original)
+++ cfe/trunk/include/clang/Frontend/FrontendOptions.h Tue May  8 18:00:01 2018
@@ -195,9 +195,9 @@ public:
   }
 };
 
-/// \brief An input file for the front end.
+/// An input file for the front end.
 class FrontendInputFile {
-  /// \brief The file name, or "-" to read from standard input.
+  /// The file name, or "-" to read from standard input.
   std::string File;
 
   /// The input, if it comes from a buffer rather than a file. This object
@@ -205,10 +205,10 @@ class FrontendInputFile {
   /// that it outlives any users.
   llvm::MemoryBuffer *Buffer = nullptr;
 
-  /// \brief The kind of input, e.g., C source, AST file, LLVM IR.
+  /// The kind of input, e.g., C source, AST file, LLVM IR.
   InputKind Kind;
 
-  /// \brief Whether we're dealing with a 'system' input (vs. a 'user' input).
+  /// Whether we're dealing with a 'system' input (vs. a 'user' input).
   bool IsSystem = false;
 
 public:
@@ -315,46 +315,46 @@ public:
   enum {
     ObjCMT_None = 0,
 
-    /// \brief Enable migration to modern ObjC literals.
+    /// Enable migration to modern ObjC literals.
     ObjCMT_Literals = 0x1,
 
-    /// \brief Enable migration to modern ObjC subscripting.
+    /// Enable migration to modern ObjC subscripting.
     ObjCMT_Subscripting = 0x2,
 
-    /// \brief Enable migration to modern ObjC readonly property.
+    /// Enable migration to modern ObjC readonly property.
     ObjCMT_ReadonlyProperty = 0x4,
 
-    /// \brief Enable migration to modern ObjC readwrite property.
+    /// Enable migration to modern ObjC readwrite property.
     ObjCMT_ReadwriteProperty = 0x8,
 
-    /// \brief Enable migration to modern ObjC property.
+    /// Enable migration to modern ObjC property.
     ObjCMT_Property = (ObjCMT_ReadonlyProperty | ObjCMT_ReadwriteProperty),
 
-    /// \brief Enable annotation of ObjCMethods of all kinds.
+    /// Enable annotation of ObjCMethods of all kinds.
     ObjCMT_Annotation = 0x10,
 
-    /// \brief Enable migration of ObjC methods to 'instancetype'.
+    /// Enable migration of ObjC methods to 'instancetype'.
     ObjCMT_Instancetype = 0x20,
 
-    /// \brief Enable migration to NS_ENUM/NS_OPTIONS macros.
+    /// Enable migration to NS_ENUM/NS_OPTIONS macros.
     ObjCMT_NsMacros = 0x40,
 
-    /// \brief Enable migration to add conforming protocols.
+    /// Enable migration to add conforming protocols.
     ObjCMT_ProtocolConformance = 0x80,
 
-    /// \brief prefer 'atomic' property over 'nonatomic'.
+    /// prefer 'atomic' property over 'nonatomic'.
     ObjCMT_AtomicProperty = 0x100,
 
-    /// \brief annotate property with NS_RETURNS_INNER_POINTER
+    /// annotate property with NS_RETURNS_INNER_POINTER
     ObjCMT_ReturnsInnerPointerProperty = 0x200,
 
-    /// \brief use NS_NONATOMIC_IOSONLY for property 'atomic' attribute
+    /// use NS_NONATOMIC_IOSONLY for property 'atomic' attribute
     ObjCMT_NsAtomicIOSOnlyProperty = 0x400,
 
-    /// \brief Enable inferring NS_DESIGNATED_INITIALIZER for ObjC methods.
+    /// Enable inferring NS_DESIGNATED_INITIALIZER for ObjC methods.
     ObjCMT_DesignatedInitializer = 0x800,
 
-    /// \brief Enable converting setter/getter expressions to property-dot syntx.
+    /// Enable converting setter/getter expressions to property-dot syntx.
     ObjCMT_PropertyDotSyntax = 0x1000,
 
     ObjCMT_MigrateDecls = (ObjCMT_ReadonlyProperty | ObjCMT_ReadwriteProperty |
@@ -408,31 +408,31 @@ public:
   /// The list of module file extensions.
   std::vector<std::shared_ptr<ModuleFileExtension>> ModuleFileExtensions;
 
-  /// \brief The list of module map files to load before processing the input.
+  /// The list of module map files to load before processing the input.
   std::vector<std::string> ModuleMapFiles;
 
-  /// \brief The list of additional prebuilt module files to load before
+  /// The list of additional prebuilt module files to load before
   /// processing the input.
   std::vector<std::string> ModuleFiles;
 
-  /// \brief The list of files to embed into the compiled module file.
+  /// The list of files to embed into the compiled module file.
   std::vector<std::string> ModulesEmbedFiles;
 
-  /// \brief The list of AST files to merge.
+  /// The list of AST files to merge.
   std::vector<std::string> ASTMergeFiles;
 
-  /// \brief A list of arguments to forward to LLVM's option processing; this
+  /// A list of arguments to forward to LLVM's option processing; this
   /// should only be used for debugging and experimental features.
   std::vector<std::string> LLVMArgs;
 
-  /// \brief File name of the file that will provide record layouts
+  /// File name of the file that will provide record layouts
   /// (in the format produced by -fdump-record-layouts).
   std::string OverrideRecordLayoutsFile;
 
-  /// \brief Auxiliary triple for CUDA compilation.
+  /// Auxiliary triple for CUDA compilation.
   std::string AuxTriple;
 
-  /// \brief If non-empty, search the pch input file as if it was a header
+  /// If non-empty, search the pch input file as if it was a header
   /// included by this file.
   std::string FindPchSource;
 




More information about the cfe-commits mailing list