freeze.adb: Add handling of Last_Assignment field
authorRobert Dewar <dewar@adacore.com>
Tue, 31 Oct 2006 17:58:16 +0000 (18:58 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 31 Oct 2006 17:58:16 +0000 (18:58 +0100)
commit3f1ede06fc28db443347a22c579551d926e626d6
tree822b27575fa161de1d3401c4f2b7073cea546bbb
parentac3b962ec3965793916eea80eab7f5dd42aa7570
freeze.adb: Add handling of Last_Assignment field

2006-10-31  Robert Dewar  <dewar@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* freeze.adb: Add handling of Last_Assignment field
(Warn_Overlay): Supply missing continuation marks in error msgs
(Freeze_Entity): Add check for Preelaborable_Initialization

* g-comlin.adb: Add Warnings (Off) to prevent new warning

* g-expect.adb: Add Warnings (Off) to prevent new warning

* lib-xref.adb: Add handling of Last_Assignment field
(Generate_Reference): Centralize handling of pragma Obsolescent here
(Generate_Reference): Accept an implicit reference generated for a
default in an instance.
(Generate_Reference): Accept a reference for a node that is not in the
main unit, if it is the generic body corresponding to an subprogram
instantiation.

* xref_lib.adb: Add pragma Warnings (Off) to avoid new warnings

        * sem_warn.ads, sem_warn.adb (Set_Warning_Switch): Add processing for
-gnatwq/Q.
(Warn_On_Useless_Assignment): Suppress warning if enclosing inner
exception handler.
(Output_Obsolescent_Entity_Warnings): Rewrite to avoid any messages on
use clauses, to avoid messages on packages used to qualify, and also
to avoid messages from obsolescent units.
(Warn_On_Useless_Assignments): Don't generate messages for imported
and exported variables.
(Warn_On_Useless_Assignments): New procedure
(Output_Obsolescent_Entity_Warnings): New procedure
(Check_Code_Statement): New procedure

        * einfo.ads, einfo.adb (Has_Static_Discriminants): New flag
Change name Is_Ada_2005 to Is_Ada_2005_Only
(Last_Assignment): New field for useless assignment warning

From-SVN: r118271
gcc/ada/freeze.adb
gcc/ada/g-comlin.adb
gcc/ada/g-expect.adb
gcc/ada/lib-xref.adb
gcc/ada/sem_warn.adb
gcc/ada/sem_warn.ads
gcc/ada/xref_lib.adb