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 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
