Development Log in 2007.

  • GNAT Pro
    Dec 31st, 2007

    Warnings from Compile_Time_Warning unconditional
    If a unit with's a package containing a Compile_Time_Warning pragma, then this warning is always generated. Previously it was suppressed as part of the general rule that warnings not in the main extended unit are suppressed, but that's not useful in this case.

  • GNAT Pro
    Dec 29th, 2007

    Support for imported generic subprograms
    It is now possible to declare generic subprogram units as imported, so that their bodies are written in a language for which pragma Import is supported. This provides a limited form of generic sharing, where multiple instances use the same compiled body.

  • GNAT Pro | GPS | GNATbench
    Dec 29th, 2007

    Align on arrows working in case statement
    The align plug-in has been enhanced to support arrows inside case statement.

  • GNAT Pro
    Dec 28th, 2007

    Eliminate warnings using chars_ptr type
    Interfaces.C.chars_ptr has been made Convention C. This avoids unhelpful warnings when converting to and from other convention C pointer types.

  • GNAT Pro
    Dec 27th, 2007

    New GNAT.Serial_Communications unit
    A new unit GNAT.Serial_Communications has been implemented to send/receive data over an RS232 port. This unit is supported on GNU/Linux and Windows.

  • GNAT Pro
    Dec 26th, 2007

    New attribute ‘Old to capture old values
    A new attribute 'Old can be used within a subprogram to refer to the entry value. This can be used in a subprogram to refer to the value of the prefix on entry. So for example if you have an argument of a record type X called Arg1, you can refer to Arg1.Field'Old which yields the value of Arg1.Field on entry. The implementation simply involves generating an object declaration which captures the value on entry. Any prefix is allowed except one of a limited type (since limited types cannot be copied to capture their values).

  • GNAT Pro
    Dec 24th, 2007

    Debugger enhancement when printing characters
    The debugger sometimes only displayed the numeric value of characters. It has It has now been enhanced to display the numeric value followed by the actual character. For instance, instead of printing "101", it now prints "101 'e'". This enhancement is only available on platforms using DWARF as the debugging format. On other platforms, only variables of type Character, Wide_Character, and Wide_Wide_Character are printed using the enhanced format.

  • GNAT Pro
    Dec 23rd, 2007

    Eliminate some unneeded validity checks
    Some unnecessary repeated validity checks have been eliminated by the front end. This is particularly useful for non-GCC back ends (such as AAMP), and when -O0 is used (no optimization). Usually these redundant checks would be eliminated if -O1 or -O2 is used in a GCC-based back end.

  • GNAT Pro
    Dec 23rd, 2007

    Allow change of file mode if mode does not change
    A change of mode is not allowed for certain files (ones that are shared, or have no name, or are system files). However, there is no reason to forbid this if the mode is not in fact changed, and this is now permitted without raising Use_Error.

  • GNAT Pro
    Dec 22nd, 2007

    New pragma Optimize_Alignment
    A new configuration pragma Optimize_Alignment takes a single parameter which can be OFF/TIME/SPACE. This pragma controls the behavior of the compiler in assigning default alignment values for composite types. If no pragma is given or if OFF is specified, then the behavior is unchanged (except for VMS, see entry for F124-010). This default mode provides a balance between time and space considerations. An argument of SPACE causes lower alignments to be specified, which save space at the expense of increased access penalties. For example, a record with an integer and character field which is specified to have a size of 40 bits, will have an alignment of 1 in this mode, instead of 4. An argument of TIME causes higher alignments to be specified, which improve execution speed at the expense of space. For example, in this mode a record whose size is specified to be 17 bits will have an alignment of 4.

  • GNAT Pro
    Dec 20th, 2007

    Gcov integration
    Gcov, a code coverage utility, is integrated with Gnat to handle Ada-specific features. It is now a fully supported part of our technology.

  • GNAT Pro
    Dec 20th, 2007

    Gprof integration
    Gprof, the GNU profiler, is integrated with GNAT on GNU/Linux x86/x86_64, Windows, and Solaris sparc/sparc64/x86 platforms. It is now fully supported as part of our technology on these platforms.

  • GNAT Pro
    Dec 18th, 2007

    Better handling of warnings for Spitbol.Patterns
    The GNAT.Spitbol.Patterns."*" operator can modify its right argument even though it is a function. This was not recognized by the warning machinery which could result in a client getting unexpected "never assigned" warnings. The warning machinery is now enhanced so that Warnings Off applied to the type of an IN mode formal suppresses these messages. Appropriate pragmas have been added so that Patterns clients will no longer get these warnings.

  • GNAT Pro
    Dec 17th, 2007

    Warn for misspelled package names in project files
    The Project Manager will no longer warn for unknown package names, except in verbose mode and if the package name is a possible misspelling of a known package name. When a misspelling is detected, the warning will include the possible misspelling.

  • GNAT Pro | GPS | GNATbench
    Dec 17th, 2007

    Code fixing uses the real indentation
    When the compiler detects an intendation problem, and doesn't propose the actual expected column, the auto fix proposed by GPS is now more accurate, using the same indentation engine & preferences as the editor.

  • GNAT Pro
    Dec 15th, 2007

    Unreferenced/unmodified warnings on template
    Warnings about unreferenced or unmodified variables and parameters are now always given on the generic template, rather than on each instantiation.

  • GNAT Pro | GPS | GNATbench
    Dec 15th, 2007

    Support for gprbuild
    GPS now supports by default gprbuild as its multi-language builder. A new preference is introduced to choose between gprbuild and gprmake.

  • GNAT Pro
    Dec 14th, 2007

    Support for Zero Cost Exceptions on AIX
    Zero Cost Exceptions are now available and activated by default on AIX 5.x. The former Setjump/Longjump (sjlj) runtime is still available as an alternate version.

  • GNAT Pro
    Dec 14th, 2007

    HI Ravenscar added to VxWorks 653
    The Ravenscar implementation based on the Zero Footprint profile is implemented for all VxWorks 653 targets in the vThreads POS (full and cert)

  • GNAT Pro | GPS | GNATbench
    Dec 14th, 2007

    gprbuild packaged with GPS and replaces gprmake
    The gprbuild multi-language builder is now packaged with GPS and replaces its predecessor gprmake.

  • GNAT Pro | GPS
    Dec 13th, 2007

    GPS InSight Webinar
    The archive of this webinar featuring a presentation and demo of GPS 4.2.0 is now available. Please click here to view it or visit:

    www.adacore.com/home/gnatpro/webinars

  • GNAT Pro | GPS | GNATbench
    Dec 11th, 2007

    Completion for protected fields
    Completion on protected objects fields are now proposed by the smart complete command.

  • GNAT Pro | GPS | GNATbench
    Dec 10th, 2007

    Add new action to center a line of text
    A new Python action to center a line has been added into the text_utils.py library. This action can also center a text inside a comment line.

  • GNAT Pro | GPS | GNATbench
    Dec 9th, 2007

    Add minimal Git VCS support
    Add Git support in GPS VCS. This is only a minimal support as Git is very different VCS than CVS or Subversion for example. It is possible to query status, ask for a difference with HEAD and retrieve the log information.

  • GNAT Pro
    Dec 7th, 2007

    New pragma Unmodified
    A new pragma Unmodified is implemented, analogous to the existing pragma Unreferenced, which notes that an assignable entity (variable or OUT or IN OUT formal) is not modified, so that the corresponding warning (read but never assigned) is suppressed.

  • GNAT Pro
    Dec 6th, 2007

    New stack checking mechanism for VxWorks 5 and 6
    The new stack checking mechanism is more efficient than the previous one but requires the TaskVarLib module. This new mechanism compares the stack pointer with the stack limit stored in a task specific variable. This new mechanism replaces the previous one on VxWorks 5 and on VxWorks 6.x for kernel RTS.

  • GNAT Pro
    Dec 4th, 2007

    More liberal style checking for comment alignment
    When comment alignment is style checked (e.g. with -gnaty), then previously the comment had to be on a multiple of the specified alignment. Now it is also acceptable for the comment to be aligned with the start of the next non-blank line following the comment. This is more compatible with the alignment rules used by GPS.

  • GNAT Pro
    Dec 4th, 2007

    Better checking for type extension component clause
    The compiler warns that component clauses for inherited components in a type extension are redundant. It also verifies that the new component clause is consistent with the given representation for the parent. The compiler also suppresses unnecessary warnings for missing component clauses for these inherited components.

  • GNAT Pro
    Dec 3rd, 2007

    Avoid secondary stack for Wide_[Wide_]Image
    The Wide_Image and Wide_Wide_Image attributes no longer use the secondary stack. This improves efficiency, and also makes it easier to incorporate the use of these attributes into environments where the dynamic allocation required for the secondary stack is undesirable.

  • GNAT Pro
    Dec 2nd, 2007

    Better handling of overriding keyword in Ada 95
    If an Ada 95 attempts to use the overriding keyword in Ada 2005 style, the compiler now recognizes this and processes the attempt, generating an error message reflecting that this feature is not supported in Ada 95.

  • GNAT Pro
    Dec 1st, 2007

    Better error msg for renaming entry as body
    You are not allowed to use renaming-as-body to rename a task entry as a subprogram if the subprogram spec is already frozen (because it already has an incompatible convention). A much clearer error message with an RM reference is now given.

  • GNAT Pro
    Nov 30th, 2007

    Improve warning on no package entities referenced
    If a package is renamed in the visible part of a package spec, there is no longer any warning if no entities of either the renaming or renamed package are referenced, since a client can reference these entities via the renaming.

  • GNAT Pro
    Nov 30th, 2007

    Improved parser error recovery
    A number of improvements have been made in parser error recovery. More of the messages are marked non-serious allowing semantic errors to be found in the same run, more messages are auto-fixable by GPS, and the error recovery for some syntax errors for protected types and objects is improve

  • GNAT Pro
    Nov 29th, 2007

    Image attribute no longer uses secondary stack
    The use of the image attribute no longer requires the secondary stack. This improves efficiency, and also makes it easier to incorporate the use of this attribute into environments where the dynamic allocation required for the secondary stack is undesirable.

  • GNAT Pro
    Nov 29th, 2007

    Improved error recovery for semicolon after pragma
    A missing semicolon after a pragma caused the next statement to be ignored resulting in some cases in junk cascaded messages. This is now improved so that this error is handled more gracefully.

  • GNAT Pro | GPS | GNATbench
    Nov 28th, 2007

    New menu to reformat a selection
    An new menu /Edit/Format Selection has been added in order to be able to reformat the current selection. This capability used to be accessible only from a key binding (set through the key shortcut editor) which will remain control-tab by default.

  • GNAT Pro | GPS | GNATbench
    Nov 28th, 2007

    Command line pretty printer using GPS reformating
    An new python example demonstrates how to reformat all sources of a project with a single command line. The result is the same as opening each source file of the project, selecting the whole buffer and executing the "Format Selection" action (bound to Control-Tab by default). This example is named reformat_project.py and the usage is detailed in the file itself.

  • GNAT Pro | GPS | GNATbench
    Nov 27th, 2007

    New hook called right before the file is saved
    A new hook "before_file_saved" has been added to perform some actions on a file right before it is saved such as reformating.

  • GNAT Pro
    Nov 26th, 2007

    Improved error recovery for pragma in formal part
    A pragma may not appear in a formal part. The compiler now handles this error more gracefully with a single clear message, instead of several cascaded confusing messages.

  • GNAT Pro | GPS | GNATbench
    Nov 26th, 2007

    Speed improvements when loading a project
    Many improvements have been made in the loading of a project in GPS which can result in significant speed improvements when loading big projects.

  • GNAT Pro | GPS | GNATbench
    Nov 26th, 2007

    Major speed up in project view
    The computation time for the project view was greatly improved, and the view displays much faster now on big projects.

  • GNAT Pro
    Nov 21st, 2007

    Packages for encoding and decoding strings
    The GNAT.Decode_String/GNAT.Encode_String generic packages provide facilities for converting between Wide_[Wide_]String values and encoded strings of 8-bit characters using a specified encoding method. Also provided are routines for validating an encoded string and stepping backwards and forwards in a stream of encoded characters. GNAT.Decode_UTF8_String and GNAT.Encode_UTF8_String provide preinstantiations of these packages for the case of UTF-8 encoding.

  • GNAT Pro | GPS
    Nov 20th, 2007

    GNAT Programming Studio InSight webinar

    Tuesday, December 11, 2007
    9:00 am Pacific Standard Time (GMT -08:00, San Francisco)
    12:00 pm Eastern Standard Time (GMT -05:00, New York)
    6:00 pm Europe Standard Time (GMT +01:00, Paris)

    In this latest webinar in the GNAT Pro InSight series, we will be demonstrating several new features present in recent versions of GPS using our latest release, GPS 4.2.0. Among the long list of new features and improvements that we will focus on are Remote Programming, Automatic Source Code Completion, Code Coverage support using gcov, an improved documentation generator, support for refactoring Ada sources, and an improved source code editor with enhanced source navigation and analysis capability.

    To enroll, please click here.

  • Ada
    Nov 19th, 2007

    Ada France Technical seminar - Dec 6, 2007.

    Ada France will be hosting a one day technical seminar on the topic of methods, processes, models, and tools for the development of hard real-time embedded applications. The event will be hosted by the ESNT Bretagne in Brest, France.

    For further information and to enroll, please click here. The website is in French only.

  • GNAT Pro | GPS | GNATbench
    Nov 17th, 2007

    New VCS action to prepare group commit in one click
    The new VCS action "Commit as new Activity" has been implemented to simplify simple group-commit activity. Calling this action will create an anonymous activity, populate it with all selected files from the VCS Explorer and open the activity log file. Just fill it and commit the activity.

  • GNAT Pro | GPS | GNATbench
    Nov 16th, 2007

    “Move to Next/Previous” Tab are now cyclic
    The two actions, which can be bound to key shortcuts through /Edit/Key Shorcuts are now cyclic: upon reaching one end of the tab bar, they will restart at the other end

  • GNAT Pro
    Nov 14th, 2007

    Unreferenced pragma for package suppressing warning
    If a pragma Unreferenced for a with'ed unit is given in the context clause, then it suppresses not only the warning about the unit being unreferenced (this was always true), but now it also suppresses the warning about no entities within the package being referenced.

  • GNAT Pro | GPS | GNATbench
    Nov 13th, 2007

    Add link to gnattracker
    The online_support.py plug-in provides new entries under the /Help/On-Line Support menu that allow easy access to the AdaCore on-line support facilities: - Viewing your support tickets - Opening new tickets - Browsing on-line documentation - Downloading GNAT Pro and wavefronts - Browsing various developer resources - Viewing the Ada Gem of the Week - Finding an intern

  • GNAT Pro
    Nov 11th, 2007

    Add support for Task_Info pragma on GNU/Linux
    This pragma can now be used on GNU/Linux to give information about how tasks must be mapped to the available CPUs. The GNU/Linux scheduler is given the processors affinity mask for a given task, it is not required to map this task with the specified CPUs if some other scheduling strategy is better.

  • GNAT Pro
    Nov 11th, 2007

    Text_IO now properly encodes input and output
    Previously Text_IO always operated in brackets encoding mode, which meant that there was no encoding and upper half characters were read and written with no encoding. Now Text_IO properly recognizes the default encoding and for example, if a main program is encoded using UTF-8 (compiler switch -gnatW8 set), then Text_IO output will be UTF-8 encoded. Note that the new -Wx binder switch (see NF-61-GB11-002) can be used to override this default encoding, e.g. use -Wb to get the old behavior.

   1  2  3     Next »