================
@@ -1251,6 +1251,7 @@ class CFG {
     bool MarkElidedCXXConstructors = false;
     bool AddVirtualBaseBranches = false;
     bool OmitImplicitValueInitializers = false;
+    bool SwitchKeepDefaultCoveredEnum = false;
----------------
steakhal wrote:

I know we don't really have a good track record of documentation but I think 
the wording of this new flag opens op the door for ambiguity. For example, 
reading `Switch` might come across as a verb, (like it did for me when I read 
this first).

A comment would resolve this ambiguity. By judging the previous flags, it seems 
like similar options end with the word `Branch`.

BTW would the new behavior make the `default:` branches reachable regardless if 
the enum is `covered` or not?
1) If the switch wasnt fully covered then the `default` case would be trivially 
reachable.
2) If the switch was fully covered then this option would make the default 
branch artificially reachable.

Consequently, the behavior is the same, regardless if the switch fully covers 
the enum of not: the default branch is considered reachable. I suppose, this 
bogged me a bit when I read the name of this option. Maybe something like 
`AssumeReachableDefaultCaseInSwitchStatements`.

https://github.com/llvm/llvm-project/pull/161345
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to