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