[gcc r12-6405] Properly enable -freorder-blocks-and-partition on 64-bit Windows

Eric Botcazou ebotcazou@gcc.gnu.org
Mon Jan 10 11:44:55 GMT 2022


https://gcc.gnu.org/g:8234b0dcb2484f836d0fb8f12aa6b04f5e66db6f

commit r12-6405-g8234b0dcb2484f836d0fb8f12aa6b04f5e66db6f
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Mon Jan 10 12:40:10 2022 +0100

    Properly enable -freorder-blocks-and-partition on 64-bit Windows
    
    The PR uncovered that -freorder-blocks-and-partition was working by accident
    on 64-bit Windows, i.e. the middle-end was supposed to disable it with SEH.
    After the change installed on mainline, the middle-end properly disables it,
    which is too bad since a significant amount of work went into it for SEH.
    
    gcc/
            PR target/103465
            * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.

Diff:
---
 gcc/coretypes.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/gcc/coretypes.h b/gcc/coretypes.h
index 0769a78a87c..f3559373433 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -228,15 +228,17 @@ enum stack_protector {
   SPCT_FLAG_EXPLICIT = 4
 };
 
-/* Types of unwind/exception handling info that can be generated.  */
+/* Types of unwind/exception handling info that can be generated.
+   Note that a UI_TARGET (or larger) setting is considered to be
+   incompatible with -freorder-blocks-and-partition.  */
 
 enum unwind_info_type
 {
   UI_NONE,
   UI_SJLJ,
   UI_DWARF2,
-  UI_TARGET,
-  UI_SEH
+  UI_SEH,
+  UI_TARGET
 };
 
 /* Callgraph node profile representation.  */


More information about the Gcc-cvs mailing list