Skip to content

Commit 32befec

Browse files
committed
[𝘀𝗽𝗿] changes to main this commit is based on
Created using spr 1.3.6-beta.1 [skip ci]
1 parent 6cfad63 commit 32befec

File tree

1 file changed

+86
-66
lines changed

1 file changed

+86
-66
lines changed

clang-tools-extra/test/clang-doc/templates.cpp

Lines changed: 86 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,96 @@
11
// RUN: rm -rf %t
22
// RUN: mkdir %t
3-
// RUN: echo "" > %t/compile_flags.txt
4-
// RUN: cp "%s" "%t/test.cpp"
5-
// RUN: clang-doc --doxygen --executor=standalone -p %t %t/test.cpp -output=%t/docs
6-
// RUN: cat %t/docs/index.yaml | FileCheck %s --check-prefix=CHECK
7-
// RUN: rm -rf %t
3+
4+
// RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs
5+
// RUN: cat %t/docs/index.yaml | FileCheck %s --check-prefix=YAML
6+
7+
// RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs --format=md
8+
// RUN: cat %t/docs/GlobalNamespace/index.md | FileCheck %s --check-prefix=MD
9+
10+
// YAML: ---
11+
// YAML-NEXT: USR: '{{([0-9A-F]{40})}}'
12+
13+
// MD: # Global Namespace
14+
// MD: ## Functions
15+
16+
template<class... T>
17+
void ParamPackFunction(T... args);
18+
19+
// YAML-NEXT: ChildFunctions:
20+
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
21+
// YAML-NEXT: Name: 'ParamPackFunction'
22+
// YAML-NEXT: Location:
23+
// YAML-NEXT: - LineNumber: [[# @LINE - 6]]
24+
// YAML-NEXT: Filename: '{{.*}}'
25+
// YAML-NEXT: Params:
26+
// YAML-NEXT: - Type:
27+
// YAML-NEXT: Name: 'T...'
28+
// YAML-NEXT: QualName: 'T...'
29+
// YAML-NEXT: Name: 'args'
30+
// YAML-NEXT: ReturnType:
31+
// YAML-NEXT: Type:
32+
// YAML-NEXT: Name: 'void'
33+
// YAML-NEXT: QualName: 'void'
34+
// YAML-NEXT: Template:
35+
// YAML-NEXT: Params:
36+
// YAML-NEXT: - Contents: 'class... T'
37+
38+
// MD: ### ParamPackFunction
39+
// MD: *void ParamPackFunction(T... args)*
840

941
template<typename T, int U = 1>
1042
void function(T x) {}
1143

44+
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
45+
// YAML-NEXT: Name: 'function'
46+
// YAML-NEXT: DefLocation:
47+
// YAML-NEXT: LineNumber: [[# @LINE - 5]]
48+
// YAML-NEXT: Filename: '{{.*}}'
49+
// YAML-NEXT: Params:
50+
// YAML-NEXT: - Type:
51+
// YAML-NEXT: Name: 'T'
52+
// YAML-NEXT: QualName: 'T'
53+
// YAML-NEXT: Name: 'x'
54+
// YAML-NEXT: ReturnType:
55+
// YAML-NEXT: Type:
56+
// YAML-NEXT: Name: 'void'
57+
// YAML-NEXT: QualName: 'void'
58+
// YAML-NEXT: Template:
59+
// YAML-NEXT: Params:
60+
// YAML-NEXT: - Contents: 'typename T'
61+
// YAML-NEXT: - Contents: 'int U = 1'
62+
63+
// MD: ### function
64+
// MD: *void function(T x)*
65+
// MD: *Defined at {{.*}}templates.cpp#[[# @LINE - 23]]*
66+
1267
template<>
1368
void function<bool, 0>(bool x) {}
1469

