// { dg-do run }
// Copyright (C) 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 26 Mar 2003 <nathan@codesourcery.com>
// PR 10158. implicit inline template friends ICE'd
typedef int int32_t __attribute__((mode (__SI__)));
template <int32_t N> struct X
{
template <int32_t M> friend int32_t foo(X const &, X<M> const&)
{
return N * 10000 + M;
}
};
X<1234> bring;
X<5678> brung;
int main() {
return foo (bring, brung) != 12345678;
}