forked from OSchip/llvm-project
Revert "Sema: Implement DR244"
This was accidentally committed. This reverts commit r207892. llvm-svn: 207893
This commit is contained in:
parent
22fcb08357
commit
a2245271af
clang
lib/Sema
test/CXX
www
|
@ -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
|
||||
|
|
|
@ -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}}
|
||||
}
|
||||
|
|
|
@ -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}}
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue