X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fglsl%2Fglsl_error.h;h=0b4b4b02d2ddff4641f41b5c59ce2df6c1d110f7;hp=1b005e0fc9db96c4230a9268fc8cc54e7eedf1f5;hb=c4aeeced7b397d46772577775bd3a0d6c4706cba;hpb=7b73b63df12b3ace4231842aa291d6e1d7b3f948 diff --git a/source/glsl/glsl_error.h b/source/glsl/glsl_error.h index 1b005e0f..0b4b4b02 100644 --- a/source/glsl/glsl_error.h +++ b/source/glsl/glsl_error.h @@ -38,11 +38,31 @@ public: virtual ~parse_error() throw() { } }; -class unsupported_shader: public std::runtime_error +class internal_error: public std::logic_error { public: - unsupported_shader(const std::string &w): runtime_error(w) { } - virtual ~unsupported_shader() throw() { } + 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