[llvm-branch-commits] [clang-tools-extra] [clang-doc] Try to make testing more uniform (PR #205586)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jun 24 09:04:00 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-tools-extra
Author: Paul Kirth (ilovepi)
<details>
<summary>Changes</summary>
---
Patch is 270.62 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/205586.diff
95 Files Affected:
- (added) clang-tools-extra/test/clang-doc/Inputs/DR-141990.cpp ()
- (modified) clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp (+4-13)
- (modified) clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp (+2-6)
- (modified) clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp (+2-6)
- (added) clang-tools-extra/test/clang-doc/Inputs/builtin_types.cpp (+8)
- (modified) clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp (+2-2)
- (added) clang-tools-extra/test/clang-doc/Inputs/class-requires.cpp (+8)
- (added) clang-tools-extra/test/clang-doc/Inputs/class-specialization.cpp (+3)
- (added) clang-tools-extra/test/clang-doc/Inputs/class-template.cpp (+4)
- (added) clang-tools-extra/test/clang-doc/Inputs/class.cpp (+31)
- (added) clang-tools-extra/test/clang-doc/Inputs/comments-in-macros.cpp (+10)
- (added) clang-tools-extra/test/clang-doc/Inputs/compact.cpp (+1)
- (added) clang-tools-extra/test/clang-doc/Inputs/compound-constraints.cpp (+40)
- (added) clang-tools-extra/test/clang-doc/Inputs/concept.cpp (+6)
- (added) clang-tools-extra/test/clang-doc/Inputs/conversion_function.cpp (+3)
- (modified) clang-tools-extra/test/clang-doc/Inputs/enum.cpp (+6-6)
- (added) clang-tools-extra/test/clang-doc/Inputs/function-requires.cpp (+11)
- (added) clang-tools-extra/test/clang-doc/Inputs/function-specifiers.cpp (+9)
- (added) clang-tools-extra/test/clang-doc/Inputs/index.cpp (+5)
- (added) clang-tools-extra/test/clang-doc/Inputs/inheritance.cpp (+7)
- (added) clang-tools-extra/test/clang-doc/Inputs/long-name.cpp (+8)
- (added) clang-tools-extra/test/clang-doc/Inputs/method-template.cpp (+3)
- (added) clang-tools-extra/test/clang-doc/Inputs/multiple-namespaces.cpp (+11)
- (added) clang-tools-extra/test/clang-doc/Inputs/mustache-index.cpp (+3)
- (added) clang-tools-extra/test/clang-doc/Inputs/mustache-separate-namespace.cpp (+3)
- (added) clang-tools-extra/test/clang-doc/Inputs/namespace-html-md.cpp (+29)
- (added) clang-tools-extra/test/clang-doc/Inputs/namespace.cpp (+11)
- (added) clang-tools-extra/test/clang-doc/Inputs/nested-namespace.cpp (+7)
- (modified) clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp (+1-1)
- (added) clang-tools-extra/test/clang-doc/Inputs/single-file-public.cpp (+11)
- (added) clang-tools-extra/test/clang-doc/Inputs/single-file.cpp (+3)
- (added) clang-tools-extra/test/clang-doc/Inputs/templates.cpp (+20)
- (added) clang-tools-extra/test/clang-doc/Inputs/typedef-alias.cpp (+14)
- (modified) clang-tools-extra/test/clang-doc/basic-project.mustache.test (+5-5)
- (modified) clang-tools-extra/test/clang-doc/basic-project.test (+5-6)
- (removed) clang-tools-extra/test/clang-doc/class-partial-specialization.cpp (-13)
- (removed) clang-tools-extra/test/clang-doc/comments-in-macros.cpp (-43)
- (removed) clang-tools-extra/test/clang-doc/enum.cpp (-839)
- (added) clang-tools-extra/test/clang-doc/html/array-type.cpp (+6)
- (added) clang-tools-extra/test/clang-doc/html/class-partial-specialization.cpp (+7)
- (added) clang-tools-extra/test/clang-doc/html/class-specialization.cpp (+19)
- (added) clang-tools-extra/test/clang-doc/html/class.cpp (+59)
- (added) clang-tools-extra/test/clang-doc/html/comments-in-macros.cpp (+12)
- (added) clang-tools-extra/test/clang-doc/html/compound-constraints.cpp (+83)
- (renamed) clang-tools-extra/test/clang-doc/html/conversion_function.cpp (+1-11)
- (added) clang-tools-extra/test/clang-doc/html/enum.cpp (+368)
- (added) clang-tools-extra/test/clang-doc/html/function-pointer-type.cpp (+6)
- (renamed) clang-tools-extra/test/clang-doc/html/index.cpp (+1-25)
- (added) clang-tools-extra/test/clang-doc/html/long-name.cpp (+6)
- (added) clang-tools-extra/test/clang-doc/html/member-function-pointer-type.cpp (+6)
- (renamed) clang-tools-extra/test/clang-doc/html/mustache-index.cpp (+2-10)
- (renamed) clang-tools-extra/test/clang-doc/html/mustache-separate-namespace.cpp (+1-6)
- (added) clang-tools-extra/test/clang-doc/html/namespace.cpp (+148)
- (added) clang-tools-extra/test/clang-doc/html/nested-pointer-qualifiers.cpp (+6)
- (added) clang-tools-extra/test/clang-doc/html/templates.cpp (+73)
- (renamed) clang-tools-extra/test/clang-doc/html/typedef-alias.cpp (+6-23)
- (modified) clang-tools-extra/test/clang-doc/json/class-partial-specialization.cpp (+1-1)
- (modified) clang-tools-extra/test/clang-doc/json/class-requires.cpp (+1-10)
- (modified) clang-tools-extra/test/clang-doc/json/class-specialization.cpp (+1-22)
- (modified) clang-tools-extra/test/clang-doc/json/class-template.cpp (+1-6)
- (modified) clang-tools-extra/test/clang-doc/json/class.cpp (+4-95)
- (renamed) clang-tools-extra/test/clang-doc/json/compact.cpp (+2-4)
- (modified) clang-tools-extra/test/clang-doc/json/compound-constraints.cpp (+1-118)
- (modified) clang-tools-extra/test/clang-doc/json/concept.cpp (+2-9)
- (added) clang-tools-extra/test/clang-doc/json/conversion_function.cpp (+5)
- (added) clang-tools-extra/test/clang-doc/json/enum.cpp (+377)
- (modified) clang-tools-extra/test/clang-doc/json/function-requires.cpp (+1-11)
- (modified) clang-tools-extra/test/clang-doc/json/function-specifiers.cpp (+1-11)
- (added) clang-tools-extra/test/clang-doc/json/index.cpp (+18)
- (modified) clang-tools-extra/test/clang-doc/json/inheritance.cpp (+1-9)
- (added) clang-tools-extra/test/clang-doc/json/long-name.cpp (+7)
- (modified) clang-tools-extra/test/clang-doc/json/method-template.cpp (+2-7)
- (modified) clang-tools-extra/test/clang-doc/json/multiple-namespaces.cpp (+1-13)
- (modified) clang-tools-extra/test/clang-doc/json/namespace.cpp (+4-32)
- (modified) clang-tools-extra/test/clang-doc/json/nested-namespace.cpp (+3-11)
- (added) clang-tools-extra/test/clang-doc/json/templates.cpp (+196)
- (removed) clang-tools-extra/test/clang-doc/long-name.cpp (-16)
- (renamed) clang-tools-extra/test/clang-doc/md/array-type.cpp (+2-6)
- (added) clang-tools-extra/test/clang-doc/md/builtin_types.cpp (+60)
- (added) clang-tools-extra/test/clang-doc/md/class-partial-specialization.cpp (+8)
- (added) clang-tools-extra/test/clang-doc/md/comments-in-macros.cpp (+18)
- (added) clang-tools-extra/test/clang-doc/md/enum.cpp (+120)
- (renamed) clang-tools-extra/test/clang-doc/md/function-pointer-type.cpp (+2-6)
- (renamed) clang-tools-extra/test/clang-doc/md/member-function-pointer-type.cpp (+2-6)
- (added) clang-tools-extra/test/clang-doc/md/namespace.cpp (+194)
- (renamed) clang-tools-extra/test/clang-doc/md/nested-pointer-qualifiers.cpp (+2-6)
- (added) clang-tools-extra/test/clang-doc/md/templates.cpp (+49)
- (removed) clang-tools-extra/test/clang-doc/namespace.cpp (-380)
- (removed) clang-tools-extra/test/clang-doc/single-file-public.cpp (-62)
- (removed) clang-tools-extra/test/clang-doc/templates.cpp (-491)
- (renamed) clang-tools-extra/test/clang-doc/yaml/builtin_types.cpp (+9-86)
- (added) clang-tools-extra/test/clang-doc/yaml/conversion_function.cpp (+7)
- (added) clang-tools-extra/test/clang-doc/yaml/single-file-public.cpp (+6)
- (renamed) clang-tools-extra/test/clang-doc/yaml/single-file.cpp (+3-7)
- (added) clang-tools-extra/test/clang-doc/yaml/templates.cpp (+148)
``````````diff
diff --git a/clang-tools-extra/test/clang-doc/Inputs/DR-141990.cpp b/clang-tools-extra/test/clang-doc/Inputs/DR-141990.cpp
new file mode 100644
index 00000000000000..e69de29bb2d1d6
diff --git a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
index 483d050e3225ae..aac9b2f48a8261 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
@@ -1,18 +1,9 @@
#include "Calculator.h"
-int Calculator::add(int a, int b) {
- return a + b;
-}
+int Calculator::add(int a, int b) { return a + b; }
-int Calculator::subtract(int a, int b) {
- return a - b;
-}
+int Calculator::subtract(int a, int b) { return a - b; }
-int Calculator::multiply(int a, int b) {
- return a * b;
-}
-
-double Calculator::divide(int a, int b) {
- return static_cast<double>(a) / b;
-}
+int Calculator::multiply(int a, int b) { return a * b; }
+double Calculator::divide(int a, int b) { return static_cast<double>(a) / b; }
diff --git a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
index 811aac4989bd09..c43299e809ba44 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
@@ -2,10 +2,6 @@
Circle::Circle(double radius) : radius_(radius) {}
-double Circle::area() const {
- return 3.141 * radius_ * radius_;
-}
+double Circle::area() const { return 3.141 * radius_ * radius_; }
-double Circle::perimeter() const {
- return 3.141 * radius_;
-}
+double Circle::perimeter() const { return 3.141 * radius_; }
diff --git a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
index a2b253b750aa85..7b0fb2aa1c024c 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
@@ -3,10 +3,6 @@
Rectangle::Rectangle(double width, double height)
: width_(width), height_(height) {}
-double Rectangle::area() const {
- return width_ * height_;
-}
+double Rectangle::area() const { return width_ * height_; }
-double Rectangle::perimeter() const {
- return 2 * (width_ + height_);
-}
\ No newline at end of file
+double Rectangle::perimeter() const { return 2 * (width_ + height_); }
\ No newline at end of file
diff --git a/clang-tools-extra/test/clang-doc/Inputs/builtin_types.cpp b/clang-tools-extra/test/clang-doc/Inputs/builtin_types.cpp
new file mode 100644
index 00000000000000..c792bffd8f9f65
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/builtin_types.cpp
@@ -0,0 +1,8 @@
+extern bool b();
+char c();
+double d();
+float f();
+int i();
+long l();
+long long ll();
+short s();
diff --git a/clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp b/clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
index f36b3201386911..d27e275ce180e8 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/class-partial-specialization.cpp
@@ -1,2 +1,2 @@
-template<typename T> struct MyClass {};
-template<typename T> struct MyClass<T*> {};
+template <typename T> struct MyClass {};
+template <typename T> struct MyClass<T *> {};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/class-requires.cpp b/clang-tools-extra/test/clang-doc/Inputs/class-requires.cpp
new file mode 100644
index 00000000000000..b3eeb0c43994d4
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/class-requires.cpp
@@ -0,0 +1,8 @@
+template <typename T>
+concept Addable = requires(T a, T b) {
+ { a + b };
+};
+
+template <typename T>
+ requires Addable<T>
+struct MyClass;
diff --git a/clang-tools-extra/test/clang-doc/Inputs/class-specialization.cpp b/clang-tools-extra/test/clang-doc/Inputs/class-specialization.cpp
new file mode 100644
index 00000000000000..482c533cd4f357
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/class-specialization.cpp
@@ -0,0 +1,3 @@
+template <typename T> struct MyClass {};
+
+template <> struct MyClass<int> {};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/class-template.cpp b/clang-tools-extra/test/clang-doc/Inputs/class-template.cpp
new file mode 100644
index 00000000000000..6ed0eb353acc23
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/class-template.cpp
@@ -0,0 +1,4 @@
+template <typename T> struct MyClass {
+ T MemberTemplate;
+ T method(T Param);
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/class.cpp b/clang-tools-extra/test/clang-doc/Inputs/class.cpp
new file mode 100644
index 00000000000000..07869652522b56
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/class.cpp
@@ -0,0 +1,31 @@
+/// This is a struct friend.
+struct Foo;
+
+// This is a nice class.
+// It has some nice methods and fields.
+// @brief This is a brief description.
+struct MyClass {
+ int PublicField;
+
+ int myMethod(int MyParam);
+ static void staticMethod();
+ const int &getConst();
+
+ enum Color { RED, GREEN, BLUE = 5 };
+
+ typedef int MyTypedef;
+
+ class NestedClass;
+
+ friend struct Foo;
+ /// This is a function template friend.
+ template <typename T> friend void friendFunction(int);
+
+protected:
+ int protectedMethod();
+
+ int ProtectedField;
+
+private:
+ int PrivateField;
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/comments-in-macros.cpp b/clang-tools-extra/test/clang-doc/Inputs/comments-in-macros.cpp
new file mode 100644
index 00000000000000..783956d3d99fb0
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/comments-in-macros.cpp
@@ -0,0 +1,10 @@
+#define DECLARE_METHODS \
+ /** \
+ * @brief Declare a method to calculate the sum of two numbers \
+ */ \
+ int Add(int a, int b) { return a + b; }
+
+class MyClass {
+public:
+ DECLARE_METHODS
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/compact.cpp b/clang-tools-extra/test/clang-doc/Inputs/compact.cpp
new file mode 100644
index 00000000000000..6247fa0e739118
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/compact.cpp
@@ -0,0 +1 @@
+class Foo {};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/compound-constraints.cpp b/clang-tools-extra/test/clang-doc/Inputs/compound-constraints.cpp
new file mode 100644
index 00000000000000..f8aa2955314c5e
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/compound-constraints.cpp
@@ -0,0 +1,40 @@
+/// \brief Concept for an incrementable value
+///
+/// \tparam T A value that can be incremented.
+template <typename T>
+concept Incrementable = requires(T a) { a++; };
+
+/// \brief Concept for a decrementable value
+///
+/// \tparam T A value that can be decremented
+template <typename T>
+concept Decrementable = requires(T a) { a--; };
+
+/// \brief Concept for a pre-incrementable value
+///
+/// \tparam T A value that can be pre-incremented
+template <typename T>
+concept PreIncrementable = requires(T a) { ++a; };
+
+/// \brief Concept for a -pre-decrementable value
+///
+/// \tparam T A value that can be pre-decremented
+template <typename T>
+concept PreDecrementable = requires(T a) { --a; };
+
+template <typename T>
+ requires Incrementable<T> && Decrementable<T>
+void One();
+
+template <typename T>
+ requires(Incrementable<T> && Decrementable<T>)
+void Two();
+
+template <typename T>
+ requires(Incrementable<T> && Decrementable<T>) ||
+ (PreIncrementable<T> && PreDecrementable<T>)
+void Three();
+
+template <typename T>
+ requires(Incrementable<T> && Decrementable<T>) || PreIncrementable<T>
+void Four();
diff --git a/clang-tools-extra/test/clang-doc/Inputs/concept.cpp b/clang-tools-extra/test/clang-doc/Inputs/concept.cpp
new file mode 100644
index 00000000000000..b230b9aa4f5bc6
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/concept.cpp
@@ -0,0 +1,6 @@
+// Requires that T suports post and pre-incrementing.
+template <typename T>
+concept Incrementable = requires(T x) {
+ ++x;
+ x++;
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/conversion_function.cpp b/clang-tools-extra/test/clang-doc/Inputs/conversion_function.cpp
new file mode 100644
index 00000000000000..ee6a21f9108daa
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/conversion_function.cpp
@@ -0,0 +1,3 @@
+template <typename T> struct MyStruct {
+ operator T();
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/enum.cpp b/clang-tools-extra/test/clang-doc/Inputs/enum.cpp
index 04291865a3c09f..1a376fb232184c 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/enum.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/enum.cpp
@@ -41,7 +41,7 @@ enum Size : uint8_t {
* @brief Very long number
*/
enum : long long {
- BigVal = 999999999999 ///< A very large value
+ BigVal = 999999999999 ///< A very large value
};
enum ColorUserSpecified {
@@ -56,9 +56,9 @@ class FilePermissions {
* @brief File permission flags
*/
enum {
- Read = 1, ///< Permission to READ r
- Write = 2, ///< Permission to WRITE w
- Execute = 4 ///< Permission to EXECUTE x
+ Read = 1, ///< Permission to READ r
+ Write = 2, ///< Permission to WRITE w
+ Execute = 4 ///< Permission to EXECUTE x
};
};
@@ -80,8 +80,8 @@ namespace Vehicles {
* @brief specify type of car
*/
enum Car {
- Sedan, ///< Comment 1
- SUV, ///< Comment 2
+ Sedan, ///< Comment 1
+ SUV, ///< Comment 2
Pickup,
Hatchback ///< Comment 4
};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/function-requires.cpp b/clang-tools-extra/test/clang-doc/Inputs/function-requires.cpp
new file mode 100644
index 00000000000000..3a6b4f85b2f561
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/function-requires.cpp
@@ -0,0 +1,11 @@
+template <typename T>
+concept Incrementable = requires(T x) {
+ ++x;
+ x++;
+};
+
+template <typename T>
+void increment(T t)
+ requires Incrementable<T>;
+
+template <Incrementable T> Incrementable auto incrementTwo(T t);
diff --git a/clang-tools-extra/test/clang-doc/Inputs/function-specifiers.cpp b/clang-tools-extra/test/clang-doc/Inputs/function-specifiers.cpp
new file mode 100644
index 00000000000000..77bdbebef879c8
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/function-specifiers.cpp
@@ -0,0 +1,9 @@
+static void myFunction() {}
+
+void noExceptFunction() noexcept {}
+
+inline void inlineFunction() {}
+
+extern void externFunction() {}
+
+constexpr void constexprFunction() {}
diff --git a/clang-tools-extra/test/clang-doc/Inputs/index.cpp b/clang-tools-extra/test/clang-doc/Inputs/index.cpp
new file mode 100644
index 00000000000000..535f5f3cd88375
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/index.cpp
@@ -0,0 +1,5 @@
+class Foo {};
+
+namespace inner {
+class Bar {};
+} // namespace inner
diff --git a/clang-tools-extra/test/clang-doc/Inputs/inheritance.cpp b/clang-tools-extra/test/clang-doc/Inputs/inheritance.cpp
new file mode 100644
index 00000000000000..0b486cc3705cb5
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/inheritance.cpp
@@ -0,0 +1,7 @@
+class Virtual {};
+class Foo : virtual Virtual {};
+class Bar : Foo {};
+class Fizz : virtual Virtual {};
+class Buzz : Fizz {};
+
+class MyClass : Bar, Buzz {};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/long-name.cpp b/clang-tools-extra/test/clang-doc/Inputs/long-name.cpp
new file mode 100644
index 00000000000000..7050fdf8a6c7a1
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/long-name.cpp
@@ -0,0 +1,8 @@
+struct
+ ThisStructHasANameThatResultsInAMangledNameThatIsExactly250CharactersLongThatIsSupposedToTestTheFilenameLengthLimitsWithinClangDocInOrdertoSeeifclangdocwillcrashornotdependingonthelengthofthestructIfTheLengthIsTooLongThenClangDocWillCrashAnd12 {
+};
+
+// This name is 1 character over the limit, so it will be serialized as a USR.
+struct
+ ThisStructHasANameThatResultsInAMangledNameThatIsExactly251CharactersLongThatIsSupposedToTestTheFilenameLengthLimitsWithinClangDocInOrdertoSeeifclangdocwillcrashornotdependingonthelengthofthestructIfTheLengthIsTooLongThenClangDocWillCrashAnd123 {
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/method-template.cpp b/clang-tools-extra/test/clang-doc/Inputs/method-template.cpp
new file mode 100644
index 00000000000000..d489ae24b2b6d2
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/method-template.cpp
@@ -0,0 +1,3 @@
+struct MyClass {
+ template <class T> T methodTemplate(T param) {}
+};
diff --git a/clang-tools-extra/test/clang-doc/Inputs/multiple-namespaces.cpp b/clang-tools-extra/test/clang-doc/Inputs/multiple-namespaces.cpp
new file mode 100644
index 00000000000000..de7830b7ea2577
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/multiple-namespaces.cpp
@@ -0,0 +1,11 @@
+namespace foo {
+namespace tools {
+class FooTools {};
+} // namespace tools
+} // namespace foo
+
+namespace bar {
+namespace tools {
+class BarTools {};
+} // namespace tools
+} // namespace bar
diff --git a/clang-tools-extra/test/clang-doc/Inputs/mustache-index.cpp b/clang-tools-extra/test/clang-doc/Inputs/mustache-index.cpp
new file mode 100644
index 00000000000000..a4662f7b6a2844
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/mustache-index.cpp
@@ -0,0 +1,3 @@
+enum Color { RED, BLUE, GREEN };
+
+class Foo;
diff --git a/clang-tools-extra/test/clang-doc/Inputs/mustache-separate-namespace.cpp b/clang-tools-extra/test/clang-doc/Inputs/mustache-separate-namespace.cpp
new file mode 100644
index 00000000000000..66686162ea5b86
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/mustache-separate-namespace.cpp
@@ -0,0 +1,3 @@
+namespace MyNamespace {
+class Foo;
+}
diff --git a/clang-tools-extra/test/clang-doc/Inputs/namespace-html-md.cpp b/clang-tools-extra/test/clang-doc/Inputs/namespace-html-md.cpp
new file mode 100644
index 00000000000000..20897fa335c799
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/namespace-html-md.cpp
@@ -0,0 +1,29 @@
+// Anonymous Namespace
+namespace {
+void anonFunction() {}
+class AnonClass {};
+} // namespace
+
+// Primary Namespace
+namespace PrimaryNamespace {
+// Function in PrimaryNamespace
+void functionInPrimaryNamespace() {}
+// Class in PrimaryNamespace
+class ClassInPrimaryNamespace {};
+
+// Nested namespace
+namespace NestedNamespace {
+// Function in NestedNamespace
+void functionInNestedNamespace() {}
+// Class in NestedNamespace
+class ClassInNestedNamespace {};
+} // namespace NestedNamespace
+} // namespace PrimaryNamespace
+
+// AnotherNamespace
+namespace AnotherNamespace {
+// Function in AnotherNamespace
+void functionInAnotherNamespace() {}
+// Class in AnotherNamespace
+class ClassInAnotherNamespace {};
+} // namespace AnotherNamespace
diff --git a/clang-tools-extra/test/clang-doc/Inputs/namespace.cpp b/clang-tools-extra/test/clang-doc/Inputs/namespace.cpp
new file mode 100644
index 00000000000000..05f69924d7c732
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/namespace.cpp
@@ -0,0 +1,11 @@
+class MyClass {};
+
+void myFunction(int Param);
+
+namespace NestedNamespace {} // namespace NestedNamespace
+
+static int Global;
+
+enum Color { RED, GREEN, BLUE = 5 };
+
+typedef int MyTypedef;
diff --git a/clang-tools-extra/test/clang-doc/Inputs/nested-namespace.cpp b/clang-tools-extra/test/clang-doc/Inputs/nested-namespace.cpp
new file mode 100644
index 00000000000000..a3f51010e95b68
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/nested-namespace.cpp
@@ -0,0 +1,7 @@
+namespace nested {
+int Global;
+namespace inner {
+int InnerGlobal;
+namespace inner_inner {}
+} // namespace inner
+} // namespace nested
diff --git a/clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp b/clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
index 49cfb4c8567f4e..9f787685b014e5 100644
--- a/clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
+++ b/clang-tools-extra/test/clang-doc/Inputs/nested-pointer-qualifiers.cpp
@@ -1 +1 @@
-void foo(const int * const * ptr);
+void foo(const int *const *ptr);
diff --git a/clang-tools-extra/test/clang-doc/Inputs/single-file-public.cpp b/clang-tools-extra/test/clang-doc/Inputs/single-file-public.cpp
new file mode 100644
index 00000000000000..c809a248aa93ed
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/single-file-public.cpp
@@ -0,0 +1,11 @@
+class Record {
+private:
+ void function_private();
+
+public:
+ void function_public();
+};
+
+void Record::function_private() {}
+
+void Record::function_public() {}
diff --git a/clang-tools-extra/test/clang-doc/Inputs/single-file.cpp b/clang-tools-extra/test/clang-doc/Inputs/single-file.cpp
new file mode 100644
index 00000000000000..05b05085152584
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/single-file.cpp
@@ -0,0 +1,3 @@
+void function(int x);
+
+void function(int x) {}
diff --git a/clang-tools-extra/test/clang-doc/Inputs/templates.cpp b/clang-tools-extra/test/clang-doc/Inputs/templates.cpp
new file mode 100644
index 00000000000000..5fb8255b438720
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/templates.cpp
@@ -0,0 +1,20 @@
+template <class... T> void ParamPackFunction(T... args);
+
+template <typename T, int U = 1> void function(T x) {}
+
+template <typename A, typename B, typename C, typename D, typename E>
+void longFunction(A a, B b, C c, D d, E e) {}
+
+template <> void function<bool, 0>(bool x) {}
+
+/// A Tuple type
+///
+/// Does Tuple things.
+template <typename... Tys> struct tuple {};
+
+/// A function with a tuple parameter
+///
+/// \param t The input to func_with_tuple_param
+tuple<int, int, bool> func_with_tuple_param(tuple<int, int, bool> t) {
+ return t;
+}
diff --git a/clang-tools-extra/test/clang-doc/Inputs/typedef-alias.cpp b/clang-tools-extra/test/clang-doc/Inputs/typedef-alias.cpp
new file mode 100644
index 00000000000000..0ad69a97421a1b
--- /dev/null
+++ b/clang-tools-extra/test/clang-doc/Inputs/typedef-alias.cpp
@@ -0,0 +1,14 @@
+/// \brief This is u_long
+using u_long = unsigned long;
+
+/// \brief This is IntPtr
+typedef int *IntPtr;
+
+template <typename T> class Vector {
+ /// \brief This is a Ptr
+ using Ptr = IntPtr;
+};
+
+template <typename T> using Vec = Vector<T>;
+
+using IntVec = Vector<int>;
diff --git a/clang-tools-extra/test/clang-doc/basic-project.mustache.test b/clang-tools-extra/test/clang-doc/basic-project.mustache.test
index 0b190caeed8f5a..63c6d30fff8952 100644
--- a/clang-tools-extra/test/clang-doc/basic-project.mustache.test
+++ b/clang-tools-extra/test/clang-doc/basic-project.mustache.test
@@ -554,21 +554,21 @@ MD-CALC: **b** Second integer.
MD-CALC: **return** int The sum of a and b.
MD-CALC: ### subtract
MD-CALC: *public int subtract(int a, int b)*
-MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#7*
+MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#5*
MD-CALC: **brief** Subtracts the second integer from the first.
MD-CALC: **a** First integer.
MD-CALC: **b** Second integer.
MD-CALC: **return** int The result of a - b.
MD-CALC: ### multiply
MD-CALC: *public int multiply(int a, int b)*
-MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#11*
+MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#7*
MD-CALC: **brief** Multiplies two integers.
MD-CALC: **a** First integer.
MD-CALC: **b** Second integer.
MD-CALC: **return** int The product of a and b.
MD-CALC: ### divide
MD-CALC: *public double divide(int a, int b)*
-MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#15*
+MD-CALC: *Defined at .{{[\/]}}src{{[\/]}}Calculator.cpp#9*
MD-CALC: **brief** Divides the first integer by the second.
MD-CALC: **a** First integer.
MD-CALC: **b** Second integer.
@@ -602,7 +602,7 @@ MD-CIRCLE: **brief** Calculates the area of the circle.
MD-CIRCLE: **return** double The area of the circle.
MD-CIRCLE: ### perimeter
MD-CIRCLE: *public double perimeter()*
-MD-CIRCLE: *Defined at .{{[\/]}}src{{[\/]}}Circle.cpp#9*
+MD-CIRCLE: *Defined at .{{[\/]}}src{{[\/]}}Circle.cpp#7*
...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/205586
More information about the llvm-branch-commits
mailing list