Skip to content

Commit cfe00ea

Browse files
Revert unintended CR/LF changes to non-3C files that originated in (#962)
277d84a. We first submitted them in PR #837, but Mandeep noticed (#837 (review)) and the unintended changes were removed from that PR in 74bfcaf. However, when the squash of PR #837 was merged with the original commits in cfc998e, the unintended changes were incorrectly retained. They got submitted again in the next 3C PR (#891), and no one noticed that time.
1 parent 6366b0e commit cfe00ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1832
-1832
lines changed

clang/automation/README.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
This directory contains scripts used for automated builds and testing
2-
of the Checked C clang compiler.
1+
This directory contains scripts used for automated builds and testing
2+
of the Checked C clang compiler.

clang/docs/DriverArchitecture.png

2 Bytes
Loading

clang/docs/PCHLayout.png

2 Bytes
Loading

clang/test/AST/ast-dump-attr.m

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
1-
// RUN: %clang_cc1 -fdouble-square-bracket-attributes -triple x86_64-apple-macosx10.10.0 -ast-dump -ast-dump-filter Test %s | FileCheck --strict-whitespace %s
2-
3-
@interface NSObject
4-
@end
5-
6-
[[clang::objc_exception]]
7-
@interface Test1 {
8-
// CHECK: ObjCInterfaceDecl{{.*}} Test1
9-
// CHECK-NEXT: ObjCExceptionAttr{{.*}}
10-
[[clang::iboutlet]] NSObject *Test2;
11-
// CHECK: ObjCIvarDecl{{.*}} Test2
12-
// CHECK-NEXT: IBOutletAttr
13-
}
14-
@property (readonly) [[clang::objc_returns_inner_pointer]] void *Test3, *Test4;
15-
// CHECK: ObjCPropertyDecl{{.*}} Test3 'void *' readonly
16-
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
17-
// CHECK-NEXT: ObjCPropertyDecl{{.*}} Test4 'void *' readonly
18-
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
19-
20-
@property (readonly) [[clang::iboutlet]] NSObject *Test5;
21-
// CHECK: ObjCPropertyDecl{{.*}} Test5 'NSObject *' readonly
22-
// CHECK-NEXT: IBOutletAttr
23-
24-
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test3
25-
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
26-
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test4
27-
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
28-
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test5
29-
// CHECK-NOT: IBOutletAttr
30-
@end
31-
32-
[[clang::objc_runtime_name("name")]] @protocol Test6;
33-
// CHECK: ObjCProtocolDecl{{.*}} Test6
34-
// CHECK-NEXT: ObjCRuntimeNameAttr{{.*}} "name"
35-
36-
[[clang::objc_protocol_requires_explicit_implementation]]
37-
@protocol Test7
38-
// CHECK: ObjCProtocolDecl{{.*}} Test7
39-
// CHECK-NEXT: ObjCExplicitProtocolImplAttr
40-
@end
41-
42-
@interface Test8
43-
// CHECK: ObjCInterfaceDecl{{.*}} Test8
44-
-(void)Test9 [[clang::ns_consumes_self]];
45-
// CHECK: ObjCMethodDecl{{.*}} Test9 'void'
46-
// CHECK-NEXT: NSConsumesSelfAttr
47-
-(void) [[clang::ns_consumes_self]] Test10: (int)Test11;
48-
// CHECK: ObjCMethodDecl{{.*}} Test10: 'void'
49-
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test11 'int'
50-
// CHECK-NEXT: `-NSConsumesSelfAttr
51-
-(void)Test12: (int *) [[clang::noescape]] Test13 to:(int)Test14 [[clang::ns_consumes_self]];
52-
// CHECK: ObjCMethodDecl{{.*}} Test12:to: 'void'
53-
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test13 'int *'
54-
// CHECK-NEXT: | `-NoEscapeAttr
55-
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test14 'int'
56-
// CHECK-NEXT: `-NSConsumesSelfAttr
57-
@end
1+
// RUN: %clang_cc1 -fdouble-square-bracket-attributes -triple x86_64-apple-macosx10.10.0 -ast-dump -ast-dump-filter Test %s | FileCheck --strict-whitespace %s
2+
3+
@interface NSObject
4+
@end
5+
6+
[[clang::objc_exception]]
7+
@interface Test1 {
8+
// CHECK: ObjCInterfaceDecl{{.*}} Test1
9+
// CHECK-NEXT: ObjCExceptionAttr{{.*}}
10+
[[clang::iboutlet]] NSObject *Test2;
11+
// CHECK: ObjCIvarDecl{{.*}} Test2
12+
// CHECK-NEXT: IBOutletAttr
13+
}
14+
@property (readonly) [[clang::objc_returns_inner_pointer]] void *Test3, *Test4;
15+
// CHECK: ObjCPropertyDecl{{.*}} Test3 'void *' readonly
16+
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
17+
// CHECK-NEXT: ObjCPropertyDecl{{.*}} Test4 'void *' readonly
18+
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
19+
20+
@property (readonly) [[clang::iboutlet]] NSObject *Test5;
21+
// CHECK: ObjCPropertyDecl{{.*}} Test5 'NSObject *' readonly
22+
// CHECK-NEXT: IBOutletAttr
23+
24+
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test3
25+
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
26+
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test4
27+
// CHECK-NEXT: ObjCReturnsInnerPointerAttr
28+
// CHECK: ObjCMethodDecl{{.*}} implicit{{.*}} Test5
29+
// CHECK-NOT: IBOutletAttr
30+
@end
31+
32+
[[clang::objc_runtime_name("name")]] @protocol Test6;
33+
// CHECK: ObjCProtocolDecl{{.*}} Test6
34+
// CHECK-NEXT: ObjCRuntimeNameAttr{{.*}} "name"
35+
36+
[[clang::objc_protocol_requires_explicit_implementation]]
37+
@protocol Test7
38+
// CHECK: ObjCProtocolDecl{{.*}} Test7
39+
// CHECK-NEXT: ObjCExplicitProtocolImplAttr
40+
@end
41+
42+
@interface Test8
43+
// CHECK: ObjCInterfaceDecl{{.*}} Test8
44+
-(void)Test9 [[clang::ns_consumes_self]];
45+
// CHECK: ObjCMethodDecl{{.*}} Test9 'void'
46+
// CHECK-NEXT: NSConsumesSelfAttr
47+
-(void) [[clang::ns_consumes_self]] Test10: (int)Test11;
48+
// CHECK: ObjCMethodDecl{{.*}} Test10: 'void'
49+
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test11 'int'
50+
// CHECK-NEXT: `-NSConsumesSelfAttr
51+
-(void)Test12: (int *) [[clang::noescape]] Test13 to:(int)Test14 [[clang::ns_consumes_self]];
52+
// CHECK: ObjCMethodDecl{{.*}} Test12:to: 'void'
53+
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test13 'int *'
54+
// CHECK-NEXT: | `-NoEscapeAttr
55+
// CHECK-NEXT: |-ParmVarDecl{{.*}} Test14 'int'
56+
// CHECK-NEXT: `-NSConsumesSelfAttr
57+
@end

clang/test/AST/ast-dump-c-attr.c

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
1-
// RUN: %clang_cc1 -triple x86_64-pc-linux -fdouble-square-bracket-attributes -Wno-deprecated-declarations -ast-dump -ast-dump-filter Test %s | FileCheck --strict-whitespace %s
2-
3-
int Test1 [[deprecated]];
4-
// CHECK: VarDecl{{.*}}Test1
5-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:13> "" ""
6-
7-
enum [[deprecated("Frobble")]] Test2 {
8-
Test3 [[deprecated]]
9-
};
10-
// CHECK: EnumDecl{{.*}}Test2
11-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:8, col:28> "Frobble" ""
12-
// CHECK-NEXT: EnumConstantDecl{{.*}}Test3
13-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:11> "" ""
14-
15-
struct [[deprecated]] Test4 {
16-
[[deprecated("Frobble")]] int Test5, Test6;
17-
int Test7 [[deprecated]] : 12;
18-
};
19-
// CHECK: RecordDecl{{.*}}Test4
20-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""
21-
// CHECK-NEXT: FieldDecl{{.*}}Test5
22-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""
23-
// CHECK-NEXT: FieldDecl{{.*}}Test6
24-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""
25-
// CHECK-NEXT: FieldDecl{{.*}}Test7
26-
// CHECK-NEXT: Constant{{.*}}'int'
27-
// CHECK-NEXT: IntegerLiteral{{.*}}'int' 12
28-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""
29-
30-
struct [[deprecated]] Test8;
31-
// CHECK: RecordDecl{{.*}}Test8
32-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""
33-
34-
[[deprecated]] void Test9(int Test10 [[deprecated]]);
35-
// CHECK: FunctionDecl{{.*}}Test9
36-
// CHECK-NEXT: ParmVarDecl{{.*}}Test10
37-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:40> "" ""
38-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:3> "" ""
39-
40-
void Test11 [[deprecated]](void);
41-
// CHECK: FunctionDecl{{.*}}Test11
42-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""
43-
44-
void Test12(void) [[deprecated]] {}
45-
// CHECK: FunctionDecl{{.*}}Test12
46-
// CHECK-NEXT: CompoundStmt
47-
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:21> "" ""
1+
// RUN: %clang_cc1 -triple x86_64-pc-linux -fdouble-square-bracket-attributes -Wno-deprecated-declarations -ast-dump -ast-dump-filter Test %s | FileCheck --strict-whitespace %s
2+
3+
int Test1 [[deprecated]];
4+
// CHECK: VarDecl{{.*}}Test1
5+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:13> "" ""
6+
7+
enum [[deprecated("Frobble")]] Test2 {
8+
Test3 [[deprecated]]
9+
};
10+
// CHECK: EnumDecl{{.*}}Test2
11+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:8, col:28> "Frobble" ""
12+
// CHECK-NEXT: EnumConstantDecl{{.*}}Test3
13+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:11> "" ""
14+
15+
struct [[deprecated]] Test4 {
16+
[[deprecated("Frobble")]] int Test5, Test6;
17+
int Test7 [[deprecated]] : 12;
18+
};
19+
// CHECK: RecordDecl{{.*}}Test4
20+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""
21+
// CHECK-NEXT: FieldDecl{{.*}}Test5
22+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""
23+
// CHECK-NEXT: FieldDecl{{.*}}Test6
24+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:5, col:25> "Frobble" ""
25+
// CHECK-NEXT: FieldDecl{{.*}}Test7
26+
// CHECK-NEXT: Constant{{.*}}'int'
27+
// CHECK-NEXT: IntegerLiteral{{.*}}'int' 12
28+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""
29+
30+
struct [[deprecated]] Test8;
31+
// CHECK: RecordDecl{{.*}}Test8
32+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:10> "" ""
33+
34+
[[deprecated]] void Test9(int Test10 [[deprecated]]);
35+
// CHECK: FunctionDecl{{.*}}Test9
36+
// CHECK-NEXT: ParmVarDecl{{.*}}Test10
37+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:40> "" ""
38+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:3> "" ""
39+
40+
void Test11 [[deprecated]](void);
41+
// CHECK: FunctionDecl{{.*}}Test11
42+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:15> "" ""
43+
44+
void Test12(void) [[deprecated]] {}
45+
// CHECK: FunctionDecl{{.*}}Test12
46+
// CHECK-NEXT: CompoundStmt
47+
// CHECK-NEXT: DeprecatedAttr 0x{{[^ ]*}} <col:21> "" ""

clang/test/AST/ast-dump-invalid.cpp

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,62 @@
1-
// RUN: not %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
2-
3-
namespace TestInvalidRParenOnCXXUnresolvedConstructExpr {
4-
template <class T>
5-
void f(T i, T j) {
6-
return T (i, j;
7-
}
8-
}
9-
10-
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidRParenOnCXXUnresolvedConstructExpr
11-
// CHECK-NEXT: `-FunctionTemplateDecl
12-
// CHECK-NEXT: |-TemplateTypeParmDecl
13-
// CHECK-NEXT: `-FunctionDecl
14-
// CHECK-NEXT: |-ParmVarDecl
15-
// CHECK-NEXT: |-ParmVarDecl
16-
// CHECK-NEXT: `-CompoundStmt
17-
// CHECK-NEXT: `-ReturnStmt
18-
// CHECK-NEXT: `-CXXUnresolvedConstructExpr {{.*}} <col:10, col:16> 'T'
19-
// CHECK-NEXT: |-DeclRefExpr {{.*}} <col:13> 'T' lvalue ParmVar {{.*}} 'i' 'T'
20-
// CHECK-NEXT: `-DeclRefExpr {{.*}} <col:16> 'T' lvalue ParmVar {{.*}} 'j' 'T'
21-
22-
23-
namespace TestInvalidIf {
24-
int g(int i) {
25-
if (invalid_condition)
26-
return 4;
27-
else
28-
return i;
29-
}
30-
}
31-
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidIf
32-
// CHECK-NEXT: `-FunctionDecl
33-
// CHECK-NEXT: |-ParmVarDecl
34-
// CHECK-NEXT: `-CompoundStmt
35-
// CHECK-NEXT: `-IfStmt {{.*}} <line:25:3, line:28:12>
36-
// CHECK-NEXT: |-OpaqueValueExpr {{.*}} <<invalid sloc>> 'bool'
37-
// CHECK-NEXT: |-ReturnStmt {{.*}} <line:26:5, col:12>
38-
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:12> 'int' 4
39-
// CHECK-NEXT: `-ReturnStmt {{.*}} <line:28:5, col:12>
40-
// CHECK-NEXT: `-ImplicitCastExpr {{.*}} <col:12> 'int' <LValueToRValue>
41-
// CHECK-NEXT: `-DeclRefExpr {{.*}} <col:12> 'int' lvalue ParmVar {{.*}} 'i' 'int'
42-
43-
namespace TestInvalidFunctionDecl {
44-
struct Str {
45-
double foo1(double, invalid_type);
46-
};
47-
double Str::foo1(double, invalid_type)
48-
{ return 45; }
49-
}
50-
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidFunctionDecl
51-
// CHECK-NEXT: |-CXXRecordDecl {{.*}} <line:44:1, line:46:1> line:44:8 struct Str definition
52-
// CHECK: | |-CXXRecordDecl {{.*}} <col:1, col:8> col:8 implicit struct Str
53-
// CHECK-NEXT: | `-CXXMethodDecl {{.*}} <line:45:4, col:36> col:11 invalid foo1 'double (double, int)'
54-
// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:16> col:22 'double'
55-
// CHECK-NEXT: | `-ParmVarDecl {{.*}} <col:24, <invalid sloc>> col:36 invalid 'int'
56-
// CHECK-NEXT: `-CXXMethodDecl {{.*}} parent {{.*}} <line:47:1, line:48:14> line:47:13 invalid foo1 'double (double, int)'
57-
// CHECK-NEXT: |-ParmVarDecl {{.*}} <col:18> col:24 'double'
58-
// CHECK-NEXT: |-ParmVarDecl {{.*}} <col:26, <invalid sloc>> col:38 invalid 'int'
59-
// CHECK-NEXT: `-CompoundStmt {{.*}} <line:48:1, col:14>
60-
// CHECK-NEXT: `-ReturnStmt {{.*}} <col:3, col:10>
61-
// CHECK-NEXT: `-ImplicitCastExpr {{.*}} <col:10> 'double' <IntegralToFloating>
62-
// CHECK-NEXT: `-IntegerLiteral {{.*}} <col:10> 'int' 45
1+
// RUN: not %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
2+
3+
namespace TestInvalidRParenOnCXXUnresolvedConstructExpr {
4+
template <class T>
5+
void f(T i, T j) {
6+
return T (i, j;
7+
}
8+
}
9+
10+
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidRParenOnCXXUnresolvedConstructExpr
11+
// CHECK-NEXT: `-FunctionTemplateDecl
12+
// CHECK-NEXT: |-TemplateTypeParmDecl
13+
// CHECK-NEXT: `-FunctionDecl
14+
// CHECK-NEXT: |-ParmVarDecl
15+
// CHECK-NEXT: |-ParmVarDecl
16+
// CHECK-NEXT: `-CompoundStmt
17+
// CHECK-NEXT: `-ReturnStmt
18+
// CHECK-NEXT: `-CXXUnresolvedConstructExpr {{.*}} <col:10, col:16> 'T'
19+
// CHECK-NEXT: |-DeclRefExpr {{.*}} <col:13> 'T' lvalue ParmVar {{.*}} 'i' 'T'
20+
// CHECK-NEXT: `-DeclRefExpr {{.*}} <col:16> 'T' lvalue ParmVar {{.*}} 'j' 'T'
21+
22+
23+
namespace TestInvalidIf {
24+
int g(int i) {
25+
if (invalid_condition)
26+
return 4;
27+
else
28+
return i;
29+
}
30+
}
31+
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidIf
32+
// CHECK-NEXT: `-FunctionDecl
33+
// CHECK-NEXT: |-ParmVarDecl
34+
// CHECK-NEXT: `-CompoundStmt
35+
// CHECK-NEXT: `-IfStmt {{.*}} <line:25:3, line:28:12>
36+
// CHECK-NEXT: |-OpaqueValueExpr {{.*}} <<invalid sloc>> 'bool'
37+
// CHECK-NEXT: |-ReturnStmt {{.*}} <line:26:5, col:12>
38+
// CHECK-NEXT: | `-IntegerLiteral {{.*}} <col:12> 'int' 4
39+
// CHECK-NEXT: `-ReturnStmt {{.*}} <line:28:5, col:12>
40+
// CHECK-NEXT: `-ImplicitCastExpr {{.*}} <col:12> 'int' <LValueToRValue>
41+
// CHECK-NEXT: `-DeclRefExpr {{.*}} <col:12> 'int' lvalue ParmVar {{.*}} 'i' 'int'
42+
43+
namespace TestInvalidFunctionDecl {
44+
struct Str {
45+
double foo1(double, invalid_type);
46+
};
47+
double Str::foo1(double, invalid_type)
48+
{ return 45; }
49+
}
50+
// CHECK: NamespaceDecl {{.*}} <{{.*}}> {{.*}} TestInvalidFunctionDecl
51+
// CHECK-NEXT: |-CXXRecordDecl {{.*}} <line:44:1, line:46:1> line:44:8 struct Str definition
52+
// CHECK: | |-CXXRecordDecl {{.*}} <col:1, col:8> col:8 implicit struct Str
53+
// CHECK-NEXT: | `-CXXMethodDecl {{.*}} <line:45:4, col:36> col:11 invalid foo1 'double (double, int)'
54+
// CHECK-NEXT: | |-ParmVarDecl {{.*}} <col:16> col:22 'double'
55+
// CHECK-NEXT: | `-ParmVarDecl {{.*}} <col:24, <invalid sloc>> col:36 invalid 'int'
56+
// CHECK-NEXT: `-CXXMethodDecl {{.*}} parent {{.*}} <line:47:1, line:48:14> line:47:13 invalid foo1 'double (double, int)'
57+
// CHECK-NEXT: |-ParmVarDecl {{.*}} <col:18> col:24 'double'
58+
// CHECK-NEXT: |-ParmVarDecl {{.*}} <col:26, <invalid sloc>> col:38 invalid 'int'
59+
// CHECK-NEXT: `-CompoundStmt {{.*}} <line:48:1, col:14>
60+
// CHECK-NEXT: `-ReturnStmt {{.*}} <col:3, col:10>
61+
// CHECK-NEXT: `-ImplicitCastExpr {{.*}} <col:10> 'double' <IntegralToFloating>
62+
// CHECK-NEXT: `-IntegerLiteral {{.*}} <col:10> 'int' 45
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -std=c++11 -ast-dump %s | FileCheck %s
2-
// CHECK: CXXCtorInitializer Field {{.*}} 'ptr' 'void *'
3-
// CHECK: CXXCtorInitializer Field {{.*}} 'q' 'Q'
4-
5-
@interface NSObject
6-
@end
7-
8-
@interface I : NSObject
9-
@end
10-
11-
struct Q { Q(); };
12-
13-
struct S {
14-
S();
15-
void *ptr = nullptr;
16-
Q q;
17-
};
18-
19-
@implementation I
20-
S::S() {}
21-
@end
1+
// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10 -std=c++11 -ast-dump %s | FileCheck %s
2+
// CHECK: CXXCtorInitializer Field {{.*}} 'ptr' 'void *'
3+
// CHECK: CXXCtorInitializer Field {{.*}} 'q' 'Q'
4+
5+
@interface NSObject
6+
@end
7+
8+
@interface I : NSObject
9+
@end
10+
11+
struct Q { Q(); };
12+
13+
struct S {
14+
S();
15+
void *ptr = nullptr;
16+
Q q;
17+
};
18+
19+
@implementation I
20+
S::S() {}
21+
@end

0 commit comments

Comments
 (0)