|
|
|
@ -1,3 +1,331 @@
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* exp_ch11.adb (Expand_N_Exception_Declaration): Sync comment
|
|
|
|
|
with declaration in System.Standard_Library.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Marc Poulhiès <poulhies@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnat/s-secsta.adb (Has_Enough_Free_Memory): Check for full
|
|
|
|
|
chunk before computing the available size.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Steve Baird <baird@adacore.com>
|
|
|
|
|
|
|
|
|
|
* exp_ch4.adb (Expand_Nonbinary_Modular_Op.Expand_Modular_Op):
|
|
|
|
|
Reimplement choice of which predefined type to use for the
|
|
|
|
|
implementation of a predefined operation of a modular type with
|
|
|
|
|
a non-power-of-two modulus.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Justin Squirek <squirek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* einfo.ads: Modify documentation for In_Use flag to include
|
|
|
|
|
scope stack manipulation.
|
|
|
|
|
* sem_ch8.adb (Use_One_Type): Add condition to return when
|
|
|
|
|
attempting to detect redundant use_type_clauses in child units
|
|
|
|
|
in certain cases.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* restrict.ads (type ND_Entry): Add System_Child component.
|
|
|
|
|
(Check_Restriction_No_Dependence_On_System): Declare.
|
|
|
|
|
* restrict.adb (Global_Restriction_No_Tasking): Move around.
|
|
|
|
|
(Violation_Of_No_Dependence): New procedure.
|
|
|
|
|
(Check_Restriction_No_Dependence): Call Violation_Of_No_Dependence
|
|
|
|
|
to report a violation.
|
|
|
|
|
(Check_Restriction_No_Dependence_On_System): New procedure.
|
|
|
|
|
(Set_Restriction_No_Dependenc): Set System_Child component if the
|
|
|
|
|
unit is a child of System.
|
|
|
|
|
* snames.ads-tmpl (Name_Arith_64): New package name.
|
|
|
|
|
(Name_Arith_128): Likewise.
|
|
|
|
|
(Name_Memory): Likewise.
|
|
|
|
|
(Name_Stack_Checking): Likewise.
|
|
|
|
|
* fe.h (Check_Restriction_No_Dependence_On_System): Declare.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* par.adb (P_Declarative_Items): New function to parse a
|
|
|
|
|
sequence of declarative items.
|
|
|
|
|
(P_Sequence_Of_Statements): Add Handled flag, to indicate
|
|
|
|
|
whether to wrap the result in a block statement.
|
|
|
|
|
* par-ch3.adb (P_Declarative_Item): Rename P_Declarative_Items
|
|
|
|
|
to be P_Declarative_Item, because it really only parses a single
|
|
|
|
|
declarative item, and to avoid conflict with the new
|
|
|
|
|
P_Declarative_Items. Add In_Statements. We keep the old
|
|
|
|
|
error-recovery mechanisms in place when In_Statements is False.
|
|
|
|
|
When True, we don't want to complain about statements, because
|
|
|
|
|
we are parsing a sequence of statements.
|
|
|
|
|
(P_Identifier_Declarations): If In_Statements, and we see what
|
|
|
|
|
looks like a statement, we no longer give an error. We return to
|
|
|
|
|
P_Sequence_Of_Statements with Done = True, so it can parse the
|
|
|
|
|
statement.
|
|
|
|
|
* par-ch5.adb (P_Sequence_Of_Statements): Call
|
|
|
|
|
P_Declarative_Items to parse declarative items that appear in
|
|
|
|
|
the statement list. Remove error handling code that complained
|
|
|
|
|
about such items. Check some errors conservatively. Wrap the
|
|
|
|
|
result in a block statement when necessary.
|
|
|
|
|
* par-ch11.adb (P_Handled_Sequence_Of_Statements): Pass
|
|
|
|
|
Handled => True to P_Sequence_Of_Statements.
|
|
|
|
|
* types.ads (No, Present): New functions for querying
|
|
|
|
|
Source_Ptrs (equal, not equal No_Location).
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
|
|
|
|
Fix range of iteration.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
|
|
|
|
|
Do not process expression of unknown restrictions.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Vasiliy Fofanov <fofanov@adacore.com>
|
|
|
|
|
|
|
|
|
|
* makeusg.adb,
|
|
|
|
|
doc/gnat_ugn/building_executable_programs_with_gnat.rst: Move -P
|
|
|
|
|
to the top of switches list and make it clear that gnatmake
|
|
|
|
|
passes the ball to gprbuild if -P is set.
|
|
|
|
|
* gnat_ugn.texi: Regenerate.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnat/g-socthi__vxworks.adb (C_Connect): Suppress new warning.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_attr.adb (Set_Boolean_Result): Simplify using
|
|
|
|
|
Boolean_Literals.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Yannick Moy <moy@adacore.com>
|
|
|
|
|
|
|
|
|
|
* errout.adb (Record_Compilation_Errors): Remove global
|
|
|
|
|
variable.
|
|
|
|
|
(Compilation_Errors): Simplify.
|
|
|
|
|
(Initialize): Inline Reset_Warnings.
|
|
|
|
|
(Reset_Warnings): Remove.
|
|
|
|
|
* errout.ads (Reset_Warnings): Remove.
|
|
|
|
|
(Compilation_Errors): Update comment.
|
|
|
|
|
* gnat1drv.adb (Adjust_Global_Switches): Ignore all frontend
|
|
|
|
|
warnings in GNATprove mode, except regarding elaboration and
|
|
|
|
|
suspicious contracts.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_util.adb (Caller_Known_Size_Record): Make entry assertion
|
|
|
|
|
more robust and add guard for null argument. For protected
|
|
|
|
|
types, invoke Caller_Known_Size_Record on
|
|
|
|
|
Corresponding_Record_Type.
|
|
|
|
|
(Needs_Secondary_Stack): Likewise.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Doug Rupp <rupp@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnat/system-vxworks7-ppc-rtp.ads: Remove
|
|
|
|
|
* libgnat/system-vxworks7-x86-rtp.ads: Likewise.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_ch12.adb (Analyze_Package_Instantiation): Remove dubious
|
|
|
|
|
call to Set_Comes_From_Source.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_ch5.adb (Check_Unreachable_Code): Refine heuristics.
|
|
|
|
|
* sem_util.ads, sem_util.adb (Is_Static_Constant_Name): Remove
|
|
|
|
|
this; instead we have a new function Is_Simple_Case in
|
|
|
|
|
Sem_Ch5.Check_Unreachable_Code.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* gnatls.adb (Output_License_Information): Remove pragma
|
|
|
|
|
No_Return; call sites deal with Exit_Program.
|
|
|
|
|
* libgnat/g-socthi.adb (C_Connect): Suppress warning about
|
|
|
|
|
unreachable code.
|
|
|
|
|
* sem_ch5.adb (Check_Unreachable_Code): Special-case if
|
|
|
|
|
statements with static conditions. If we remove unreachable
|
|
|
|
|
code (including the return statement) from a function, add
|
|
|
|
|
"raise Program_Error", so we won't warn about missing returns.
|
|
|
|
|
Remove Original_Node in test for N_Raise_Statement; it's not
|
|
|
|
|
needed. Remove test for CodePeer_Mode; if Operating_Mode =
|
|
|
|
|
Generate_Code, then CodePeer_Mode can't be True. Misc cleanup.
|
|
|
|
|
Do not reuse Nxt variable for unrelated purpose (the usage in
|
|
|
|
|
the Kill_Dead_Code loop is entirely local to the loop).
|
|
|
|
|
* sem_ch6.adb: Add check for Is_Transfer. Misc cleanup.
|
|
|
|
|
* sem_prag.adb: Minor.
|
|
|
|
|
* sem_res.adb: Minor.
|
|
|
|
|
* sem_util.adb: Minor cleanup.
|
|
|
|
|
(Is_Trivial_Boolean): Move to nonnested place, so it can be
|
|
|
|
|
called from elsewhere.
|
|
|
|
|
(Is_Static_Constant_Boolean): New function.
|
|
|
|
|
* sem_util.ads (Is_Trivial_Boolean): Export.
|
|
|
|
|
(Is_Static_Constant_Boolean): New function.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnat/s-stchop.ads: Use a double underscore prefix for symbols.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Ed Schonberg <schonberg@adacore.com>
|
|
|
|
|
|
|
|
|
|
* freeze.adb (Check_Expression_Function.Find_Constant): Add a
|
|
|
|
|
check that a type that is referenced as the prefix of an
|
|
|
|
|
attribute is fully declared.
|
|
|
|
|
(Freeze_And_Append): Do not freeze the profile when freezing an
|
|
|
|
|
expression function.
|
|
|
|
|
(Freeze_Entity): When a tagged type is frozen, also freeze any
|
|
|
|
|
primitive operations of the type that are expression functions.
|
|
|
|
|
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not prevent
|
|
|
|
|
freezing associated with an expression function body if the
|
|
|
|
|
function is a dispatching op.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_ch7.adb (Analyze_Package_Declaration): Check references to
|
|
|
|
|
unset objects.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_ch13.adb (Analyze_Aspect_Yield): Look at the entity kind,
|
|
|
|
|
not at the declaration kind.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Joffrey Huguet <huguet@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnarl/a-reatim.ads, libgnat/a-cfdlli.ads,
|
|
|
|
|
libgnat/a-cfhama.ads, libgnat/a-cfhase.ads,
|
|
|
|
|
libgnat/a-cfinse.ads, libgnat/a-cfinve.ads,
|
|
|
|
|
libgnat/a-cforma.ads, libgnat/a-cforse.ads,
|
|
|
|
|
libgnat/a-chahan.ads, libgnat/a-cofove.ads,
|
|
|
|
|
libgnat/a-cofuma.ads, libgnat/a-cofuse.ads,
|
|
|
|
|
libgnat/a-cofuve.ads, libgnat/a-nbnbin.ads,
|
|
|
|
|
libgnat/a-nbnbre.ads, libgnat/a-ngelfu.ads,
|
|
|
|
|
libgnat/a-nlelfu.ads, libgnat/a-nllefu.ads,
|
|
|
|
|
libgnat/a-nselfu.ads, libgnat/a-nuelfu.ads,
|
|
|
|
|
libgnat/a-strbou.ads, libgnat/a-strfix.ads,
|
|
|
|
|
libgnat/a-strmap.ads, libgnat/a-strunb.ads,
|
|
|
|
|
libgnat/a-strunb__shared.ads, libgnat/a-strsea.ads,
|
|
|
|
|
libgnat/a-textio.ads, libgnat/a-tideio.ads,
|
|
|
|
|
libgnat/a-tienio.ads, libgnat/a-tifiio.ads,
|
|
|
|
|
libgnat/a-tiflio.ads, libgnat/a-tiinio.ads,
|
|
|
|
|
libgnat/a-timoio.ads, libgnat/i-c.ads, libgnat/interfac.ads,
|
|
|
|
|
libgnat/interfac__2020.ads, libgnat/s-atacco.ads,
|
|
|
|
|
libgnat/s-stoele.ads: Annotate packages and subprograms with
|
|
|
|
|
returning annotations.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* rtsfind.ads (RE_Id): Remove RE_Str_Concat_Bounds_N values.
|
|
|
|
|
(RE_Unit_Table): Remove RE_Str_Concat_Bounds_N entries.
|
|
|
|
|
* libgnat/s-conca2.ads (Str_Concat_2): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_2): Delete.
|
|
|
|
|
* libgnat/s-conca2.adb (Str_Concat_2): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_2): Delete.
|
|
|
|
|
* libgnat/s-conca3.ads (Str_Concat_3): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_3): Delete.
|
|
|
|
|
* libgnat/s-conca3.adb (Str_Concat_3): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_3): Delete.
|
|
|
|
|
* libgnat/s-conca4.ads (Str_Concat_4): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_4): Delete.
|
|
|
|
|
* libgnat/s-conca4.adb (Str_Concat_4): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_4): Delete.
|
|
|
|
|
* libgnat/s-conca5.ads (Str_Concat_5): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_5): Delete.
|
|
|
|
|
* libgnat/s-conca5.adb (Str_Concat_5): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_5): Delete.
|
|
|
|
|
* libgnat/s-conca6.ads (Str_Concat_6): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_6): Delete.
|
|
|
|
|
* libgnat/s-conca6.adb (Str_Concat_6): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_6): Delete.
|
|
|
|
|
* libgnat/s-conca7.ads (Str_Concat_7): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_7): Delete.
|
|
|
|
|
* libgnat/s-conca7.adb (Str_Concat_7): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_7): Delete.
|
|
|
|
|
* libgnat/s-conca8.ads (Str_Concat_8): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_8): Delete.
|
|
|
|
|
* libgnat/s-conca8.adb (Str_Concat_8): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_8): Delete.
|
|
|
|
|
* libgnat/s-conca9.ads (Str_Concat_9): Adjust head comment.
|
|
|
|
|
(Str_Concat_Bounds_9): Delete.
|
|
|
|
|
* libgnat/s-conca9.adb (Str_Concat_9): Use the length of the last
|
|
|
|
|
input to size the last assignment.
|
|
|
|
|
(Str_Concat_Bounds_9): Delete.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Use _Next and
|
|
|
|
|
_Previous in the optimized expansion of "for ... of". No longer
|
|
|
|
|
need to check parameter profiles for these, because the
|
|
|
|
|
leading-underscore names are unique.
|
|
|
|
|
* libgnat/a-convec.ads (_Next, _Previous): Renamings of Next and
|
|
|
|
|
Previous, to avoid namespace pollution.
|
|
|
|
|
* libgnat/a-cbdlli.ads, libgnat/a-cbhama.ads,
|
|
|
|
|
libgnat/a-cbhase.ads, libgnat/a-cbmutr.ads,
|
|
|
|
|
libgnat/a-cborma.ads, libgnat/a-cborse.ads,
|
|
|
|
|
libgnat/a-cdlili.ads, libgnat/a-cidlli.ads,
|
|
|
|
|
libgnat/a-cihama.ads, libgnat/a-cihase.ads,
|
|
|
|
|
libgnat/a-cimutr.ads, libgnat/a-ciorma.ads,
|
|
|
|
|
libgnat/a-ciorse.ads, libgnat/a-cobove.ads,
|
|
|
|
|
libgnat/a-cohama.ads, libgnat/a-cohase.ads,
|
|
|
|
|
libgnat/a-coinve.ads, libgnat/a-comutr.ads,
|
|
|
|
|
libgnat/a-coorma.ads, libgnat/a-coorse.ads: Likewise. Also,
|
|
|
|
|
remove duplicated comments -- refer to one comment about _Next,
|
|
|
|
|
_Previous, Pseudo_Reference in libgnat/a-convec.ads. DRY.
|
|
|
|
|
* scng.adb (Scan): Allow leading underscores in identifiers in
|
|
|
|
|
the run-time library.
|
|
|
|
|
* snames.ads-tmpl (Name_uNext, Name_uPrevious): New names with
|
|
|
|
|
leading underscores.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_ch5.adb (Check_Unreachable_Code): Extend suppression to
|
|
|
|
|
calls with No_Return aspect, but narrow it to functions.
|
|
|
|
|
* sem_res.adb (Resolve_Call): Warn about unreachable code after
|
|
|
|
|
calls with No_Return.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* scans.ads: Fix obsolete comments about Tok_Special, and give
|
|
|
|
|
Special_Character a predicate assuring it is one of the two
|
|
|
|
|
characters used in preprocessing.
|
|
|
|
|
* scng.ads: Clean up comments.
|
|
|
|
|
* scng.adb: Clean up handling of Tok_Special. Remove comment
|
|
|
|
|
about '@' (target_name), which doesn't seem very helpful.
|
|
|
|
|
Set_Special_Character will now blow up if given anything other
|
|
|
|
|
than '#' and '$', because of the predicate on Special_Character;
|
|
|
|
|
it's not clear why it used to say "when others => null;".
|
|
|
|
|
Remove Comment_Is_Token, which is not used.
|
|
|
|
|
* scn.ads: Remove commented-out use clause. Remove redundant
|
|
|
|
|
comment.
|
|
|
|
|
* ali-util.adb: Use "is null" for do-nothing procedures.
|
|
|
|
|
* gprep.adb (Post_Scan): Use "is null".
|
|
|
|
|
|
|
|
|
|
2022-07-12 Bob Duff <duff@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnarl/s-solita.adb (Task_Termination_Handler_T): Ignore all
|
|
|
|
|
exceptions propagated by Specific_Handler.
|
|
|
|
|
* libgnarl/s-tassta.adb, libgnarl/s-taskin.ads: Minor.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Marc Poulhiès <poulhies@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem.adb (Preanalyze): Suppress checks when not in GNATprove
|
|
|
|
|
mode.
|
|
|
|
|
* sem_res.adb (Preanalyze_And_Resolve): Add cross reference in
|
|
|
|
|
comment to above procedure.
|
|
|
|
|
* sinfo.ads: Typo fix in comment.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Julien Bortolussi <bortolussi@adacore.com>
|
|
|
|
|
|
|
|
|
|
* libgnat/a-cfidll.adb, libgnat/a-cfidll.ads: Implementation
|
|
|
|
|
files of the formal unbounded indefinite list.
|
|
|
|
|
* Makefile.rtl, impunit.adb: Take into account the add of the
|
|
|
|
|
new files.
|
|
|
|
|
|
|
|
|
|
2022-07-12 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* sem_util.adb (Is_Variable): Remove excessive guard.
|
|
|
|
|
|
|
|
|
|
2022-07-06 Piotr Trojanek <trojanek@adacore.com>
|
|
|
|
|
|
|
|
|
|
* gcc-interface/Make-lang.in (ada/generated/gnatvsn.ads):
|
|
|
|
|