X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fglsl_error.h;h=6654770cd90695457de4425374aea968b7f37d2d;hb=4e3c03e2b60f9d6a9b8ed69b7150eb91e2db2e34;hp=46ca49be35daf98062a9cff156426fde9882eb6b;hpb=836eeb313874d4f0c406f154ecb0dff366f362c4;p=libs%2Fgl.git diff --git a/source/glsl/glsl_error.h b/source/glsl/glsl_error.h index 46ca49be..6654770c 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,11 +38,24 @@ public: virtual ~parse_error() throw() { } }; -class unsupported_shader: public std::runtime_error +struct Diagnostic { -public: - unsupported_shader(const std::string &w): runtime_error(w) { } - virtual ~unsupported_shader() throw() { } + 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