Development Log in 2010.

  • GNAT Pro
    Dec 25th, 2010

    Improvements to pragma Suppress_Initialization
    Pragma Suppress_Initialization now also suppresses any initialization that is associated with use of pragmas Initialize_Scalars or Normalize_Scalars. In addition, if Suppress_Initialization is applied to other than a first subtype, it applies only to that subtype, allowing usage like:

      type R is ....
      subtype S is R;
      pragma Suppress_Initialization;
    
    
    where objects of type R are initialized, but objects of type S are not. If the pragma is applied to the first subtype, then it affects all objects of the base type or any of its subtypes, as before. Finally, a check is made to ensure that the pragma does not appear after the type is frozen.

  • GNAT Pro
    Dec 25th, 2010

    Improvements to pragma Suppress_Initialization
    Pragma Suppress_Initialization now also suppresses any initialization that is associated with use of pragmas Initialize_Scalars or Normalize_Scalars. In addition, if Suppress_Initialization is applied to other than a first subtype, it applies only to that subtype, allowing usage like:

      type R is ....
      subtype S is R;
      pragma Suppress_Initialization;
    
    
    where objects of type R are initialized, but objects of type S are not. If the pragma is applied to the first subtype, then it affects all objects of the base type or any of its subtypes, as before. Finally, a check is made to ensure that the pragma does not appear after the type is frozen.

  • Ada | Ada 2005 / 95 / 83
    Dec 24th, 2010

    AI-0230 Null procedures with preconditions
    This AI stipulates that null procedures can only have classwide inheritable pre/postconditions. This is an extension of the rule for abstract subprograms given in AI05-0145.

  • Ada | Ada 2005 / 95 / 83
    Dec 24th, 2010

    AI-0113 Detection of conflicting external tags
    This AI adds a run-time check to the elaboration of tagged types to raise Program_Error if a user-specified external tag is the same as the external tag for some other declaration.

  • PolyORB
    Dec 23rd, 2010

    Support for partition-wide RPC timeout setting
    A new runtime parameter rpc_timeout in section [dsa] specifies a global timeout (in milliseconds) to be applied to all remote subprogram calls.

  • New package GNATCOLL.Config
    This package provides handling of configuration files, in particular Windows' INI files

  • GNAT Pro
    Dec 17th, 2010

    New SPARK restriction
    This restriction checks at compile time that some constructs forbidden in SPARK are not present. This is not a replacement for the semantic checks performed by the SPARK Examiner tool, as the compiler only deals currently with code, not at all with SPARK annotations and does not guarantee catching all cases of constructs forbidden by SPARK. This restriction can be useful in providing an initial filter for code developed using SPARK, or in examining legacy code to see how far it is from meeting SPARK restrictions.

  • GNAT Pro
    Dec 17th, 2010

    New SPARK restriction
    This restriction checks at compile time that some constructs forbidden in SPARK are not present. This is not a replacement for the semantic checks performed by the SPARK Examiner tool, as the compiler only deals currently with code, not at all with SPARK annotations and does not guarantee catching all cases of constructs forbidden by SPARK. This restriction can be useful in providing an initial filter for code developed using SPARK, or in examining legacy code to see how far it is from meeting SPARK restrictions.

  • GNAT Pro | GPS | GNATbench
    Dec 16th, 2010

    GB: Improve spell checking feature in Ada editor
    Under Eclipse, the spell checking now only considers comments and string literals. String literals spell checking can be disabled using the check box "Ignore string literals when spell checking" accessible from menu Window => Preferences => Ada => Editor.

  • GNAT Pro | XMLAda
    Dec 16th, 2010

    New input source for streaming sockets
    A new package was contributed by a user as an example on how to handle streaming input, as opposed to reading the whole input at once.

  • GNAT Pro | GPS | GNATbench
    Dec 13th, 2010

    GPS: “short titles” pref applies to docked windows
    This preference used to only have an effect on floating windows, but will now also force docked windows to use short titles (in particular base names for file editors).

  • Ada | Ada 2005 / 95 / 83
    Dec 13th, 2010

    AI-0228 Default_[Component_]Value aspects
    This AI introduces two additional aspects. Default_Value can be applied to a scalar first subtype, and specifies a default value to be used to initialize variables of this type. Default_Component_Value can be applied to an array first subtype having scalar components, and similarly specifies a default value for the components of a variable of this array type.

  • CodePeer
    Dec 10th, 2010

    Improved suport for access-to-subprogram types
    CodePeer now infers more precise information about the set of possible callees when analyzing an indirect call, similarly to what is done already for dispatching calls.

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

    GPS: New facility for handling VCS menus
    GPS provides a facility for handling all VCS menus in a centralized place, allowing customization of the layout of all VCS menus, both for systems that are supported out-of-the-box in GPS, and for custom VCS.

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

    GPS: New API to retrieve multiple files in contexts
    A new Python/Shell API (FileContext.files) allows retrieving as a list all files stored in a context. This is useful in particular when working with the VCS Explorer.

  • GNAT Pro | GPS | GNATbench
    Dec 8th, 2010

    GB: Add tooltips in Ada editor
    GNATbench now displays tooltips for entities in the editor, showing their profile and documentation. They can be disabled from the menu Window => Preferences => Ada => Editor.

  • Ada Web Server
    Dec 4th, 2010

    Enhance MIME types support
    It is now possible to specify the name of the file containing the list of MIME types through the server configuration. A standard MIME types is also provided.

  • GNAT Pro | GPS
    Dec 2nd, 2010

    Upcoming webinars - SPARK Pro and GPS 5.0

    A reminder that AdaCore will be hosting 2 webinars this month:

    December 7 - Angela Wallenburg will present and demo the new features available in SPARK 9.1 including the use of full range array subtypes, the relaxation of aliasing rules for record fields, the ability to specify VC generation on a per-file basis in metafiles, the introduction of new SPARK libraries, the introduction of the SPARKbridge feature.

    December 14 - Arnaud Charlet and Nicolas Setton will present and demo some of the new features available in GPS 5.0 including improved support for C/C++ in addition to its already comprehensive support for the Ada language, more powerful source editing, improved ease of use, better tool support (GNATstack, CodePeer), and enhanced documentation generation.

    To register for this webinars, please visit:

    http://www.adacore.com/home/products/gnatpro/webinars/

  • GNAT Pro | GPS | GNATbench
    Dec 1st, 2010

    GPS: new zap-to-char and just-one-space actions
    These actions complete the Emacs emulation in GPS, and have the same behavior as in Emacs. See the Key Shortcuts menu for more information.

  • GNAT Pro
    Nov 24th, 2010

    New formal container packages
    Formal containers (Ada.Containers.Formal_*) implement modified versions of the Ada 2005 containers, meant to facilitate formal verification of code using such containers. The implementation of formal containers is based on the implementation of Ada 2012 bounded containers in GNAT.

  • GNAT Pro
    Nov 24th, 2010

    New formal container packages
    Formal containers (Ada.Containers.Formal_*) implement modified versions of the Ada 2005 containers, meant to facilitate formal verification of code using such containers. The implementation of formal containers is based on the implementation of Ada 2012 bounded containers in GNAT.

  • use gnat_util.gpr to access the gnat sources
    Some optional features of GNATCOLL require access to the GNAT sources. You previously had to get those sources separately and create link. Recent versions of GNAT come with a gnat_util.gpr that makes this part of the setup easier, and supports applications that use both GNATCOLL and ASIS.

  • GNAT Pro
    Nov 22nd, 2010

    Compiler now generates DWARF by default on LynxOS
    On LynxOS targets, the compiler now generates debugging information using the DWARF debugging format as the default. This is a much richer format allowing tools such as the debugger to be faster and more accurate.

  • New package: GNATCOLL.Refcount
    This package provides support for smart pointers and reference counted types. It also includes support for weak references.

  • CodePeer
    Nov 22nd, 2010

    Better messages for postcondition failures
    CodePeer now recognizes specially the failures of user specified postconditions, whether pragma Postcondition in GNAT or Post aspects in Ada 2012 syntax, which were reported previously as precondition failures on special generated procedures. These are now categorized as postcondition failures, with an appropriate message.

  • GNAT Pro
    Nov 19th, 2010

    Link with full path names of archives
    To avoid linking with a possibly existing shared library in the same library directory, executables are now linked with the complete path names of archives, instead of switches -L and -l.

  • GNAT Pro
    Nov 19th, 2010

    Link with full path names of archives
    To avoid linking with a possibly existing shared library in the same library directory, executables are now linked with the complete path names of archives, instead of switches -L and -l.

  • Ada | Ada 2005 / 95 / 83
    Nov 18th, 2010

    AI-0150 Use_All_Type
    The Use_All_Type clause extends the behavior of Use_Type, by making additional entities potentially use-visible: all primitive operations of the given type T including literals of enumeration types, as well as operations declared in the immediate scope of parents of T, that act on a class-wide type that covers T.

  • Naming parameters in Scripts.Register_Command
    When a command is exported to a scripting language, it is now possible to name its arguments in the Register_Command call, as opposed to doing it in the handler itself.

  • Support for python new-style classes
    GNATCOLL.Scripts will now create so called new-style classes in python. These are the new form of classes since Python 2.2, and provide a number of advantages compared to older classes: extending builtin types, better support for multiple-inheritance through super(), support for properties, support for __new__, compatibility with Python >= 3.0,...

  • Passing lists as parameters to scripts
    GNATCOLL.Scripts.Nth_Arg can now accept list parameters, in addition to the existing simple types.

  • Ada | Ada 2005 / 95 / 83
    Nov 14th, 2010

    AI-0144 Detecting dangerous order dependences
    To prevent possibly dangerous aliasing between the actuals in an expression with multiple in-out parameters, the compiler flags those actuals whose values may differ, depending on the order of evaluation of subexpressions. Even though the Ada2012 RM dictates that such order dependence is an error, GNAT currently treats these as warnings, awaiting additional feedback on the impact of this rule.

  • Ada | Ada 2005 / 95 / 83
    Nov 14th, 2010

    AI-0143 In Out parameters for functions
    All functions can have in-out, i.e. modifiable parameters. This includes functions declared with subprogram declarations, expression functions, and protected functions

  • Ada | Ada 2005 / 95 / 83
    Nov 13th, 2010

    AI-0164 Access_Subprogram parameters in derivation
    If a primitive operation of a type T has a parameter P that is an access to subprogram, occurrences of T in the designated profile of P are not replaced in the signature of the inherited operation for an extension of T. GNAT never modified the designated profile.

  • GNAT Pro | GPS
    Nov 10th, 2010

    GPS video tutorials

    To highlight many of the powerful features available in GPS we are creating a number of video tutorials. The first of these demo the C/C++ cross references and auto-highlighting occurrences capabilities:

    http://www2.adacore.com/home/products/gnatpro/toolsuite/gps/in-action/

    We will be adding to these on a regular basis and if you have any requests for specific topics, please let us know.

  • SPARK Pro
    Nov 9th, 2010

    Extension of ‘Always_Valid to composite types
    An in mode own variable (an external input), V, may now be asserted as V'Always_Valid if the type of V is one of: 1 scalar 2 an array of scalar components 3 a non-tagged record whose components comprise scalar or array of

       scalar types
    
    4 an array of records where its elements satisfy the constraints in (3) Additionally, 'Always_Valid may be applied to individual components of a, possibly tagged, record mode in variable satisfying the constraints (1-4).

  • GNAT Pro | XMLAda
    Nov 9th, 2010

    Support for XML 1.0 (Fifth Edition)
    XML/Ada now support the fifth edition of XML 1.0 (but you can still chose to use earlier versions). The differences mostly have to do with the range of characters allowed for names. This change was needed to run the most recent version of the W3C XML testsuite.

  • CodePeer
    Nov 7th, 2010

    Target compiler switches ignored
    When using a project file which contains target compiler switches (e.g. -mcpu or -march), these switches are now ignored when generating SCIL files on the host, since they are not relevant.

  • SQL: connect to postgreSQL without SSL
    It is now possible to specify the SSL mode when connecting to a postgreSQL server

  • GNAT Pro | XMLAda
    Nov 5th, 2010

    Rewrite schema validation module
    The schema validation module was almost fully rewritten. It is now based on a finite-state machine (which changes dynamically if you use features such as xsi:type to override types in your XML documents). This results in slightly better performances, better results in the W3C testsuite (where, given a valid XSD file, we have 100% correct results when checking the validity of XML files), and much more readable code.

  • GNAT Pro | GPS | GNATbench
    Nov 5th, 2010

    GPS: ispell module stops at underscores
    When looking for the word to spell check, the ispell.py module will now stop at '_' characters, thus allowing you to fix misspelling in words like 'lookng_for'

  • GNAT Pro | GPS | GNATbench
    Nov 5th, 2010

    GB: Add some jdt-equivalent key shortcuts
    Some shortcuts defined in JDT or CDT for toggling comments have been added to gnatbench (Ctrl+Shift+C and Ctrl+7).

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCToR support for SPARKSimp
    SPARKSimp has been elevated from a tool to run just the simplifier (and ZombieScope) to a utility to run a variety of analysis tools. In particular, SPARKSimp now supports running ViCToR (the -victor option has been added to request this).

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCTOR support for POGS
    POGS has been extended to understand the artifacts generated by ViCToR. VCs discharged by ViCToR/Alt-Ergo are counted and will appear in the final summary table.

  • SPARK Pro
    Nov 3rd, 2010

    Added ViCToR support in GPS
    The SPARK plug-in for GPS now knows of all new options and flags relating to ViCToR. A new menu entry has been added to apply victor to a file.

  • SPARK Pro
    Nov 3rd, 2010

    Added new tool: Victor Wrapper
    A new tool has been added, Victor Wrapper. This utility has the same command-line sematics as the Simplifier and ZombieScope and invokes ViCToR. ViCToR is a translator which can convert SPARK verification conditions into SMTLib format and use an SMT Solver to attempt to prove them. SPARK Pro 9.1 will ship with both ViCToR and Alt-Ergo (an SMT Solver), both of which are considered experimental features. ViCToR is currently only available on GNU/Linux.

  • GNAT Pro | GPS
    Oct 26th, 2010

    Introducing GPS 5.0 webinar

    The GNAT Pro InSight webinar series continues with a presentation and demo of the new features introduced in GPS 5.0.

    This major release sees many enhancements to our IDE technology including improved support for C/C++ in addition to its already comprehensive support for the Ada language, more powerful source editing, improved ease of use, better tool support (GNATstack, CodePeer), and enhanced documentation generation.

    As always, we will allow a question and answer session at the end enabling you to talk directly with the designers of GPS. To register, please click here.

  • GNAT Pro
    Oct 26th, 2010

    Code improvement for Valid attribute on AAMP target
    For the AAMP target, the compiler generates more efficient code sequences for cases of the attribute Valid applied to values of integer and enumeration types, by eliminating expensive 32-bit conversions and using range test instructions when possible.

  • SPARK Pro
    Oct 26th, 2010

    POGS VC total in presence of erroneous files
    Previously, if POGS encountered an erroneous SIV file, the VCs for that subprogram would be omitted from the total number of VCs, even if the associated VCG file was valid. Now, if the VCG file is valid but the SIV file is erroneous the VCs will still be counted. This leads to a more stable count of VCs. The VCs associated with erroneous SIV files are counted as undischarged.

  • GNAT Pro | GPS | GNATbench
    Oct 26th, 2010

    GPS: Leave codefix wrench for readonly files
    When an auto fix is applied on a readonly file, the wrench icon does not disappear and an error message is added in the Messages window.

   1  2  3     Next »