Merge reload-branch up to revision 101000
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / conv9.C
blob0fcf980be6bdaaa72632eb481b259b6c4762b5c3
1 // { dg-do assemble  }
3 struct
4 Foo
6 public:
7   typedef void* (*copier_fn)(void const*);
8   void foo() const;
9   void bar(char const*, void const*) const;
10 private:
11   struct
12   Bar
13   {
14     char const* key;
15     void const* item;
16   };
19 void
20 Foo::foo() const
22   Bar* cp = 0;
23   copier_fn copyfn = 0;
25   bar(cp->key, cp->item);
26   bar(cp->key, (copyfn) ? (*copyfn)(cp) : 0);
27   bar(cp->key, (copyfn) ? (*copyfn)(0) : 0);
29   bar(cp->key, (copyfn) ? (*copyfn)(0) : cp->item);
30   bar(cp->key, (copyfn) ? (*copyfn)(cp) : cp->item);