The empty_element macro was not safe when used in a "naked" if statement such as: if (config->flags & FLAG_ACPI) empty_element ("acpi"); Fix the macro so it uses do { ... } while (0) to make it safe here.