blob: bb3e6d4841560ea6f622ae935e577d046c091525 [file] [log] [blame]
// { dg-lto-do link }
/* "WARNING: lto.exp does not support dg-additional-options" */
#pragma GCC diagnostic ignored "-Wreturn-type"
typedef long size_t;
template < class, class > struct pair
{
}
;
template < typename > class allocator;
template < typename > struct equal_to;
template < class > struct hash;
template
<
class, class, class, class, class, class > struct dense_hashtable_iterator;
template
<
class,
class, class, class, class, class > struct dense_hashtable_const_iterator;
template
<
class
Value,
class
Key,
class
HashFcn,
class ExtractKey, class EqualKey, class Alloc > class dense_hashtable
{
public:
typedef Key key_type;
typedef Value value_type;
typedef size_t size_type;
typedef
dense_hashtable_iterator
< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > iterator;
typedef
dense_hashtable_const_iterator
< Value, Key, HashFcn, ExtractKey, EqualKey, Alloc > const_iterator;
static const size_type ILLEGAL_BUCKET = (-1);
pair < size_type, size_type > find_position (key_type)
{
size_type insert_pos = ILLEGAL_BUCKET;
}
pair < iterator, bool > insert_noresize (value_type obj)
{
pair < size_type, size_type > pos = find_position ((obj));
}
pair < iterator, bool > insert (value_type & obj)
{
insert_noresize (obj);
}
ExtractKey get_key;
}
;
template
<
class
Value,
class
HashFcn
=
hash
<
Value
>,
class
EqualKey
=
equal_to < Value >, class Alloc = allocator < Value > >class dense_hash_set
{
struct Identity
{
}
;
typedef
dense_hashtable < Value, Value, HashFcn, Identity, EqualKey, Alloc > ht;
ht rep;
public:
typedef typename ht::value_type value_type;
typedef typename ht::const_iterator iterator;
pair < iterator, bool > insert (value_type obj)
{
pair < typename ht::iterator, bool > p = rep.insert (obj);
}
}
;
class blah_46
{
}
;
struct foo_10:dense_hash_set < blah_46 >
{
}
;
class foo_14
{
void hmmmmh_5 (blah_46);
foo_10 negative_rrrrrrr_type_data_;
}
;
void
foo_14::hmmmmh_5 (blah_46 hahaha_id)
{
negative_rrrrrrr_type_data_.insert (hahaha_id);
}
int main () { return 0; }