#include <iostream>
#include <testsuite_hooks.h>
class gnu_char_type
{
unsigned long character;
public:
bool
operator==(const gnu_char_type& __lhs)
{ return character == __lhs.character; }
bool
operator<(const gnu_char_type& __lhs)
{ return character < __lhs.character; }
gnu_char_type() { }
gnu_char_type(const unsigned long& __l) : character(__l) { }
operator unsigned long() const { return character; }
};
struct gnu_char_traits
{
typedef gnu_char_type char_type;
typedef long int_type;
typedef long pos_type;
typedef unsigned long off_type;
typedef long state_type;
static void
assign(char_type& __c1, const char_type& __c2) { }
static bool
eq(const char_type& __c1, const char_type& __c2) { return true; }
static bool
lt(const char_type& __c1, const char_type& __c2) { return true; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ return 0; }
static size_t
length(const char_type* __s) { return 0; }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{ return __s; }
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{ return __s1; }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return __s1; }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{ return __s; }
static char_type
to_char_type(const int_type& __c)
{ return char_type(); }
static int_type
to_int_type(const char_type& __c)
{ return int_type(); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
{ return true; }
static int_type
eof()
{ return int_type(); }
static int_type
not_eof(const int_type& __c)
{ return int_type(); }
};
void test07()
{
bool test __attribute__((unused)) = true;
typedef std::basic_iostream<gnu_char_type, gnu_char_traits> gnu_iostr;
try
{
gnu_iostr obj(NULL);
}
catch(std::exception& obj)
{
test = false;
VERIFY( test );
}
}
int main()
{
test07();
return 0;
}