// Origin: PR 44641 // { dg-do compile } // { dg-options "-g -O0 -dA" } template struct MisplacedDbg; template struct MisplacedDbg; struct Full; template<> struct MisplacedDbg; struct Arg; typedef MisplacedDbg Typedef1; typedef MisplacedDbg Typedef2; typedef MisplacedDbg Typedef3; template struct Base { int i; virtual ~Base() { } }; template <> struct MisplacedDbg // { dg-function-on-line {_ZN12MisplacedDbgI4FullEC[12]Ev} } // { dg-function-on-line {_ZN12MisplacedDbgI4FullED0Ev} { target *-*-* } 22 } : public Base { }; template struct MisplacedDbg // { dg-function-on-line {_ZN12MisplacedDbgIP3ArgEC[12]Ev} } // { dg-function-on-line {_ZN12MisplacedDbgIP3ArgED0Ev} { target *-*-* } 29 } : public Base { }; template struct MisplacedDbg // { dg-function-on-line {_ZN12MisplacedDbgI3ArgEC[12]Ev} } // { dg-function-on-line {_ZN12MisplacedDbgI3ArgED0Ev} { target *-*-* } 35 } : public Base { }; static MisplacedDbg static_var1; static MisplacedDbg static_var2; static MisplacedDbg static_var3;