diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-07 15:38:45 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-07 15:38:45 +0200 |
commit | c236914646f38f11fc12e1a4a1957c2378c51171 (patch) | |
tree | de9464c08d324cf727aa591acdf3d8cad2584ad6 /gcc/ada/seh_init.c | |
parent | 75a5a4879d5046afb73aba4a403472e9f349cbed (diff) | |
download | gcc-c236914646f38f11fc12e1a4a1957c2378c51171.zip gcc-c236914646f38f11fc12e1a4a1957c2378c51171.tar.gz gcc-c236914646f38f11fc12e1a4a1957c2378c51171.tar.bz2 |
[multiple changes]
2009-07-07 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
parameters when the subtype of the actual is not known to be a subrange
of the formal's subtype.
(Expand_Call): Generate a range check only in the E_In_parameter case
(in out parameter range checks are now handled in Expand_Actuals).
* exp_ch4.adb (Expand_N_Slice): Restore code that calls
Enable_Range_Check.
2009-07-07 Robert Dewar <dewar@adacore.com>
* a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments
2009-07-07 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Interface_Conversion): Handle access type whose
designated type comes from a limited views.
2009-07-07 Emmanuel Briot <briot@adacore.com>
* prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of
locally removed files that are later made visible again in an importing
project.
2009-07-07 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Clarify documentation of Stream_Convert pragma
2009-07-07 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add an example to the description of gnatcheck
'Style_Checks' rule option.
2009-07-07 Tristan Gingold <gingold@adacore.com>
* seh_init.c: Fix inline assembly statement in seh_init.c
2009-07-07 Ed Schonberg <schonberg@adacore.com>
* sem_warn.adb (Check_References): Do not emit warnings on formals of
an entry body. Only the formals of the entry declaration are traced.
From-SVN: r149328
Diffstat (limited to 'gcc/ada/seh_init.c')
-rw-r--r-- | gcc/ada/seh_init.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/ada/seh_init.c b/gcc/ada/seh_init.c index 2bc3d23..dc353d0 100644 --- a/gcc/ada/seh_init.c +++ b/gcc/ada/seh_init.c @@ -211,17 +211,14 @@ __gnat_install_SEH_handler (void *ER) /* put current handler in ptr */ - asm ("mov %%fs:(0),%%ecx" : : : "%ecx"); - asm ("mov %%ecx,%0" : "=m" (ptr)); + asm ("mov %%fs:(0),%0" : "=r" (ptr)); ((int *)ER)[0] = (int)ptr; /* previous handler */ ((int *)ER)[1] = (int)__gnat_SEH_error_handler; /* new handler */ - /* ptr is the new handler, set fs:(0) with this value */ + /* ER is the new handler, set fs:(0) with this value */ - ptr = (int *)ER; - asm ("mov %0,%%ecx" : : "m" (ptr) : "%ecx"); - asm ("mov %ecx,%fs:(0)"); + asm volatile ("mov %0,%%fs:(0)": : "r" (ER)); } #else /* defined (_WIN32) && !defined (_WIN64) */ |