+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 &);
+};
+