// { dg-do run  }
// 981203 bkoz
// g++/15822
#include <assert.h>
static unsigned int gcount;
struct playahermosa {
  playahermosa() { ++gcount; }
  playahermosa(const playahermosa &) { ++gcount; }
  ~playahermosa() { --gcount; }
};
struct playacoco {
  playacoco(const playahermosa& = playahermosa()) {  } //create a temporary
};
void foo(playacoco *) { }
int main() 
{
   playacoco bar[2];
   foo(bar);
   assert (gcount == 0);
   return 0;
}