diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2014-05-03 02:22:11 +0000 | 
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2014-05-03 02:22:11 +0000 | 
| commit | a2245271afe4e908069e55a6aac01a37628d498f (patch) | |
| tree | 2fe16fee5e6a91a43aa13e61156d42e8fc5a2274 /clang | |
| parent | 22fcb08357b78bc747a33503270b51db521e9d96 (diff) | |
| download | bcm5719-llvm-a2245271afe4e908069e55a6aac01a37628d498f.tar.gz bcm5719-llvm-a2245271afe4e908069e55a6aac01a37628d498f.zip  | |
Revert "Sema: Implement DR244"
This was accidentally committed.
This reverts commit r207892.
llvm-svn: 207893
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 6 | ||||
| -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 | ||||
| -rw-r--r-- | clang/www/cxx_dr_status.html | 2 | 
4 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index a5ecba7310f..6f60406a4ee 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -144,10 +144,8 @@ ParsedType Sema::getDestructorName(SourceLocation TildeLoc,        AlreadySearched = true;        LookupCtx = DC;        isDependent = false; -    } else if (DC && isa<CXXRecordDecl>(DC)) { +    } else if (DC && isa<CXXRecordDecl>(DC))        LookAtPrefix = false; -      LookInScope = true; -    }      // The second case from the C++03 rules quoted further above.      NestedNameSpecifier *Prefix = 0; @@ -165,6 +163,8 @@ ParsedType Sema::getDestructorName(SourceLocation TildeLoc,        LookupCtx = computeDeclContext(SS, EnteringContext);        isDependent = LookupCtx && LookupCtx->isDependentContext();      } + +    LookInScope = false;    } else if (ObjectTypePtr) {      // C++ [basic.lookup.classref]p3:      //   If the unqualified-id is ~type-name, the type-name is looked up 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 83c8dd8fc22..0956de3c2a8 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,5 +1,4 @@  // RUN: %clang_cc1 -fsyntax-only -verify %s -// expected-no-diagnostics  struct C {     typedef int I; @@ -21,5 +20,5 @@ struct A {  typedef A AB;   int main() {    AB *p;  -  p->AB::~AB(); +  p->AB::~AB(); // expected-error{{expected the class name after '~' to name a destructor}}  } diff --git a/clang/test/CXX/drs/dr2xx.cpp b/clang/test/CXX/drs/dr2xx.cpp index fb818fb7fcb..692ed1d1afd 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: 3.5 +namespace dr244 { // dr244: no    struct B {}; struct D : B {}; // expected-note {{here}}    D D_object; @@ -480,7 +480,7 @@ namespace dr244 { // dr244: 3.5      B_ptr->~B_alias();      B_ptr->B_alias::~B();      // This is valid under DR244. -    B_ptr->B_alias::~B_alias(); +    B_ptr->B_alias::~B_alias(); // FIXME: expected-error {{expected the class name after '~' to name a destructor}}      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,6 +1013,7 @@ 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}} diff --git a/clang/www/cxx_dr_status.html b/clang/www/cxx_dr_status.html index adb3902b9b6..dc6339982c8 100644 --- a/clang/www/cxx_dr_status.html +++ b/clang/www/cxx_dr_status.html @@ -1504,7 +1504,7 @@ accessible?</td>      <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#244">244</a></td>      <td>CD1</td>      <td>Destructor lookup</td> -    <td class="svn" align="center">SVN</td> +    <td class="none" align="center">No</td>    </tr>    <tr id="245">      <td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#245">245</a></td>  | 

