// PR c++/31187
// Bug: the repeated declaration was confusing the compiler into
// thinking that foo1 had language internal linkage.
class foo { };
namespace
{
  extern foo foo1;
  foo foo1;
}
template< foo * >
class bar { };
bar< &foo1 > bar1;
// PR c++/31187
// Bug: the repeated declaration was confusing the compiler into
// thinking that foo1 had language internal linkage.
class foo { };
namespace
{
  extern foo foo1;
  foo foo1;
}
template< foo * >
class bar { };
bar< &foo1 > bar1;