[clang] [CFG] Add a BuildOption to consider default branch of switch on covered enumerations. (PR #161345)
Balazs Benics via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 2 04:12:06 PDT 2025
================
@@ -93,6 +93,159 @@ TEST(CFG, DependantBaseAddImplicitDtors) {
.getStatus());
}
+TEST(CFG, SwitchCoveredEnumNoDefault) {
+ const char *Code = R"(
+ enum class E {E1, E2};
+ int f(E e) {
+ switch(e) {
+ case E::E1:
+ return 1;
+ case E::E2:
+ return 2;
+ }
+ return 0;
+ }
+ )";
+ CFG::BuildOptions Options;
+ Options.AssumeReachableDefaultInSwitchStatements = true;
+ BuildResult B = BuildCFG(Code, Options);
+ EXPECT_EQ(BuildResult::BuiltCFG, B.getStatus());
----------------
steakhal wrote:
```suggestion
ASSERT_EQ(BuildResult::BuiltCFG, B.getStatus());
```
https://github.com/llvm/llvm-project/pull/161345
More information about the cfe-commits
mailing list