No functional change.

Tested on x86_64-pc-linux-gnu, committed on trunk

2012-06-12  Tristan Gingold  <ging...@adacore.com>

        * a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.

Index: a-exexpr-gcc.adb
===================================================================
--- a-exexpr-gcc.adb    (revision 188428)
+++ a-exexpr-gcc.adb    (working copy)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -108,6 +108,14 @@
       Cleanup  : System.Address;
       Private1 : Unwind_Word;
       Private2 : Unwind_Word;
+
+      --  Usual exception structure has only 2 private fields, but the SEH
+      --  one has 6.  To avoid makeing this file more complex, we use 6 fields
+      --  on all platforms, wasting a few bytes on some.
+      Private3 : Unwind_Word;
+      Private4 : Unwind_Word;
+      Private5 : Unwind_Word;
+      Private6 : Unwind_Word;
    end record;
    pragma Convention (C, Unwind_Exception);
    --  Map the GCC struct used for exception handling
@@ -475,8 +483,7 @@
         new GNAT_GCC_Exception'
           (Header     => (Class => GNAT_Exception_Class,
                           Cleanup => GNAT_GCC_Exception_Cleanup'Address,
-                          Private1 => 0,
-                          Private2 => 0),
+                          others => 0),
            Occurrence => Excep.all);
 
       --  Propagate it

Reply via email to