diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2014-05-03 02:18:46 +0000 | 
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2014-05-03 02:18:46 +0000 | 
| commit | 22fcb08357b78bc747a33503270b51db521e9d96 (patch) | |
| tree | 57d80898c3a525be4891b5a25eb093ae19d2f142 /clang/test | |
| parent | 843571130fb050bf3417b2382d8d7215d4c0f2bb (diff) | |
| download | bcm5719-llvm-22fcb08357b78bc747a33503270b51db521e9d96.tar.gz bcm5719-llvm-22fcb08357b78bc747a33503270b51db521e9d96.zip | |
Sema: Implement DR244
Naming the destructor using a typedef-name for the class-name is
well-formed.
This fixes PR19620.
llvm-svn: 207892
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp | 3 | ||||
| -rw-r--r-- | clang/test/CXX/drs/dr2xx.cpp | 5 | 
2 files changed, 4 insertions, 4 deletions
| diff --git a/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp b/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp index 0956de3c2a8..83c8dd8fc22 100644 --- a/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp +++ b/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp @@ -1,4 +1,5 @@  // RUN: %clang_cc1 -fsyntax-only -verify %s +// expected-no-diagnostics  struct C {     typedef int I; @@ -20,5 +21,5 @@ struct A {  typedef A AB;   int main() {    AB *p;  -  p->AB::~AB(); // expected-error{{expected the class name after '~' to name a destructor}} +  p->AB::~AB();  } diff --git a/clang/test/CXX/drs/dr2xx.cpp b/clang/test/CXX/drs/dr2xx.cpp index 692ed1d1afd..fb818fb7fcb 100644 --- a/clang/test/CXX/drs/dr2xx.cpp +++ b/clang/test/CXX/drs/dr2xx.cpp @@ -466,7 +466,7 @@ namespace dr243 { // dr243: yes    A a2 = b; // expected-error {{ambiguous}}  } -namespace dr244 { // dr244: no +namespace dr244 { // dr244: 3.5    struct B {}; struct D : B {}; // expected-note {{here}}    D D_object; @@ -480,7 +480,7 @@ namespace dr244 { // dr244: no      B_ptr->~B_alias();      B_ptr->B_alias::~B();      // This is valid under DR244. -    B_ptr->B_alias::~B_alias(); // FIXME: expected-error {{expected the class name after '~' to name a destructor}} +    B_ptr->B_alias::~B_alias();      B_ptr->dr244::~B(); // expected-error {{refers to a member in namespace}}      B_ptr->dr244::~B_alias(); // expected-error {{refers to a member in namespace}}    } @@ -1013,7 +1013,6 @@ namespace dr298 { // dr298: yes    B::B() {} // expected-error {{requires a type specifier}}    B::A() {} // ok -  C::~C() {} // expected-error {{expected the class name}}    C::~A() {} // ok    typedef struct D E; // expected-note {{here}} | 

