Here's what it now emits (if caret-printing were enabled):

g++.dg/template/pr64100.C: In instantiation of ‘class foo<int>’:
g++.dg/template/pr64100.C:8:16:   required from here
g++.dg/template/pr64100.C:5:41: error: invalid use of incomplete type ‘class 
foo<int>’
     static_assert(noexcept(((foo *)1)->~foo()), ""); // { dg-error "incomplete 
type" }
                            ~~~~~~~~~~~~~^~~

g++.dg/template/pr64100.C:3:27: note: definition of ‘class foo<int>’ is not 
complete until the closing brace
 template<typename> struct foo // { dg-message "note" }
                           ^~~

gcc/testsuite/ChangeLog:
        * g++.dg/template/pr64100.C: Update location of dg-error
        directive.
---
 gcc/testsuite/g++.dg/template/pr64100.C | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/g++.dg/template/pr64100.C 
b/gcc/testsuite/g++.dg/template/pr64100.C
index 493849f..051800c 100644
--- a/gcc/testsuite/g++.dg/template/pr64100.C
+++ b/gcc/testsuite/g++.dg/template/pr64100.C
@@ -1,8 +1,8 @@
 // { dg-do compile { target c++11 } }
 
 template<typename> struct foo // { dg-message "note" }
-{ // { dg-error "incomplete type" }
-    static_assert(noexcept(((foo *)1)->~foo()), "");
+{
+    static_assert(noexcept(((foo *)1)->~foo()), ""); // { dg-error "incomplete 
type" }
 }; 
 
 template class foo<int>;
-- 
1.8.5.3

Reply via email to