RR's Ramblings

Janus/Ada 3.2.0 Preview Available
July 10, 2017
by Randy Brukardt

A preview release of Janus/Ada 3.2.0 is now available to current users. For users with up-to-date support agreements (including those in their first 90 days of ownership), your existing key will unlock the preview. For users that reported critical bugs fixed in this version, you should be receiving an unlock key. For everyone else, now might be a good time to renew your Software Support agreement.

You might be wondering what a preview release is. What this means is that we don't intend to release this specific version after a testing period; rather it represents a snapshot of a point during development. It should get a number of additional new features before release.

However, a preview release is constructed and tested to the same standards as a beta test release. (A development snapshot is tested to a lower standard, as they usually are issued to fix critical bugs for specific customers; if the bug is really critical, the customer probably can't wait for complete testing to be finished.

So, then, why a preview? There are serveral reasons, the most important of which is that we've been doing a lot of changes to the internals of the compiler. These are valuable in that no only do they make the compiler less likely to process code incorrectly, they also enable future work on features like aspect specifications, conditional expressions, and stream attributes. We've tested these changes with everything we've got – but that only covers a small percentage of possibilities. It'll be helpful to get feedback on any problems that we've introduced.

We've also worked on the ease-of-use of the compiler and tools, making default values for options more sensible, and in reorganizing warnings so that potential problems and interesting information are presented differently. Feedback on those changes is also welcome.

Finally, a pragmatic reason: we needed to package a compiler for several users that had critical bugs. Usually, we'd just make a development snapshot version for them, but in this case there seemed to be enough value to make that compiler available to everyone.

As always, the detailed changes from the previous release (3.1.2) can be found in the Readme.Txt file included with the compiler. We include some highlights here.

  • Ada 2012 syntax and semantics are now the default. The new /Y7 option can be used to set Ada 2007 mode, the (previous) /Y5 option sets Ada 95 mode.
  • Some warnings have been reclassified as “informational messages”. These are messages that do not necessarily need action (some organizations require removing all warnings from code, and some of the informational messages are not practical to remove in all circumstances). These are separately controlled with the /YI option; the general suppress warnings option (/W) also suppresses these messages.
  • A number of additional Ada 2007 and Ada 2012 packages are now supported, including Ada.Directories, Ada.Calendar.Formatting, Ada.Environment_Variables, and several others.
  • Code Quality warnings have been added for situations where the actual code is unlikely to be what was intended. These situations most likely represent bugs in the program. See the article Code Quality Warnings: Highlighting Likely Bugs before They Bite extended description of these warnings.

As always, contact us if you have questions.

Copyright © 2017 RR Software, Inc.
Use of this site constitutes your acceptance of these terms of use.