15-
template<class... T>
16-
void ParamPackFunction(T... args);
70+
// YAML-NEXT: - USR: '{{([0-9A-F]{40})}}'
71+
// YAML-NEXT: Name: 'function'
72+
// YAML-NEXT: DefLocation:
73+
// YAML-NEXT: LineNumber: [[# @LINE - 6]]
74+
// YAML-NEXT: Filename: '{{.*}}'
75+
// YAML-NEXT: Params:
76+
// YAML-NEXT: - Type:
77+
// YAML-NEXT: Name: '_Bool'
78+
// YAML-NEXT: QualName: '_Bool'
79+
// YAML-NEXT: Name: 'x'
80+
// YAML-NEXT: ReturnType:
81+
// YAML-NEXT: Type:
82+
// YAML-NEXT: Name: 'void'
83+
// YAML-NEXT: QualName: 'void'
84+
// YAML-NEXT: Template:
85+
// YAML-NEXT: Specialization:
86+
// YAML-NEXT: SpecializationOf: '{{([0-9A-F]{40})}}'
87+
// YAML-NEXT: Params:
88+
// YAML-NEXT: - Contents: 'bool'
89+
// YAML-NEXT: - Contents: '0'
90+
// YAML-NEXT: ...
91+
92+
// MD: ### function
93+
// MD: *void function(_Bool x)*
94+
// MD: *Defined at {{.*}}templates.cpp#[[# @LINE - 27]]*
95+
1796

18-
// CHECK: ---
19-
// CHECK-NEXT: USR: '{{([0-9A-F]{40})}}'
20-
// CHECK-NEXT: ChildFunctions:
21-
// CHECK-NEXT: - USR: '{{([0-9A-F]{40})}}'
22-
// CHECK-NEXT: Name: 'ParamPackFunction'
23-
// CHECK-NEXT: Location:
24-
// CHECK-NEXT: - LineNumber: 16
25-
// CHECK-NEXT: Filename: '{{.*}}'
26-
// CHECK-NEXT: Params:
27-
// CHECK-NEXT: - Type:
28-
// CHECK-NEXT: Name: 'T...'
29-
// CHECK-NEXT: QualName: 'T...'
30-
// CHECK-NEXT: Name: 'args'
31-
// CHECK-NEXT: ReturnType:
32-
// CHECK-NEXT: Type:
33-
// CHECK-NEXT: Name: 'void'
34-
// CHECK-NEXT: QualName: 'void'
35-
// CHECK-NEXT: Template:
36-
// CHECK-NEXT: Params:
37-
// CHECK-NEXT: - Contents: 'class... T'
38-
// CHECK-NEXT: - USR: '{{([0-9A-F]{40})}}'
39-
// CHECK-NEXT: Name: 'function'
40-
// CHECK-NEXT: DefLocation:
41-
// CHECK-NEXT: LineNumber: 10
42-
// CHECK-NEXT: Filename: '{{.*}}'
43-
// CHECK-NEXT: Params:
44-
// CHECK-NEXT: - Type:
45-
// CHECK-NEXT: Name: 'T'
46-
// CHECK-NEXT: QualName: 'T'
47-
// CHECK-NEXT: Name: 'x'
48-
// CHECK-NEXT: ReturnType:
49-
// CHECK-NEXT: Type:
50-
// CHECK-NEXT: Name: 'void'
51-
// CHECK-NEXT: QualName: 'void'
52-
// CHECK-NEXT: Template:
53-
// CHECK-NEXT: Params:
54-
// CHECK-NEXT: - Contents: 'typename T'
55-
// CHECK-NEXT: - Contents: 'int U = 1'
56-
// CHECK-NEXT: - USR: '{{([0-9A-F]{40})}}'
57-
// CHECK-NEXT: Name: 'function'
58-
// CHECK-NEXT: DefLocation:
59-
// CHECK-NEXT: LineNumber: 12
60-
// CHECK-NEXT: Filename: '{{.*}}'
61-
// CHECK-NEXT: Params:
62-
// CHECK-NEXT: - Type:
63-
// CHECK-NEXT: Name: '_Bool'
64-
// CHECK-NEXT: QualName: '_Bool'
65-
// CHECK-NEXT: Name: 'x'
66-
// CHECK-NEXT: ReturnType:
67-
// CHECK-NEXT: Type:
68-
// CHECK-NEXT: Name: 'void'
69-
// CHECK-NEXT: QualName: 'void'
70-
// CHECK-NEXT: Template:
71-
// CHECK-NEXT: Specialization:
72-
// CHECK-NEXT: SpecializationOf: '{{([0-9A-F]{40})}}'
73-
// CHECK-NEXT: Params:
74-
// CHECK-NEXT: - Contents: 'bool'
75-
// CHECK-NEXT: - Contents: '0'
76-
// CHECK-NEXT: ...

0 commit comments

Comments
 (0)