From 06caa877c2a75ac1b41df67850404c0ef272f8bc Mon Sep 17 00:00:00 2001
From: Andrew Johnson A fairly significant number of changes have been that were necessary to allow
+the IOC code to run properly on 64-bit CPU architectures where a long
+is 64 bits wide. This was not as simple as replacing every instance of the
+typename long with epicsInt32 because that would have broken a
+lot of external code unnecessarily. The generated record.h file now uses the
+typenames from epicsTypes.h to declare record fields, thus field sizes are the
+same on both 32- and 64-bit platforms (on 64-bit, a DBF_LONG does
+not map to long but to int). This change does not
+affect status return values, which are still implemented using the native
+long type for the platform. While changing the conversion routines in db/dbConvert.c and
+db/dbFastLinkConv.c to support 64-bit architectures as described above, it was
+noticed that an empty string converts to the value 0 for all types other than
+DBF_CHAR and DBF_UCHAR where it converts to the ASCII
+character '0', value 0x30. Since these types are usually used for
+storing small integers or boolean values rather than ASCII characters, it was
+decided that this conversion is wrong so it has been changed to match the other
+nmeric conversions. APIs that are intended for use inside the IOC, the epicsShareAPI
+attribute is slowly being removed. This keyword is only used on MS Windows
+where it indicates to the compiler that the function should use Pascal calling
+conventions rather than C ones, and was necessary to be able to call such
+functions from MS Visual Basic. APIs for use by client code (CA and libCom)
+will generally retain the attribute if they already had it. Thanks to John Hammonds at the EPICS Codeathon, the record type
+implementations have been converted from K&R to ANSI C prototypes. Base now provides a CA client library interface for Perl5 scripts in
@@ -31,8 +69,8 @@ SIGHUP and exit. Several changes have been made to the build system, although these changes
should not affect the contents of Makefiles or any applications
-using Base. They do however require that the version of GNU Make used be 3.80
-(3.81?) or later. These changes are briefly:Changes between 3.14.9 and 3.14.10
+IOC Support on 64-bit archs
+
+Conversion of empty strings to character types
+
+epicsShareAPI deprecated inside IOC
+
+Record types ANSIfied
+
+Added Perl5 CA library
A new tool is provided that expands out @VAR@ macros. By default it knows the value of @TOP@, @ARCH@ and any