2022-12-07 10:26:04 -08:00
|
|
|
// RUN: rm -rf %t
|
|
|
|
// RUN: mkdir %t
|
2024-12-13 09:53:29 -08:00
|
|
|
|
2024-12-13 09:49:32 -08:00
|
|
|
// RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs
|
2024-12-13 09:34:43 -08:00
|
|
|
// RUN: cat %t/docs/index.yaml | FileCheck %s --check-prefix=YAML
|
2022-12-07 10:26:04 -08:00
|
|
|
|
2024-12-13 09:53:29 -08:00
|
|
|
// RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs --format=md
|
|
|
|
// RUN: cat %t/docs/GlobalNamespace/index.md | FileCheck %s --check-prefix=MD
|
|
|
|
|
2024-12-13 09:39:50 -08:00
|
|
|
// YAML: ---
|
|
|
|
// YAML-NEXT: USR: '{{([0-9A-F]{40})}}'
|
2022-12-07 10:26:04 -08:00
|
|
|
|
2024-12-13 09:53:29 -08:00
|
|
|
// MD: # Global Namespace
|
|
|
|
// MD: ## Functions
|
|
|
|
|
2022-12-07 10:26:04 -08:00
|
|
|
template<class... T>
|
|
|
|
void ParamPackFunction(T... args);
|
|
|
|
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: ChildFunctions:
|
|
|
|
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
|
|
|
|
// YAML-NEXT: Name: 'ParamPackFunction'
|
|
|
|
// YAML-NEXT: Location:
|
2024-12-13 09:39:50 -08:00
|
|
|
// YAML-NEXT: - LineNumber: [[# @LINE - 6]]
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: Filename: '{{.*}}'
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Type:
|
|
|
|
// YAML-NEXT: Name: 'T...'
|
|
|
|
// YAML-NEXT: QualName: 'T...'
|
|
|
|
// YAML-NEXT: Name: 'args'
|
|
|
|
// YAML-NEXT: ReturnType:
|
|
|
|
// YAML-NEXT: Type:
|
|
|
|
// YAML-NEXT: Name: 'void'
|
|
|
|
// YAML-NEXT: QualName: 'void'
|
|
|
|
// YAML-NEXT: Template:
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Contents: 'class... T'
|
2024-12-13 09:39:50 -08:00
|
|
|
|
2024-12-13 09:53:29 -08:00
|
|
|
// MD: ### ParamPackFunction
|
|
|
|
// MD: *void ParamPackFunction(T... args)*
|
|
|
|
|
2024-12-13 09:39:50 -08:00
|
|
|
template<typename T, int U = 1>
|
|
|
|
void function(T x) {}
|
|
|
|
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
|
|
|
|
// YAML-NEXT: Name: 'function'
|
|
|
|
// YAML-NEXT: DefLocation:
|
2024-12-13 09:39:50 -08:00
|
|
|
// YAML-NEXT: LineNumber: [[# @LINE - 5]]
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: Filename: '{{.*}}'
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Type:
|
|
|
|
// YAML-NEXT: Name: 'T'
|
|
|
|
// YAML-NEXT: QualName: 'T'
|
|
|
|
// YAML-NEXT: Name: 'x'
|
|
|
|
// YAML-NEXT: ReturnType:
|
|
|
|
// YAML-NEXT: Type:
|
|
|
|
// YAML-NEXT: Name: 'void'
|
|
|
|
// YAML-NEXT: QualName: 'void'
|
|
|
|
// YAML-NEXT: Template:
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Contents: 'typename T'
|
|
|
|
// YAML-NEXT: - Contents: 'int U = 1'
|
2024-12-13 09:39:50 -08:00
|
|
|
|
2024-12-13 09:53:29 -08:00
|
|
|
// MD: ### function
|
|
|
|
// MD: *void function(T x)*
|
|
|
|
// MD: *Defined at {{.*}}templates.cpp#[[# @LINE - 23]]*
|
|
|
|
|
2024-12-13 09:39:50 -08:00
|
|
|
template<>
|
|
|
|
void function<bool, 0>(bool x) {}
|
|
|
|
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
|
|
|
|
// YAML-NEXT: Name: 'function'
|
|
|
|
// YAML-NEXT: DefLocation:
|
2024-12-13 09:39:50 -08:00
|
|
|
// YAML-NEXT: LineNumber: [[# @LINE - 6]]
|
2024-12-13 09:34:43 -08:00
|
|
|
// YAML-NEXT: Filename: '{{.*}}'
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Type:
|
|
|
|
// YAML-NEXT: Name: '_Bool'
|
|
|
|
// YAML-NEXT: QualName: '_Bool'
|
|
|
|
// YAML-NEXT: Name: 'x'
|
|
|
|
// YAML-NEXT: ReturnType:
|
|
|
|
// YAML-NEXT: Type:
|
|
|
|
// YAML-NEXT: Name: 'void'
|
|
|
|
// YAML-NEXT: QualName: 'void'
|
|
|
|
// YAML-NEXT: Template:
|
|
|
|
// YAML-NEXT: Specialization:
|
|
|
|
// YAML-NEXT: SpecializationOf: '{{([0-9A-F]{40})}}'
|
|
|
|
// YAML-NEXT: Params:
|
|
|
|
// YAML-NEXT: - Contents: 'bool'
|
|
|
|
// YAML-NEXT: - Contents: '0'
|
|
|
|
// YAML-NEXT: ...
|
2024-12-13 09:39:50 -08:00
|
|
|
|
2024-12-13 09:53:29 -08:00
|
|
|
// MD: ### function
|
|
|
|
// MD: *void function(_Bool x)*
|
|
|
|
// MD: *Defined at {{.*}}templates.cpp#[[# @LINE - 27]]*
|
|
|
|
|