Development Log

  • 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.

  • GNAT Pro
    Mar 10th, 2014

    Zero-Cost Exceptions for Ravenscar-Full on p55-elf
    The ravenscar-full runtimes are now using zero-cost exceptions model (ZCX) on p55-elf target.

  • GNAT Pro
    Mar 9th, 2014

    Static predicates for real and string types
    Static predicates for real and string types are now fully implemented. The implementation is as defined in the RM with one exception, which is that in the RM string comparisons are allowed to be predicate-static, even though they are not static. That's clearly a mistake, so we simply reject such comparisons as not being predicate-static.

  • GNAT Pro
    Mar 8th, 2014

    Implement new pragma Unevaluated_Use_Of_Old
    Normally use of attribute Old or Loop_Entry is illegal within an expression that is potentially unevaluated. This pragma allows the arguments ERROR, WARN, or ALLOW. ERROR gives the RM-defined behavior (treat as illegal). WARN allows the usage with a warning, and ALLOW allows it with no warning.

  • Ada Web Server
    Mar 6th, 2014

    Diffie-Hellman and RSA parameters generation
    Support for Diffie-Hellman and RSA parameters generation on server side. These parameters are automatically generated by AWS the first time. They can be regenerated at any time for security reasons if needed. The generated Diffie-Hellman parameters are saved in a file to be reused on next run as it is quite expensive to generate it every time at the start of an application.

  • GNAT Pro
    Mar 6th, 2014

    Improve project support for ASIS tools
    When called with a project file, ASIS tools now take compilation options needed for tree creation from the Builder package, in addition to the Compiler package.

  • GNAT Pro
    Mar 3rd, 2014

    Improve project support for ASIS tools
    The set of options ASIS tools can directly read from project files when creating tree files has been extended to include '-gnatI' and '--RTS=...'. These options can now be read from the Compiler package, so there is no need to specify them in the '-cargs' section of the command line.

  • GNAT Pro
    Mar 3rd, 2014

    Cleanup documentation for Max[_Interrupt]_Priority
    The GNAT RM mentioned two pragmas Max_Priority and Max_Interrupt_Priority that have never been implemented. The documentation is now removed (these pragmas serve no useful purpose in any case). On the other hand the constants Max_Priority and Max_Interrupt_Priority are (and always have been) declared as implementation-defined additions to package Standard, and they are now properly documented in the GNAT RM.

  • Ada Web Server
    Mar 2nd, 2014

    Add support for controlling WebSocket handshake
    In the user's WebSocket factory it is now possible to return an AWS.Net.WebSocket.Handshake_Error.Object to reject the handshake. With such response it is possible to specify a specific status code and an associated reaso-phrase. The default status code is 403.

  • Ada Web Server
    Mar 2nd, 2014

    Add support for cipher priority
    It is now possible to specify the SSL/TLS session’s handshake algorithms and options using the new configuration variable CIPHER_PRIORITIES.

  • SPARK Pro
    Feb 28th, 2014

    Functions with dependency contracts
    The dependency contract on functions is now fully supported: it is enforced in the function's body and expressions making use of such a function will only include the non-null dependencies in their own dependencies.

  • CodePeer
    Feb 26th, 2014

    Support for aggregate projects
    CodePeer now supports analysis of aggregate project files.

  • New function Create_Config_Pragmas_File
    A new function Create_Config_Pragmas_File is added to package GNATCOLL.Projects.Aux. It creates a temporary file that contains the configuration pragmas for a project tree and returns the full path of the temporary file.

  • GNAT Pro
    Feb 26th, 2014

    Allow Wide_String output on Windows
    Windows supports text mode translation on files, we now take advantage of this by avoiding any encoding in the Ada run-time. This allows Wide_String output on the Windows console to function as expected. As part of this change, two new functions are added to Interfaces.C_Streams (fputwc and set_mode).

  • GNAT Pro
    Feb 26th, 2014

    Improved compiler performance on big record types
    The compile-time performance of the compiler on big discriminated record types containing numerous dynamic fields has been significantly improved, both in terms of peak memory usage and compilation time.

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

    GPS: custom completion resolvers
    It is now possible to use Python plug-ins to provide custom entries in the completion window for source files.

  • GNAT Pro
    Feb 25th, 2014

    Alternate output modes for GNAT.Memory_Dump
    Output lines from GNAT.Memory_Dump.Dump can now be prefixed with an offset relative to the start of the dump, or have no prefix at all, instead of showing an absolute address.

  • GNAT Pro
    Feb 23rd, 2014

    Switch -gnatR can be used together with -gnatc
    You can now use -gnatR and -gnatc together to generate representation information, even if no code is being generated.

  • CodePeer
    Feb 22nd, 2014

    New -security switch
    A new switch -security is available via the -output-msg switch to generate only messages related to security (as opposed to safety) concerns.

  • GNAT Pro
    Feb 22nd, 2014

    New GNAT.OS_Lib subprograms to work with date/time
    There are two new subprograms added to GNAT.OS_Lib to deal with date/time. Set_File_Last_Modify_Time_Stamp sets the last modification time stamp for a given files and GM_Time_Of creates an OS_Time from time parts.

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

    GPS: support for ClearCase “diff against working”
    The "ClearCase Native" VCS now supports querying against the working revision.

  • GNAT Pro
    Feb 20th, 2014

    Full style checks for binary operator spacing
    Style checks related to binary operator spacing (enabled by -gnatyt, -gnatyg, -gnatyy or -gnatg) were omitted when the left operand was a literal (for example, in expressions such as 16-One or "A"&"B"). These checks are now included when activated by any of the above switches. To aid in transition to this situation of additional style warnings, a new debug switch -gnatd.Q is added which disables these new checks and returns the compiler to its previous state in this respect.

  • SPARK Pro
    Feb 19th, 2014

    Reduced message noise for ineffective subprograms
    Subprograms with no outputs (either parameters or globals) used to produce one warning message for each statement. Now a single message is issued for the entire subprogram.

  • GNAT Pro
    Feb 19th, 2014

    Interfaces.C.Extensions added to restricted runtime
    The package Interfaces.C.Extensions has been added to the restricted run time. This package provides type declarations which are generally useful in interfacing to C, and in particular, they are utilized by the C/C++ binding generator capability.

  • CodePeer
    Feb 18th, 2014

    Utility to generate target configuration file
    A small utility found under <install>/share/codepeer/target can be used to generate a target configuration file corresponding to the target Ada compiler used, instead of e.g. writing this file manually.

  • GNATCOLL.Xref support for aggregate projects
    GNATCOLL.Xref and gnatinspect now support aggregate projects. To port your application, you mostly need to replace calls to Info with calls to Info_Set, since a given file can now belong to several projects. This returns the list of possible project, and you can either use some other context to choose the appropriate project, or take the first one (which will not work for all types of aggregates though).

  • GNAT Pro
    Feb 17th, 2014

    Null deallocation ignored by gnatmem
    An attempt to deallocate a null access value will no longer cause gnatmem to report "Releasing deallocated memory" for such an attempt.

  • GNAT Pro
    Feb 17th, 2014

    New gnatmem switch -t
    A new switch -t is added to gnatmem. This switch causes memory allocated sizes to be always output in Bytes and not in Kilobytes or Megabytes depending on the value.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Feb 14th, 2014

    GPS: new plugin treemove
    This plugin improves key navigation in trees like the Project Explorer. Left and Right will now move the cursor up or down, and automatically expand or collapse nodes to match the default behavior on Windows.

  • GNAT Pro
    Feb 13th, 2014

    Relaxed rules for Scalar_Storage_Order
    An explicit Scalar_Storage_Order attribute definition is no longer required for a composite type that has a component that has a Scalar_Storage_Order specified. If no Scalar_Storage_Order attribute is given for the enclosing composite type, it gets the default system storage order. Note that compatibility rules between scalar storage order of nested composites still apply in any case.

  • GNAT Pro
    Feb 13th, 2014

    Convert Android to Zero Cost Exception Handling
    The Android version of GNAT has been enhanced to use Zero Cost Exception (ZCX) handling.

  • GNAT Pro
    Feb 13th, 2014

    Implement No_Standard_Allocators_After_Elaboration
    The restriction No_Standard_Allocators_After_Elaboration is now fully implemented as defined in the final version of the Ada 2012 RM (the previous implementation was of a partial preliminary version). This includes both of the static illegality cases, and the run-time check.

  • GNAT Pro
    Feb 13th, 2014

    Unnecessary Loop_Entry constant optimized out
    Previously, an unneeded constant was generated for the use of a Loop_Entry attribute used within an ignored assertion pragma. This generation of this constant is now suppressed, since it is not needed for the assertion.

  • GNAT Pro
    Feb 12th, 2014

    Analyzing subunits with illegal siblings
    An undocumented limitation existed that prevented a number of tools (e.g. gnatcheck, gnatpp) from analyzing legal subunits that had illegal siblings. This limitation has been removed.

  • GNAT Pro
    Feb 12th, 2014

    New C/C++ GPRbuild configurations for WRS Linux
    GPRbuild now has configurations for the C and C++ compilers provided by Wind River for use with Wind River Linux. This means those compiler will be invoked when GPRbuild is used to drive a build and C or C++ code is involved.

  • GNAT Pro
    Feb 11th, 2014

    Controlling parameters queries in Asis.Extensions
    Asis.Extensions has two new queries. Controlling_Parameters returns a list of controlling parameters from the declaration of a dispatching operation. Has_Controlling_Result checks for the declaration of a dispatching function if the function has a dispatching result.

  • GNAT Pro
    Feb 11th, 2014

    Elaboration entities in packages can be suppressed
    Normally each package contains a 16-bit counter used to check for access before elaboration, and to control multiple elaboration attempts. With this change, this counter is eliminated for units compiled with the static model of elaboration if restriction No_Elaboration_Code is active. In addition, a new restriction No_Multiple_Elaboration allows suppression of these counters in static elaboration units even if they do have elaboration code. If this restriction is used, then the situations in which multiple elaboration is possible, including non-Ada main programs, and Stand Alone libraries are not permitted.

  • GNAT Pro|GPS | GNAT Pro|GNATbench
    Feb 11th, 2014

    GPS: Remove xref database with default project
    When GPS loads a default project because none is given in argument, it now removes the xref database (gnatinspect.db) on exit.

  • GNAT Pro
    Feb 10th, 2014

    New aspect Annotate, Entity argument for pragma
    An optional final named argument [Entity => local_NAME] is allowed for pragma Annotate to indicate that the annotation is for a particular entity, and a corresponding Annotate aspect is introduced.

  • GNAT Pro|GPRbuild
    Feb 10th, 2014

    Advice to use—help for incorrectly invoked tools
    When a gpr tool (gprbuild, gprconfig, gprclean or gprinstall) is incorrectly invoked, with at least one argument, the usage will no longer be displayed. Instead this line will be displayed:

       type "gprxxx --help" for more information.
    

  • GNAT Pro
    Feb 10th, 2014

    gnat2xml now supports parallel processing
    The gnat2xml tool now supports the -j switch in --incremental mode, to tell it to run multiple processes in parallel.

  • GNAT Pro
    Feb 10th, 2014

    ASIS: new switches—incremental and—output-dir
    gnat2xml and gnatpp now support two new command-line switches. --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. --output-dir=dir sends the output to directory 'dir'. For gnat2xml, there is one output file for each input file, with ".xml" appended; this replaces the old -m switch. For gnatpp, the output files have the same names as the input files.

  • GNAT Pro
    Feb 9th, 2014

    All messages about bit-order are now info messages
    The messages about bit and byte order in records, from use of the attributes Bit_Order and Scalar_Storage_Order are now info (information) messages rather than warnings, and they are all controlled by -gnatw.v/-gnatw.V. Previously there was a somewhat random mixture of warnings and info messages, some of which were enabled by default, rather than controlled by these switches.

  • GNAT Pro
    Feb 9th, 2014

    New restriction No_Long_Long_Integers
    A new partition-wide restriction No_Long_Long_Integers forbids any explicit reference to type Standard.Long_Long_Integer, and also forbids declaring range types whose implicit base type is Long_Long_Integer, and modular types whose size exceeds Long_Integer'Size.

  • GNAT Pro
    Feb 8th, 2014

    New check name Duplicated_Tag_Check
    A new check name Duplicated_Tag_Check, that can be used in pragma Suppress and pragma Unsupress is introduced. If this check is suppressed, then the declaration of a tagged type does not do a check for duplicated external tag name, so no exception is raised for such a duplication. Note that as part of this change, the undocumented debug flag -gnatdQ which also had the effect of suppressing this check is eliminated.

  • GNAT Pro
    Feb 7th, 2014

    Advice to use—help for incorrectly invoked tools
    When a gnat tool (gnatbind, gnatchop, gnatclean, gnatfind, gnatls, gnatmake, gnatname, gnatprep or gnatxref) is incorrectly invoked, with at least one argument, the usage is no longer be displayed. Instead this line will be displayed: try "gnatxxx --help" for more information. This message is output using a new procedure GNAT.Command_Line.Try_Help.

  • GB: Improved new-project wizard
    The GNATbench new-project wizard no longer inserts RTP switches in the new project file. Specifically, "-mrtp" and "--RTS=rtp" are now handled automatically by GPRbuild so they are not needed in the project file.

  • GNAT Pro
    Feb 4th, 2014

    New GNAT unit to rewrite data on the fly
    A new GNAT unit named GNAT.Rewrite_Data is available. This unit can be used to rewrite strings within large text blocks without requiring the entire contents to be resident all at once in memory. For example, it can be used to rewrite large files or socket streams.

  • GNAT Pro
    Feb 4th, 2014

    Static predicate can be given by case expression
    The expression that defines a static predicate on a discrete subtype can be given by means of a case expression. This late addition to the Ada 2012 Reference Manual is now fully supported.

  • GNAT Pro
    Feb 4th, 2014

    gnatls -v: directories in search paths on Windows
    The directories displayed by "gnatls -v" in the Source search Path and the Object Search Path now use directory separator '\' on Windows instead of '/'.

  • GNAT Pro
    Feb 4th, 2014

    gnatmake -gnatA no longer reads gnat.adc
    When gnatmake is invoked without a project file and with switch -gnatA on the command line, it no longer reads gnat.adc. So, any compilation error in gnat.adc will not prevent gnatmake from running correctly when invoked with -gnatA.

  • GNAT Pro
    Feb 3rd, 2014

    Better handling of attribute prefix not a name
    The prefix of an attribute must be a name, not a general expression. Before, the compiler complained of a missing binary operator in this situation. But now it explicitly notes that a name is required, and in Ada 2012 mode advises about the possibility of using qualification to make the prefix into a name.

   1  2  3     Next »