Development Log in categories GNAT Pro

  • GNAT Pro
    May 25th, 2017

    New function To_Ada in GNAT.Sockets
    A new function GNAT.Sockets.To_Ada supports converting externally created socket descriptors to type Socket_Type for use with other operations in package GNAT.Sockets.

  • GNAT Pro
    May 24th, 2017

    Debug information for imported entities
    GCC now produces debug information to describe Ada entities that are imported using the Import pragma or aspect.

  • GNAT Pro
    May 23rd, 2017

    Warning on potential C++ ABI mismatch on ARM
    With -Wpsabi on ARM, the compiler now warns in corner case situations where it knows it could possibly generate wrong code for complex C++ constructs involving method calls passing vectors of composite elements as arguments. The issue warned against is a possible caller/callee disagreement about what arguments-passing convention to use, leading to crashes at run time.

  • GNAT Pro
    May 22nd, 2017

    Minimize useless body compilations when inlining
    A filter has been added to the inlining / instantiation circuitry to recognize package bodies that do not contain bodies of inlined functions or generic bodies being instantiated, and that therefore do not need to be compiled, even though their declarations may appear in the context of other units that are needed for inlining.

  • GNAT Pro
    May 6th, 2017

    Warning on potential C++ ABI mismatch on ARM
    With -Wpsabi on ARM, the compiler now warns in corner case situations where it knows it could possibly generate wrong code for complex C++ constructs involving method calls passing vectors of composite elements as arguments. The issue warned against is a possible caller/callee disagreement about what arguments-passing convention to use, leading to crashes at run time.

  • GNAT Pro
    May 3rd, 2017

    Enhanced -gnatR3 output for simple dynamic records
    The representation information given by the compiler when the -gnatR3 switch is specified now includes size information for simple dynamic record types without discriminants.

  • GNAT Pro | GPRbuild
    Apr 27th, 2017

    Avoid following too many symbolic links
    When gprbuild or gprclean were invoked without switch -eL, some symbolic links were still needlessly followed. Now, only the minimum number of symbolic links are followed.

  • GNAT Pro
    Apr 27th, 2017

    Relax alignment constraint for record extensions
    On x86 and, more generally, architectures that do not require strict alignment for memory accesses, the compiler now accepts size clauses on record type extensions that effectively lower the alignment of the type, if there is also a representation clause on the type.

  • GNAT Pro
    Apr 19th, 2017

    Removal of restriction on inlining in related units
    The compiler can now inline into a child package a subprogram declared in a parent package, even if the parent package has a with clause for the child package in the parent's body.

  • GNAT Pro
    Apr 17th, 2017

    Speedup for functions returning unconstrained arrays
    The compiler now generates more efficient object code for simple functions returning an unconstrained array type, for example Ada.Numerics.Real_Arrays.Eigenvalues as implemented in GNAT.

  • GNAT Pro
    Apr 16th, 2017

    Optimize calls to null procedures
    GNAT now replaces calls to null procedures by null statements, except when GNATcoverage is active. This enables further optimizations that include such calls.

  • GNAT Pro
    Apr 15th, 2017

    Improved dimensionality checking for generic units
    The dimensionality-checking algorithms have been enhanced to allow the construction of generic units that can apply to different dimensioned arguments, and verify the dimensional consistency of each separate instance of such a unit.

  • SQL Long_Float type conformity
    New cursor operation Long_Float_Value returns Long_Float value by the field index. New routine As_Long_Float makes SQL_Parameter from Long_Float value to be able to send Long_Float parameter to SQL subsystem.

  • GNAT Pro
    Apr 15th, 2017

    Time_IO.Value enhanced to parse ISO-8861 UTC
    The function Value of package GNAT.Calendar.Time_IO has been enhanced to parse strings containing UTC date and time with the ISO-8861 format.

  • GNAT Pro
    Apr 7th, 2017

    Better message on violation of No_Dynamic_Allocation
    The Ravenscar profile includes a restriction on dynamic allocation. Its violation is usually detected in the back-end, with an obscure message that does not refer directly to the entity responsible for the dynamic allocation (which is typically a discriminated object with non-static discriminants). This enhancement adds a source warning to pinpoint more precisely the cause of the subsequent error and compiler rejection.

  • GNAT Pro
    Apr 6th, 2017

    Elimination of out-of-line body with Inline_Always
    The compiler now always eliminates the out-of-line body of a subprogram subject to pragma Inline_Always.

  • GNAT Pro
    Mar 27th, 2017

    GNATdoc can now extract documentation from bodies
    GNATdoc has a new capability, activated by the command-line switch '-d'; in this mode, GNATdoc processes bodies and extracts documentation for library-level entities.

  • GNAT Pro
    Mar 24th, 2017

    Automatic reordering of components in record types
    The compiler can now reorder components in record types with convention Ada in order to fix blatant inefficiencies that the layout of components in textual order would bring about. The reordering is automatic and silent by default, but both characteristics can be toggled: pragma No_Component_Reordering disables it either on a per-record-type or on a global basis, while -gnatw.q gives a warning for each affected component in record types.

  • GNAT Pro
    Mar 23rd, 2017

    Relax alignment constraint for record extensions
    On x86 and, more generally, architectures that do not require strict alignment for memory accesses, the compiler now accepts size clauses on record type extensions that effectively lower the alignment of the type, if there is also a representation clause on the type.

  • GNATCOLL.Traces performance improvements
    Performance has been significantly enhanced: streams no longer flush after each message by default (though this is now configurable in the configuration file), locking is done at the stream level, and can often be avoided altogether since the system provides its own locking, messages are created as a whole line and then sent once to the stream, which provides more flexibility when writing streams, and other various enhancements. In a single threaded application, we now output 6 million messages per second to a file.

  • GNAT Pro
    Mar 16th, 2017

    GNAT includes a ZFP runtime for Linux and Windows
    The native ZFP (Zero Footprint) runtime for Linux and Windows is now part of the base GNAT package. It is now also available with 64-bit compilers. This runtime is similar to the ZFP runtimes that are delivered with our bare metal products and can be used to test an embedded project in a native environment.

  • GNATCOLL.Mmap: support files larger than 2Gb
    This package now supports mapping files up to 1 petabyte, on 64 bits systems. This is backward compatible, although to access such large files you will need to use some different functions. This package also includes support for the madvise() system call on Unix systems, which might provide a 5% performance improvements when accessing files sequentially.

  • GNATCOLL.Strings: new package
    This package, and the generic implementation in GNATCOLL.Strings_Impl, provide a new string type. A XString is similar to an unbounded string, but more efficient (up to 10x for strings 23 characters or less, or when manipulating substrings, and up to 1.4 for larger strings), and with a more extensive API.

  • GNATCOLL.Promises: new package
    This package provides a promise type, also known as a future in some language. This is a way to perform background computation, then chain a series of callbacks which can themselves perform asynchronous computation.

  • GNAT Pro
    Mar 13th, 2017

    Option to treat run-time exception warnings as errors
    The compiler supports a new switch -gnatwE that treats warnings that run-time exceptions will occur as compile-time errors.

  • GNAT Pro | GPRbuild
    Mar 7th, 2017

    Extending a package from a project being extended
    In an extending project A, it is now possible to extend a package P from the project being extended B, when project B is extending another project C and package P is not declared in project B but has only been inherited from project C.

  • GNAT Pro
    Mar 4th, 2017

    Ceiling locking on Linux without root privileges
    Ceiling locking on Linux no longer requires root privileges. Instead, you can run "sudo /sbin/setcap cap_sys_nice=ep exe_file" to set the relevant capability on the executable file, and then that program can use ceiling locking without running as root.

  • GNAT Pro | GPRbuild
    Feb 28th, 2017

    Environment variables TEMP and TMP for temp dir
    In addition to environment variable TMPDIR, TEMP and TMP are potentially used by the Project Manager to store temporary files. If one of these environment variables designates the absolute path of a directory, this directory is used to store the temporaty files. TMPDIR is checked first, then TEMP, then TMP. If none of those designates the full path of a directory, then the temporary files are stored in object directories.

  • GNAT Pro | GPS | GNATbench
    Feb 27th, 2017

    GPS: Locate in Project view and flat mode
    The "Locate in Project View" action now works for both normal and flat modes, without switching the mode.

  • GNAT Pro | GPS | GNATbench
    Feb 27th, 2017

    GPS: Locate in Project view and flat mode
    The "Locate in Project View" action now works for both normal and flat modes, without switching the mode.

  • GNAT Pro
    Feb 27th, 2017

    Warning messages for null-excluding components
    Warnings are now issued on composite objects that have components of a null-excluding access type that are default initialized to null, as such initializations will raise Constraint_Error.

  • GNATCOLL.SQL: New routines for SQL_Criteria
    Length routine returns number of criteria on the upper level of SQL_Criteria delimited by the same logical operator "OR" or "AND". Is_And and Is_Or routines to discover upper level boolean operation of criteria. Combine routine to create SQL_Criteria from list of criteria.

  • GNAT Pro | GPRbuild
    Feb 23rd, 2017

    GPRbuild response files
    GPRbuild now supports response files. A response file is a text file, specified to gprbuild with argument '@<argument_file_path>'. The path is either absolute or relative to the current working directory. Each line in a response file is an argument for gprbuild. An argument '@<file>' is not allowed in a response file.

  • GNAT Pro
    Feb 22nd, 2017

    Removal of restriction on Scalar_Storage_Order usage
    The restriction whereby a record type cannot contain a component whose type is a bit-packed array and which has a different scalar storage order from the record type has been removed.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2017

    GPS: selectable file property labels
    The labels containing the base name and directory of a file in the Properties dialog are now selectable, which means you can copy/paste from them.

  • GNAT Pro | GPS | GNATbench
    Feb 20th, 2017

    GPS: selectable file property labels
    The labels containing the base name and directory of a file in the Properties dialog are now selectable, which means you can copy/paste from them.

  • GNATCOLL.SQL handling of postgresql schema
    When a database uses multiple schemas (table names starting with prefixes like "schema1.table" and "schema2.table" for instance), gnatcoll_db2ada will now generate nested packages to avoid name conflicts and let users use the same "." notation they do in SQL. For instance, Database.Schema1.Table.

  • GNAT Pro
    Feb 13th, 2017

    Support aliases when defining user command in gdb
    When defining a user command in gdb with the command "define", abbreviations (e.g. "command" for "commands") are now fully supported.

  • GNAT Pro
    Feb 10th, 2017

    Support of extended interrupts on leon3-elf
    The Ravenscar runtimes now support the extended interrupts of the interrupt controller. You need to set the Extended_Interrupt_Level constant in s-bbbopa.ads and rebuild the runtime, as it is not enabled by default.

  • GNATCOLL.Utils One more Split routine
    The new Split routine calls specified function for each found substring. The callback function can stop the string processing by returning False.

  • GNAT Pro
    Feb 9th, 2017

    Elaboration checks for dispatching calls
    The compiler now installs access-before-elaboration checks on library-level nonabstract primitive operations of tagged types in either elaboration mode. A dispatching call which occurs during elaboration and targets such a primitive will fail with Program_Error if the body of the primitive was not elaborated.

  • GNAT Pro | GPS | GNATbench
    Feb 6th, 2017

    WB: create missing scenario.makefile during build
    When building projects having GNATbench nature, if scenario.makefile is not found, it is created before the Wind River Workbench build is started. This is useful for headless builds done by continuous builders when the scenario.makefile file is not under version control.

  • GNAT Pro | GPS | GNATbench
    Feb 6th, 2017

    WB: create missing scenario.makefile during build
    When building projects having GNATbench nature, if scenario.makefile is not found, it is created before the Wind River Workbench build is started. This is useful for headless builds done by continuous builders when the scenario.makefile file is not under version control.

  • GNAT Pro
    Feb 6th, 2017

    Improved elaboration checks in complex code
    The compiler now generates access-before-elaboration checks for subprogram calls occurring within complex code such as the branches of a conditional.

  • GNAT Pro | GPS | GNATbench
    Feb 2nd, 2017

    GB: add check syntax/semantic, recompute xref menus
    Check Ada File(s) Semantic, Check Ada File(s) Syntax, Recompute Xref Info & Compile All Sources contextual menus added.

  • GNAT Pro | GPRbuild
    Feb 2nd, 2017

    Add support for skipping new project generation
    The new GPRinstall's --no-project command line option and install package attribute Install_Project can be used to disable generation and installation of the project file.

  • GNAT Pro | GPS | GNATbench
    Feb 2nd, 2017

    GB: add check syntax/semantic, recompute xref menus
    Check Ada File(s) Semantic, Check Ada File(s) Syntax, Recompute Xref Info & Compile All Sources contextual menus added.

  • GNATCOLL.SQL: support for PostgreSQL range types
    The new package GNATCOLL.SQL.Ranges provides support for range types, as available in PostgreSQL. Predefined instances are provided in GNATCOLL.SQL.Postgres.

  • GNAT Pro | GPRbuild
    Feb 1st, 2017

    New gprbuild switch—no-complete-output / -n
    A new switch is added to gprbuild, --no-complete-output or equivalent -n. This switch is only accepted on the command line, not in package Builder. When this switch is used, no files .stderr or .stdout are created by the compilers. This switch also cancels any previous switch --complete-output.

  • GNAT Pro | GPRbuild
    Jan 30th, 2017

    New attribute Install_Project in package Install
    This new attribute controls whether to install a project file together with the sources and/or objects and libraries.

   1  2  3     Next »