X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fglsl_error.h;h=0b4b4b02d2ddff4641f41b5c59ce2df6c1d110f7;hb=59347f76bc985e8c9c769d4a3eee672cba9c920b;hp=1ae521cae8b05a9085a5195ab2182104e28ffe3f;hpb=c1ec86d6b9ceb6c71f787fed3b2ea6c75457a474;p=libs%2Fgl.git diff --git a/source/glsl/glsl_error.h b/source/glsl/glsl_error.h index 1ae521ca..0b4b4b02 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 @@ -37,6 +38,33 @@ public: virtual ~parse_error() throw() { } }; +class internal_error: public std::logic_error +{ +public: + internal_error(const std::string &w): logic_error(w) { } + virtual ~internal_error() throw() { } +}; + +struct Diagnostic +{ + enum Severity + { + INFO, + WARN, + ERR + }; + + Severity severity; + int source; + unsigned line; + int provoking_source; + unsigned provoking_line; + std::string message; + + Diagnostic(); + Diagnostic(Severity, int, unsigned, const std::string &); +}; + } // namespace SL } // namespace GL } // namespace Msp