Lines Matching full:check
1 // RUN: %clang_cc1 -std=c++11 -triple x86_64-linux-gnu -fms-extensions -ast-dump -ast-dump-filter Test %s | FileCheck -check-prefix CHECK -strict-whitespace %s
7 // CHECK: EnumDecl{{.*}} class TestEnumDeclScoped 'int'
8 // CHECK: EnumDecl{{.*}} TestEnumDeclFixed 'int'
13 // CHECK: FieldDecl{{.*}} TestFieldDeclInit 'int'
14 // CHECK-NEXT: IntegerLiteral
23 // CHECK: VarDecl{{.*}} TestVarDeclNRVO 'class testVarDeclNRVO::A' nrvo
26 // CHECK: ParmVarDecl{{.*}} TestParmVarDeclInit 'int'
27 // CHECK-NEXT: IntegerLiteral{{.*}}
32 // CHECK: NamespaceDecl{{.*}} TestNamespaceDecl
33 // CHECK-NEXT: VarDecl
38 // CHECK: NamespaceDecl{{.*}} TestNamespaceDecl
39 // CHECK-NEXT: original Namespace
40 // CHECK-NEXT: VarDecl
44 // CHECK: NamespaceDecl{{.*}} TestNamespaceDeclInline inline
53 // CHECK: NamespaceDecl{{.*}} TestUsingDirectiveDecl
54 // CHECK-NEXT: UsingDirectiveDecl{{.*}} Namespace{{.*}} 'A'
61 // CHECK: NamespaceAliasDecl{{.*}} TestNamespaceAlias
62 // CHECK-NEXT: Namespace{{.*}} 'A'
65 // CHECK: TypeAliasDecl{{.*}} TestTypeAliasDecl 'int'
71 // CHECK: TypeAliasTemplateDecl{{.*}} TestTypeAliasTemplateDecl
72 // CHECK-NEXT: TemplateTypeParmDecl
73 // CHECK-NEXT: TypeAliasDecl{{.*}} TestTypeAliasTemplateDecl 'A<T>'
82 // CHECK: CXXRecordDecl{{.*}} class TestCXXRecordDecl
83 // CHECK-NEXT: virtual private 'class testCXXRecordDecl::A'
84 // CHECK-NEXT: public 'class testCXXRecordDecl::B'
85 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestCXXRecordDecl
86 // CHECK-NEXT: FieldDecl
91 // CHECK: CXXRecordDecl{{.*}} class TestCXXRecordDeclPack
92 // CHECK-NEXT: public 'T'...
93 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestCXXRecordDeclPack
96 // CHECK: TestThreadLocalInt {{.*}} tls_dynamic
99 // CHECK: CXXRecordDecl{{.*}} class TestCXXRecordDeclPrivate __module_private__
108 // CHECK: CXXMethodDecl{{.*}} TestCXXMethodDeclPrivate 'void (void)' __module_private__
109 // CHECK: CXXMethodDecl{{.*}} TestCXXMethodDeclPure 'void (void)' virtual pure
110 // CHECK: CXXMethodDecl{{.*}} TestCXXMethodDeclDelete 'void (void)' delete
111 // CHECK: CXXMethodDecl{{.*}} TestCXXMethodDeclThrow 'void (void) throw()'
112 // CHECK: CXXMethodDecl{{.*}} TestCXXMethodDeclThrowType 'void (void) throw(int)'
122 // CHECK: CXXConstructorDecl{{.*}} TestCXXConstructorDecl 'void {{.*}}'
123 // CHECK-NEXT: ParmVarDecl{{.*}} a
124 // CHECK-NEXT: ParmVarDecl{{.*}} i
125 // CHECK-NEXT: CXXCtorInitializer{{.*}}A
126 // CHECK-NEXT: Expr
127 // CHECK: CXXCtorInitializer{{.*}}I
128 // CHECK-NEXT: Expr
129 // CHECK: CompoundStmt
130 // CHECK: CXXConstructorDecl{{.*}} TestCXXConstructorDecl 'void {{.*}}'
131 // CHECK-NEXT: ParmVarDecl{{.*}} a
132 // CHECK-NEXT: CXXCtorInitializer{{.*}}TestCXXConstructorDecl
133 // CHECK-NEXT: CXXConstructExpr{{.*}}TestCXXConstructorDecl
138 // CHECK: CXXDestructorDecl{{.*}} ~TestCXXDestructorDecl 'void (void) noexcept'
139 // CHECK-NEXT: CompoundStmt
158 // CHECK: CXXConstructorDecl{{.*}} <line:{{.*}}:3, col:30>
159 // CHECK: CXXConstructorDecl{{.*}} <line:{{.*}}:3, col:59>
160 // CHECK: CXXConstructorDecl{{.*}} <line:{{.*}}:3, col:54>
161 // CHECK: CXXDestructorDecl{{.*}} <line:{{.*}}:3, col:31>
162 // CHECK: CXXMethodDecl{{.*}} <line:{{.*}}:3, col:70>
163 // CHECK: CXXMethodDecl{{.*}} <line:{{.*}}:3, col:65>
168 // CHECK: CXXConversionDecl{{.*}} operator int 'int (void)'
169 // CHECK-NEXT: CompoundStmt
174 // CHECK: NamespaceDecl{{.*}} TestStaticAssertDecl
175 // CHECK-NEXT: StaticAssertDecl{{.*> .*$}}
176 // CHECK-NEXT: CXXBoolLiteralExpr
177 // CHECK-NEXT: StringLiteral
198 // CHECK: FunctionTemplateDecl{{.*}} TestFunctionTemplate
199 // CHECK-NEXT: TemplateTypeParmDecl
200 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate 'void (T)'
201 // CHECK-NEXT: ParmVarDecl{{.*}} 'T'
202 // CHECK-NEXT: CompoundStmt
203 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate {{.*}}A
204 // CHECK-NEXT: TemplateArgument
205 // CHECK-NEXT: ParmVarDecl
206 // CHECK-NEXT: CompoundStmt
207 // CHECK-NEXT: Function{{.*}} 'TestFunctionTemplate' {{.*}}B
208 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate {{.*}}C
209 // CHECK-NEXT: TemplateArgument
210 // CHECK-NEXT: ParmVarDecl
211 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate {{.*}}D
212 // CHECK-NEXT: TemplateArgument
213 // CHECK-NEXT: ParmVarDecl
214 // CHECK-NEXT: CompoundStmt
215 // CHECK: FunctionDecl{{.*}} TestFunctionTemplate {{.*}}B
216 // CHECK-NEXT: TemplateArgument
217 // CHECK-NEXT: ParmVarDecl
251 // CHECK: ClassTemplateDecl{{.*}} TestClassTemplate
252 // CHECK-NEXT: TemplateTypeParmDecl
253 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
254 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
255 // CHECK-NEXT: FieldDecl{{.*}} i
256 // CHECK-NEXT: ClassTemplateSpecializationDecl{{.*}} class TestClassTemplate
257 // CHECK-NEXT: TemplateArgument{{.*}}A
258 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
259 // CHECK-NEXT: FieldDecl{{.*}} i
260 // CHECK: ClassTemplateSpecialization{{.*}} 'TestClassTemplate'
261 // CHECK-NEXT: ClassTemplateSpecialization{{.*}} 'TestClassTemplate'
262 // CHECK-NEXT: ClassTemplateSpecialization{{.*}} 'TestClassTemplate'
264 // CHECK: ClassTemplateSpecializationDecl{{.*}} class TestClassTemplate
265 // CHECK-NEXT: TemplateArgument{{.*}}B
266 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
267 // CHECK-NEXT: FieldDecl{{.*}} j
269 // CHECK: ClassTemplateSpecializationDecl{{.*}} class TestClassTemplate
270 // CHECK-NEXT: TemplateArgument{{.*}}C
271 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
272 // CHECK-NEXT: FieldDecl{{.*}} i
274 // CHECK: ClassTemplateSpecializationDecl{{.*}} class TestClassTemplate
275 // CHECK-NEXT: TemplateArgument{{.*}}D
276 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
277 // CHECK-NEXT: FieldDecl{{.*}} i
279 // CHECK: ClassTemplatePartialSpecializationDecl{{.*}} class TestClassTemplatePartial
280 // CHECK-NEXT: TemplateArgument
281 // CHECK-NEXT: TemplateArgument{{.*}}A
282 // CHECK-NEXT: TemplateTypeParmDecl
283 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplatePartial
284 // CHECK-NEXT: FieldDecl{{.*}} j
293 // CHECK: FunctionTemplateDecl{{.*}} TestFunctionTemplate
294 // CHECK-NEXT: TemplateTypeParmDecl
295 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate 'void (T)'
296 // CHECK-NEXT: ParmVarDecl{{.*}} 'T'
297 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate {{.*}}A
298 // CHECK-NEXT: TemplateArgument
299 // CHECK-NEXT: ParmVarDecl
300 // CHECK: FunctionTemplateDecl{{.*}} TestFunctionTemplate
301 // CHECK-NEXT: TemplateTypeParmDecl
302 // CHECK-NEXT: FunctionDecl{{.*}} TestFunctionTemplate 'void (T)'
303 // CHECK-NEXT: ParmVarDecl{{.*}} 'T'
304 // CHECK-NEXT: Function{{.*}} 'TestFunctionTemplate'
305 // CHECK-NOT: TemplateArgument
311 // CHECK: ClassTemplateDecl{{.*}} TestClassTemplate
312 // CHECK-NEXT: TemplateTypeParmDecl
313 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
314 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
315 // CHECK-NEXT: FriendDecl
316 // CHECK-NEXT: ClassTemplateDecl{{.*}} TestClassTemplate
317 // CHECK-NEXT: TemplateTypeParmDecl
318 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
319 // CHECK-NEXT: ClassTemplateSpecialization{{.*}} 'TestClassTemplate'
320 // CHECK-NEXT: ClassTemplateSpecializationDecl{{.*}} class TestClassTemplate
321 // CHECK-NEXT: TemplateArgument{{.*}}A
322 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestClassTemplate
330 // CHECK: ClassScopeFunctionSpecializationDecl
331 // CHECK-NEXT: CXXMethod{{.*}} 'foo' 'void (int)'
332 // CHECK-NEXT: TemplateArgument{{.*}} 'int'
337 // CHECK: NamespaceDecl{{.*}} TestTemplateTypeParmDecl
338 // CHECK-NEXT: FunctionTemplateDecl
339 // CHECK-NEXT: TemplateTypeParmDecl{{.*}} typename ... T
340 // CHECK-NEXT: TemplateTypeParmDecl{{.*}} class U
341 // CHECK-NEXT: TemplateArgument type 'int'
346 // CHECK: NamespaceDecl{{.*}} TestNonTypeTemplateParmDecl
347 // CHECK-NEXT: FunctionTemplateDecl
348 // CHECK-NEXT: NonTypeTemplateParmDecl{{.*}} 'int' I
349 // CHECK-NEXT: TemplateArgument expr
350 // CHECK-NEXT: IntegerLiteral{{.*}} 'int' 1
351 // CHECK-NEXT: NonTypeTemplateParmDecl{{.*}} 'int' ... J
357 // CHECK: NamespaceDecl{{.*}} TestTemplateTemplateParmDecl
358 // CHECK: FunctionTemplateDecl
359 // CHECK-NEXT: TemplateTemplateParmDecl{{.*}} T
360 // CHECK-NEXT: TemplateTypeParmDecl{{.*}} typename
361 // CHECK-NEXT: TemplateArgument{{.*}} template A
362 // CHECK-NEXT: TemplateTemplateParmDecl{{.*}} ... U
363 // CHECK-NEXT: TemplateTypeParmDecl{{.*}} typename
372 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testType
373 // CHECK-NEXT: TemplateArgument{{.*}} type 'int'
377 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testDecl
378 // CHECK-NEXT: TemplateArgument{{.*}} decl
379 // CHECK-NEXT: Function{{.*}}foo
382 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testDecl
383 // CHECK-NEXT: TemplateArgument{{.*}} nullptr
387 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testIntegral
388 // CHECK-NEXT: TemplateArgument{{.*}} integral 1
392 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testTemplate
393 // CHECK-NEXT: TemplateArgument{{.*}} A
402 // CHECK: ClassTemplatePartialSpecializationDecl{{.*}} class testExpr
403 // CHECK-NEXT: TemplateArgument{{.*}} expr
404 // CHECK-NEXT: DeclRefExpr{{.*}}I
408 // CHECK: ClassTemplateSpecializationDecl{{.*}} class testPack
409 // CHECK-NEXT: TemplateArgument{{.*}} integral 0
410 // CHECK-NEXT: TemplateArgument{{.*}} pack
411 // CHECK-NEXT: TemplateArgument{{.*}} integral 1
412 // CHECK-NEXT: TemplateArgument{{.*}} integral 2
421 // CHECK: NamespaceDecl{{.*}} TestUsingDecl
422 // CHECK-NEXT: UsingDecl{{.*}} testUsingDecl::i
423 // CHECK-NEXT: UsingShadowDecl{{.*}} Var{{.*}} 'i' 'int'
436 // CHECK: CXXRecordDecl{{.*}} TestUnresolvedUsing
437 // CHECK: UnresolvedUsingTypenameDecl{{.*}} B<T>::a
438 // CHECK: UnresolvedUsingValueDecl{{.*}} B<T>::a
444 // CHECK: NamespaceDecl{{.*}} TestLinkageSpecDecl
445 // CHECK-NEXT: LinkageSpecDecl{{.*}} C
446 // CHECK-NEXT: FunctionDecl
447 // CHECK-NEXT: LinkageSpecDecl{{.*}} C++
448 // CHECK-NEXT: FunctionDecl
455 // CHECK: CXXRecordDecl{{.*}} class TestAccessSpecDecl
456 // CHECK-NEXT: CXXRecordDecl{{.*}} class TestAccessSpecDecl
457 // CHECK-NEXT: AccessSpecDecl{{.*}} public
458 // CHECK-NEXT: AccessSpecDecl{{.*}} private
459 // CHECK-NEXT: AccessSpecDecl{{.*}} protected
466 // CHECK: CXXRecord{{.*}} TestFriendDecl
467 // CHECK-NEXT: CXXRecord{{.*}} TestFriendDecl
468 // CHECK-NEXT: FriendDecl
469 // CHECK
470 // CHECK-NEXT: FriendDecl{{.*}} 'class A':'class A'
471 // CHECK-NEXT: FriendDecl{{.*}} 'T'
476 // CHECK: NamespaceDecl{{.*}} TestFileScopeAsmDecl{{$}}
477 // CHECK: FileScopeAsmDecl{{.*> .*$}}
478 // CHECK-NEXT: StringLiteral
486 // CHECK: NamespaceDecl [[TestFriendDecl2:0x.*]] <{{.*}}> {{.*}} TestFriendDecl2
487 // CHECK: |-FunctionDecl [[TestFriendDecl2_f:0x.*]] <{{.*}}> {{.*}} f 'void (void)'
488 // CHECK: `-CXXRecordDecl {{.*}} struct S
489 // CHECK: |-CXXRecordDecl {{.*}} struct S
490 // CHECK: `-FriendDecl
491 // CHECK: `-FunctionDecl {{.*}} parent [[TestFriendDecl2]] prev [[TestFriendDecl2_f]] <{{.*}}> {{.*}} f 'void (void)'
500 // CHECK: VarDecl {{.*}} Test 'int' extern
501 // CHECK-NOT: FullComment
502 // CHECK: VarDecl {{.*}} Test 'int' extern
503 // CHECK: `-FullComment
504 // CHECK: `-ParagraphComment
505 // CHECK: `-TextComment
506 // CHECK: VarDecl {{.*}} Test 'int' extern
507 // CHECK-NOT: FullComment