Diagnostics go to standard error as file:line:column: error: text (or warning:); module-level errors, which have no position, as mstring: error: text. Any error makes the exit code 1 and writes no file; warnings do not change the exit code and -w hides them.

Errors

MessageCause
unknown directive '$X'a misspelt keyword
unknown $STRING option 'X'an option that directive does not take
expected an option for $STRING, found end of linea directive with nothing after it
expected OF or AS after MEMBER, expected MEMBER after CONSTa broken member option
expected a base class name after PUBLICan access specifier without a class
unknown syslog facility 'X', unknown syslog level 'X'not a syslog name
expected a statement after EXITan empty EXIT
unexpected 'x', expected end of linesomething after the last argument
message text outside of a $MESSAGE blocka text line with no message open
message 'X' is already defineda duplicate message name
parameters must be declared before the message textsan @ after a text
parameter 'x' is already declared for message 'X'a duplicate parameter
parameter name 'x' is reserved for the generated codesee Parameters
unterminated string, missing closing "a quoted text without its closing quote
unterminated macro, missing '}', empty macro expressiona broken {$…}
expected a charset name or ']'a broken language header
'X' is not an artefact: …, expected STREAMABLE, … after ':'a broken artefact list
import file 'x' does not exist, recursive $IMPORT of 'x'see $IMPORT
cannot open 'x' for readingthe input file
… MEMBER AS … but $STREAMABLE is not enabledsee Member functions
… OVERRIDE … but the exception has none (INHERITED)see $EXCEPTION
INLINE … cannot be combined with NOHEADERsee $MODULE
output folder 'x' does not exist, cannot write 'x'the output

Warnings

MessageCause
message 'X' has no texta message with no text line
message 'X' has no [tr] text; its default text is useda missing translation
parameter 'x' of message 'X' is used in the [en] text but not in the [tr] textan inconsistent translation
$CHARSET is deprecated …, the charset of a [language charset] header is deprecated …charsets
NOSOURCE writes declarations without definitions …use INLINE