- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Sep 22nd, 2017
Support for overloaded functions in C++ binding
The C++ bindings generated by means of the -fdump-ada-spec option now support overloaded functions.
Sep 21st, 2017
More precision for floating-point variables in loops
CodePeer now computes more precise information about values of variables of floating-point types updated in a loop. It takes into account the value of the variable before the loop, the increment of the variable in an iteration of the loop, and the exit condition of the loop when the variable is part of this condition, as well as the relation of the variable to other variables that are part of the exit condition.
New gnatcheck rule Specific_Pre_Post
This rule flags each Pre and Post aspect that is a part of an explicit declaration of a primitive operation of a tagged type. Pre'Class and Post'Class aspects are not flagged.
New gnatcheck rule Constructors
This rule flags any declaration of a primitive function of a tagged type that has a controlling result and no controlling parameter. If a declaration is a completion of another declaration then it is not flagged.
New gnatcheck rule No_Inherited_Classwide_Pre
This rule flags a declaration of an overriding primitive operation of a tagged type if at least one of the operations it overrides or implements does not have any (explicitly defined or inherited) Pre'Class attribute defined for it.
New gnatcheck rule Printable_ASCII
This rule flags characters in source code that are not part of the printable ASCII character set.
New gnatcheck rule Deep_Library_Hierarchy
This rule flags any library package declaration, library generic package declaration, or library package instantiation that has more than N parents and grandparents (that is, the name of such a library unit contains more than N dots), where N is a rule parameter.
New gnatcheck rule Too_Many_Dependencies
This rule flags a library item or a subunit that immediately depends on more than N library units (where N is a rule parameter). In the case of a dependency on a child unit, implicit and explicit dependencies on the child unit's parents are not counted.
New parameter for gnatcheck rule Metrics_LSLOC
A new optional parameter Subprograms is added to the gnatcheck Metrics_LSLOC rule. This parameter allows restricting checks made by this rule to subprogram bodies only.
List attributes configuration concatenable
List attributes have a new characteristic: they are "configuration concatenable" or not. For those list attributes that are configuration concatenable, when the attribute is declared in bot the configuration project and the user project, the final value is the concatenation of both values, configuration then user. For the attributes that are not configuration concatenable, if the attribute is declared in the user project, then its value is as declared, regardless of a possible declaration in the configuration projects. The configuration concatenable attributes are all the list attributes with a name that end with Options or Switches.
Sep 15th, 2017
Static allocation of secondary dispatch tables
For library-level tagged types that implement interface types, the compiler generates code that statically allocates their secondary dispatch tables in read-only memory.
GPS: Variables display format in the Variables view
The format (display base) of variables can now be controlled via the contextual menu in the Variables view.
New gnatcheck rule Representation_Specifications
This rule flags aspect_clauses (formerly known as representation_clauses) and aspect_specifications that define representation aspects.
New gnatcheck rule Expression_Functions
This rule flags definitions of expression functions in package specifications (including generic packages).
New gnatcheck rule Subprogram_Access
This rule flags access_to_subprogram_definitions and access_definitions that define access-to-subprogram types.
New gnatcheck rule Downward_View_Conversions
This rule flags downward view conversions.
Sep 12th, 2017
Improved handling of nested recursive subprograms
Some cases of nested recursive subprograms could result in CodePeer issuing messages about too many iterations, terminating analysis of the subprograms. CodePeer now does a better job of processing such subprograms.
GPS: EUC-JP encoding support
GPS can now edit files in the EUC-JP encoding.
GPS: GPS traces are no longer buffered
The GPS traces are no longer buffered, to avoid losing useful information in the log files.
Sep 8th, 2017
Better error messages when loading sources
Compiler provides more descriptive error output in the case where a source file has bad permissions (no read access).
Sep 5th, 2017
Simple access to the GNAT target runtime
CodePeer will now automatically find the GNAT target runtime specified in a project file by simply putting the target GNAT compiler in your PATH. You no longer need to copy the runtime directory into the CodePeer installation.
Sep 1st, 2017
Prebuilt version of XMLAda in GNAT Pro for VxWorks
It is no longer necessary to build XMLAda from sources in order to use this add-on, as it now comes prebuilt in GNAT Pro for all VxWorks platforms.