]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/glsl_error.h
Record information of the provoking location of a diagnostic
[libs/gl.git] / source / glsl / glsl_error.h
index 1b005e0fc9db96c4230a9268fc8cc54e7eedf1f5..84aa2f52a60a45c42f6bdbe30a5fbc676e418d25 100644 (file)
@@ -38,11 +38,23 @@ 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(): severity(INFO), source(-2), line(0) { }
 };
 
 } // namespace SL