X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fglsl_error.h;h=46854744699c183f8df2e88efd019b5f01e68236;hb=c288e8d074f303f275ce03bf09c8799b2c8fde6e;hp=63c49bbd9112d95f521369d43577603958e17589;hpb=47286086863b6009192ffdb3d3471c83211ee943;p=libs%2Fgl.git diff --git a/source/glsl/glsl_error.h b/source/glsl/glsl_error.h index 63c49bbd..46854744 100644 --- a/source/glsl/glsl_error.h +++ b/source/glsl/glsl_error.h @@ -13,6 +13,7 @@ struct Location; class invalid_shader_source: public std::runtime_error { public: + invalid_shader_source(const std::string &w): runtime_error(w) { } invalid_shader_source(const Location &, const std::string &); #if __cplusplus>=201103L template @@ -23,6 +24,13 @@ public: virtual ~invalid_shader_source() throw() { } }; +class syntax_error: public invalid_shader_source +{ +public: + syntax_error(const Location &, const std::string &, const std::string &); + virtual ~syntax_error() throw() { } +}; + class parse_error: public invalid_shader_source { public: @@ -30,6 +38,23 @@ public: virtual ~parse_error() throw() { } }; +struct Diagnostic +{ + enum Severity + { + INFO, + WARN, + ERR + }; + + Severity severity; + int source; + unsigned line; + std::string message; + + Diagnostic(): severity(INFO), source(-2), line(0) { } +}; + } // namespace SL } // namespace GL } // namespace Msp