File tree 4 files changed +9
-27
lines changed
4 files changed +9
-27
lines changed Original file line number Diff line number Diff line change @@ -674,7 +674,8 @@ Bug Fixes in This Version
674
674
value exprs is invalid. Propagating the error info up by replacing BlockExpr
675
675
with a RecoveryExpr. This fixes:
676
676
(`#63863 <https://github.com/llvm/llvm-project/issues/63863>_ `)
677
- - Invalidate BlockDecl with invalid ParmVarDecl
677
+ - Invalidate BlockDecl with invalid ParmVarDecl. Remove redundant dump of
678
+ BlockDecl's ParmVarDecl
678
679
(`#64005 <https://github.com/llvm/llvm-project/issues/64005>_ `)
679
680
680
681
Bug Fixes to Compiler Builtins
Original file line number Diff line number Diff line change @@ -104,7 +104,8 @@ class ASTNodeTraverser
104
104
Visit (Comment, Comment);
105
105
106
106
// Decls within functions are visited by the body.
107
- if (!isa<FunctionDecl>(*D) && !isa<ObjCMethodDecl>(*D)) {
107
+ if (!isa<FunctionDecl>(*D) && !isa<ObjCMethodDecl>(*D) &&
108
+ !isa<BlockDecl>(*D)) {
108
109
if (Traversal != TK_AsIs) {
109
110
if (const auto *CTSD = dyn_cast<ClassTemplateSpecializationDecl>(D)) {
110
111
auto SK = CTSD->getSpecializationKind ();
Original file line number Diff line number Diff line change @@ -1924,31 +1924,6 @@ void f(void) {
1924
1924
// CHECK-NEXT: ]
1925
1925
// CHECK-NEXT: }
1926
1926
// CHECK-NEXT: ]
1927
- // CHECK-NEXT: },
1928
- // CHECK-NEXT: {
1929
- // CHECK-NEXT: "id": "0x{{.*}}",
1930
- // CHECK-NEXT: "kind": "ParmVarDecl",
1931
- // CHECK-NEXT: "loc": {
1932
- // CHECK-NEXT: "offset": {{[0-9]+}},
1933
- // CHECK-NEXT: "col": 9,
1934
- // CHECK-NEXT: "tokLen": 1
1935
- // CHECK-NEXT: },
1936
- // CHECK-NEXT: "range": {
1937
- // CHECK-NEXT: "begin": {
1938
- // CHECK-NEXT: "offset": {{[0-9]+}},
1939
- // CHECK-NEXT: "col": 5,
1940
- // CHECK-NEXT: "tokLen": 3
1941
- // CHECK-NEXT: },
1942
- // CHECK-NEXT: "end": {
1943
- // CHECK-NEXT: "offset": {{[0-9]+}},
1944
- // CHECK-NEXT: "col": 9,
1945
- // CHECK-NEXT: "tokLen": 1
1946
- // CHECK-NEXT: }
1947
- // CHECK-NEXT: },
1948
- // CHECK-NEXT: "name": "y",
1949
- // CHECK-NEXT: "type": {
1950
- // CHECK-NEXT: "qualType": "int"
1951
- // CHECK-NEXT: }
1952
1927
// CHECK-NEXT: }
1953
1928
// CHECK-NEXT: ]
1954
1929
// CHECK-NEXT: }
Original file line number Diff line number Diff line change @@ -142,12 +142,17 @@ @implementation TestObjCProperty {
142
142
143
143
void TestBlockDecl (int x) {
144
144
^(int y, ...){ x; };
145
+ int z;
145
146
}
146
147
// CHECK: FunctionDecl{{.*}}TestBlockDecl
147
148
// CHECK: BlockDecl {{.+}} <col:3, col:21> col:3 variadic
148
149
// CHECK-NEXT: ParmVarDecl{{.*}} y 'int'
149
150
// CHECK-NEXT: capture ParmVar{{.*}} 'x' 'int'
150
151
// CHECK-NEXT: CompoundStmt
152
+ // CHECK-NEXT: ImplicitCastExpr
153
+ // CHECK-NEXT: DeclRefExpr{{.*}} 'x'
154
+ // CHECK-NEXT: DeclStmt
155
+ // CHECK-NEXT: VarDecl{{.*}} z
151
156
152
157
@interface B
153
158
+ (int ) foo ;
You can’t perform that action at this time.
0 commit comments