- 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 = INFO;
+ int source = 0;
+ unsigned line = 0;
+ int provoking_source = 0;
+ unsigned provoking_line = 0;
+ std::string message;
+
+ Diagnostic() = default;
+ Diagnostic(Severity, int, unsigned, const std::string &);