https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802

--- Comment #3 from vries at gcc dot gnu.org ---
This patch allows the example to pass:
...
diff --git a/gcc/passes.def b/gcc/passes.def
index ffa63b5..041197c 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -344,7 +344,6 @@ along with GCC; see the file COPYING3.  If not see
       NEXT_PASS (pass_tm_edges);
   POP_INSERT_PASSES ()
   NEXT_PASS (pass_vtable_verify);
-  NEXT_PASS (pass_lower_vaarg);
   NEXT_PASS (pass_lower_vector);
   NEXT_PASS (pass_lower_complex_O0);
   NEXT_PASS (pass_asan_O0);
@@ -352,6 +351,7 @@ along with GCC; see the file COPYING3.  If not see
   NEXT_PASS (pass_sanopt);
   NEXT_PASS (pass_cleanup_eh);
   NEXT_PASS (pass_lower_resx);
+  NEXT_PASS (pass_lower_vaarg);
   NEXT_PASS (pass_nrv);
   NEXT_PASS (pass_cleanup_cfg_post_optimizing);
   NEXT_PASS (pass_warn_function_noreturn);
...

I have no knowledge of the exception handling implementation, so:
1. a proper root cause analysis would take me some time.
2. I have no idea whether the patch is actually correct.  I'll try a bootstrap
   and reg-test though, that'll gives us at least more information.

Reply via email to