> >> 2016-12-17 Simon Wright
> >>
> >>PR ada/78845
> >>* a-ngrear.adb (Inverse): call Unit_Matrix with First_1 set to
> >>A'First(2)
> >>and vice versa.
> >
> > Patch is OK, thanks.
>
> The same problem exists in Ada.Numerics.Generic_Complex_Arrays
> (a-congar.adb). Should I u
> The function Ada.Numerics.Generic_Real_Arrays.Inverse is required
> (ARM G.3.1(72)) to return a matrix with the bounds of the dimension indices
> swapped, i.e. result'Range(1) == input'Range(2) and vice versa. The
> present code gets result'Range(1) correct, but result'Range(2) always
> starts at
> Ok for mainline (and eventually for 5 and 6 branches given the small
> size and low risk of the patch)?
I'm not familiar with lang_checks_parallelized, but that's OK with me on
principle.
Arno
Extend the functionality of pragmas Compile_Time_Warning and Compile_Time_
Error to use statically known values of attributes 'Size and 'Alignment.
For example:
procedure do_test is
generic
type ParamType is private;
package Gen is
pragma Compile_Time_Error
(ParamType'Size
This patch fixes an omission in the generation of predicate checks, when there
is a configuration pragma that sets Assertion_Policy to Ignore and a subsequent
configuration pragma that enables predicate checking.
Executing:
gnatmake -q main
main
must yield
raised SYSTEM.ASSERTIONS.ASSERT_
This patch modifies the processing of transient array components to properly
handle the finalization of the temporary controlled function result when the
call initializes a component choice list or an "others" choice.
-- Source --
-- aggregates.adb
with Ada.Strings.Unb
This patch fixes a spurious error on a renaming of a conversion of the
designated object of a pointer to class-wide type when the target type has
an invariant aspect.
The following must execute quietly:
gnatmake -gnata -q main
main
---
with System.Assertions; use System.Assertions;
with Gd
Pragmas/aspects Refined_Global and Refined_Depends may be applied in
a scope where only partial refinement of abstract states is visible,
as defined in SPARK RM 7.2.4. In such a case, the partial refinement
should be used instead of the full refinement for checking the refined
contracts.
Tested on
This patch corrects a minor issue whereby declarations that occur
immediately within package P are erroneously treated as potentially
use-visible when a parent package has a limited with clause on P, a
child package has a with clause on P, and the child package is a
client of another unit.
--
This patch fixes a compiler abort on a call that is initially overloaded,
when the resolved function returns the limited view of a type.
The folllowing must compile quietly:
gcc -c p.adb
---
with R;
package body P is
function Get (A : Q.Ptr) return Integer is
begin
return R.Conv
In cases of dispatching operations with names Initialize, Adjust, and Finalize
that will override an inherited procedure at the point of the full type but
not at their point of declaration, the compiler was not properly flagging
an overriding_indicator on such a procedure as illegal, because proced
Old functions to check readability/writability of file based
on file's attributes had been replaced by new more precise
functions. Old functions are provided under new names.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-10-12 Vadim Godunko
* s-os_lib.ads (Is_Owner_Readable_F
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-10-12 Tristan Gingold
* exp_ch9.adb (Expand_N_Delay_Relative_Statement): Add support
for a secondary procedure in case of missing Ada.Calendar.Delays
* rtsfind.ads (RTU_Id): Add System_Relative_Delays.
(RE_I
This new profile is not user visible and is the base to switch to the
restricted tasking runtime. It replaces the Restricted profile for that
purpose and is weaker than it. The Restricted profile remains unchanged.
The purpose of that change is to lift some restrictions of the
GNAT_Extended_Ravens
This patch fixes spurious errors on instantiations of formal packages that
have defaulted formals that include tagged private types and array types.
The following must compile quietly:
gcc -c lis3dsh_spi.ads
---
with SPI_Bus_Driver;
with LIS3DSH;
package LIS3DSH_SPI is new LIS3DSH (IO => SPI
This changes the logic of Is_Non_Local_Array to return true for anything that
is not a component or a slice of a local entity, for example a dereference, so
as to generate a call to memmove instead of memcpy in more cases, e.g.:
package P is
type String_Access is access all String;
type Rec1
> I'd like to ping patch
>
> https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00164.html
>
> Additional comments about using ZCX_By_Default := true are in
> https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00845.html
Well this patch doesn't inspire lots of confidence since the initial
version had the
> I'd like to ping this patch.
>
> Last version of the patch together with Changelog entry can be found in
> mailing list archive:
>
> https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01229.html
This patch isn't OK, we don't want to add such special case in s-os_lib.adb
Arno
> >> int
> >> __gnat_get_maximum_file_name_length (void)
> >> {
> >>+#if defined (__DJGPP__)
> >>+ return (_use_lfn(".")) ? -1 : 8;
> >>+#else
> >>return -1;
> >>+#endif
> >> }
> >Is the above change really necessary? Would be nice to get rid of this
> >extra code. The rest looks OK to me.
> this patch caused quite some breakage: Ada, Solaris/x86 and SPARC don't
> bootstrap any longer.
>
> The following patch allows i386-pc-solaris2.12 and
> sparc-sun-solaris2.12
> bootstraps continue.
>
> Strangely, I needed to use gcc_fallthrough () in i386.c; a mere /* FALLTHRU
> */
> had no ef
> >Is the above change really necessary? Would be nice to get rid of this
> >extra code. The rest looks OK to me.
> It is required for support of environment when LFN support is either
> not available or disabled for some reason (for example FreeDOS
> without LFN support loaded).
Does it matter fo
> int
> __gnat_get_maximum_file_name_length (void)
> {
> +#if defined (__DJGPP__)
> + return (_use_lfn(".")) ? -1 : 8;
> +#else
>return -1;
> +#endif
> }
Is the above change really necessary? Would be nice to get rid of this
extra code. The rest looks OK to me.
Arno
> GCC Ada compiler itself uses exceptions.
Yes, but the bootstrap doesn't use system-dgjpp.ads, it uses the generic
system.ads which uses front-end (GNAT) SJLJ, hence my question. Your
answer isn't very reassuring.
Arno
This patch is OK
> From 83fe70a17d811ebdec7ca70509e3c2521657d8f2 Mon Sep 17 00:00:00 2001
> From: Andris Pavenis
> Date: Sun, 28 Aug 2016 08:02:11 +0300
> Subject: [PATCH 2/4] [DJGPP, Ada] DJGPP support
>
> * ada/ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
>
> * ada/gsocket.h: Do not suppo
> >This last patch (4/4) contains DJGPP related changes to adaint.c
> >(except one which belongs to patch 1/4).
This patch is quite intrusive. Are all these changes really needed?
> char
> __gnat_get_default_identifier_character_set (void)
> {
> +#if defined (__DJGPP__)
> + return 'p';
> +#el
> On 08/25/2016 12:46 PM, Arnaud Charlet wrote:
> >Which exception handling mechanism is used by the DJGPP port?
> >Is it (GCC) SJLJ?
> No. Updated to set ZCX_By_Default := true for DJGPP.
Well I'm confused now. How could this work before? In other words, has the
target r
Which exception handling mechanism is used by the DJGPP port?
Is it (GCC) SJLJ?
Arno
> -#if defined (__MINGW32__)
> +#if defined (__DJGPP__)
> +
> +/* FIXME: this is draft version only. Fix me if that is not correct */
> +/*or not complete (AP) */
This FIXME needs to be addressed.
The rest of the patch is OK.
Arno
Patch is OK
> > > > Does this warning make sense if !(lang_GNU_C() || lang_GNU_CXX()) ?
> > >
> > > I don't think so, it's meant for C/C++ only. I added a better check.
> >
> > Well, maybe the warning could also work for ObjC and ObjC++, but since I
> > haven't included any testcases for these languages so
> > Text mode translation should not be done for Cygwin, especially since it
> > does not
> > support unicode setmode calls. This also fixes ada builds for Cygwin.
> >
> > OK for trunk?
>
> Ping?
Can you send the link to your original submission for easy retrieval?
Arno
> 2016-07-30 Andris Pavenis
>
> * ada/gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for
> DJGPP target
> (EH_MECHANISM): Define to -gcc for DJGPP
> * ada/system-djgpp.ads: New file
>
> Andris
> +++ b/gcc/ada/system-djgpp.ads
> @@ -0,0 +1,148 @@
> +--
> This patch (2nd of 4) includes various changes to Ada related C files
> required for DJGPP support
>
> ChangeLog entry:
>
> 2016-07-30 Andris Pavenis
>
> * ada/ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
>
> * ada/gsocket.h: Do not support sockets for DJGPP.
>
> * ada/init.
>>> * ada/adaint.c (__gnat_is_djgpp): define (1 for DJGPP host, 0
>>> otherwise). * ada/s-os_lib.ads (Is_Djgpp): import __gnat_is_djgpp as
>>> constant. * ada/s-os_lib.adb (Normalize_Pathname): support DJGPP special
>>> paths (/dev/*) for DJGPP hosts
>> The patch does more than this though:
>
> > Frankly at this stage, I do not think it makes sense to maintain an
> > Ada port for DJGPP and in particular maintain all these extra
> > special cases and #ifdefs.
>
> I don't think this is a reasonable attitude to take with people who
> are willing to do the work to do it.
OK, let me reform
Frankly at this stage, I do not think it makes sense to maintain an Ada port
for DJGPP and in particular maintain all these extra special cases and #ifdefs.
How many users are we talking about here?
Arno
> This is first of 4 patches for DJGPP support of Ada compiler
>
> Patch adds support of ha
Jeff,
> So just to be clear, once installed, for Ada we'll start using the
> descriptor based scheme on the subset of targets below, which will
> be an ABI change, right?
Right.
> If so and this goes in, we'll have to make sure to signal loud and
> wide about the ABI change at the project level
This change is aimed at clarifying the semantics of the -gnatn switch, both
in the code and in the documentation. In particular, it makes it explicit
that -gnatn only pertains to inter-unit inlining (inlining across modules)
and has no effect on intra-unit inlining (inlining within a given module)
This patch fixes some spurious errors arising when class-wide preconditions
in an generic instance are overridden in a child instance.
The following must compile quietly:
gcc -c r.ads
---
generic package P is
type T1 is abstract tagged private;
procedure P1 (This : in out T1)
with
This patch prevents the use of arbitrary-precision computations when an
expression consists of known numeric literals but one of them is not static
by the rules of the language but happens to be known to the compiler through
data-flow. The patch introduces a conversion to a machine number for the
e
This patch modifies the front end to prevent the generation of ALI and object
files as well as bypass the back end and suppress any errors related to code
generation when the compilation unit is ignored Ghost.
-- Source --
-- ignore.adc
pragma Assertion_Policy (Ghost =
This patch adds an abort defer / undefer pair around the initialization
statements of a controlled aggregate component as dictated by 9.8 11.
-- Source --
-- aggregates.ads
with Ada.Finalization; use Ada.Finalization;
package Aggregates is
type Ctrl is new Controll
This patch fixes a spurious type error in a predicate function created within
an operation in an instantiation of a container package, when the element
type is an unconstrained array with a predicate.
The following must compile quietly
gcc -c gpr2-project-registry-attribute.adb
---
with Ada.
This patch adds aa warning when a formal fixed point type is instantiated with
a type that has a user-defined arithmetic operations, but the generic has no
corresponding formal functions. This is worth a warning because of the special
semantics of fixed-point operators, in particular multiplying op
This patch fixes an obscure bug in gnatfind that could cause it to
crash on references to unknown files. The crash was caused by
dereferencing an uninitialized pointer value, so it was flaky.
No test is available.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-07-04 Bob Duff
*
In the context of a predicate function the formal and the actual in a call may
have different views of the same type, because of the delayed analysis of
predicates aspects. This patch extends existing code that handles this
discrepancy, to cover private and full views as well.
Executing the follow
When a class-wide pre- or postcondition is inherited by an overriding
subprogram, the locations of the inherited pragma and of its expression
are the same as the locations of the original pragma. This is inconvenient
to distinguish properties proved on the overridden and the overriding
subprograms.
Two pragmas exist - Unmodified and Unreferenced which issue warnings if the
respective entities contained get written or read repectivly. Additionally,
pragma Unreferenced will surpress compiler generated warnings for unread
variables. However, this can lead to confusion about pragma Unreferenced
w
This match modifies the expansion of array aggregates to perform in-place
side effect removal when a controlled function call acts as an initialization
expression. This eliminates the transient property of the function call and
ensures the proper order of copy, adjustment, and finalization.
--
> Text mode translation should not be done for Cygwin, especially since it
> does not
> support unicode setmode calls. This also fixes ada builds for Cygwin.
>
> OK for trunk?
OK, thanks.
>>>
>>> Can someone please commit this? I don't have SVN write access.
>>>
>
Pragma Component_Alignment was not implemented properly and caused a crash
when used in a configuration file due to how it was applied via the scope
table. This patch correctly identifies this case and uses a global variable
Configuration_Component_Alignment to capture the value set during
configur
If a string is used as an argument instead of an integer,
Check_Arg_Is_OK_Static_Expression with Any_Integer will falsely verify causing
the compiler to halt compilation when the caller acts on the assumption that it
was verified. This patch creates checks so that Any_Integer works properly and
doc
This patch fixes a spurious error on an instantiation of an unbounded
container, when the element type is a private type with unknown discriminants,
derived from an array subtype with a predicate aspect.
The following must ocmpile quietly:
gcc -c gpr2-attribute.adb
---
package GPR2 is
sub
This patch fixes a bug in which if a Fall_Back_Handler is installed for the
environment task, independent tasks will call it. The following test should
run quietly:
with Ada.Text_IO;
package body Debug is
protected body Dbg is
procedure Termination
(Cause : in Task_Termination.
This change moves the rest of the warning machinery for address clauses to
Validate_Address_Clauses, ensuring that all the variants are issued from it.
This affects only absolute address clauses in practice, i.e. address clauses
of the form for I'Address use To_Address (16#_#) and variants
This patch uses O(lg N) algorithms for Unbounded_Priority_Queues.
No expected change in behavior; no test available.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-22 Bob Duff
* a-cuprqu.ads, a-cuprqu.adb: Completely rewrite this package. Use
red-black trees, which
This patch fixes a compiler abort on a return statement for a function whose
type is a derived type with a dynamic predicate, when the return expression
has the parent type.
Compiling gpr2-attribute.adb must yield:
gpr2-attribute.adb:8:14:
expected type "Qualified_Name" defined at gpr
This patch causes -gnatd.o to choose a more conservative elaboration order.
The following test should compile and run quietly.
gnatmake -q -f -gnatd.o -g -O0 elab_indirect_2-main -bargs -p -ws
with Elab_Indirect;
with Elab_Indirect.Child;
package body Elab_Indirect_2 is
procedure P is
begi
This patch fixes a spurious error on the compilation of a subprogram whose
formal parameter is derived from an unconstrained array type with a dynamic
predicate aspect.
The following must compile quietly:
gcc -c gpr2-attribute.adb
gcc -c -gnata gpr2-attribute.adb
---
package GPR2 is
su
This patch prevents the insertion of the invariant procedure declaration and
body when the context is a generic unit. This ensures that generated code does
not permiate the template.
-- Source --
-- tester.ads
package Tester is
type Type_Id is
(Ext_1_Id,
In GNATprove mode, inherited classwide pre/post are copied to the
overriding subprogram declaration, so that GNATprove can find them to
verify Liskov Substitution Principle on SPARK code. The copied pre/post
are not turned into pragma checks anymore in GNATprove mode, so that they
are added to the
On full runtimes, this was always the case. On restricted one, force system
to be in the closer of the program.
No test for full runtimes (as no behaviour change).
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-20 Tristan Gingold
* make.adb (Check_Standard_Library): Consid
In Get_Host_By_Name, do not treat a strings consisting of digits only
as an IP address whose lookup should actually be done using
Get_Host_By_Address.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-20 Thomas Quinot
* g-socket.adb (Is_IP_Address): A string consisting in digi
This patch adds checks on the expressions of pre/postconditions for task and
protected entries, prior to their full analysis, so that errors are properly
emitted in various compiler modes.
Tested by ACATS 4.0L: B611008
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-16 Ed Schonberg
This patch modifies the finalization machinery to recognize a controlled
deferred constant initialized by means of a build-in-place function call
as requiring finalization actions.
-- Source --
-- types.ads
private with Ada.Finalization;
package Types is
type T (<>
When a new switch is defined with a specific name for its parameter,
that name is not freed. This is a minor leak, since such switches
are in general defined once at the beginning of the program, and
never modified afterwards.
Detected with valgrind.
Tested on x86_64-pc-linux-gnu, committed on tru
This fixes a corner case for pragma Priority (0) set on the main subprogram.
Does not affect usual platforms.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-16 Tristan Gingold
* sem_prag.adb (Analyze_Pragma): Simplify code
for Pragma_Priority.
Index: exp_aggr.adb
=
This patch enhances the memory usage of object declarations initialized by
a qualified array aggregate. Previously, as per RM 4.3(5), an anonymous object
was created to capture the value of the array aggregate, effectively doubling
the memory consumption. The changes above remove the anonymous obje
This change improves the warning issued for buffer overruns caused by overlays
where the underlying object is too small, by taking into account the offset
of the overlaid object from the first bit of the underlying object.
The effect is visible on the following package:
1. with Interfaces; u
This patch performs a code cleanup of the previous implementation and extends
its functionality to facilitate the use of this restriction with entities of
the Ada83 package Text_IO. For example:
pragma Restrictions (No_Use_Of_Entity => Text_IO.Put_Line);
with Text_IO; use Text_IO;
procedure Restr
This is preliminary work to allow an implementation change in the runtime.
Does not affect users.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-06-16 Tristan Gingold
* einfo.ads (Has_Protected): Clarify comment.
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do n
This patch removes a redundant call to a generated invariant procedure when
Assertion_Policy is ignored.
The following must execute quietly:
gcc -c -gnatn -O3 -S ut.adb
grep "invariant" ut.s
---
pragma Assertion_Policy (Ignore);
---
private with TI;
package UT is
type T2 is limited private;
This patch changes the formatting of errors related to the pragma
Extensions_Visible so as not to suggest Extensions_Visible applies to a formal
parameters instead of a subprogram when SPARK RM 6.1.7(3) is violated. In
addition, a small change to sem_prag was made to make the printing of boolean
This patch fixes an omission in the analysis of formal package declarations.
Actuals in the instance are properly rejected if their name does not correspond
to any of the actuals, and there are box associations for existing formals.
Compiling
gcc -c c_test.ads
must yield
generic_p_level_2
The collect of cross references for computing effects of subprograms
in GNATprove was done incorrectly in the case of separate units. This is
now fixed, by bypassing subunits when computing the unit of interest for
both scopes and cross references.
Tested on x86_64-pc-linux-gnu, committed on trunk
> This fixes a minor problem where GNAT.Command_Line.Getopt raises CE if
> there are in fact no program-specified options (only the
> internally-supplied -h, --help are meant to be available).
>
> Tested on GCC 6.1.0, x86_64-apple-darwin15.
>
> If OK, can someone commit it (I can't).
>
> gcc/ada
> Text mode translation should not be done for Cygwin, especially since it
> does not
> support unicode setmode calls. This also fixes ada builds for Cygwin.
>
> OK for trunk?
OK, thanks.
> gcc/ada/ChangeLog:
> * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode,
> __gnat_set_mo
> 2016-05-04 Samuel Thibault
>
> * s-osinte-gnu.ads: Make Get_Page_Size return int, and make it use
> getpagesize instead of __getpagesize.
>
> --- a/src/gcc/ada/s-osinte-gnu.ads
> +++ b/src/gcc/ada/s-osinte-gnu.ads
> @@ -344,10 +344,9 @@ package System.OS_Interface is
> -- returns the st
> Installing gcc 6.1.0 on Solaris 10 with /bin/ksh failed for
> install-gcc-specs (I'd already seen that for 5.1.0, but forgotten about
> it):
>
> make[3]: Entering directory `/var/gcc/gcc-6.1.0/10-gcc-gas/gcc/ada'
> for f in ; do \
> cp -p /vol/src/gnu/gcc/gcc-6.1.0/gcc/ada/$f \
>
This patch fixes a compiler crash on an allocator for an object of a limited
type, when the expression of the qualified expression is a type conversion.
Compiling bug1.adb must yield:
bug1.adb:29:08: illegal expression
for initialized allocator of a limited type (RM 7.5 (2.7/2))
---
pragma Ada_
This patch removes an accessibility check that was improperly applied, via
a type conversion, to an an operand that is an access parameter that also
requires a non-null check.
Test in ACATS 4.0K C3A0030.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-05-02 Ed Schonberg
* sem_
This patch speeds up "new" and Unchecked_Deallocation in simple cases.
No change in behavior; no test available.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-05-02 Bob Duff
* s-memory.adb (Alloc, Realloc): Move checks
for Size = 0 or size_t'Last into the Result = Sys
This patch fixes a compiler crash on an inlined call in a nested instantiation
when the corresponding generic unit has aspect specifications.
The following must compile quietly:
gcc -c inst.ads -gnatn -O
---
with Pointer;
package Inst is
package I is new Pointer (Integer);
end;
---
package
This patch minimizes the generation of wrappers of protected type
dispatching primitives since they may cause reporting spurious
ambiguity in correct code. After this patch the following test
compiles without errors:
package Ambig is
type Lim_Iface is limited interface;
type Prot is synchro
This patch modifies the creation of finalization masters for anonymous access-
to-controlled types. Prior to this change, each compilation unit utilized a
single heterogeneous finalization master to service all allocations where the
associated type is anonymous access-to-controlled. This patch remo
This patch introduces new switch -gnatd.H to enabled ASIS_GNSA mode. When
active, this mode disabled the call to gigi. In addition, the patch suppresses
various error checks with respect to attribute definition clauses in ASIS mode.
-- Source --
-- clauses.ads
package
This patch implements the proper semantics of predicated subtypes in various
contexts when the assertion policy is Ignore. This affects the semantics of
case constructs and object declarations when values that do not satisfy the
predicate are present.
Tested in ACATS 4.0J tests C54003 and C457005
Compiling with optimizations enabled the linker may report undefined
symbols of the form "xxxTs" associated with types that implement
interface types. This issue was introduced on 2016-01-16 as part of
improving the support of subprograms that are inlined across units
with optimization.
No small r
Ada RM requires that procedure Text_IO_Get_Line sets Last to
Item'First - 1 when parameter Item is the empty string, which was not
performed until now.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-05-02 Yannick Moy
* a-tigeli.adb (Get_Line): Always set Last prior to returnin
... which is very unfriendly to tasking programs, where a task running
Delete_Tree could cause a unexpected change of current directory in another
task running concurrently.
The program below is expected to display
No directory change observed
--
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Di
With this patch the representation information generated with the -gnatR
compilation switch includes information on subprograms nested within
subprogram bodies.
Executing
gcc -c -gnatRm p.adb
must yield;
---
Representation information for unit P (body)
procedure inner declared at p.adb:9:1
This patch fixes an error in the determination of the convention to be used for
a formal parameter, when the corresponding type carries a convention pragma.
Executing:
gcc -c p.ads -gnatRm
must yield:
Representation information for unit P (spec)
for Rec'Size use 1024;
for Rec'Alignment use 1;
This patch fixes a race condition in an allocator for a type that needs
finalization. The race condition is unlikely to occur in practice;
it occurs when the allocator is in a Finalize that occurs after the
corresponding master has already started its finalization. Finalize
operations often dealloc
This patch modifies the implementation of container indexing to inspect the
base type of the container in case the container is a subtype. No
simple reproducer found.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-05-02 Hristian Kirtchev
* sem_ch4.adb (Find_Indexing_Operations
It may occur in some occasions that Get_Line incorrectly sets its Last
parameter to one past the correct value. This can only occur when the
line being copied is the last line of the file, and does not contain
the newline character.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-05-02 Ya
This patch verifies that classwide Pre/Postconditions cannot be applied to
an operation of an untagged synchronized type, given that these are not
primitive operations of a tagged type.
Tested in ACATS b611007.
Tested on x86_64-pc-linux-gnu, committed on trunk
2016-04-27 Ed Schonberg
Previously, an informational message that was not a warning was treated as an
error. This patch changes that, so such an informational message is not an
error. There are no such messages in the compiler, so no test is available.
This patch is mainly for use by SPARK, which wants to have information
This patch modifies the contract freezing mechanism to suppress freezing when
the trigger is the body of an instantiated package. This effectively prevents
a spurious attempt to freeze because a) the body instantiation pass does not
have all semantic information and b) freezing has already taken pl
This patch detects cases when the determinant of a system of equations is
exactly Zero, and raises the proper exception, as mandated by RN G.3.2 (68/2)
and G.3.2 (89/2).
Executing the following:
gnatmake -q debug_solve.adb
debug_solve
must yield:
System is:
1.0E+00 x_1 + 0.0E+00
This patch implements a mechanism for handling of renamings in SPARK. Since
SPARK cannot handle this form of aliasing, a reference to a renamed object is
replaced by a reference to the object itself.
-- Source --
-- regpat.ads
package Regpat is
type Program_Data is
401 - 500 of 2440 matches
Mail list logo