This removes old code in the parser that serves no useful purpose and
fixes minor issues in the Validsw package. No functional changes.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Eric Botcazou
gcc/ada/
* gnat1drv.adb (Adjust_Global_Switches): Use proper interface t
This patch fixes an issue whereby instantiation of a generic at the
library-level may cause a hang or crash during compilation due to
inappropriate expansion of generic actuals.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Justin Squirek
gcc/ada/
* sem_ch12.adb (Perfo
This patch fixes a spurious error on an attribute reference within an
aspect specification for an unconstrained array type when the
corresponding type declaration appears within a generic unit.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Ed Schonberg
gcc/ada/
* sem_
This patch fixes an omission in the construction of equality routines
for variant records, to take into account user-defined equality
functions for components of the record. Previously the constructed
equality routine for variant records used the predefined equality for
all components, When composa
The compiler prematurely freezes a private type that is the type of a
formal parameter of an expression function declared within a nested,
inactivated Ghost package, resulting is an error complaining that the
private type must be fully defined at that point. This is fixed by
testing for Ignored_Gho
This patch fixes an issue whereby a check for competing controlling
formals led to a spurious dispatching error due to an incomplete type
being used within a subprogram specification.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Justin Squirek
gcc/ada/
* sem_disp.adb
This patch fixes an issue whereby the use of an allocator with a
composite type containing null-excluding components may lead to a
compile time error due to incorrect code generation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Justin Squirek
gcc/ada/
* exp_ch3.adb (
The rule on SPARK_Mode have been modified so that it is now possible to
have a subprogram or package declared with SPARK_Mode Off inside a
subprogram.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Yannick Moy
gcc/ada/
* sem_prag.adb (Check_Library_Level_Entity): Update
The frontend reports spurious errors on C++ non-default constructors
that have formals whose type is an access to subprogram.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-04 Javier Miranda
gcc/ada/
* exp_tss.adb (Init_Proc): Adding missing support for access to
s
This patch fixes a bug in which if pragma Restrictions
(No_Stream_Optimizations) is in effect, it is ignored for T'Class'Input.
Revision 251886 was causing the compiler to bypass
No_Stream_Optimizations.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Bob Duff
gcc/ada/
Calls to local subprograms in GNATprove may be inlined in some case, but
it should not be the case inside quantified expressions which are
handled as expressions inside GNATprove. Because quantified expressions
are only preanalayzed, the detection of the impossible inlining was not
performed. Now
This patch suppresses the generation of a predicate check when the
expression is a formal IN parameter of a subprogram S. If the check is
being applied to the actual in a call, the call is either in the body of
S, or in an aspect specfication for S, e.g. a precondition, In both
cases the check is r
This patch fixes a spurious error on a record aggregate for a variant
record when a choice in the aggregate is given by a subtype with a
static predicate. The same expansion mechanism for such a variant, used
in case statements, must be used here as well.
Tested on x86_64-pc-linux-gnu, committed o
This patch fixes a bug where if a function is build-in-place, and is
exported, and contains an extended_return_statement whose object is
initialized with another build-in-place function call, then the compiler
will crash.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Bob Duff
g
This patch introduces several changes to the new elaboration order
mechanism:
* The library graph can now discover, store, and organize the various
cycles it contains.
* The elaboration order mechanism can now diagnose one or all cycles
within the library graph. Diagnostics consist of
This patch adds an explicit range check on an assignment to a component
of a bit-packed array, when the index type of the array is an
enumeration type with a non-standard representation,
Executing the following:
gnatmake -f -gnata -q main
./main
must yield:
1 is invalid
4097 is inv
This patch modifies the generation of task deallocation code to examine
the underlying type for task components.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Hristian Kirtchev
gcc/ada/
* exp_ch7.adb (Cleanup_Record): Use the underlying type when
checking for c
Remove support added for CodePeer (which was never enabled by default;
it was controlled by the -gnatd.K option) for generation of SCIL
"contract-only" subprogram bodies. These were intended for use when a
subprogram's "real" body is unavailable but the subprogram spec has
pre/post-conditions speci
Tools like GNATprove built as GNAT backends rely on adabkend.adb to
handle generic switches like the optimisation switches -Oxxx.
This patch adds support for -Og and -Ofast that was missing.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Yannick
This patch fixes a "Compilation abandoned" message in a compiler built
with assertions, or a compiler loop otherwise, when an accept statement
contains an illegal accept statement for the same entry.
Compiling accept_in_accept.adb must yield:
accept_in_accept.adb:12:13:
duplicate accept
This fixes an issue introduced in Ada 2012 for calls to functions taking
an In/Out parameter and for which the actual is the component of a
packed array. In this case, the front-end needs to create a temporary
for the actual, initialize it before the call and assign it back after
it, because opera
For an anonymous allocator whose type is that of a stand-alone object of
an anonymous access-to-object type, the accessibility level is that of
the declaration of the stand-alone object; however it was incorrectly
computed as being library level compiling under -gnat12 mode.
Tested on x86_64-pc-li
This change removes the warnings returned when using Ada.Text_IO library
in SPARK. An abstract state and global contracts were added to modelize
the action of Text_IO procedures and function on the memory and the
files.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Joffrey Huguet
This patch includes delay statements in the set of control flow
statements since their expressions may have side effects, which in turn
may affect an infinite recursion.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-05 Hristian Kirtchev
gcc/ada/
* sem_res.adb (Is_Control_
This patch fixes an issue whereby anonymous access result types were
treated as having the same accessibility level as typed results instead
of having the level determined by the "master of the call" as per RM
3.10.2 (10).
-- Source --
-- main.adb
with Pack_12; use Pac
This patch reimplements the detection of trivial infinite recursion to
remove the implicit assumptions concenring the structure and contents of
the enclosing subprogram statements.
-- Source --
-- infinite.adb
procedure Infinite with SPARK_Mode is
function Func_1 (V
This patch introduces several changes to the new elaboration order
mechanism:
* Instantiations processed in the context of invocation graph
encoding now yield a relation which is later transformed into an
invocation edge. This ensures that the unit where the instantiation
resides
The compiler may trigger spurious errors on pragmas Compile_Time_Error
and Compile_Time_Warning when their boolean expression computes the size
of a type. After this patch the following test compiles fine.
with Interfaces; use Interfaces;
package Types is
type Arr is array (1 .. 6) of Unsigned_
Unlike, say, clones created internally by the compiler, elab procs
materialize specific user code and flagging them artificial now takes
elab code away from gcov's analysis, a regression compared to previous
releases.
On the testcase below:
package Gcov_Q is
function F (X : Integer) return Int
This patch fixes an issue whereby the creation of an enumeration within
package where Default_Scalar_Storage_Order is in effect may lead to a
crash when the attributes Image or Value are applied to objects of said
type or the type directly.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-0
This patch fixes a spurious error when verifying that the visibility of
the expression of an aspect has not changed between the freeze point of
the entity to which it applies, and the end of the enclosing declarative
part. If the entity is a composite type its components must be made
directly visib
This patch corrects a bug in the implementation of Delete in an unusual
boundary case: the RM describes the semantics of Delete as equivalent to
that of Replace_String with a null argument. As a result, deleting a
null string that starts past the end of its argument is a noop and must
not raise Ind
This patch fixes a compiler crash in the compiler on a timed entry call
whose delay expression is a type conversion, when FLoat_Overflow checks
are enabled.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Ed Schonberg
gcc/ada/
* exp_ch9.adb (Expand_N_Timed_Entry_Call): D
This patch fixes a crash on compiling the postcondtion for a generic
subprogram, when the postcondition is a call with both positional and
named parameter associations.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Ed Schonberg
gcc/ada/
* sem_ch13.adb (Analyze_Aspect_S
GNATprove represents reads and writes via pointers as operations on a
fake __HEAP entity. This entity already had various properties set to
dummy values (e.g. Scope set to Standard_Standard), so that it can be
processed like other entities without crashing and not special-cased
everywhere. Now it a
Real literals of fixed-point type are expected to keep their precise
fixed-point type in GNATprove. This is now correctly enforced.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Yannick Moy
gcc/ada/
* expander.adb (Expand): Do not re
This fixes a crash (or an assertion failure) during the processing done
for -gnatRj on the declaration of an extension of a private type.
Generally speaking, extension declarations are delicate in this context
because the front-end does not duplicate the structure of the parent
type, so the process
The frontend crashes processing the derivation of a tagged type whose
ultimate ancestor is an interface type I1 that has a null primitive,
implements another interface I2 derived from I2, and does not override
the null primitive.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Javie
This patch corrects the verification of 'Address clauses to avoid
processing a clause where the prefix of the attribute is a generic
formal object.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Hristian Kirtchev
gcc/ada/
* sem_ch13.adb (Analyze_Attribute_Definition_Cla
CommandLineToArgvW drags a dependency on SHELL32.DLL and thus GDI32.DLL.
By loading GDI32.DLL some default GDI objects are allocated. On some
Windows versions this cause the use of a lock on the graphical interface
during process termination. This can impact parallelism significantly as
termination
This creates a List_Type_Info procedure to deal with type entities other
than arrays and records at top level and a List_Common_Type_Info
procedure to handle the common part between them. No functional
changes.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Eric Botcazou
gcc/ad
This patch adds a missing case to the output of cycle diagnostics here a
transition from an Elaborate_Body pair may reach a destination which is
in the context of an active Elaborate_All.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Hristian Kirtchev
gcc/ada/
* bindo-
Calls to Scope always return unique entities, i.e. package/subprogram
and not their bodies, so there is no need to expect them.
Cleanup only; semantics unaffected. (This routine was only used in CCG
and GNATprove backends anyway.)
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Pio
This patch adds additional data rates to the GNAT.Serial_Communications
package (Linux version).
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Bob Duff
gcc/ada/
* libgnat/g-sercom.ads, libgnat/g-sercom__linux.adb (Data_Rate):
Support additional data rates.--- g
The code generated by the compiler erroneously evaluates to True
membership tests when their left operand is a a class-wide interface
object and the right operand is a tagged type that implements such
interface type.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-08 Javier Miranda
This patch introduces several changes to the new elaboration order
mechanism:
* The concept of "strong" and "weak" edges is introduced. Strong
edges are the byproduct of language-defined relations between
units, such as with clauses. Weak edges are the byproduct of
specilative in
Check for declaration of global variables prior to use in the ownership
checking for SPARK.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Yannick Moy
gcc/ada/
* sem_spark.adb (Get_Perm_Or_Tree): Issue an error when
encounteri
Under validity checking mode the compiler may silently skip generating
code to perform runtime range checks.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Javier Miranda
gcc/ada/
* exp_util.adb (Remove_Side_Effects): Preserve the
Do_Range_Check flag.
gcc/tests
No impact on compilation with GCC.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Ed Schonberg
gcc/ada/
* sem_util.adb (Scope_Within_Or_Same): Handle properly task
bodies and protected bodies, so that local variables within have
their proper scopes after
This changes the -gnatRj output from a concatenation of entities to an
array of entities, thus making it strictly conforming JSON and easier to
be parsed by means of GNATColl or Python.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Eric Botcazou
gcc/ada/
* repinfo.ads
Checking of the readable status of sub-expressions occurring in the
target path of an assignment should occur before the right-hand-side is
moved or borrowed or observed.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Yannick Moy
gcc/ada/
This patch fixes an exception or erroneous execution, when the
declaration for an object of a composite type that has a dynanic
predicate is initialized with an aggregate that requires expansion into
individual components. Prior to this patch the predicate check for the
object appeared before intia
In the special GNATprove mode for proof of programs, expand the Enum_Rep
attribute reference so that a suitable static integer is in the AST
where required by the rest of analysis.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Yannick Moy
gcc
In GNATprove mode, subprograms with a body to inline should have been
filtered in Analyze_Subprogram_Body_Helper to match the conditions for
inlining subprograms in GNATprove. Prevent a call to Set_Body_To_Inline
in GNATprove mode that did not go through this filtering.
There is no impact on compi
This patch fixes and issue whereby applying 'Img to a constant
enumerated character type would result in a compiler crash when
assertions are enabled and infinite recursion when they are not.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Justin Squirek
gcc/ada/
* sem_e
This patch updates the library graph augmentation mechanism of the
elaboration order v4.0 to emulate a particular behavior of the v3.0
scheme involving generic instantiations. If a unit without any
elaboration code instantiates a generic without any elaboration code,
the invocation edge from the in
This patch removes a spurious bug on the use of the current instance of
a generic package G as the actual in a nested instantiation of a generic
unit GU that has a formal package whose generic_package name is G. This
is only legal if G has no generic formal part, and the formal package
declaration
This patch fixes a code generation error on an equality operation one of
whose operands is an overloaded call, and several equality operators are
visible. The resolution would succes but in some cases the wrong entity
was lwfton the equality node, leading to expansion with the wrong
interpretation.
The compiler does not report an error on a generic type that has a
representation clause when its ultimate parent is not a generic formal.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Javier Miranda
gcc/ada/
* sem_ch13.adb (Rep_Item_Too_Early): Representation clauses
Allocator expressions and sub-expressions of (extension) aggregates are
implicitly the source of assignments in Ada. Thus, they should be moved
when of a deep type when checking ownership rules in SPARK.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07
This patch enables the elaboration order v4.0 as the default elaboration
order in GNATbind. The previous v3.0 elaboration order is now referred
to as the "legacy elaboration order mechanism" and is available using
binder switch -H.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Hri
This patch fixes the behavior of the compiler on a program with multiple
visibility errors. Previous to this fix the compiler would either crash
or enter an infinite loop on a declaration for the formal in a
subprogram declaration, when the parameter type was given by a selected
component that does
This patch enhances the compiler to add an optional warning for
allocators of anonymous access types due to the somewhat confusing
runtime accessibility checks that they generate. For more details see RM
3.10.2 sections 14/3, 14.1/3, and 14.2/3.
These warnings can now be enabled with -gnatw_a, dis
Replace ". " (i.e. a period followed by two spaces) with ". "; this is
meant to avoid distraction when reading comments, except for the license
section, where apparently this makes the formating nicer. Some comments
have been refilled, in particular those that could fit into fewer lines.
Also, so
This patch adds another suggestion to the elaboration order diagnostics.
An elaboration circularity involving a task activation may be resolved
through pragma Restrictions (No_Entry_Calls_In_Elaboration_Code).
-- Source --
-- no_entry_calls.txt
pragma Restrictions (No_
In the special mode for GNATprove, expand the type of static expressions
like done during compilation, to both get suitable legality checks and
increase the precision of the formal analysis.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-09 Yannick
In Ada, the name of operators contains a pair of double quotes, which
need to be properly escaped when the name appears in the JSON output of
-gnatR.
The change also ensures that formal parameters are not listed in the
layout information, since this information is not back-annotated for
them.
Tes
In the GNATprove mode for formal verification, prefer renamings over
declaration of a constant to extract side-effects from expressions,
whenever the constant could be of an owning type, as declaring a
constant of an owning type has an effect on ownership which is
undesirable.
There is no impact o
This patch adds a missing functionality with respect to elaboration
order v3.0. Units carry an attribute called Elab_Position which among
other things controls the sorting of linker switches by gnatbind.
Setting the proper position ensures the gnatbind will output the linker
switches in an order c
This patch fixes a spurious error in a postcondition in a nested
instantiation when the expression includes an inherited equality and
checks are enabled.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Ed Schonberg
gcc/ada/
* sem_res.adb (Resolve_Equality_Op): Do not rep
Code that violates the conditions for ownership checking should lead to
error messages pointing to the violations instead of crashes.
There is no impact on compilation, only GNATprove.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Yannick Moy
gcc/ada/
* sem_spark.adb
The compiler skips adding an implicit type conversion when the interface
type is visible through a limited-with clause.
No small reproducer available.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Javier Miranda
gcc/ada/
* exp_ch6.adb (Is_Class_Wide_Interface_Type): N
In SR0610, the TCB is made private, so the task environ field used by
the environ macro is no longer visible. Arguably this is a bug, however
a more correct approach is to use accessor functions to retrieve this
field and not use the environ macro, thus avoiding the problem.
Tested on x86_64-pc-l
SR0600 and SR0610 cannot be differentiated by macro testing (arguably an
oversight in header file version.h) so: The case statement testing for
"file not found" is reformulated into an if/else series of statements to
avoid a problem where two cases have identical values in SR0610, but
different val
This patch adds contracts to Ada.Strings libraries, in order to remove
warnings when using these libraries in SPARK.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Joffrey Huguet
gcc/ada/
* libgnat/a-strbou.ads, libgnat/a-strfix.ads,
libgnat/a-strunb.ads, libgna
This patch introduces a new cycle detection algorithm which is based on
Tarjan's "Enumeration of the Elementary Circuits of a Directed Graph"
algorithm, with several ideas borrowed from Jonson's "Finding all the
Elementary Circuits of a Directed Graph" algorithm.
No need for a test because the new
Some VxWorks headers are relying on types that are defined in
`vxWorks.h` but do not include it themselves, we move the include
directive for `vxWorks.h` at the top of the include directives.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Corentin Gay
gcc/ada/
* sysdep.
This patch modifies the expansion of case expressions to prevent a
spurious error caused by the use of assignment statements to capture the
result of the case expression when the associated type is limited.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Hristian Kirtchev
gcc/ada
This adds a new GNAT.Branch_Prediction package to make it possible to
tune the branch probability heuristics more finely. This package
contains the equivalent of __builtin_expect in C/C++ plus a couple of
specializations.
The following program gives a summary of the usage:
package Q is
I : In
For analysis tools that rely on information generated in ALI files, but
do not generate object files, the frontend did not generate the special
extension names like file~2.ali for unit 2 in the file. This is needed
to be able to analyze files with multiple units. Now fixed.
There is no impact on c
This patch updates certain error messages to eliminate spelling
mistakes. No need for a test as this is a minor cosmetic fix.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Hristian Kirtchev
gcc/ada/
* sem_ch3.adb (Check_Nonoverridable_Aspects): Correct the
spel
This patch updates the Unique_Name procedure in order to prefix the
string "ada___" to child units that have a nested subprogram or package,
so that they do not clash with a parent package of the same name.
This is for GNATprove only and does not affect regular compilation.
Tested on x86_64-pc-li
Pointer support in GNATprove leads to spurious messages about global
variables, with local variables declared in local packages and protected
components. Now fixed.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Yannick Moy
gcc/ada/
*
The new analysis of SPARK pointer rules could crash on some constructs.
Now fixed.
There is no impact on compilation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Claire Dross
gcc/ada/
* sem_spark.adb (Check_Expression): Allow digits constraints as
input.
This patch corrects the conformance verification of discriminants to
provide symmetry between the analysis of incomplete and full view
discriminants. As a result, types of discriminants always resolve to the
proper view.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Hristian Kirtc
As a lexical element an integer literal has type Universal_Integer, i.e
is compatible with any integer type. This is semantically consistent and
simplifies type checking and subsequent constant folding when
applicable. An exception is caused by 64-bit modular types, whose upper
bound is not repres
This patch fixes a compiler abort on an extended return statement whose
expression is an aggregate (to be built in place) for a discriminated
record with a limited component. The build-in-place mechanism creates an
access type and a renaming declaration through which individual
components are assi
Dependence was only from Ada.Streams.Stream_IO.End_Error exception which
is renaming of the Ada.IO_Exceptions.End_Error. Use
Ada.IO_Exceptions.End_Error directly.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Dmitriy Anisimkov
gcc/ada/
* libgnat/s-ststop.adb: Remove Sy
A change in the API prohibits accessing Tcb fields directly. The bug in
VxWorks7 (failure to re-arm the guard page) now appears to be fixed, so
this is no long necessary.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-10 Doug Rupp
gcc/ada/
* init.c: Do not attempt to re-ar
This patch corrects the generation of dynamic accessibility checks which
are guaranteed to trigger errors during run time so as to give the user
proper warning during unit compiliation.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Justin Squirek
gcc/ada/
* checks.adb
GNAT issues a warning under -gnatwa when actuals for a call are named
like the formals, but in a different order. This is inappropriate for
calls to operators in infix form, when e.g. Right <= Left is in general
the intended order. Special case calls to operators to avoid that
spurious warning.
Te
This patch recognizes case of dynamic predicates on integer subtypes
that are simple enough to be evaluated statically when the argument is
itself a literal. Even though in many cases such predicate checks will
be removed by the back-end with any level of optimization, it is
preferable to perform t
For some time the Repinfo unit has been able to output the
representation information in the JSON data interchange format in
addition to the usual text and binary formats.
The new Repinfo.Input unit makes it possible to read back this
information under this format and make it available to clients,
A pragma Check for Dynamic_Predicate does not correspond to any source
construct that has a provisionally-disabled SCO.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Thomas Quinot
gcc/ada/
* sem_prag.adb (Analyze_Pragma, case pragma Check): Do not call
Set_SCO_
In the special GNATprove mode of the frontend, automatic inlining is
performed, which may lead to spurious errors on dimensionality checking.
Avoid performing this checking on inlined code, which has already been
checked for dimensionality errors.
There is no impact on compilation.
Tested on x86_
This patch introduces binder switch -d_S which prompts the various
phases of the elaboration order mechanism to output a short message
concerning their commencement and completion. The output is useful when
trying to determine whether a phase is stuck in an infinite loop.
-- Source --
This patch updates predicate Null_Status to prevent an infinite
recursion when the argument is an illegal object declaration of an
access type.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Hristian Kirtchev
gcc/ada/
* sem_util.adb (Null_Status): Assume that an erroneo
This patch corrects the generation of protected body declarations so
that instances of pragma Unreferenced applied to formals don't falsly
trigger undefined references.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Justin Squirek
gcc/ada/
* exp_ch9.adb (Build_Private_P
This patch updates the retrieval of the renamed object name of an object
renaming declaration to handle various name forms.
No need for a test because one already exists, and reproducing requires
a compiler built with assertions.
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Hris
One part said all metrics are enabled by default (which is now true),
and another part said the coupling metrics are disabled by default
(which is no longer true).
Tested on x86_64-pc-linux-gnu, committed on trunk
2019-07-11 Bob Duff
gcc/ada/
* doc/gnat_ugn/gnat_utility_programs.rst:
2201 - 2300 of 3426 matches
Mail list logo