1193323Sed// { dg-do run } 2193323Sed 3193323Sed// Copyright (C) 2002 Free Software Foundation, Inc. 4193323Sed// Contributed by Nathan Sidwell 14 Sep 2002 <nathan@codesourcery.com> 5193323Sed 6193323Sed// PR 7768 template dtor pretty function wrong 7193323Sed 8193323Sed#include <string.h> 9193323Sed 10193323Sedstatic size_t current = 0; 11193323Sedstatic bool error = false; 12193323Sed 13193323Sedstatic char const *names[] = 14193323Sed{ 15193323Sed "X<T>::X() [with T = void]", 16193323Sed "X<T>::~X() [with T = void]", 17193323Sed 0 18193323Sed}; 19193323Sed 20193323Sedvoid Verify (char const *ptr) 21193323Sed{ 22198090Srdivacky error = strcmp (ptr, names[current++]); 23193323Sed} 24193323Sed 25193323Sedtemplate <typename T> 26199989Srdivackystruct X 27193323Sed{ 28193323Sed X() { Verify (__PRETTY_FUNCTION__); } 29193323Sed ~X() { Verify (__PRETTY_FUNCTION__); } 30193323Sed}; 31193323Sed 32193323Sedint main() 33193323Sed{ 34193323Sed { 35193323Sed X<void> x; 36193323Sed 37193323Sed if (error) 38193323Sed return current; 39193323Sed } 40193323Sed if (error) 41193323Sed return current; 42193323Sed return 0; 43198090Srdivacky} 44193323Sed