cnst->conste.v.chars.size = token.v.string.size;
if (cnst->conste.v.chars.size != 1) {
- if (c_mode & _GNUC) {
+ if (warning.multichar && (c_mode & _GNUC)) {
/* TODO */
warningf(HERE, "multi-character character constant");
} else {
.main = true,
.missing_declarations = false,
.missing_prototypes = false,
+ .multichar = true,
.redundant_decls = true,
.s_are_errors = false,
.shadow = false,
OPT("main", main)
OPT("missing-declarations", missing_declarations)
OPT("missing-prototypes", missing_prototypes)
+ OPT("multichar", multichar)
OPT("redundant-decls", redundant_decls)
OPT("shadow", shadow)
OPT("sign-compare", sign_compare)
bool missing_noreturn:1; /**< Warn about functions which might be candidates for attribute 'noreturn' */
#endif
bool missing_prototypes:1; /**< Warn if a global function is defined without a previous prototype declaration */
-#if 0 // TODO
bool multichar:1; /**< Warn if a multicharacter constant ('FOOF') is used. */
+#if 0 // TODO
bool nested_externs:1; /**< Warn if an 'extern' declaration is encountered within a function */
bool packed:1; /**< Warn if a structure is given the packed attribute, but the packed attribute has no effect on the layout or size of the structure */
bool padded:1; /**< Warn if padding is included in a structure, either to align an element of the structure or to align the whole structure */