1// { dg-do assemble  }
2// GROUPS passed miscellaneous-bugs
3typedef int va_list;
4class ostream;
5class String {
6public:
7operator const char *() const;
8};
9class FwtErrorManager {
10public:
11    FwtErrorManager(ostream& err, const char *program);
12public:
13    void form(const char *format, ...);
14protected:
15    const String _program;
16private:
17    FwtErrorManager(const FwtErrorManager&);
18    void operator=(const FwtErrorManager&);
19};
20class FwtProgram: public FwtErrorManager {
21public:
22    FwtProgram();
23};
24class FwtArgOptions { };
25class FwtStdProgram: public FwtProgram, public FwtArgOptions {
26public:
27    FwtStdProgram();
28    void usage_if_not_complete();
29};
30void
31FwtStdProgram::usage_if_not_complete()
32{
33	FwtStdProgram& thisp = *this;
34	thisp.form("%s: error, there were unrecognized options",
35		   (char *) FwtErrorManager::_program);// { dg-error "" } .*
36}
37