From: Tucker Taft
The CodePeer test case illustrating a problem where a "high"
precondition failure was expected, died in the GNAT FE on
input_reading.adb. The problem was in Check_SCIL, where
it didn't properly handle a discriminant_specification.
gcc/ada/
* sem_scil.adb: Handle
From: Eric Botcazou
The optimized form generated in this case turns out to be problematic.
gcc/ada/
* gcc-interface/trans.cc (Loop_Statement_to_gnu): Always use the
simpler form for a loop with a boolean iteration variable.
Tested on x86_64-pc-linux-gnu, committed on master.
From: Steve Baird
Fix a bug in handling array-valued deep delta aggregates occurring in
postconditions. The bug could result in a spurious compilation failure.
gcc/ada/
* sem_aggr.adb (Resolve_Delta_Array_Aggregate): In the case of a
deep delta choice, the expected type for the
From: Eric Botcazou
The goal is to arrange for the warning to be issued consistently between
objects whose address is taken and objects whose address is not taken.
gcc/ada/
* sem_warn.adb (Check_References.Type_OK_For_No_Value_Assigned):
New predicate.
From: Gary Dismukes
During semantic analysis, the compiler fails to determine the cursor type
in the case of a generalized iterator loop with "in", in the case where the
iterator type has a parent type that is a controlled type (for example) and
its ancestor iterator interface type is given
From: Eric Botcazou
This happens when the prefix of the selected component is of an access type,
i.e. there is an implicit dereference. because the prefix is not resolved.
gcc/ada/
* sem_attr.adb (Resolve_Attribute) : Remove the
bypass for prefixes with task type.
Tested on
From: Yannick Moy
gcc/ada/
* exp_spark.adb (Expand_SPARK_Delta_Or_Aggregate): Fix type.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_spark.adb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/exp_spark.adb b/gcc/ada/exp_spark.adb
From: Eric Botcazou
For package specs and bodies that need finalizers, Build_Finalizer is
invoked from the Standard scope so it needs to adjust the scope stack
before creating new objects; this changes it to do so only once.
For other kinds of scopes, it is invoked from Expand_Cleanup_Actions,
From: Eric Botcazou
The problem is that the aligning machinery is not consistently triggered,
depending on whether a constrained view or the nominal unconstrained view
of the element type is used to perform the allocations and deallocations.
gcc/ada/
* gcc-interface/decl.cc
From: Gary Dismukes
The compiler crashes on a container aggregate with more than one
iterated_element_association given by a loop_parameter_specification.
In such a case, the tree contains N_Iterated_Component_Association
nodes rather than N_Iterated_Element_Association nodes, and the code
for
From: Viljar Indus
gcc/ada/
* par.adb: Restore Style_Checks after parsing each unit.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/par.adb | 17 +
1 file changed, 17 insertions(+)
diff --git a/gcc/ada/par.adb b/gcc/ada/par.adb
index
From: Justin Squirek
The patch fixes an issue in the compiler whereby calls to
GNAT.Calendar.Time_IO.Value where the actual for formal String Date with
indexing starting at any value besides one would result in a spurious runtime
exception.
gcc/ada/
* libgnat/g-catiio.adb (Value):
From: Eric Botcazou
The function is used to optimize away access checks.
gcc/ada/
* sem_util.adb (Null_Status): Deal with unchecked type conversions.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_util.adb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Ronan Desplanques
Before this patch, on Windows, file with non-ASCII Latin1 names could be created
with Ada.Text_IO.Create by passing "encoding=8bits" through the Form
parameter and a Latin1-encoded string through the Name parameter,
but calling Ada.Text_IO.Delete on them raised an
From: Eric Botcazou
The bodies of generic units are instantiated separately by GNAT at the end
of the processing of the compilation unit. This requires the deferral of
the generation of cleanups and finalization actions in enclosing scopes,
except for instantiations in generic units where they
From: Steve Baird
Cleanup after the introduction of deep delta aggregates.
Eliminate a new gnatcheck message.
gcc/ada/
* sem_aggr.adb: Replace "not Present (...)" call with "No (...)" call.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_aggr.adb | 2 +-
1 file
From: Eric Botcazou
This removes the specific treatment of transient scopes in initialization
procedures, which is obsolete.
gcc/ada/
* exp_aggr.adb (Convert_To_Assignments): Do not treat initialization
procedures specially when it comes to creating a transient scope.
*
From: Doug Rupp
The monotonic clock keeps track of the time that has elapsed since
system startup; that is, the value returned by clock_gettime() is the
amount of time (in seconds and nanoseconds) that has passed since the
system booted. The monotonic clock cannot be reset. As a result,
time
From: Eric Botcazou
This occurs when the default value is a function call returning a private
type, and is caused by a bad interaction between two internal mechanisms.
gcc/ada/
* sem_ch12.adb (Save_Global_References.Set_Global_Type): Beef up
comment about the setting of the
From: Eric Botcazou
This removes an obsolete flag and adjusts a couple of obsolete comments.
gcc/ada/
* gen_il-fields.ads (Opt_Field_Enum): Remove Is_Finalization_Wrapper
* gen_il-gen-gen_nodes.adb (N_Block_Statement): Likewise.
* sinfo.ads (Is_Finalization_Wrapper):
From: Doug Rupp
Revise instructions to work on both cross and native targets hosted
on Linux
gcc/ada/
* libgnat/libada.gpr: Revise section 1
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/libgnat/libada.gpr | 13 +++--
1 file changed, 7 insertions(+), 6
The index directive must be located before the indexed element, at least
for the generated texinfo to be correct. See:
https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-index
This was reported along with changes done in
From: Steve Baird
Add support for "deep" delta aggregates, a GNAT-defined language extension
conditionally enabled via the -gnatX0 switch. In a deep delta aggregate, a
delta choice may specify a subcomponent (as opposed to just a component).
gcc/ada/
* par.adb: Add new Boolean variable
From: Ronan Desplanques
This patch makes it so -gnatg is always passed to the compiler when
rebuilding the run-time library with the dedicated GPR files. Before
this patch, if a user rebuilt the run-time with -XADAFLAGS=XXX where
XXX didn't include "-gnatg", the build would immediately fail.
From: Pierre-Marie de Rodat
The recent overhaul for the representation of aspect specifications in
the tree broke SCOs generation: decisions that appeared in aspects were
processed twice, leading to the emission of erroneous obligations. Tweak
SCOs generation to skip aspect specifications the
gcc/ada/
* exp_util.ads: Typo fix.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_util.ads | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads
index 95ea4403c5d..932bf3fdcbc 100644
---
Andrew Carlotti writes:
> On Fri, Nov 17, 2023 at 11:45:16AM +0100, Marc Poulhi�s wrote:
>>
>> Hello,
>>
>> > I haven't manged to test the Ada frontend, but this patch (and the
>> > following
>>
>> I don't have an aarch64 setup to test, but I may be able to help with the
>> issue preventing
Hello,
> I haven't manged to test the Ada frontend, but this patch (and the following
I don't have an aarch64 setup to test, but I may be able to help with the
issue preventing you from testing. Can you elaborate what is the problem?
Marc
David Malcolm writes:
>
> The new regenerate-opt-urls.py script only parsed
> buildir/gcc/HTML/gcc-14.0.0/gcc/Option-Index.html
> looking for anchors for options via a regex.
>
> Looking at my build, I don't see any generated Ada HTML docs, so maybe
> I messed this up? Does the generated
David Malcolm writes:
> gcc/ada/ChangeLog:
> * gcc-interface/lang.opt.urls: New file, autogenerated by
> regenerate-opt-urls.py.
> diff --git a/gcc/ada/gcc-interface/lang.opt.urls
> b/gcc/ada/gcc-interface/lang.opt.urls
> new file mode 100644
> index ..e24210bcb12a
>
Andris Pavēnis writes:
> Fixing these errors (attached patch for master branch) was not sufficient for
> building Ada cross-compiler, but it fixed compiler errors.
>
> This would perhaps qualify for trivial change, but it seems that I no more
> have
> write access (I got it in 2015, but have
Marc Poulhiès writes:
> Arnaud Charlet writes:
>
>> Marc, can you please take care of it when you get a chance?
>
> I'll push the change as soon as the tests are finished.
Pushed as r14-5282.
Marc
Arnaud Charlet writes:
> Marc, can you please take care of it when you get a chance?
I'll push the change as soon as the tests are finished.
Marc
From: Eric Botcazou
It comes from an incomplete optimization performed by LTO that is caused by
an obsolete transformation done in Gigi, which is redundant with the common
uniquization of constant CONSTRUCTORs now performed during gimplification.
gcc/ada/
* gcc-interface/trans.cc
From: Julien Bortolussi
Update the logo and the background color in the top right corner of the
GNAT User’s Guide for Native Platforms
gcc/ada/
* doc/share/conf.py: Changed the background color and the logo.
Tested on x86_64-pc-linux-gnu, committed on master.
---
From: Yannick Moy
Function Sem_Aux.Is_Limited_View returns whether the type is
"inherently limited" in a slightly different way from the "immutably
limited" definition in Ada 2012. Rename for clarity.
gcc/ada/
* exp_aggr.adb: Apply the renaming.
* exp_ch3.adb: Same.
*
From: Viljar Indus
In the previous implementation Aspect Specifications were
stored in a separate table and not directly under each node.
This implementation included a lot of extra code that needed
to be maintained manually.
The new implementation stores Aspect_Specfications as a syntactic
From: Eric Botcazou
No functional changes.
gcc/ada/
* gen_il-gen-gen_nodes.adb (N_Op_Boolean): Fix description.
* sem_ch4.adb (Analyze_Comparison_Equality_Op): Tidy up.
* sem_ch12.adb (Copy_Generic_Node): Use N_Op_Compare subtype.
Tested on x86_64-pc-linux-gnu,
From: Ronan Desplanques
Before this patch, Ada.Directories.Modification_Time called
GetFileAttributesExA under the hood on Windows. That would sometimes
fail to work with files whose names were non-ASCII.
This patch replaces the call to GetFileAttributesExA with a call to
GetFileAttributesEx
From: Eric Botcazou
When the array is initialized with the result of a call to a function whose
result type is unconstrained, then the result is allocated with its bounds,
so the array can be rewritten as a renaming of the result in this case too.
gcc/ada/
* exp_ch3.adb
From: Piotr Trojanek
We had a GNATcheck rule that suggests replacing "not Present (...)" with
"No (...)", but it only detected calls with a parameter of type Node_Id.
Now this rules also detects parameters of type Elist_Id.
gcc/ada/
* sem_ch3.adb, sem_ch4.adb, sem_eval.adb: Fix newly
From: Bob Duff
This patch fixes a bug: if "for T'Alignment use..." is followed
by "for T use ();" the compiler crashes. A workaround is
to move the alignment clause after the enumeration rep clause.
gcc/ada/
* sem_ch13.ads (Set_Enum_Esize): Do not set alignment.
* sem_ch13.adb
From: Piotr Trojanek
gcc/ada/
* exp_ch6.adb, exp_disp.adb, sem_ch13.adb, sem_ch3.adb: Fix newly
detected violations.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_ch6.adb | 2 +-
gcc/ada/exp_disp.adb | 2 +-
gcc/ada/sem_ch13.adb | 2 +-
From: Piotr Trojanek
Expansion of assignments to packed array objects has two cases and
had duplicated code for both these cases.
gcc/ada/
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove code from the
ELSE branch, because it was is identical to code before the IF
From: Ronan Desplanques
-gnatwc has been correctly emitting warnings for expressions outside
of tests for a while, but its documentation in the user's guide had
never been updated to reflect that. Also, the documentation used
"conditional expressions" to designate boolean expressions, but
From: Piotr Trojanek
Style cleanup.
gcc/ada/
* exp_pakd.adb, libgnarl/s-osinte__android.ads,
libgnarl/s-osinte__linux.ads, libgnarl/s-osinte__qnx.ads,
libgnarl/s-osinte__rtems.ads, libgnat/s-gearop.adb,
libgnat/s-poosiz.adb, sem_util.adb: Fix style.
Tested on
From: Eric Botcazou
The front-end now rewrites it as a renaming when it is initialized with a
function call and the same processing must be applied in the renaming case
as in the regular case for this kind of special objects.
gcc/ada/
* gcc-interface/decl.cc (gnat_to_gnu_entity) :
From: Eric Botcazou
The problem occurs when the function call is the operand of an equality
operator, the type used to do the comparison is declared outside of the
generic construct but visible inside it, and this generic construct also
declares two functions with the same profile except for the
From: Piotr Trojanek
If an expression value is not known at compile time, it can be
represented with No_Uint and doesn't require a dedicated flag.
Code cleanup; behavior is unaffected.
gcc/ada/
* exp_pakd.adb (Expand_Bit_Packed_Element_Set): Remove Rhs_Val_Known;
represent
From: Piotr Trojanek
When expanding assignment to a packed array object, e.g. a formal
parameter with mode OUT that might have unconstrained type, we took the
component type and component size from the constrained actual subtype.
It is simpler to take these properties from the nominal type of
From: Piotr Trojanek
Expansion of assignments to packed array objects with string literals on
the right-hand side, created an unnecessary conversion, i.e.:
... :=
component_type
(declare
temp : component_type := "string_literal";
begin
temp)
Now the
From: Piotr Trojanek
The new handling of aspects stores the aspect expression as the
Expression_Copy of the aspect and not as the Entity of the aspect
identified. This has been changed for most of the aspects, but not for
Type_Invariant and Default_Initial_Condition, which have custom
expansion.
From: Piotr Trojanek
Cleanup; semantics is unaffected.
gcc/ada/
* exp_pakd.adb
(Expand_Bit_Packed_Element_Set): Change local Decl object from
variable to constant.
(Setup_Inline_Packed_Array_Reference): Likewise for Csiz.
Tested on x86_64-pc-linux-gnu,
From: Bob Duff
The compiler gives a wrong error for a call of the form X.Y(...)
when Y is inherited indirectly via an interface.
gcc/ada/
* sem_ch4.adb (Is_Private_Overriding): Return True in the case
where a primitive operation is publicly inherited but privately
From: Piotr Trojanek
gcc/ada/
* sem_util.adb
(Get_Actual_Subtype,Get_Actual_Subtype_If_Available): Fix handling
of expanded names.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_util.adb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Piotr Trojanek
Style cleanup.
gcc/ada/
* exp_pakd.adb (Setup_Inline_Packed_Array_Reference): Remove extra
whitespace from the list of parameters.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_pakd.adb | 20 ++--
1 file changed, 10
From: Piotr Trojanek
Avoid potentially unnecessary call to Etype.
gcc/ada/
* sem_util.adb (Get_Actual_Subtype_If_Available): Only call Etype
when necessary.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_util.adb | 4 +---
1 file changed, 1 insertion(+),
From: Viljar Indus
gcc/ada/
* sem_prag.adb: (Analyze_Pragma): Reduce the number of nested if
statements.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_prag.adb | 26 +++---
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git
From: Viljar Indus
Restore the original state of Style_Check pragmas before analyzing
each compilation unit to avoid Style_Check pragmas from unit affecting
the style checks of a different unit.
gcc/ada/
* sem_ch10.adb: (Analyze_Compilation_Unit): Restore the orignal
state of
From: Eric Botcazou
This occurs when the component is part of a discriminated type and its
offset depends on a discriminant, the problem being that the front-end
generates an incomplete Bit_Position attribute reference.
gcc/ada/
* exp_pakd.adb (Get_Base_And_Bit_Offset): Use the full
Contrary to glibc, including stdio.h from newlib defines mode_t which
conflicts with the test's type definition.
.../gcc/testsuite/gcc.dg/analyzer/fd-4.c:19:3: error: redefinition of typedef
'mode_t' with different type
...
.../include/sys/types.h:189:25: note: previous declaration of 'mode_t'
These 3 tests fails parsing the 'vect' dump when not using -mavx. Make
the dependency explicit.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-ifcvt-18.c: Add dep on avx_runtime.
* gcc.dg/vect/vect-simd-clone-16f.c: Likewise.
* gcc.dg/vect/vect-simd-clone-18f.c: Likewise.
Using newlib produces a different codegen because the support for c99
differs (see libc_has_function hook).
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr106910-1.c: Disable for newlib.
---
Tested on x86_64-linux and x86_64-elf.
OK for master?
gcc/testsuite/gcc.target/i386/pr106910-1.c
From: Sheri Bernstein
Rewrite for loop containing an exit (which violates GNATcheck
rule Exits_From_Conditional_Loops), to use a while loop
which contains the exit criteria in its condition.
Also, move special case of first time through loop, to come
before loop.
gcc/ada/
*
From: Sheri Bernstein
Exempt the GNATcheck rule "Unassigned_OUT_Parameters"
with the rationale "the OUT parameter is assigned by component".
gcc/ada/
* libgnat/s-imguti.adb (Set_Decimal_Digits): Add pragma to exempt
Unassigned_OUT_Parameters.
From: Patrick Bernardi
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):
From: Ronan Desplanques
This patch is intended as a readability improvement. It doesn't
change the behavior of the compiler.
gcc/ada/
* sem_ch3.adb (Constrain_Array): Replace manual list length
computation by call to List_Length.
Tested on x86_64-pc-linux-gnu, committed on
From: Piotr Trojanek
gcc/ada/
* exp_aggr.adb (Expand_Container_Aggregate): Simplify with "No".
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_aggr.adb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb
From: Ronan Desplanques
This patch fixes the behavior of Ada.Directories.Search when being
requested to filter out regular files or directories. One of the
configurations in which that behavior was incorrect was that when the
caller requested only the regular and special files but not the
From: Eric Botcazou
This is a small bug present on strict-alignment platforms for questionable
representation clauses.
gcc/ada/
* gcc-interface/decl.cc (inline_status_for_subprog): Minor tweak.
(gnat_to_gnu_field): Try harder to get a packable form of the type
for a
From: Eric Botcazou
This occurs when one of the types has an incomplete declaration in addition
to its full declaration in its package. In this case AI05-129 says that the
incomplete type is not part of the limited view of the package, i.e. only
the full view is. Now, in the GNAT implementation,
From: Ronan Desplanques
The purpose of this patch is to work around false-positive warnings
emitted by GNAT SAS (also known as CodePeer). It does not change
the behavior of the modified subprogram.
gcc/ada/
* libgnat/a-direct.adb (Start_Search_Internal): Tweak subprogram
body.
From: Eric Botcazou
It is only called once.
gcc/ada/
* sem_util.ads (Set_Scope_Is_Transient): Delete.
* sem_util.adb (Set_Scope_Is_Transient): Likewise.
* exp_ch7.adb (Create_Transient_Scope): Set Is_Transient directly.
Tested on x86_64-pc-linux-gnu, committed on
From: Eric Botcazou
This happens when the conditional expression is immediately returned, for
example in an expression function.
gcc/ada/
* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): Return true
if the aggregate is a dependent expression of a conditional
From: Ronan Desplanques
The concept of extended nodes was retired at the same time Gen_IL
was introduced, but there was a reference to that concept left over
in a comment. This patch removes that reference.
Also, the description of the field Comes_From_Check_Or_Contract was
incorrectly placed
From: Javier Miranda
gcc/ada/
* sem_attr.adb (Analyze_Attribute): Protect the frontend against
replacing 'Size by its static value if 'Size is not known at
compile time and we are processing pragmas Compile_Time_Warning or
Compile_Time_Errors.
Tested on
The compiler can generate loops for creating array aggregates, for
example used during the initialization of variable. If the component
type of the array element requires finalization, the compiler also
creates a block and a nested procedure that need to be correctly
unnested if unnesting is
From: Eric Botcazou
This recent regression occurs when the nominal subtype of the constant is a
discriminated record type with default discriminants.
gcc/ada/
PR ada/110488
* sem_ch3.adb (Analyze_Object_Declaration): Do not build a default
subtype for a deferred constant
From: Javier Miranda
gcc/ada/
* exp_ch6.adb (Expand_Call_Helper): When computing the
accessibility level of an actual parameter based on the
expresssion of a constant declaration, add missing support for
deferred constants
Tested on x86_64-pc-linux-gnu,
From: Daniel King
This makes two changes to the GNAT personality function to reflect
differences for pure capability CHERI/Morello. The first is to use
__builtin_code_address_from_pointer to drop the LSB from Morello
code pointers when searching through call-site tables (without this
we would
From: Eric Botcazou
There is a glitch in Exp_Ch7.Build_Finalizer causing the finalizer to do
nothing for simple protected objects.
The change also removes redundant calls to the Is_Simple_Protected_Type
predicate and fixes a minor inconsistency between Requires_Cleanup_Actions
and
From: Daniel King
Reading and writing System.Address to a stream on CHERI targets does
not preserve the capability tag; it will always be invalid since
a valid capability cannot be created out of thin air. Reading an Address
from a stream would therefore never yield a capability that can be
From: Eric Botcazou
This happens in the case of a nonlimited return type and is a fallout of the
optimization recently implemented for them.
gcc/ada/
* einfo.ads (Status_Flag_Or_Transient_Decl): Remove ??? comment.
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Extend the
From: Derek Schacht
gcc/ada/
* doc/gnat_ugn/gnat_and_program_execution.rst: Add more details on
using Generic Elementary Functions with dimensional analysis.
* gnat_ugn.texi: Regenerate.
Tested on x86_64-pc-linux-gnu, committed on master.
---
From: Daniel King
On CHERI targets the size of System.Address and Integer_Address
(or similar) are not the same. The operations in System.Storage_Elements
should be used to convert between integers and addresses.
gcc/ada/
* libgnat/a-tags.adb (To_Tag): Use System.Storage_Elements for
From: Daniel King
These exception types map to the CHERI hardware exceptions that are
triggered due to misuse of capabilities.
gcc/ada/
* libgnat/i-cheri.ads (Capability_Bound_Error)
(Capability_Permission_Error, Capability_Sealed_Error)
(Capability_Tag_Error): New,
From: Ronan Desplanques
gcc/ada/
* exp_prag.adb: Make minor corrections in comments.
* rtsfind.ads: Remove unused element from RTU_Id definition.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_prag.adb | 8
gcc/ada/rtsfind.ads | 1 -
2 files
From: Yannick Moy
gcc/ada/
* exp_ch5.adb (Expand_N_Case_Statement): Reference both sections
of the Ada RM that deal with case statements and case expressions
to justify the insertion of a runtime check.
Tested on x86_64-pc-linux-gnu, committed on master.
---
From: Richard Wai
...subtypes of unconstrained synchronized private extensions should take
care to designate the corresponding record of the underlying concurrent
type.
When generating TSS finalize address subprograms for class-wide types of
constrained root types, it follows the parent chain
From: Richard Wai
GNAT was relying on synchronized private type extensions deriving from a
concurrent interface to determine its limitedness. This does not cover the case
where such an extension derives a limited interface. RM-7.6(6/2) makes is clear
that "synchronized" in a private extension
When using bit-packed arrays, the compiler creates new array subtypes of
1-bit component indexed by integers. The existing routine checks the
index subtype to find the min/max values. Bit-packed arrays being
indexed by integers, the routines gives up as returning the maximum
possible integer
From: Javier Miranda
gcc/ada/
* contracts.adb
(Has_Public_Visibility_Of_Subprogram): Add missing support for
child subprograms.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/contracts.adb | 25 -
1 file changed, 24
Hello Richard,
> I have added the required “Signed-off-by” tag to the patch and to the change
> log
> entry below. I believe for all other aspects I have followed the instructions.
Thanks for doing these modifications. I believe you have read the
Developer's Certificate of Origin
.
Signed-off-by: Marc Poulhiès
---
Hi,
I came across this trivial typo and fixed it.
The compiler still builds correctly.
I've bootstraped x86_64-linux.
As I don't really know how to setup nvptx correctly (and not sure
this trivial fix warrants learning the full setup...), I've simply
built
From: Piotr Trojanek
Null array aggregates have present but empty lists of expressions and
component associations. This confuses the previous code for ordinary
array aggregates, which assumes that if a list of either expressions or
component associations is present, then it is non-empty.
This
From: Eric Botcazou
The size needs to be rounded up to the storage unit in all cases.
gcc/ada/
* gcc-interface/utils.cc (finish_record_type): Round the size in
the padding case as well.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/gcc-interface/utils.cc |
From: Eric Botcazou
The back-end cannot handle this kind of components even when they are small.
gcc/ada/
* exp_util.adb (Component_May_Be_Bit_Aligned): Do not return false
for a small component of a record type with a variant part.
Tested on x86_64-pc-linux-gnu, committed on
From: Eric Botcazou
This happens when the discriminants of the record type have default values.
gcc/ada/ChangeLog:
* inline.adb (Expand_Inlined_Call): In the case of a function call
that returns an unconstrained type and initializes an object, set
the No_Initialization
From: Kévin Le Gouguec
gcc/ada/
* doc/gnat_ugn/building_executable_programs_with_gnat.rst: Remove
extended discussion regarding mold run-time dependencies;
packaging changes in GNAT Pro have made them obsolete.
Tested on x86_64-pc-linux-gnu, committed on master.
---
From: Patrick Bernardi
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
501 - 600 of 1415 matches
Mail list logo