This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r149520 - in /trunk/gcc: ada/ChangeLog ada/chec...
- From: ebotcazou at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Sat, 11 Jul 2009 20:52:29 -0000
- Subject: r149520 - in /trunk/gcc: ada/ChangeLog ada/chec...
Author: ebotcazou
Date: Sat Jul 11 20:52:28 2009
New Revision: 149520
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149520
Log:
* checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
local variable and do not test it in Compile_Time_Bad_Alignment.
Do not issue size or alignment warnings for the X'Address form.
* sem_util.ads (Find_Overlaid_Object): Delete.
(Find_Overlaid_Entity): New procedure.
* sem_util.adb (Find_Overlaid_Object): Rename to...
(Find_Overlaid_Entity): ...this and turn into a procedure. Report
whether the address is offseted within the overlaid entity.
(Has_Compatible_Alignment): Track the offset globally instead of
passing it to Check_Offset. For an indexed component, compute the
full offset when possible. If the resulting offset is zero, only
check the prefix.
(Check_Offset): Delete.
* sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
(Address_Aliased_Entity): Delete.
(Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
Find_Overlaid_Entity to find the overlaid entity and the offset.
Adjust throughout for above change.
(Validate_Address_Clauses): Always use attributes of entities, not of
their type. Tweak message for warning. Call Has_Compatible_Alignment
if the address is offseted to warn about incompatible alignments.
* gcc-interface/gigi.h (annotate_object): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
entity. Call annotate_object instead of annotating manually objects.
(annotate_object): New function.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
at the end.
Added:
trunk/gcc/testsuite/gnat.dg/specs/addr1.ads
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/checks.adb
trunk/gcc/ada/gcc-interface/decl.c
trunk/gcc/ada/gcc-interface/gigi.h
trunk/gcc/ada/gcc-interface/trans.c
trunk/gcc/ada/sem_ch13.adb
trunk/gcc/ada/sem_util.adb
trunk/gcc/ada/sem_util.ads
trunk/gcc/testsuite/ChangeLog