[Bug ada/60078] acats c761007 fails on ARM
bernd.edlinger at hotmail dot de
gcc-bugzilla@gcc.gnu.org
Thu Feb 6 09:08:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60078
--- Comment #6 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Eric,
could it be that the Finalize procedure is missing some sort of spin lock?
ed@w-ed:~/gnu/gcc-build/gcc/testsuite/ada/acats/tests/c7/c761007$ cat
c761007_0.adb
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
with TCTouch;
package body C761007_0 is
procedure Finalize( I : in out Internal ) is
Previous_Side_Effect : Boolean := False;
begin
-- look to see if this character has been finalized yet
for SEI in 1..Side_Effect_Finger loop
Previous_Side_Effect := Previous_Side_Effect
or Side_Effect(Side_Effect_Finger) = I.Effect;
end loop;
delay 0.01; -- <= additional delay here
-- if not, then tack it on to the string, and touch the character
if not Previous_Side_Effect then
Side_Effect_Finger := Side_Effect_Finger +1;
Side_Effect(Side_Effect_Finger) := I.Effect;
TCTouch.Touch(I.Effect);
end if;
end Finalize;
end C761007_0;
ed@w-ed:~/gnu/gcc-build/gcc/testsuite/ada/acats/tests/c7/c761007$ ./c761007
,.,. C761007 ACATS 2.5 14-02-06 10:05:45
---- C761007 Check that if a finalize procedure invoked by a transfer of
control or selection of a terminate alternative attempts
to propagate an exception, the exception is ignored, but
any other finalizations due to be performed are
performed.
* C761007 Asynchronously aborted operation Expecting: GHIJ Got:
GHHIJ.
**** C761007 FAILED ****************************.
More information about the Gcc-bugs
mailing list