[PATCH] D36914: Implement CFG construction for __try / __except / __leave.

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 22 18:23:29 PDT 2017


rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.

Looks good!



================
Comment at: test/Sema/warn-unreachable-ms.c:42
+  }
+}
----------------
rnk wrote:
> Can we add a test to exercise that this builds the right CFG?
> ```
> __try {
>   __try {
>     f();
>   } __except(1) {
>     __leave; // should exit outer try
>   }
>   __leave;
>   f(); // expected-warning{{never be executed}}
> } __except(1) {
> }
> ```
> Sure. Did you intentionally put two __leaves in there, or do you only want the one in the inner __except?

I think both are required to trigger the warning in case f() doesn't throw, but I could be wrong.


https://reviews.llvm.org/D36914





More information about the cfe-commits mailing list