00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef except_h 00004 #define except_h 00005 00006 #include <exception> 00007 #include <stdexcept> 00008 #include <string> 00009 #include <iosfwd> 00010 00011 // 00012 // INTERFACE definition follows 00013 // 00014 00015 00016 class Ptree; 00022 class Compile_error : public std::runtime_error { 00023 public: 00024 static bool had_errors; 00025 00026 public: 00027 Compile_error(std::string str); 00028 00029 Compile_error(const char* str); 00030 00031 void print(std::ostream& os, Ptree* tree); 00032 }; 00033 00034 #ifdef __GNUC__ 00035 /* An attempt to reduce the warnings */ 00036 void compile_error(const char*) __attribute__((noreturn)); 00037 void compile_error(std::string) __attribute__((noreturn)); 00038 void bogus_ptree_error(const char*, Ptree*) __attribute__((noreturn)); 00039 void bogus_ptree_error(std::string, Ptree*) __attribute__((noreturn)); 00040 #endif 00041 00042 void compile_error(const char* str); 00043 00044 void compile_error(std::string str); 00045 00046 void bogus_ptree_error(const char* str, Ptree* tree); 00047 00048 void bogus_ptree_error(std::string str, Ptree* tree); 00049 00050 void expect_ptree(Ptree* p, const char* str); 00051 00052 void expect_ptree(Ptree* p, char c); 00053 00054 void compile_warning(const char* str, Ptree* tree); 00055 00056 void compile_warning(std::string str, Ptree* tree); 00057 00058 #endif // except_h