[gcc r10-10388] Properly enable -freorder-blocks-and-partition on 64-bit Windows

Eric Botcazou ebotcazou@gcc.gnu.org
Mon Jan 10 16:06:58 GMT 2022


https://gcc.gnu.org/g:331733c384ed74539b38e5fa933b35818a109f5c

commit r10-10388-g331733c384ed74539b38e5fa933b35818a109f5c
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 cda22697cc3..4b0618ab278 100644
--- a/gcc/coretypes.h
+++ b/gcc/coretypes.h
@@ -219,15 +219,17 @@ enum profile_reproducibility {
     PROFILE_REPRODUCIBILITY_MULTITHREADED
 };
 
-/* 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