The attached patch adjusts the placement of the warn-access pass
as the two of you suggested in the bug. Please let me know if
this is good to commit or if you want me to make some other tweaks.
The patch passes tests in an x86_64-linux bootstrap.
Martin
PR middle-end/104260 - Misplaced waccess3 pass
gcc/ChangeLog:
PR 104260
* passes.def (pass_warn_access): Adjust pass placement.
diff --git a/gcc/passes.def b/gcc/passes.def
index 3e75de46c23..f7718181038 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -60,10 +60,10 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_warn_printf);
NEXT_PASS (pass_warn_nonnull_compare);
NEXT_PASS (pass_early_warn_uninitialized);
+ NEXT_PASS (pass_warn_access, /*early=*/true);
NEXT_PASS (pass_ubsan);
NEXT_PASS (pass_nothrow);
NEXT_PASS (pass_rebuild_cgraph_edges);
- NEXT_PASS (pass_warn_access, /*early=*/true);
POP_INSERT_PASSES ()
NEXT_PASS (pass_local_optimization_passes);
@@ -428,9 +428,9 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_gimple_isel);
NEXT_PASS (pass_harden_conditional_branches);
NEXT_PASS (pass_harden_compares);
+ NEXT_PASS (pass_warn_access, /*early=*/false);
NEXT_PASS (pass_cleanup_cfg_post_optimizing);
NEXT_PASS (pass_warn_function_noreturn);
- NEXT_PASS (pass_warn_access, /*early=*/false);
NEXT_PASS (pass_expand);