diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-11-20 22:03:38 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-11-20 22:03:38 +0000 |
commit | f6e6fc801c700c7b8ac202ddbe550d9843a816fc (patch) | |
tree | d0308a7f0aff792b98a58928e7b6f5c4256d7edf /test | |
parent | d90e0eee4347f2985d4cc1a5f052223b7047da0d (diff) |
Implement C++ [basic.lookup.classref]p3, which states how the type
name 'T' is looked up in the expression
t.~T()
Previously, we weren't looking into the type of "t", and therefore
would fail when T actually referred to an injected-class-name. Fixes
PR5530.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89493 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/SemaCXX/pseudo-destructors.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/SemaCXX/pseudo-destructors.cpp b/test/SemaCXX/pseudo-destructors.cpp index 0850c44a36..8f69def9fd 100644 --- a/test/SemaCXX/pseudo-destructors.cpp +++ b/test/SemaCXX/pseudo-destructors.cpp @@ -38,3 +38,12 @@ typedef int Integer; void destroy_without_call(int *ip) { ip->~Integer; // expected-error{{called immediately}} } + +// PR5530 +namespace N1 { + class X0 { }; +} + +void test_X0(N1::X0 &x0) { + x0.~X0(); +} |