โŒ About FreshRSS

Normal view

There are new articles available, click to refresh the page.
Before yesterdaygcc/ada history

ada: gnatbind: Do not generate Ada.Command_Line references when not used

29 November 2023 at 12:14
ada: gnatbind: Do not generate Ada.Command_Line references when not used

It was previously assumed that configurable runtimes could not return exit
statuses, however this assumption no longer holds. Instead, only import
the required symbols from Ada.Command_Line's support packages if
Ada.Command_Line is in the closure of the partition when a configurable
runtime is used.

gcc/ada/

	* bindgen.adb (Command_Line_Used): New object.
	(Gen_Main): Only generate references to symbols used by
	Ada.Command_Line if the package is used by the partition.
	(Gen_Output_File_Ada): Ditto.
	(Resolve_Binder_Options): Check if Ada.Command_Line is in the
	closure of the partition.
  • [DBH] gcc/ada/bindgen.adb
  • 29 November 2023 at 12:14

ada: Adapt Ada.Command_Line to work on configurable runtimes

18 November 2023 at 00:39
ada: Adapt Ada.Command_Line to work on configurable runtimes

The behaviour of the binder when handling command line arguments and exit
codes is simplified so that references to the corresponding runtime symbols
are always generated when the runtime is configured with command line
argument and exit code support. This allows Ada.Command_Line to work with
all runtimes, which was not the case previously.

As a result of this change, configurable runtimes that do not include
Ada.Command_Line and it support files, but are configured with
Command_Line_Args and/or Exit_Status_Supported set to True will need to
provide the symbols required by the binder, as these symbols will no longer
be defined in the binder generated file.

argv.c includes a small change to exclude adaint.h when compiling for a
light runtime, since this header is not required.

gcc/ada/

	* argv.c: Do not include adaint.h if LIGHT_RUNTIME is defined.
	* bindgen.adb (Gen_Main): Simplify command line argument and exit
	handling by requiring the runtime to always provide the required
	symbols if command line argument and exit code is enabled.
	* targparm.ads: Update comments to reflect changes to gnatbind.
  • [DBH] gcc/ada/argv.c
  • [DBH] gcc/ada/bindgen.adb
  • [DBH] gcc/ada/targparm.ads
  • 18 November 2023 at 00:39

ada: Document gnatbind -Q switch

29 September 2023 at 21:01
ada: Document gnatbind -Q switch

Add documentation for the -Q gnatbind switch in GNAT User's Guide and
improve gnatbind's help output for the switch to emphasize that it adds the
requested number of stacks to the secondary stack pool generated by the
binder.

gcc/ada/

	* bindusg.adb (Display): Make it clear -Q adds to the number of
	secondary stacks generated by the binder.
	* doc/gnat_ugn/building_executable_programs_with_gnat.rst:
	Document the -Q gnatbind switch and fix references to old
	runtimes.
	* gnat-style.texi: Regenerate.
	* gnat_rm.texi: Regenerate.
	* gnat_ugn.texi: Regenerate.
  • [DBH] gcc/ada/bindusg.adb
  • [DBH] gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
  • [DBH] gcc/ada/gnat-style.texi
  • [DBH] gcc/ada/gnat_rm.texi
  • [DBH] gcc/ada/gnat_ugn.texi
  • 29 September 2023 at 21:01

ada: Generate runtime restrictions list when the standard library is suppressed

17 August 2023 at 20:24
ada: Generate runtime restrictions list when the standard library is suppressed

With the introduction of Jorvik support into the light-tasking runtime comes
the requirement to detect voliations of runtime restrictions (for example
Max_Entry_Queue_Length) where previously they could be hard coded in the
runtime. This means we now need the binder to populate
System.System.Restrictions.Run_Time_Restrictions when the standard library
is suppressed.

gcc/ada/

	* bindgen.adb (Gen_Adainit): Generate restrictions when standard
	library is suppressed.
	(Gen_Output_File_Ada): Ditto.
	(Gen_Restrictions): Ditto.
  • [DBH] gcc/ada/bindgen.adb
  • 17 August 2023 at 20:24

ada: Do not perform local-exception-to-goto optimization on barrier functions

15 August 2023 at 19:52
ada: Do not perform local-exception-to-goto optimization on barrier functions

The local-exception-to-goto optimization is no longer applied to entry
barrier functions as entry barriers cannot contain exception handlers and
this optimization interferes with another optimization that occurs for
simple barrier functions.

In particular, the simple barrier optimization removes the push error label
statements generated by the local-exception-to-goto optimization. This
causes a Storage_Error in GIGI when the restriction No_Exception_Propagation
is  active and a protected object contains more than one simple entry
barrier.

gcc/ada/

	* exp_ch6.adb (Expand_N_Subprogram_Body): Do not perform
	local-exception-to- goto optimization on barrier functions.
	* exp_ch9.adb (Expand_Entry_Barrier): Simplify the if statement
	around the simple barrier optimization and remove an old, no
	longer relevant comment.
  • [DBH] gcc/ada/exp_ch6.adb
  • [DBH] gcc/ada/exp_ch9.adb
  • 15 August 2023 at 19:52
โŒ
โŒ