| // { 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; } |