This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG576c752410e7: [clang] Add test for CWG1894 and CWG2199 (authored by Endill).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D148136/new/ https://reviews.llvm.org/D148136 Files: clang/test/CXX/drs/dr18xx.cpp clang/test/CXX/drs/dr21xx.cpp clang/test/CXX/drs/dr4xx.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 @@ -11171,7 +11171,7 @@ <td><a href="https://cplusplus.github.io/CWG/issues/1894.html">1894</a></td> <td>CD6</td> <td><I>typedef-name</I>s and <I>using-declaration</I>s</td> - <td class="none" align="center">Unknown</td> + <td class="full" align="center">Clang 3.8</td> </tr> <tr id="1895"> <td><a href="https://cplusplus.github.io/CWG/issues/1895.html">1895</a></td> @@ -13001,7 +13001,7 @@ <td><a href="https://cplusplus.github.io/CWG/issues/2199.html">2199</a></td> <td>CD6</td> <td>Typedefs and tags</td> - <td class="none" align="center">Unknown</td> + <td class="full" align="center">Clang 3.8</td> </tr> <tr id="2200"> <td><a href="https://cplusplus.github.io/CWG/issues/2200.html">2200</a></td> Index: clang/test/CXX/drs/dr4xx.cpp =================================================================== --- clang/test/CXX/drs/dr4xx.cpp +++ clang/test/CXX/drs/dr4xx.cpp @@ -124,6 +124,7 @@ } namespace dr407 { // dr407: 3.8 + // NB: reused by dr1894 and dr2199 struct S; typedef struct S S; void f() { Index: clang/test/CXX/drs/dr21xx.cpp =================================================================== --- clang/test/CXX/drs/dr21xx.cpp +++ clang/test/CXX/drs/dr21xx.cpp @@ -1,7 +1,9 @@ // RUN: %clang_cc1 -std=c++98 -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++11 -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors // RUN: %clang_cc1 -std=c++14 -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors -// RUN: %clang_cc1 -std=c++1z -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++17 -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors +// RUN: %clang_cc1 -std=c++2b -triple x86_64-unknown-unknown %s -verify -fexceptions -Wno-deprecated-builtins -fcxx-exceptions -pedantic-errors #if __cplusplus < 201103L // expected-error@+1 {{variadic macro}} @@ -188,3 +190,31 @@ B &B::operator=(B&&) = default; // expected-error {{would delete}} expected-note@-10{{inaccessible move assignment}} #endif } + +namespace dr2199 { // dr2199: 3.8 + // NB: reusing part of dr407 test +namespace A { + struct S {}; +} +namespace B { + typedef int S; +} +namespace E { + typedef A::S S; + using A::S; + struct S s; +} +namespace F { + typedef A::S S; +} +namespace G { + using namespace A; + using namespace F; + struct S s; +} +namespace H { + using namespace F; + using namespace A; + struct S s; +} +} Index: clang/test/CXX/drs/dr18xx.cpp =================================================================== --- clang/test/CXX/drs/dr18xx.cpp +++ clang/test/CXX/drs/dr18xx.cpp @@ -168,3 +168,31 @@ b = static_cast<B&&>(b); // expected-error {{copy assignment operator is implicitly deleted}} #endif } + +namespace dr1894 { // dr1894: 3.8 + // NB: reusing part of dr407 test +namespace A { + struct S {}; +} +namespace B { + typedef int S; +} +namespace E { + typedef A::S S; + using A::S; + struct S s; +} +namespace F { + typedef A::S S; +} +namespace G { + using namespace A; + using namespace F; + struct S s; +} +namespace H { + using namespace F; + using namespace A; + struct S s; +} +}
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits