https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120440

--- Comment #19 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Sam James from comment #18)
> Created attachment 62018 [details]
> a-except.adb
> 
> (In reply to Sam James from comment #17)
> Well, I say that, but at least it should be reproducible in terms of seeing
> the dodgy difference with:
> 
> $ gcc -c -O1 -march=x86-64-v2 -W -Wall -fno-PIE  -gnatpg -gnata -g
> -fno-inline -fno-toplevel-reorder  a-except.adb -o a-except.o
> 
> vs
> 
> $ gcc -c -O1 -march=x86-64-v3 -W -Wall -fno-PIE  -gnatpg -gnata -g
> -fno-inline -fno-toplevel-reorder  a-except.adb -o a-except.o

Looking at the dumps:

--- a/a-except.adb.006t.original
+++ b/a-except.adb.006t.original
@@ -782,7 +782,7 @@ void
ada.exceptions.exception_propagation.gnat_gcc_exception_cleanup (system__ex
     struct system__exceptions__machine__gnat_gcc_exception * {ref-all} copy =
excep;
   if (copy != 0B)
     {
-      .gnat_free (copy);
+      .gnat_free (*((void * *) copy + 18446744073709551608));
       copy = 0B;
     }
   else

?!

Reply via email to