[clang-tools-extra] [clang-doc] Display enum type along with enum name in HTML view (PR #181347)
Samrudh Nelli via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 18 15:51:28 PST 2026
https://github.com/SamrudhNelli updated https://github.com/llvm/llvm-project/pull/181347
>From ad23cfaa3b9d265e5d52cde46854dac269a20810 Mon Sep 17 00:00:00 2001
From: Samrudh Nelli <samrudhnelli at gmail.com>
Date: Fri, 13 Feb 2026 16:46:45 +0530
Subject: [PATCH 1/4] [clang-doc] Display enum type along with enum name in
HTML view
For named variables
Previous output : enum XYZ
Current output : enum XYZ : unsigned int
For unnamed variables
Previous output : enum
Current output : enum : unsigned int
Fixes #llvm/166652
---
clang-tools-extra/clang-doc/JSONGenerator.cpp | 10 +++++++---
.../clang-doc/assets/enum-template.mustache | 2 +-
clang-tools-extra/test/clang-doc/enum.cpp | 2 +-
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index 5051e7e6e690d..e44bdaaf8e510 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -565,9 +565,13 @@ static void serializeInfo(const EnumInfo &I, json::Object &Obj,
if (I.BaseType) {
json::Value BaseTypeVal = Object();
auto &BaseTypeObj = *BaseTypeVal.getAsObject();
- BaseTypeObj["Name"] = I.BaseType->Type.Name;
- BaseTypeObj["QualName"] = I.BaseType->Type.QualName;
- BaseTypeObj["USR"] = toHex(toStringRef(I.BaseType->Type.USR));
+ // Create a nested 'Type' object so the template can find {{Type.Name}}
+ json::Value TypeVal = Object();
+ auto &TypeObj = *TypeVal.getAsObject();
+ TypeObj["Name"] = I.BaseType->Type.Name;
+ TypeObj["QualName"] = I.BaseType->Type.QualName;
+ TypeObj["USR"] = toHex(toStringRef(I.BaseType->Type.USR));
+ BaseTypeObj["Type"] = TypeVal;
Obj["BaseType"] = BaseTypeVal;
}
diff --git a/clang-tools-extra/clang-doc/assets/enum-template.mustache b/clang-tools-extra/clang-doc/assets/enum-template.mustache
index 7434b7bfce347..dc4260dcc37e2 100644
--- a/clang-tools-extra/clang-doc/assets/enum-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/enum-template.mustache
@@ -7,7 +7,7 @@
}}
<div id="{{USR}}" class="delimiter-container">
<div>
- <pre><code class="language-cpp code-clang-doc">enum {{Name}}</code></pre>
+ <pre><code class="language-cpp code-clang-doc">enum {{Name}}{{#BaseType}} : {{Type.Name}}{{/BaseType}}</code></pre>
</div>
{{! Enum Values }}
<table class="table-wrapper">
diff --git a/clang-tools-extra/test/clang-doc/enum.cpp b/clang-tools-extra/test/clang-doc/enum.cpp
index 6e11bbf065f25..a866f2e43aa75 100644
--- a/clang-tools-extra/test/clang-doc/enum.cpp
+++ b/clang-tools-extra/test/clang-doc/enum.cpp
@@ -82,7 +82,7 @@ enum class Shapes {
// COM: FIXME: Serialize "enum class" in template
// HTML-INDEX: <div>
-// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum Shapes</code></pre>
+// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum Shapes : int</code></pre>
// HTML-INDEX: </div>
// HTML-INDEX: <table class="table-wrapper">
// HTML-INDEX: <tbody>
>From 46b3401fcf5b2e5cc80fecf2ccc467422bde3d80 Mon Sep 17 00:00:00 2001
From: Samrudh Nelli <samrudhnelli at gmail.com>
Date: Sat, 14 Feb 2026 11:21:15 +0530
Subject: [PATCH 2/4] fix: remove duplicate info from the json
---
clang-tools-extra/clang-doc/JSONGenerator.cpp | 8 +-------
clang-tools-extra/clang-doc/assets/enum-template.mustache | 2 +-
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index e44bdaaf8e510..47d69ce38ffbb 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -565,13 +565,7 @@ static void serializeInfo(const EnumInfo &I, json::Object &Obj,
if (I.BaseType) {
json::Value BaseTypeVal = Object();
auto &BaseTypeObj = *BaseTypeVal.getAsObject();
- // Create a nested 'Type' object so the template can find {{Type.Name}}
- json::Value TypeVal = Object();
- auto &TypeObj = *TypeVal.getAsObject();
- TypeObj["Name"] = I.BaseType->Type.Name;
- TypeObj["QualName"] = I.BaseType->Type.QualName;
- TypeObj["USR"] = toHex(toStringRef(I.BaseType->Type.USR));
- BaseTypeObj["Type"] = TypeVal;
+ BaseTypeObj["Name"] = I.BaseType->Type.QualName;
Obj["BaseType"] = BaseTypeVal;
}
diff --git a/clang-tools-extra/clang-doc/assets/enum-template.mustache b/clang-tools-extra/clang-doc/assets/enum-template.mustache
index dc4260dcc37e2..809539565e185 100644
--- a/clang-tools-extra/clang-doc/assets/enum-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/enum-template.mustache
@@ -7,7 +7,7 @@
}}
<div id="{{USR}}" class="delimiter-container">
<div>
- <pre><code class="language-cpp code-clang-doc">enum {{Name}}{{#BaseType}} : {{Type.Name}}{{/BaseType}}</code></pre>
+ <pre><code class="language-cpp code-clang-doc">enum {{Name}}{{#BaseType}} : {{Name}}{{/BaseType}}</code></pre>
</div>
{{! Enum Values }}
<table class="table-wrapper">
>From 86b23f9680d0e03a3bcd9009ed8571b1af231f42 Mon Sep 17 00:00:00 2001
From: Samrudh Nelli <samrudhnelli at gmail.com>
Date: Sat, 14 Feb 2026 11:33:06 +0530
Subject: [PATCH 3/4] fix: revert JSONGenerator.cpp and use QualName for type
in template
---
clang-tools-extra/clang-doc/JSONGenerator.cpp | 4 +++-
clang-tools-extra/clang-doc/assets/enum-template.mustache | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/clang-tools-extra/clang-doc/JSONGenerator.cpp b/clang-tools-extra/clang-doc/JSONGenerator.cpp
index 47d69ce38ffbb..5051e7e6e690d 100644
--- a/clang-tools-extra/clang-doc/JSONGenerator.cpp
+++ b/clang-tools-extra/clang-doc/JSONGenerator.cpp
@@ -565,7 +565,9 @@ static void serializeInfo(const EnumInfo &I, json::Object &Obj,
if (I.BaseType) {
json::Value BaseTypeVal = Object();
auto &BaseTypeObj = *BaseTypeVal.getAsObject();
- BaseTypeObj["Name"] = I.BaseType->Type.QualName;
+ BaseTypeObj["Name"] = I.BaseType->Type.Name;
+ BaseTypeObj["QualName"] = I.BaseType->Type.QualName;
+ BaseTypeObj["USR"] = toHex(toStringRef(I.BaseType->Type.USR));
Obj["BaseType"] = BaseTypeVal;
}
diff --git a/clang-tools-extra/clang-doc/assets/enum-template.mustache b/clang-tools-extra/clang-doc/assets/enum-template.mustache
index 809539565e185..4b9e635ac86f9 100644
--- a/clang-tools-extra/clang-doc/assets/enum-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/enum-template.mustache
@@ -7,7 +7,7 @@
}}
<div id="{{USR}}" class="delimiter-container">
<div>
- <pre><code class="language-cpp code-clang-doc">enum {{Name}}{{#BaseType}} : {{Name}}{{/BaseType}}</code></pre>
+ <pre><code class="language-cpp code-clang-doc">enum {{Name}}{{#BaseType}} : {{QualName}}{{/BaseType}}</code></pre>
</div>
{{! Enum Values }}
<table class="table-wrapper">
>From 5e8dfc23fe3cfec833609d101820a344fc3f5d81 Mon Sep 17 00:00:00 2001
From: Samrudh Nelli <samrudhnelli at gmail.com>
Date: Thu, 19 Feb 2026 05:20:19 +0530
Subject: [PATCH 4/4] Print underlying type only for explicitly defined enums
---
clang-tools-extra/clang-doc/MDGenerator.cpp | 16 +-
clang-tools-extra/clang-doc/Serialize.cpp | 4 +-
clang-tools-extra/test/clang-doc/enum.cpp | 292 +++++++++++++-------
3 files changed, 208 insertions(+), 104 deletions(-)
diff --git a/clang-tools-extra/clang-doc/MDGenerator.cpp b/clang-tools-extra/clang-doc/MDGenerator.cpp
index fcb75af80f9e9..cd32b5ea8970a 100644
--- a/clang-tools-extra/clang-doc/MDGenerator.cpp
+++ b/clang-tools-extra/clang-doc/MDGenerator.cpp
@@ -156,10 +156,18 @@ static void writeNameLink(const StringRef &CurrentPath, const Reference &R,
static void genMarkdown(const ClangDocContext &CDCtx, const EnumInfo &I,
llvm::raw_ostream &OS) {
- if (I.Scoped)
- writeLine("| enum class " + I.Name + " |", OS);
- else
- writeLine("| enum " + I.Name + " |", OS);
+ std::string Header = "| enum ";
+ if(I.Scoped)
+ Header += "class ";
+ Header += I.Name;
+ Header += " ";
+ if(I.BaseType && I.BaseType->Type.QualName != "") {
+ Header += ": ";
+ Header += I.BaseType->Type.QualName;
+ Header += " ";
+ }
+ Header += "|";
+ writeLine(Header, OS);
writeLine("--", OS);
std::string Buffer;
diff --git a/clang-tools-extra/clang-doc/Serialize.cpp b/clang-tools-extra/clang-doc/Serialize.cpp
index 39c0cb378b0f5..8c6d5c972fd9e 100644
--- a/clang-tools-extra/clang-doc/Serialize.cpp
+++ b/clang-tools-extra/clang-doc/Serialize.cpp
@@ -1207,8 +1207,8 @@ emitInfo(const EnumDecl *D, const FullComment *FC, Location Loc,
return {};
Enum.Scoped = D->isScoped();
- if (D->isFixed()) {
- auto Name = D->getIntegerType().getAsString();
+ if (const TypeSourceInfo *Info = D->getIntegerTypeSourceInfo()) {
+ auto Name = Info->getType().getAsString();
Enum.BaseType = TypeInfo(Name, Name);
}
parseEnumerators(Enum, D);
diff --git a/clang-tools-extra/test/clang-doc/enum.cpp b/clang-tools-extra/test/clang-doc/enum.cpp
index a866f2e43aa75..983f5f7a81aec 100644
--- a/clang-tools-extra/test/clang-doc/enum.cpp
+++ b/clang-tools-extra/test/clang-doc/enum.cpp
@@ -13,6 +13,7 @@
// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL
// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE
// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES
+#include <cstdint>
// COM: FIXME: Add enum value comments to template
@@ -35,29 +36,28 @@ enum Color {
// MD-INDEX: | Blue |
// MD-INDEX: **brief** For specifying RGB colors
-// HTML-INDEX: <div>
-// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum Color</code></pre>
-// HTML-INDEX: </div>
-// HTML-INDEX: <table class="table-wrapper">
-// HTML-INDEX: <tbody>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <th>Name</th>
-// HTML-INDEX: <th>Value</th>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Red</td>
-// HTML-INDEX: <td>0</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Green</td>
-// HTML-INDEX: <td>1</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Blue</td>
-// HTML-INDEX: <td>2</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: </tbody>
-// HTML-INDEX: </table>
+// HTML-INDEX-LABEL: <pre><code class="language-cpp code-clang-doc">enum Color</code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Red</td>
+// HTML-INDEX-NEXT: <td>0</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Green</td>
+// HTML-INDEX-NEXT: <td>1</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Blue</td>
+// HTML-INDEX-NEXT: <td>2</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
/**
* @brief Shape Types
@@ -81,29 +81,127 @@ enum class Shapes {
// MD-INDEX: **brief** Shape Types
// COM: FIXME: Serialize "enum class" in template
-// HTML-INDEX: <div>
-// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum Shapes : int</code></pre>
-// HTML-INDEX: </div>
-// HTML-INDEX: <table class="table-wrapper">
-// HTML-INDEX: <tbody>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <th>Name</th>
-// HTML-INDEX: <th>Value</th>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Circle</td>
-// HTML-INDEX: <td>0</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Rectangle</td>
-// HTML-INDEX: <td>1</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>Triangle</td>
-// HTML-INDEX: <td>2</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: </tbody>
-// HTML-INDEX: </table>
+// HTML-INDEX-LABEL: <pre><code class="language-cpp code-clang-doc">enum Shapes</code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Circle</td>
+// HTML-INDEX-NEXT: <td>0</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Rectangle</td>
+// HTML-INDEX-NEXT: <td>1</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Triangle</td>
+// HTML-INDEX-NEXT: <td>2</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
+
+/**
+ * @brief Specify the size
+ */
+enum Size : uint8_t {
+ // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
+ // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
+ Small, ///< A pearl
+ Medium, ///< A tennis ball
+ Large ///< A football
+};
+
+// MD-INDEX: | enum Size : uint8_t |
+// MD-INDEX: --
+// MD-INDEX: | Small |
+// MD-INDEX: | Medium |
+// MD-INDEX: | Large |
+// MD-INDEX: **brief** Specify the size
+
+// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum Size : uint8_t</code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Small</td>
+// HTML-INDEX-NEXT: <td>0</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Medium</td>
+// HTML-INDEX-NEXT: <td>1</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>Large</td>
+// HTML-INDEX-NEXT: <td>2</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
+
+/**
+ * @brief Very long number
+ */
+enum : long long {
+ // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
+ // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
+ BigVal = 999999999999
+};
+
+// MD-INDEX: | enum : long long |
+// MD-INDEX: --
+// MD-INDEX: | BigVal |
+// MD-INDEX: **brief** Very long number
+
+// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum : long long</code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>BigVal</td>
+// HTML-INDEX-NEXT: <td>999999999999</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
+
+/**
+ * @brief This is a top secret
+ */
+enum {
+ // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
+ // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
+ secret = true
+};
+
+// MD-INDEX: | enum |
+// MD-INDEX: --
+// MD-INDEX: | secret |
+// MD-INDEX: **brief** This is a top secret
+
+// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum </code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>secret</td>
+// HTML-INDEX-NEXT: <td>true</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
// COM: FIXME: Add enums declared inside of classes to class template
class Animals {
@@ -122,7 +220,7 @@ class Animals {
};
};
-// HTML-ANIMAL: <section id="Enums" class="section-container">
+// HTML-ANIMAL: <section id="Enums" class="section-container">
// HTML-ANIMAL-NEXT: <h2>Enumerations</h2>
// HTML-ANIMAL-NEXT: <div id="{{([0-9A-F]{40})}}" class="delimiter-container">
// HTML-ANIMAL-NEXT: <div>
@@ -153,7 +251,7 @@ class Animals {
// HTML-ANIMAL-NEXT: <p> specify what animal the class is</p>
// HTML-ANIMAL-NEXT: </div>
// HTML-ANIMAL-NEXT: </div>
-// HTML-ANIMAL-NEXT: <p>Defined at line 116 of file {{.*}}enum.cpp</p>
+// HTML-ANIMAL-NEXT: <p>Defined at line {{.*}} of file {{.*}}enum.cpp</p>
// HTML-ANIMAL-NEXT: </div>
// HTML-ANIMAL-NEXT: </section>
@@ -191,33 +289,32 @@ enum Car {
// MD-VEHICLES: | Hatchback |
// MD-VEHICLES: **brief** specify type of car
-// HTML-VEHICLES: <div>
-// HTML-VEHICLES: <pre><code class="language-cpp code-clang-doc">enum Car</code></pre>
-// HTML-VEHICLES: </div>
-// HTML-VEHICLES: <table class="table-wrapper">
-// HTML-VEHICLES: <tbody>
-// HTML-VEHICLES: <tr>
-// HTML-VEHICLES: <th>Name</th>
-// HTML-VEHICLES: <th>Value</th>
-// HTML-VEHICLES: </tr>
-// HTML-VEHICLES: <tr>
-// HTML-VEHICLES: <td>Sedan</td>
-// HTML-VEHICLES: <td>0</td>
-// HTML-VEHICLES: </tr>
-// HTML-VEHICLES: <tr>
-// HTML-VEHICLES: <td>SUV</td>
-// HTML-VEHICLES: <td>1</td>
-// HTML-VEHICLES: </tr>
-// HTML-VEHICLES: <tr>
-// HTML-VEHICLES: <td>Pickup</td>
-// HTML-VEHICLES: <td>2</td>
-// HTML-VEHICLES: </tr>
-// HTML-VEHICLES: <tr>
-// HTML-VEHICLES: <td>Hatchback</td>
-// HTML-VEHICLES: <td>3</td>
-// HTML-VEHICLES: </tr>
-// HTML-VEHICLES: </tbody>
-// HTML-VEHICLES: </table>
+// HTML-VEHICLES-LABEL: <pre><code class="language-cpp code-clang-doc">enum Car</code></pre>
+// HTML-VEHICLES-NEXT: </div>
+// HTML-VEHICLES-NEXT: <table class="table-wrapper">
+// HTML-VEHICLES-NEXT: <tbody>
+// HTML-VEHICLES-NEXT: <tr>
+// HTML-VEHICLES-NEXT: <th>Name</th>
+// HTML-VEHICLES-NEXT: <th>Value</th>
+// HTML-VEHICLES-NEXT: </tr>
+// HTML-VEHICLES-NEXT: <tr>
+// HTML-VEHICLES-NEXT: <td>Sedan</td>
+// HTML-VEHICLES-NEXT: <td>0</td>
+// HTML-VEHICLES-NEXT: </tr>
+// HTML-VEHICLES-NEXT: <tr>
+// HTML-VEHICLES-NEXT: <td>SUV</td>
+// HTML-VEHICLES-NEXT: <td>1</td>
+// HTML-VEHICLES-NEXT: </tr>
+// HTML-VEHICLES-NEXT: <tr>
+// HTML-VEHICLES-NEXT: <td>Pickup</td>
+// HTML-VEHICLES-NEXT: <td>2</td>
+// HTML-VEHICLES-NEXT: </tr>
+// HTML-VEHICLES-NEXT: <tr>
+// HTML-VEHICLES-NEXT: <td>Hatchback</td>
+// HTML-VEHICLES-NEXT: <td>3</td>
+// HTML-VEHICLES-NEXT: </tr>
+// HTML-VEHICLES-NEXT: </tbody>
+// HTML-VEHICLES-NEXT: </table>
enum ColorUserSpecified {
RedUserSpecified = 'A',
@@ -231,26 +328,25 @@ enum ColorUserSpecified {
// MD-INDEX: | GreenUserSpecified |
// MD-INDEX: | BlueUserSpecified |
-// HTML-INDEX: <div>
-// HTML-INDEX: <pre><code class="language-cpp code-clang-doc">enum ColorUserSpecified</code></pre>
-// HTML-INDEX: </div>
-// HTML-INDEX: <table class="table-wrapper">
-// HTML-INDEX: <tbody>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <th>Name</th>
-// HTML-INDEX: <th>Value</th>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>RedUserSpecified</td>
-// HTML-INDEX: <td>'A'</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>GreenUserSpecified</td>
-// HTML-INDEX: <td>2</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: <tr>
-// HTML-INDEX: <td>BlueUserSpecified</td>
-// HTML-INDEX: <td>'C'</td>
-// HTML-INDEX: </tr>
-// HTML-INDEX: </tbody>
-// HTML-INDEX: </table>
+// HTML-INDEX-LABEL: <pre><code class="language-cpp code-clang-doc">enum ColorUserSpecified</code></pre>
+// HTML-INDEX-NEXT: </div>
+// HTML-INDEX-NEXT: <table class="table-wrapper">
+// HTML-INDEX-NEXT: <tbody>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <th>Name</th>
+// HTML-INDEX-NEXT: <th>Value</th>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>RedUserSpecified</td>
+// HTML-INDEX-NEXT: <td>'A'</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>GreenUserSpecified</td>
+// HTML-INDEX-NEXT: <td>2</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: <tr>
+// HTML-INDEX-NEXT: <td>BlueUserSpecified</td>
+// HTML-INDEX-NEXT: <td>'C'</td>
+// HTML-INDEX-NEXT: </tr>
+// HTML-INDEX-NEXT: </tbody>
+// HTML-INDEX-NEXT: </table>
More information about the cfe-commits
mailing list