Development Log

  • GNAT Pro
    Apr 16th, 2014

    Debugger support for variable length arrays in C
    The debugger has been enhanced to print the value of C variable length arrays correctly. The sizeof operator now also prints the correct value.

  • SPARK Pro
    Apr 15th, 2014

    Support contextual analysis of local subprograms
    GNATprove can now analyze local subprograms without contracts in the context of their calls, as if their body was inlined. This makes it possible to get a very precise analysis, without requiring that the user writes a contract on these subprograms.

  • GNAT Pro
    Apr 14th, 2014

    Warn on postconditions for No_Return Subprograms
    The only postcondition that makes sense for a subprogram labeled as being No_Return (using the pragma of that name) is an explicit False test. Any other postcondition is useless and suspicious. A warning (under control of -gnatw.t/-gnatw.T) is now given for such useless postconditions.

  • GNAT Pro
    Apr 13th, 2014

    gnatcheck:—incremental mode
    gnatcheck now supports the --incremental switch, similarly to gnat2xml and gnatpp. --incremental invokes incremental processing on a per-file basis. Source files are only processed if they have been modified, or if files they depend on have been modified. This is similar to the way gnatmake/gprbuild only compiles files that need to be recompiled.

  • GNAT Pro|GPRbuild
    Apr 12th, 2014

    Add a time-stamp in all gprslave’s message
    All gprslave's messages are now prefixed with a time-stamp in verbose mode. This will help tracking down possible issues with the slave.

  • CodePeer
    Apr 11th, 2014

    Compiler-like mode
    A new switch -gnateC is introduced, providing a compiler-like behavior to analyze files one by one quickly, with no global analysis and no database. This switch should be used by calling directly codepeer-gnatmake with -gnatcC -gnateC.

  • GNAT Pro
    Apr 11th, 2014

    New implementation of Ada.Task_Attributes
    The package Ada.Task_Attributes has been reimplemented, taking advantage of RM permission C.7.2(28), and putting a maximum number of task attributes supported to simplify the implementation and make it more efficient (the limit is 32 on most platforms). In addition, a special case is made for task attributes holding an address/pointer-sized object (or something smaller) and whose Initial_Value is 0 (or null for access types) which is more efficient and doesn't require the use of an indirection (and therefore, no extra dynamic memory allocation, and no locking).

  • GNATCOLL.Xref.Get_Entity searching in all files
    It is now possible to call Get_Entity and look for that entity in all sources of the project, rather than in a specific file.

  • SPARK Pro
    Apr 8th, 2014

    Contracts of functions available in assertions
    An axiom is now generated for contracts of non-recursive normal functions. As a consequence, the contracts of non-recursive normal functions is now available for proof even if the function is called in a contract or an assertion.

  • GPS: Show “withs” in Outline view
    New filter in Outline view enables visualization of with-clauses in current compilation unit to find them easier among unsorted clauses and comments.

  • SPARK Pro
    Apr 7th, 2014

    Improved parallelism for proof
    GNATprove is now able to better parallelize proof attempts. This results in better performance of GNATprove on multi-core systems, when the switch -j is used.

  • SPARK Pro
    Apr 4th, 2014

    Use of box symbol in attribute ‘Update
    The use of box symbol <> anywhere in the expression of attribute 'Update is forbidden.

  • GNAT Pro
    Apr 4th, 2014

    Compilation date and time are now available
    The compiler now prints the compilation time in -gnatv or -gnatl mode (suppressible with debug flag -gnatd7). It also provides new functions in GNAT.Source_Info to obtain the compilation date and time (in a form compatible with the use of the C macros __DATE__ and __TIME__). Finally a new function System.OS_Lib.Current_Time_String is introduced (and used by the compiler to implement this functionality).

  • GPS: Implement auto-refresh mode for memory view
    Now memory view is auto-refresh during debug session. Changed pieces of data are hightlighted. This feature could be deactivated in preferences however.

  • GNAT Pro|GPRbuild
    Apr 2nd, 2014

    Short message when main library project up to date
    When the main project is a library project and is up to date, gprbuild instead of running silently now displays a short message such as:

       "libmain.a" up to date
       "libmain.so" up to date
    

  • GNAT Pro
    Apr 2nd, 2014

    Improved run time performance for large array reset
    The compiler generates faster code to reset a large array of integers to 0 by means of an aggregate with a single Others choice and, more generally, to set a large array of storage units to a single value by the same means.

  • GNAT Pro
    Apr 2nd, 2014

    gnatstub can generate subunits for body stubs
    A new option '--subunits' is added to gnatstub. It allows to generate subunits for body stubs.

  • GNAT Pro
    Apr 2nd, 2014

    New package GNAT.Formatted_String
    A new package GNAT.Formatted_String (file g-forstr.ads) provides a C/C++ printf() like formatted string support. Some generic routines are provided to be able to use types derived from Integer, Float or enumerations as values for the formatted string.

  • GNAT Pro
    Apr 1st, 2014

    Additional use of Constrained attribute documented
    In addition to the usage of this attribute in the Ada RM, GNAT also permits the use of the 'Constrained attribute in a generic template for any type, including types without discriminants. The value of this attribute in the generic instance when applied to a scalar type or a record type without discriminants is always True. This is now properly documented (the feature has been implemented for a while but not documented). This provides compatibility with some older Ada 83 compilers (notably DEC Ada).

  • Creating new nested modules in gnatcoll.scripts
    It is now possible to programmatically create nested modules, or even new toplevel modules from the GNATCOLL.Scripts API. For instance, you could now export a class to 'MyApp.MyModule.MyClass', and another to 'MyApp_Internal.MyClass'. The latter is in particular useful when you want to export low-level functions from Ada, and wrap them in a higher-level API directly in python.

  • GNAT Pro
    Apr 1st, 2014

    Inheritance of variables in extending projects
    Variables declared in project being extended are now inherited in the extending project: a variable V declared in a project A that is extended by a project B may be referenced as V in project B or as B.V in any other project that imports B.

  • GNAT Pro
    Mar 30th, 2014

    Non-zero exit status for missing ali file in gnatls
    If gnatls detects a missing ali file, then in addition to the error message on standard output, it also sets the gnatls exit status to a non-zero value.

  • GNAT Pro
    Mar 30th, 2014

    Dependency on target dependency info file
    When a source is compiled with switch -gnateT= so that a target dependency info file is read, this file is added to the dependencies of the source in the ALI file. Subsequent modification of the target dependency info file will trigger recompilation by the builder (gnatmake or gprbuild).

  • SPARK Pro
    Mar 27th, 2014

    Volatile types and composite objects
    Volatile types and composite objects are now supported. In particular, record and array types may be declared with the Volatile aspect, and access to individual fields, elements, and slices is permitted.

  • SPARK Pro
    Mar 27th, 2014

    Detect changes in pragma configuration file
    Previously, GNATprove did not detect a change in pragma configuration files, hence a user had to force re-analysis by using switch -f. Such a change is now automatically detected, and triggers re-analysis the next time GNATprove is run.

  • CodePeer
    Mar 27th, 2014

    Support for IEEE 754 floating point
    In previous releases, CodePeer was using infinite precision mathematical real numbers in order to analyze floating point expressions. CodePeer is now taking IEEE 754 floating point rounding into account to generate more accurate and complete messages.

  • CodePeer
    Mar 27th, 2014

    Floating point underflow detection
    CodePeer now performs analysis related to IEEE 754 floating point underflow when analyzing at maximum level (-level max or -level 4) and will generate messages about potential underflow on floating point operations.

  • GNAT Pro
    Mar 27th, 2014

    Dependencies on non-temporary config pragma files
    Dependencies are added for non-temporary configuration pragmas files, such as gnat.adc or those specified with switches -gnatec. When such a configuration pragmas file is modified, gnatmake will recompile the sources that were previously compiled with the configuration pragma file.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 26th, 2014

    Improved indentation of subtype predicates
    The indentation of subtype predicates when continuation lines is now better handled.

  • GNAT Pro
    Mar 26th, 2014

    Make Ada 2012 attributes more generally available
    The Ada 2012 standard attributes First_Valid, Has_Same_Storage, Last_Valid, Max_Alignment_For_Allocation are now allowed in Ada 95 and Ada 2005 modes, where they are treated as implementation-defined attributes. In addition, the implementation attribute Update is now available in Ada 95 and Ada 2005 modes as well as Ada 2012 mode.

  • GNAT Pro
    Mar 25th, 2014

    Error_Id for Raise_Exception with null exception id
    On the AAMP target, if Ada.Exceptions.Raise_Exception is called with a null Exception_Id, a call to Mini_RTE.Get_Error_Id will now return an error id of 19 (Constraint_Error) instead of 22 (Other_Error).

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 25th, 2014

    GPS: support for Android/Linux
    GPS now supports the arm-linux-androideabi toolchain.

  • SPARK Pro
    Mar 24th, 2014

    Support for shared variable control
    The SPARK toolset now properly enforces the restrictions specified in section 14.21.2 Shared Variable Control.

  • GNAT Pro|XML | Ada
    Mar 24th, 2014

    New configure option—enable-build
    This switch improves compatibility with other AdaCore addons like GtkAda. It enables one to choose the default build mode (Debug or Production) at configure line, rather than through environment variables.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 22nd, 2014

    GPS: improve gnatname integration
    To improve gnatname integration in GPS new project type wizard was implemented. The wizard asks only base questions and accepts file patterns to create a project from existing Ada files with arbitrary names.

  • GNAT Pro|GPRbuild
    Mar 21st, 2014

    Add support for LLVM C compiler
    This adds support for compiling and linking with the LLVM C compiler (clang).

  • GNAT Pro
    Mar 21st, 2014

    Increased number of direct task attributes
    The number of preallocated task attributes (used by Ada.Task_Attributes) is now 16 instead of 4 on native systems, to provide more efficient support for Ada.Task_Attributes when using more than 4 attributes.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 20th, 2014

    GPS: atomicity of Delete Line actions
    Multiple calls to the action "Delete Line" can now be undo-ed one by one.

  • Update to sqlite 3.8.4.1
    Mostly performance improvements

  • Ada Web Server
    Mar 18th, 2014

    Support for SSL/TLS session reuse
    AWS is now able to resume security sessions over the secure sockets. Session data are processed in two ways, either in server side session cache or in session tickets held on the client side (RFC 5077).

  • GNAT Pro
    Mar 18th, 2014

    Warn on possible expensive implicit conversion
    Although the language attempts to prevent the occurrence of expensive implicit change of representation conversions, there is one case in which it is legal to have such implicit conversions (namely the case where typ1 is derived from typ2, and then additional representation clauses are given for typ2). This now causes a warning at the point of declaration of the representation item, and also on calls that actually perform such implicit conversions of argument values.

  • GNAT Pro
    Mar 18th, 2014

    Implement workaround for FPU store errata on LEON3
    The compiler switch -mfix-ut699 has been enhanced to work around the store forwarding problem of the FPU in Aeroflex Gaisler's LEON3 Microprocessor.

  • GNAT Pro
    Mar 15th, 2014

    Column numbers take wide characters into account
    Column numbers displayed in brief error messages, and references in ALI files, now take wide character encodings (other than brackets encoding) into account, so for example, a single four byte UTF-8 sequence used to represent a wide wide character value now counts as a single column. The positioning of error flags in full error output (-gnatl or -gnatv) also takes wide character encodings into account.

  • GNAT Pro|GPRbuild
    Mar 15th, 2014

    Display slaves name for remote compilation errors
    When a remote compilation fails we now display on which remote computer this compilation was conducted. This can helps finding remote computers with incorrect setup for example.

  • GNAT Pro
    Mar 15th, 2014

    Document wide wide character encodings in source
    A section "Wide_Wide_Character Encodings" has been added to the users guide which describes the use of UTF-8 and brackets encodings for representing the occurrence of wide wide character codes in a source program (e.g. in string literals or in identifiers).

  • GNAT Pro
    Mar 14th, 2014

    Better error message for missing RANGE keyword
    If a subtype declaration is missing the range keyword (e.g. subtype MyInt is Integer 1 .. 10), the compiler now gives a clear message to this effect.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 13th, 2014

    WB: Support of Wind River Workbench 4.0.0
    GNATbench 2.9.0.w can be used on top of Wind River Workbench 4.0.0.

  • GNAT Pro|GPRbuild
    Mar 13th, 2014

    GPRinstall supports listing of installed packages
    A new mode, enabled with the option --list, can be used in GPRinstall to display the installed packages. Used with --stat a set of statistics are also displayed like the number of installed files and the total size on disk.

  • GNAT Pro
    Mar 10th, 2014

    New pragma Default_Scalar_Storage_Order
    A new pragma Default_Scalar_Storage_Order (Low/High_Order_First) can be used as a configuration pragma, or within a package spec or declarative part to specify the default Scalar_Storage_Order for any array or record type.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Mar 10th, 2014

    GPS: support for aggregate projects
    GPS now supports aggregate projects (read-only). Since those allow for duplicate file names within the loaded project, GPS will now show the context project in appropriate places (notebook tabs, omni-search box), and use this project to resolve cross-references.

   1  2  3     Next »