Используйте атрибут fallthrough в switch
Обязательно указывайте атрибут [[fallthrough]]; (появился в С++17) для уточнения, что оператор break; внутри блока case отсутствует намеренно.
Неправильно:
switch (child->type) {
case XML_ELEMENT_NODE:
// ...
break;
case XML_TEXT_NODE:
// ...
break;
case XML_CDATA_SECTION_NODE:
trim = false;
case XML_ENTITY_REF_NODE:
case XML_ENTITY_NODE:
// ...
break;
default:
assert(false);
}
Правильно: