Endill updated this revision to Diff 479225. Endill added a comment. run make_cxx_dr_status
CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139090/new/ https://reviews.llvm.org/D139090 Files: clang/test/CXX/drs/dr3xx.cpp clang/www/cxx_dr_status.html Index: clang/www/cxx_dr_status.html =================================================================== --- clang/www/cxx_dr_status.html +++ clang/www/cxx_dr_status.html @@ -2200,7 +2200,7 @@ <td><a href="https://wg21.link/cwg360">360</a></td> <td>CD6</td> <td>Using-declaration that reduces access</td> - <td class="none" align="center">Unknown</td> + <td class="full" align="center">Yes</td> </tr> <tr class="open" id="361"> <td><a href="https://wg21.link/cwg361">361</a></td> Index: clang/test/CXX/drs/dr3xx.cpp =================================================================== --- clang/test/CXX/drs/dr3xx.cpp +++ clang/test/CXX/drs/dr3xx.cpp @@ -890,6 +890,33 @@ }; } +namespace dr360 { // dr360: yes +struct A { + int foo(); + int bar(); + +protected: + int baz(); +}; + +struct B : A { +private: + using A::foo; // #dr360-foo-using-decl +protected: + using A::bar; // #dr360-bar-using-decl +public: + using A::baz; // #dr360-baz-using-decl +}; + +int main() { + int foo = B().foo(); // expected-error {{is a private member}} + // expected-note@#dr360-foo-using-decl {{declared private here}} + int bar = B().bar(); // expected-error {{is a protected member}} + // expected-note@#dr360-bar-using-decl {{declared protected here}} + int baz = B().baz(); +} +} // namespace dr360 + // dr362: na // dr363: na
Index: clang/www/cxx_dr_status.html =================================================================== --- clang/www/cxx_dr_status.html +++ clang/www/cxx_dr_status.html @@ -2200,7 +2200,7 @@ <td><a href="https://wg21.link/cwg360">360</a></td> <td>CD6</td> <td>Using-declaration that reduces access</td> - <td class="none" align="center">Unknown</td> + <td class="full" align="center">Yes</td> </tr> <tr class="open" id="361"> <td><a href="https://wg21.link/cwg361">361</a></td> Index: clang/test/CXX/drs/dr3xx.cpp =================================================================== --- clang/test/CXX/drs/dr3xx.cpp +++ clang/test/CXX/drs/dr3xx.cpp @@ -890,6 +890,33 @@ }; } +namespace dr360 { // dr360: yes +struct A { + int foo(); + int bar(); + +protected: + int baz(); +}; + +struct B : A { +private: + using A::foo; // #dr360-foo-using-decl +protected: + using A::bar; // #dr360-bar-using-decl +public: + using A::baz; // #dr360-baz-using-decl +}; + +int main() { + int foo = B().foo(); // expected-error {{is a private member}} + // expected-note@#dr360-foo-using-decl {{declared private here}} + int bar = B().bar(); // expected-error {{is a protected member}} + // expected-note@#dr360-bar-using-decl {{declared protected here}} + int baz = B().baz(); +} +} // namespace dr360 + // dr362: na // dr363: na
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits