This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r111090 - /trunk/gcc/ada/sem_ch10.adb
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 15 Feb 2006 09:44:10 -0000
- Subject: r111090 - /trunk/gcc/ada/sem_ch10.adb
Author: charlet
Date: Wed Feb 15 09:44:09 2006
New Revision: 111090
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111090
Log:
2006-02-13 Hristian Kirtchev <kirtchev@adacore.com>
Ed Schonberg <schonberg@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* sem_ch10.adb (Check_Redundant_Withs): New procedure in
Analyze_Compilation_Unit.
Detect and warn on redundant with clauses detected in a package spec
and/or body when -gnatwr is used.
(Analyze_Context): Analyze config pragmas before other items
(Install_Context_Items): Don't analyze config pragmas here
(Install_Limited_Withed_Unit): Set limited entity of package in
with_clause so that cross-reference information or warning messages on
unused packages can be properly generated
(Is_Visible_Through_Renamings): Return false if the limited_with_clause
has Error_Posted set. Prevent infinite loops in illegal programs.
(Check_Private_Child_Unit): Move test for a nonprivate with clause down
to the point of the error test requiring the current unit to be private.
This ensures that private with clauses are not exempted from the basic
checking for being a descendant of the same library unit parent as a
withed private descendant unit.
(Check_Private_Limited_Withed_Unit): Revise the checking algorithm to
handle private with clauses properly, as well as to account for cases
where the withed unit is a public descendant of a private ancestor
(in which case the current unit must be a descendant of the private
ancestor's parent). The spec comments were updated accordingly. Also,
the old error message in this subprogram was replaced with error
messages that mirror the errors tested and reported by
Check_Private_Child_Unit.
Parameter and variable names improved for readability.
(Install_Limited_Context_Clauses): Remove test for a withed unit being
private as the precondition for calling
Check_Private_Limited_Withed_Unit since that subprogram has been
revised to test public units as well as private units.
Modified:
trunk/gcc/ada/sem_ch10.adb