mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-22 11:31:05 +08:00
[multiple changes]
2010-09-10 Robert Dewar <dewar@adacore.com> * gnat_ugn.texi: Add documentation for -gnatw.s/S * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Component_Size): Implement warning on overriden size clause. (Analyze_Record_Representation_Clause): Implement warning on overriden size clause. * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag (-gnatw.s/S). * ug_words: Add entries for -gnatw.s/S. * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S. * gcc-interface/Make-lang.in: Update dependencies. 2010-09-10 Vincent Celier <celier@adacore.com> * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend a package with the same name from an imported or extended project. * prj-proc.adb (Process_Declarative_Items): Process package extensions 2010-09-10 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on 'out' parameters. From-SVN: r164194
This commit is contained in:
parent
bedbdfcfb6
commit
b3f48fd4f6
@ -1,3 +1,27 @@
|
||||
2010-09-10 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* gnat_ugn.texi: Add documentation for -gnatw.s/S
|
||||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||||
Component_Size): Implement warning on overriden size clause.
|
||||
(Analyze_Record_Representation_Clause): Implement warning on overriden
|
||||
size clause.
|
||||
* sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
|
||||
(-gnatw.s/S).
|
||||
* ug_words: Add entries for -gnatw.s/S.
|
||||
* vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
|
||||
* gcc-interface/Make-lang.in: Update dependencies.
|
||||
|
||||
2010-09-10 Vincent Celier <celier@adacore.com>
|
||||
|
||||
* prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
|
||||
a package with the same name from an imported or extended project.
|
||||
* prj-proc.adb (Process_Declarative_Items): Process package extensions
|
||||
|
||||
2010-09-10 Bob Duff <duff@adacore.com>
|
||||
|
||||
* exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
|
||||
'out' parameters.
|
||||
|
||||
2010-09-10 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* sem.adb: Minor reformatting.
|
||||
|
@ -2330,17 +2330,22 @@ package body Exp_Ch6 is
|
||||
end if;
|
||||
|
||||
-- Perform the check of 4.6(49) that prevents a null value from being
|
||||
-- passed as an actual to an access parameter. Note that the check is
|
||||
-- elided in the common cases of passing an access attribute or
|
||||
-- passed as an actual to an access parameter. Note that the check
|
||||
-- is elided in the common cases of passing an access attribute or
|
||||
-- access parameter as an actual. Also, we currently don't enforce
|
||||
-- this check for expander-generated actuals and when -gnatdj is set.
|
||||
|
||||
if Ada_Version >= Ada_05 then
|
||||
|
||||
-- Ada 2005 (AI-231): Check null-excluding access types
|
||||
-- Ada 2005 (AI-231): Check null-excluding access types. Note that
|
||||
-- the intent of 6.4.1(13) is that null-exclusion checks should
|
||||
-- not be done for 'out' parameters, even though it refers only
|
||||
-- to constraint checks, and a null_exlusion is not a constraint.
|
||||
-- Note that AI05-0196-1 corrects this mistake in the RM.
|
||||
|
||||
if Is_Access_Type (Etype (Formal))
|
||||
and then Can_Never_Be_Null (Etype (Formal))
|
||||
and then Ekind (Formal) /= E_Out_Parameter
|
||||
and then Nkind (Prev) /= N_Raise_Constraint_Error
|
||||
and then (Known_Null (Prev)
|
||||
or else not Can_Never_Be_Null (Etype (Prev)))
|
||||
@ -2424,10 +2429,10 @@ package body Exp_Ch6 is
|
||||
-- since this is a left side reference. We only do this for calls
|
||||
-- from the source program since we assume that compiler generated
|
||||
-- calls explicitly generate any required checks. We also need it
|
||||
-- only if we are doing standard validity checks, since clearly it
|
||||
-- is not needed if validity checks are off, and in subscript
|
||||
-- validity checking mode, all indexed components are checked with
|
||||
-- a call directly from Expand_N_Indexed_Component.
|
||||
-- only if we are doing standard validity checks, since clearly it is
|
||||
-- not needed if validity checks are off, and in subscript validity
|
||||
-- checking mode, all indexed components are checked with a call
|
||||
-- directly from Expand_N_Indexed_Component.
|
||||
|
||||
if Comes_From_Source (N)
|
||||
and then Ekind (Formal) /= E_In_Parameter
|
||||
@ -2593,11 +2598,11 @@ package body Exp_Ch6 is
|
||||
|
||||
-- Deals with Dispatch_Call if we still have a call, before expanding
|
||||
-- extra actuals since this will be done on the re-analysis of the
|
||||
-- dispatching call. Note that we do not try to shorten the actual
|
||||
-- list for a dispatching call, it would not make sense to do so.
|
||||
-- Expansion of dispatching calls is suppressed when VM_Target, because
|
||||
-- the VM back-ends directly handle the generation of dispatching
|
||||
-- calls and would have to undo any expansion to an indirect call.
|
||||
-- dispatching call. Note that we do not try to shorten the actual list
|
||||
-- for a dispatching call, it would not make sense to do so. Expansion
|
||||
-- of dispatching calls is suppressed when VM_Target, because the VM
|
||||
-- back-ends directly handle the generation of dispatching calls and
|
||||
-- would have to undo any expansion to an indirect call.
|
||||
|
||||
if Nkind_In (N, N_Function_Call, N_Procedure_Call_Statement)
|
||||
and then Present (Controlling_Argument (N))
|
||||
@ -2605,8 +2610,8 @@ package body Exp_Ch6 is
|
||||
if Tagged_Type_Expansion then
|
||||
Expand_Dispatching_Call (N);
|
||||
|
||||
-- The following return is worrisome. Is it really OK to
|
||||
-- skip all remaining processing in this procedure ???
|
||||
-- The following return is worrisome. Is it really OK to skip all
|
||||
-- remaining processing in this procedure ???
|
||||
|
||||
return;
|
||||
|
||||
@ -2624,8 +2629,8 @@ package body Exp_Ch6 is
|
||||
|
||||
-- Similarly, expand calls to RCI subprograms on which pragma
|
||||
-- All_Calls_Remote applies. The rewriting will be reanalyzed
|
||||
-- later. Do this only when the call comes from source since we do
|
||||
-- not want such a rewriting to occur in expanded code.
|
||||
-- later. Do this only when the call comes from source since we
|
||||
-- do not want such a rewriting to occur in expanded code.
|
||||
|
||||
if Is_All_Remote_Call (N) then
|
||||
Expand_All_Calls_Remote_Subprogram_Call (N);
|
||||
@ -2650,15 +2655,15 @@ package body Exp_Ch6 is
|
||||
end loop;
|
||||
end if;
|
||||
|
||||
-- At this point we have all the actuals, so this is the point at
|
||||
-- which the various expansion activities for actuals is carried out.
|
||||
-- At this point we have all the actuals, so this is the point at which
|
||||
-- the various expansion activities for actuals is carried out.
|
||||
|
||||
Expand_Actuals (N, Subp);
|
||||
|
||||
-- If the subprogram is a renaming, or if it is inherited, replace it
|
||||
-- in the call with the name of the actual subprogram being called.
|
||||
-- If this is a dispatching call, the run-time decides what to call.
|
||||
-- The Alias attribute does not apply to entries.
|
||||
-- If the subprogram is a renaming, or if it is inherited, replace it in
|
||||
-- the call with the name of the actual subprogram being called. If this
|
||||
-- is a dispatching call, the run-time decides what to call. The Alias
|
||||
-- attribute does not apply to entries.
|
||||
|
||||
if Nkind (N) /= N_Entry_Call_Statement
|
||||
and then No (Controlling_Argument (N))
|
||||
@ -2827,10 +2832,10 @@ package body Exp_Ch6 is
|
||||
if Is_Access_Protected_Subprogram_Type
|
||||
(Base_Type (Etype (Prefix (Name (N)))))
|
||||
then
|
||||
-- If this is a call through an access to protected operation,
|
||||
-- the prefix has the form (object'address, operation'access).
|
||||
-- Rewrite as a for other protected calls: the object is the
|
||||
-- first parameter of the list of actuals.
|
||||
-- If this is a call through an access to protected operation, the
|
||||
-- prefix has the form (object'address, operation'access). Rewrite
|
||||
-- as a for other protected calls: the object is the 1st parameter
|
||||
-- of the list of actuals.
|
||||
|
||||
declare
|
||||
Call : Node_Id;
|
||||
@ -2905,11 +2910,11 @@ package body Exp_Ch6 is
|
||||
|
||||
-- In the case where the intrinsic is to be processed by the back end,
|
||||
-- the call to Expand_Intrinsic_Call will do nothing, which is fine,
|
||||
-- since the idea in this case is to pass the call unchanged.
|
||||
-- If the intrinsic is an inherited unchecked conversion, and the
|
||||
-- derived type is the target type of the conversion, we must retain
|
||||
-- it as the return type of the expression. Otherwise the expansion
|
||||
-- below, which uses the parent operation, will yield the wrong type.
|
||||
-- since the idea in this case is to pass the call unchanged. If the
|
||||
-- intrinsic is an inherited unchecked conversion, and the derived type
|
||||
-- is the target type of the conversion, we must retain it as the return
|
||||
-- type of the expression. Otherwise the expansion below, which uses the
|
||||
-- parent operation, will yield the wrong type.
|
||||
|
||||
if Is_Intrinsic_Subprogram (Subp) then
|
||||
Expand_Intrinsic_Call (N, Subp);
|
||||
|
@ -2431,18 +2431,18 @@ ada/freeze.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads ada/sem_intr.ads \
|
||||
ada/sem_mech.ads ada/sem_prag.ads ada/sem_res.ads ada/sem_res.adb \
|
||||
ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-exctab.adb ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
|
||||
ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
|
||||
ada/widechar.ads
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
|
||||
ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
|
||||
ada/styleg.ads ada/styleg.adb ada/stylesw.ads ada/system.ads \
|
||||
ada/s-crc32.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
|
||||
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
|
||||
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
|
||||
ada/urealp.ads ada/validsw.ads ada/widechar.ads
|
||||
|
||||
ada/frontend.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3307,19 +3307,20 @@ ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
|
||||
ada/sem_elim.ads ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads \
|
||||
ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads \
|
||||
ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
|
||||
ada/sinput.ads ada/sinput.adb ada/snames.ads ada/snames.adb \
|
||||
ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-exctab.adb ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypef.ads ada/ttypes.ads ada/types.ads ada/types.adb ada/uintp.ads \
|
||||
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
|
||||
ada/urealp.ads ada/urealp.adb ada/validsw.ads ada/widechar.ads
|
||||
ada/sinfo-cn.ads ada/sinput.ads ada/sinput.adb ada/snames.ads \
|
||||
ada/snames.adb ada/sprint.ads ada/stand.ads ada/stringt.ads \
|
||||
ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-carun8.ads ada/s-crc32.ads \
|
||||
ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imenne.ads \
|
||||
ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
|
||||
ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
|
||||
ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads \
|
||||
ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads \
|
||||
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
|
||||
ada/tree_io.ads ada/ttypef.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
|
||||
ada/validsw.ads ada/widechar.ads
|
||||
|
||||
ada/sem_aux.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3558,17 +3559,18 @@ ada/sem_ch4.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_dist.ads ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads \
|
||||
ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb \
|
||||
ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
|
||||
ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
|
||||
ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
|
||||
ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
|
||||
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
|
||||
|
||||
ada/sem_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3591,18 +3593,18 @@ ada/sem_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads ada/sem_eval.adb \
|
||||
ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads \
|
||||
ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sem_warn.adb \
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
|
||||
ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
|
||||
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
|
||||
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
|
||||
ada/urealp.ads ada/validsw.ads ada/widechar.ads
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
|
||||
ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
|
||||
ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
|
||||
ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads
|
||||
|
||||
ada/sem_ch6.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3721,18 +3723,19 @@ ada/sem_ch9.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_ch9.adb ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
|
||||
ada/sem_elim.ads ada/sem_eval.ads ada/sem_intr.ads ada/sem_res.ads \
|
||||
ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/sinput.adb ada/snames.ads ada/sprint.ads ada/stand.ads \
|
||||
ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
|
||||
ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads \
|
||||
ada/sinput.ads ada/sinput.adb ada/snames.ads ada/sprint.ads \
|
||||
ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
|
||||
ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
|
||||
ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
|
||||
ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
|
||||
ada/widechar.ads
|
||||
|
||||
ada/sem_disp.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3847,18 +3850,19 @@ ada/sem_eval.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads ada/sem_elim.ads \
|
||||
ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads \
|
||||
ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
|
||||
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
|
||||
ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads \
|
||||
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
|
||||
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
|
||||
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads
|
||||
ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads \
|
||||
ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
|
||||
ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
|
||||
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
|
||||
ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
|
||||
ada/widechar.ads
|
||||
|
||||
ada/sem_intr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -3954,19 +3958,19 @@ ada/sem_res.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads ada/sem_eval.adb \
|
||||
ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads \
|
||||
ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
|
||||
ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
|
||||
ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads \
|
||||
ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
|
||||
ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
|
||||
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
|
||||
ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
|
||||
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
|
||||
ada/validsw.ads ada/widechar.ads
|
||||
ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads ada/sinput.adb \
|
||||
ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
|
||||
ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
|
||||
ada/stylesw.ads ada/system.ads ada/s-carun8.ads ada/s-crc32.ads \
|
||||
ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
|
||||
ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
|
||||
ada/ttypes.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
|
||||
ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
|
||||
ada/urealp.adb ada/validsw.ads ada/widechar.ads
|
||||
|
||||
ada/sem_scil.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
@ -4142,19 +4146,19 @@ ada/sinput-l.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
|
||||
ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/fname.ads \
|
||||
ada/gnat.ads ada/g-dyntab.ads ada/g-dyntab.adb ada/g-hesorg.ads \
|
||||
ada/hostparm.ads ada/interfac.ads ada/namet.ads ada/nlists.ads \
|
||||
ada/nlists.adb ada/opt.ads ada/osint.ads ada/output.ads ada/prep.ads \
|
||||
ada/prepcomp.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
|
||||
ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput-l.ads \
|
||||
ada/sinput-l.adb ada/snames.ads ada/stringt.ads ada/style.ads \
|
||||
ada/styleg.ads ada/styleg.adb ada/stylesw.ads ada/system.ads \
|
||||
ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-imenne.ads \
|
||||
ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-soflin.ads \
|
||||
ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
|
||||
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-utf_32.ads \
|
||||
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
|
||||
ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
|
||||
ada/urealp.ads ada/widechar.ads
|
||||
ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/namet.ads \
|
||||
ada/nlists.ads ada/nlists.adb ada/opt.ads ada/osint.ads ada/output.ads \
|
||||
ada/prep.ads ada/prepcomp.ads ada/scans.ads ada/scn.ads ada/scng.ads \
|
||||
ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
|
||||
ada/sinput-l.ads ada/sinput-l.adb ada/snames.ads ada/stringt.ads \
|
||||
ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
|
||||
ada/system.ads ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads \
|
||||
ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
|
||||
ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
|
||||
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
|
||||
ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
|
||||
ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
|
||||
ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
|
||||
|
||||
ada/sinput.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
|
||||
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
|
||||
|
@ -5582,6 +5582,25 @@ To suppress these back end warnings as well, use the switch @option{-w}
|
||||
in addition to @option{-gnatws}. Also this switch has no effect on the
|
||||
handling of style check messages.
|
||||
|
||||
@item -gnatw.s
|
||||
@emph{Activate warnings on overridden size clauses.}
|
||||
@cindex @option{-gnatw.s} (@command{gcc})
|
||||
@cindex Record Representation (component sizes)
|
||||
This switch activates warnings on component clauses in record
|
||||
representation clauses where the length given overrides that
|
||||
specified by an explicit size clause for the component type. A
|
||||
warning is similarly given in the array case if a specified
|
||||
component size overrides an explicit size clause for the array
|
||||
component type.
|
||||
Note that @option{-gnatwa} does not affect the setting of this warning option.
|
||||
|
||||
@item -gnatw.S
|
||||
@emph{Suppress warnings on overriddebn size clauses.}
|
||||
@cindex @option{-gnatw.S} (@command{gcc})
|
||||
This switch suppresses warnings on component clauses in record
|
||||
representation clauses that override size clauses, and similar
|
||||
warnings when an array component size overrides a size clause.
|
||||
|
||||
@item -gnatwt
|
||||
@emph{Activate warnings for tracking of deleted conditional code.}
|
||||
@cindex @option{-gnatwt} (@command{gcc})
|
||||
|
@ -1027,8 +1027,9 @@ package body Prj.Dect is
|
||||
First_Attribute : Attribute_Node_Id := Empty_Attribute;
|
||||
Current_Package : Package_Node_Id := Empty_Package;
|
||||
First_Declarative_Item : Project_Node_Id := Empty_Node;
|
||||
|
||||
Package_Location : constant Source_Ptr := Token_Ptr;
|
||||
Renaming : Boolean := False;
|
||||
Extending : Boolean := False;
|
||||
|
||||
begin
|
||||
Package_Declaration :=
|
||||
@ -1149,13 +1150,20 @@ package body Prj.Dect is
|
||||
end if;
|
||||
|
||||
if Token = Tok_Renames then
|
||||
Renaming := True;
|
||||
elsif Token = Tok_Extends then
|
||||
Extending := True;
|
||||
end if;
|
||||
|
||||
if Renaming or else Extending then
|
||||
if Is_Config_File then
|
||||
Error_Msg
|
||||
(Flags,
|
||||
"no package renames in configuration projects", Token_Ptr);
|
||||
"no package rename or extension in configuration projects",
|
||||
Token_Ptr);
|
||||
end if;
|
||||
|
||||
-- Scan past "renames"
|
||||
-- Scan past "renames" or "extends"
|
||||
|
||||
Scan (In_Tree);
|
||||
|
||||
@ -1249,7 +1257,9 @@ package body Prj.Dect is
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
|
||||
if Renaming then
|
||||
Expect (Tok_Semicolon, "`;`");
|
||||
Set_End_Of_Line (Package_Declaration);
|
||||
Set_Previous_Line_Node (Package_Declaration);
|
||||
@ -1305,7 +1315,7 @@ package body Prj.Dect is
|
||||
Remove_Next_End_Node;
|
||||
|
||||
else
|
||||
Error_Msg (Flags, "expected IS or RENAMES", Token_Ptr);
|
||||
Error_Msg (Flags, "expected IS", Token_Ptr);
|
||||
end if;
|
||||
|
||||
end Parse_Package_Declaration;
|
||||
|
@ -1428,7 +1428,7 @@ package body Prj.Proc is
|
||||
|
||||
if Present (Project_Of_Renamed_Package) then
|
||||
|
||||
-- Renamed package
|
||||
-- Renamed or extending package
|
||||
|
||||
declare
|
||||
Project_Name : constant Name_Id :=
|
||||
@ -1466,8 +1466,6 @@ package body Prj.Proc is
|
||||
In_Tree => In_Tree);
|
||||
end;
|
||||
|
||||
-- Standard package declaration, not renaming
|
||||
|
||||
else
|
||||
-- Set the default values of the attributes
|
||||
|
||||
@ -1482,19 +1480,22 @@ package body Prj.Proc is
|
||||
(Current_Item, From_Project_Node_Tree)),
|
||||
Project_Level => False);
|
||||
|
||||
-- And process declarative items of the new package
|
||||
|
||||
Process_Declarative_Items
|
||||
(Project => Project,
|
||||
In_Tree => In_Tree,
|
||||
Flags => Flags,
|
||||
From_Project_Node => From_Project_Node,
|
||||
From_Project_Node_Tree => From_Project_Node_Tree,
|
||||
Pkg => New_Pkg,
|
||||
Item =>
|
||||
First_Declarative_Item_Of
|
||||
(Current_Item, From_Project_Node_Tree));
|
||||
end if;
|
||||
|
||||
-- Process declarative items (nothing to do when the
|
||||
-- package is renaming, as the first declarative item is
|
||||
-- null).
|
||||
|
||||
Process_Declarative_Items
|
||||
(Project => Project,
|
||||
In_Tree => In_Tree,
|
||||
Flags => Flags,
|
||||
From_Project_Node => From_Project_Node,
|
||||
From_Project_Node_Tree => From_Project_Node_Tree,
|
||||
Pkg => New_Pkg,
|
||||
Item =>
|
||||
First_Declarative_Item_Of
|
||||
(Current_Item, From_Project_Node_Tree));
|
||||
end;
|
||||
end if;
|
||||
|
||||
|
@ -1283,6 +1283,7 @@ package body Sem_Ch13 is
|
||||
|
||||
when Attribute_Component_Size => Component_Size_Case : declare
|
||||
Csize : constant Uint := Static_Integer (Expr);
|
||||
Ctyp : Entity_Id;
|
||||
Btype : Entity_Id;
|
||||
Biased : Boolean;
|
||||
New_Ctyp : Entity_Id;
|
||||
@ -1295,13 +1296,14 @@ package body Sem_Ch13 is
|
||||
end if;
|
||||
|
||||
Btype := Base_Type (U_Ent);
|
||||
Ctyp := Component_Type (Btype);
|
||||
|
||||
if Has_Component_Size_Clause (Btype) then
|
||||
Error_Msg_N
|
||||
("component size clause for& previously given", Nam);
|
||||
|
||||
elsif Csize /= No_Uint then
|
||||
Check_Size (Expr, Component_Type (Btype), Csize, Biased);
|
||||
Check_Size (Expr, Ctyp, Csize, Biased);
|
||||
|
||||
if Has_Aliased_Components (Btype)
|
||||
and then Csize < 32
|
||||
@ -1367,6 +1369,17 @@ package body Sem_Ch13 is
|
||||
end if;
|
||||
end if;
|
||||
|
||||
-- Deal with warning on overridden size
|
||||
|
||||
if Warn_On_Overridden_Size
|
||||
and then Has_Size_Clause (Ctyp)
|
||||
and then RM_Size (Ctyp) /= Csize
|
||||
then
|
||||
Error_Msg_NE
|
||||
("?component size overrides size clause for&",
|
||||
N, Ctyp);
|
||||
end if;
|
||||
|
||||
Set_Has_Component_Size_Clause (Btype, True);
|
||||
Set_Has_Non_Standard_Rep (Btype, True);
|
||||
end if;
|
||||
@ -2749,6 +2762,15 @@ package body Sem_Ch13 is
|
||||
Set_Normalized_First_Bit (Comp, Fbit mod SSU);
|
||||
Set_Normalized_Position (Comp, Fbit / SSU);
|
||||
|
||||
if Warn_On_Overridden_Size
|
||||
and then Has_Size_Clause (Etype (Comp))
|
||||
and then RM_Size (Etype (Comp)) /= Esize (Comp)
|
||||
then
|
||||
Error_Msg_NE
|
||||
("?component size overrides size clause for&",
|
||||
Component_Name (CC), Etype (Comp));
|
||||
end if;
|
||||
|
||||
-- This information is also set in the corresponding
|
||||
-- component of the base type, found by accessing the
|
||||
-- Original_Record_Component link if it is present.
|
||||
|
@ -3085,6 +3085,7 @@ package body Sem_Warn is
|
||||
Warn_On_Object_Renames_Function := True;
|
||||
Warn_On_Obsolescent_Feature := True;
|
||||
Warn_On_Overlap := True;
|
||||
Warn_On_Overridden_Size := True;
|
||||
Warn_On_Parameter_Order := True;
|
||||
Warn_On_Questionable_Missing_Parens := True;
|
||||
Warn_On_Record_Holes := True;
|
||||
@ -3135,6 +3136,12 @@ package body Sem_Warn is
|
||||
when 'R' =>
|
||||
Warn_On_Object_Renames_Function := False;
|
||||
|
||||
when 's' =>
|
||||
Warn_On_Overridden_Size := True;
|
||||
|
||||
when 'S' =>
|
||||
Warn_On_Overridden_Size := False;
|
||||
|
||||
when 'u' =>
|
||||
Warn_On_Unordered_Enumeration_Type := True;
|
||||
|
||||
@ -3268,6 +3275,7 @@ package body Sem_Warn is
|
||||
Warn_On_Object_Renames_Function := False;
|
||||
Warn_On_Obsolescent_Feature := False;
|
||||
Warn_On_Overlap := False;
|
||||
Warn_On_Overridden_Size := False;
|
||||
Warn_On_Parameter_Order := False;
|
||||
Warn_On_Record_Holes := False;
|
||||
Warn_On_Questionable_Missing_Parens := False;
|
||||
|
@ -47,6 +47,12 @@ package Sem_Warn is
|
||||
-- Warn when explicit record component clauses leave uncovered holes (gaps)
|
||||
-- in a record layout. Off by default, set by -gnatw.h (but not -gnatwa).
|
||||
|
||||
Warn_On_Overridden_Size : Boolean := False;
|
||||
-- Warn when explicit record component clause or array component_size
|
||||
-- clause specifies a size that overrides a size for the typen which was
|
||||
-- set with an explicit size clause. Off by default, set by -gnatw.sn (but
|
||||
-- not -gnatwa).
|
||||
|
||||
------------------------
|
||||
-- Warnings Off Table --
|
||||
------------------------
|
||||
|
@ -161,6 +161,8 @@ gcc -c ^ GNAT COMPILE
|
||||
-gnatwP ^ /WARNINGS=NOINEFFECTIVE_INLINE
|
||||
-gnatw.p ^ /WARNINGS=PARAMETER_ORDER
|
||||
-gnatw.P ^ /WARNINGS=NO_PARAMETER_ORDER
|
||||
-gnatw.h ^ /WARNINGS=OVERRIDING_SIZE
|
||||
-gnatw.H ^ /WARNINGS=NOOVERRIDING_SIZE
|
||||
-gnatwq ^ /WARNINGS=MISSING_PARENS
|
||||
-gnatwQ ^ /WARNINGS=NOMISSING_PARENS
|
||||
-gnatwr ^ /WARNINGS=REDUNDANT
|
||||
|
@ -468,6 +468,8 @@ begin
|
||||
Write_Line (" .r+ turn on warnings for object renaming function");
|
||||
Write_Line (" .R* turn off warnings for object renaming function");
|
||||
Write_Line (" s suppress all info/warnings");
|
||||
Write_Line (" .s turn on warnings for overridden size clause");
|
||||
Write_Line (" .S* turn off warnings for overridden size clause");
|
||||
Write_Line (" t turn on warnings for tracking deleted code");
|
||||
Write_Line (" T* turn off warnings for tracking deleted code");
|
||||
Write_Line (" u+ turn on warnings for unused entity");
|
||||
|
@ -3011,6 +3011,10 @@ package VMS_Data is
|
||||
"-gnatw.R " &
|
||||
"SUPPRESS " &
|
||||
"-gnatws " &
|
||||
"OVERRIDING_SIZE " &
|
||||
"-gnatw.s " &
|
||||
"NOOVERRIDING_SIZE " &
|
||||
"-gnatw.S " &
|
||||
"DELETED_CODE " &
|
||||
"-gnatwt " &
|
||||
"NODELETED_CODE " &
|
||||
|
Loading…
x
Reference in New Issue
Block a user