Skip to content

Commit f8d2d8a

Browse files
add TODO and fix test files
1 parent 03b9653 commit f8d2d8a

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

clang/include/clang/AST/ExprCXX.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5540,10 +5540,12 @@ class CXXReflectExpr : public Expr {
55405540
void setOperandRange(SourceRange R) { OperandRange = R; }
55415541

55425542
child_range children() {
5543+
// TODO(Reflection)
55435544
return child_range(child_iterator(), child_iterator());
55445545
}
55455546

55465547
const_child_range children() const {
5548+
// TODO(Reflection)
55475549
return const_child_range(const_child_iterator(), const_child_iterator());
55485550
}
55495551

clang/test/Parser/parsing-reflection-with-blocks.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ struct A {
77
};
88

99

10-
int main()
10+
consteval void test()
1111
{
1212
(void)(A{}^^(int y){ return y + 1; });
1313
(void)(1^^(){ return 1; }());

clang/test/Parser/parsing-reflection.cpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ struct Z{
1919

2020
}
2121

22-
int main()
22+
consteval void test()
2323
{
2424
(void)^^::;
2525
(void)(^^void);
@@ -36,22 +36,28 @@ int main()
3636
(void)(^^long long);
3737
(void)(^^float);
3838
(void)(^^double);
39+
(void)(^^const void);
40+
(void)(^^decltype(nullptr));
3941

4042
// Not supported yet.
4143
(void)^^a; // expected-error {{expected reflectable entity}}
42-
(void)^^a::; // expected-error {{expected reflectable entity}}
43-
(void)^^a::b::X; // expected-error {{expected reflectable entity}}
44-
(void)^^a::X::; // expected-error {{expected reflectable entity}}
44+
(void)^^a::X; // expected-error {{expected reflectable entity}}
4545
(void)(^^a::b); // expected-error {{expected reflectable entity}}
46-
(void)^^a::b::; // expected-error {{expected reflectable entity}}
4746
(void)^^a::b::Y; // expected-error {{expected reflectable entity}}
4847
(void)^^a::b::x; // expected-error {{expected reflectable entity}}
49-
(void)^^a::b::Y::; // expected-error {{expected reflectable entity}}
50-
(void)(^^::a::); // expected-error {{expected reflectable entity}}
5148
(void)(^^::a::X::operator==); // expected-error {{expected reflectable entity}}
52-
(void)(^^::a::X::~X()); // expected-error {{expected reflectable entity}}
49+
(void)(^^::a::X::~X); // expected-error {{expected reflectable entity}}
5350
(void)(^^::a::Z<int>); // expected-error {{expected reflectable entity}}
5451
(void)(^^::a::Z<int>::template type<int>); // expected-error {{expected reflectable entity}}
5552
namespace c = a::b;
5653
(void)(^^c); // expected-error {{expected reflectable entity}}
54+
55+
56+
// ill-formed
57+
(void)^^a::; // expected-error {{expected reflectable entity}}
58+
(void)^^a::X::; // expected-error {{expected reflectable entity}}
59+
(void)^^a::b::; // expected-error {{expected reflectable entity}}
60+
(void)(^^::a::); // expected-error {{expected reflectable entity}}
61+
(void)^^a::b::Y::; // expected-error {{expected reflectable entity}}
62+
5763
}

0 commit comments

Comments
 (0)