From fe5429c69d96265796c225ef14b755cef8e5f2a7 Mon Sep 17 00:00:00 2001 From: "benjamin.franksen" <benjamin.franksen@helmholtz-berlin.de> Date: Sun, 12 May 2013 18:53:01 +0000 Subject: [PATCH] docs: started adding release notes for 2.2.0 --- documentation/Manual.txt | 1 + documentation/ReleaseNotes-2-2.txt | 57 ++++++++++++++++++++++++++++++ documentation/index.txt | 1 + 3 files changed, 59 insertions(+) create mode 100644 documentation/ReleaseNotes-2-2.txt diff --git a/documentation/Manual.txt b/documentation/Manual.txt index 899efcd3..703c8b84 100644 --- a/documentation/Manual.txt +++ b/documentation/Manual.txt @@ -11,6 +11,7 @@ Users' Guide Using Reference Examples + ReleaseNotes-2-2 ReleaseNotes-2-1 ReleaseNotes-2-0-and-older KnownProblems diff --git a/documentation/ReleaseNotes-2-2.txt b/documentation/ReleaseNotes-2-2.txt new file mode 100644 index 00000000..6a479749 --- /dev/null +++ b/documentation/ReleaseNotes-2-2.txt @@ -0,0 +1,57 @@ +Release Notes for Version 2.2 +============================= + +.. _Release_Notes_2.2.0: + +Release 2.2.0 +------------- + +PV Library +^^^^^^^^^^ + +The PV library has been almost completely eliminated. What remains is a +very think layer over CA, implemented in C, and offering only the +functionality that is actually needed by the sequencer. The API is similar +(but not identical) to the old C API; particularly, all the pvStat, pvSevr, +and pvType definitions are as before. + +The documentation for the PV layer has been removed, too. The only remaining +user relevant part of the interface is contained in pvAlarm.h, see next +paragraph. + +Built-in Constants +^^^^^^^^^^^^^^^^^^ + +All built-in constants are now known to *snc* and thus no longer give +"undefined variable" warnings. They are also documented in the reference. + +The *snc*-generated C code for built-in constants now uses the name of the +constant, instead of its value. This makes the code a bit more readable and +slightly simplifies code generation. + +Foreign Types and Type Casts +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +It is now possible to use foreign types (i.e. types declared in C code) in +variable declarations and in type casts. All types definable in C *except +function types* are supported. Note however, all uses of C *type aliases* +(defined in C with ``typedef``) always need to be prefixed with the new +keyword ``typename`` (which I borrowed from C++). Also note that type +*definitions* are still not supported in SNL. Type casts are now allowed +in expressions as in C and with the same precedence. The special sizeof +function is now supported and can be used with a value (expression) or a +type expression as in C. + +The words ``enum``, ``struct``, ``typename``, and ``union`` are reserved +words and can no longer be used as identifiers. + +In order to make it possible to ``%%#include`` type declarations (so they +appear in the generated C code but not in the code that SNL has to parse) +*and* use them in global variable declarations, the generated variable +block is now placed *after* escaped C code that appears before the first +state set. In previous versions, this was the other way around. Note that +this means that escaped C code that appears before the first state set +cannot access global variables declared in SNL, even if the reentrant +option is not in effect. Such C code should now be placed after the last +state set. + diff --git a/documentation/index.txt b/documentation/index.txt index b821780c..7538135b 100644 --- a/documentation/index.txt +++ b/documentation/index.txt @@ -26,6 +26,7 @@ download, build, and install the software. Using Reference Examples + ReleaseNotes-2-2 ReleaseNotes-2-1 ReleaseNotes-2-0-and-older KnownProblems -- GitLab