2011-08-04 Emmanuel Briot <briot@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Aug 2011 10:01:08 +0000 (10:01 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Aug 2011 10:01:08 +0000 (10:01 +0000)
commitfd3e6972952a6ee4de6ea5efe6d53b1a8f7ac999
tree722a766e81c8764b4f14dbbac6f18aea058ba0cb
parent7f6744cbc46b935f999ae2c4f13e41adf38c5cef
2011-08-04  Emmanuel Briot  <briot@adacore.com>

* makeutl.adb (Complete_Mains): when a multi-unit source file is
specified on the gprbuild command line, we need to compile all units
within that file, not just the first one we find
Fix error message for mains that are not found.

2011-08-04  Thomas Quinot  <quinot@adacore.com>

* sem_ch6.adb: Update comment.
* sem_ch12.adb: Minor reformatting.

2011-08-04  Bob Duff  <duff@adacore.com>

* s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
Acceptor.Terminate_Alternative without locking Acceptor, which causes a
race condition whose symptom is to fail to lock Parent. That, in turn,
causes Parent.Awake_Count to be accessed without locking Parent, which
causes another race condition whose symptom is that Parent.Awake_Count
can be off by 1 (either too high or too low). The solution is to lock
Parent unconditionally, and then lock Acceptor, before reading
Acceptor.Terminate_Alternative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177352 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/makeutl.adb
gcc/ada/s-tasren.adb
gcc/ada/sem_ch12.adb
gcc/ada/sem_ch6.adb