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<typename... Args>
virtual ~invalid_shader_source() throw() { }
};
+class syntax_error: public invalid_shader_source
+{
+public:
+ syntax_error(const Location &, const std::string &, const std::string &);
+ virtual ~syntax_error() throw() { }
+};
+
class parse_error: public invalid_shader_source
{
public:
virtual ~parse_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(): severity(INFO), source(-2), line(0) { }
+};
+
} // namespace SL
} // namespace GL
} // namespace Msp