2007-08-14 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Aug 2007 08:41:15 +0000 (08:41 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Aug 2007 08:41:15 +0000 (08:41 +0000)
commit21f64ad0cf951c04a65f255ffb2b5b23c40992d6
tree227eeff78cb66e8b799a3a6e10d95757baeed195
parent8f499cbb6b8c4929f61922d6217d15d839ad4323
2007-08-14  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb: Improve warnings on redundant assignments

* sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
parameter
(Is_Synchronized_Tagged_Type): New subprogram that returns true
in case of synchronized tagged types (AARM 3.9.4 (6/2)).
(Safe_To_Capture_Value): Can now return True for constants, even if Cond
is set to False. Improves handling of Known_[Not_]Null.
(Wrong_Type): Special case address arithmetic attempt
(Collect_Abstract_Interfaces): Add new formal to allow collecting
abstract interfaces just using the partial view of private types.
(Has_Abstract_Interfaces): Add new formal to allow checking types
covering interfaces using the partial view of private types.
(Is_Fully_Initialized_Type): Special VM case for uTag component. This
component still needs to be defined in this case, but is never
initialized as VMs are using other dispatching mechanisms.
(Abstract_Interface_List): For a protected type, use base type to get
proper declaration.
Improve warnings on redundant assignments
(Is_Variable): Handle properly an implicit dereference of a prefixed
function call.
(Build_Actual_Subtype): If this is an actual subtype for an
unconstrained formal parameter, use the sloc of the body for the new
declaration, to prevent anomalises in the debugger.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127427 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/sem_ch5.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads