Repair fallthrough was broken by d4493165 (#5115) (#5139)

- GCC: fixed broken `fallthrough` (checked with 7.3 and 8.2)
- Clang: added `fallthrough` support
- Clang: added `-Wimplicit-fallthrough` checking
This commit is contained in:
Vladimir Glavnyy
2019-01-29 01:16:12 +07:00
committed by Wouter van Oortmerssen
parent 347dba8501
commit 7d3930a2fd
7 changed files with 37 additions and 15 deletions

View File

@@ -306,7 +306,7 @@ class GeneralGenerator : public BaseGenerator {
case BASE_TYPE_UNION:
// Unions in C# use a generic Table-derived type for better type safety
if (lang_.language == IDLOptions::kCSharp) return "TTable";
// fall through
FLATBUFFERS_FALLTHROUGH(); // else fall thru
default: return "Table";
}
}
@@ -327,7 +327,7 @@ class GeneralGenerator : public BaseGenerator {
case BASE_TYPE_UINT: return Type(BASE_TYPE_LONG);
case BASE_TYPE_VECTOR:
if (vectorelem) return DestinationType(type.VectorType(), vectorelem);
// else fall thru
FLATBUFFERS_FALLTHROUGH(); // else fall thru
default: return type;
}
}
@@ -371,7 +371,7 @@ class GeneralGenerator : public BaseGenerator {
case BASE_TYPE_UINT: return " & 0xFFFFFFFFL";
case BASE_TYPE_VECTOR:
if (vectorelem) return DestinationMask(type.VectorType(), vectorelem);
// else fall thru
FLATBUFFERS_FALLTHROUGH(); // else fall thru
default: return "";
}
}