blob: 9a783a14b63a2cf7483761c370b284a405953df3 [file] [log] [blame]
// Test that 'static template' instantiates statics.
// Special g++ Options: -g -fno-implicit-templates
// Ignore the 'ld returned 1' message from collect2.
// excess errors test - XFAIL *-*-*
template <class T> struct A {
static T t;
};
template <class T> T A<T>::t = 0;
static template struct A<int>;
// These functions must be defined in a single line, so that, even if
// constants or pointers are placed in the code section (for example,
// on the SH), we still get the same line numbers.
void test_int() { A<int>::t = 42; } // gets bogus error
void test_char() { A<char>::t = 42; } // ERROR - not instantiated XFAIL *-*-irix*
// Irix's default linker does not produce line numbers so XFAIL it.
int main ()
{
test_int ();
test_char ();
}