Added seqcar() declaration to remove compiler warning. --> to head
Warning, cannot access the index:
_darcs/index: opening of '_darcs/index' failed: permission denied (Permission denied)
diff -rN -u old-branch-2-0/.boring new-branch-2-0/.boring
--- old-branch-2-0/.boring 1970-01-01 01:00:00.000000000 +0100
+++ new-branch-2-0/.boring 2022-11-28 23:15:36.762434368 +0100
@@ -0,0 +1,123 @@
+# Boring file regexps:
+
+### compiler and interpreter intermediate files
+# haskell (ghc) interfaces
+\.hi$
+\.hi-boot$
+\.o-boot$
+# object files
+\.o$
+\.o\.cmd$
+# profiling haskell
+\.p_hi$
+\.p_o$
+# haskell program coverage resp. profiling info
+\.tix$
+\.prof$
+# fortran module files
+\.mod$
+# linux kernel
+\.ko\.cmd$
+\.mod\.c$
+(^|/)\.tmp_versions($|/)
+# *.ko files aren't boring by default because they might
+# be Korean translations rather than kernel modules
+# \.ko$
+# python, emacs, java byte code
+\.py[co]$
+\.elc$
+\.class$
+# objects and libraries; lo and la are libtool things
+\.(obj|a|exe|so|lo|la)$
+# compiled zsh configuration files
+\.zwc$
+# Common LISP output files for CLISP and CMUCL
+\.(fas|fasl|sparcf|x86f)$
+
+### build and packaging systems
+# cabal intermediates
+\.installed-pkg-config
+\.setup-config
+# standard cabal build dir, might not be boring for everybody
+# ^dist(/|$)
+# autotools
+(^|/)autom4te\.cache($|/)
+(^|/)config\.(log|status)$
+# microsoft web expression, visual studio metadata directories
+\_vti_cnf$
+\_vti_pvt$
+# gentoo tools
+\.revdep-rebuild.*
+# generated dependencies
+^\.depend$
+
+### version control systems
+# cvs
+(^|/)CVS($|/)
+\.cvsignore$
+# cvs, emacs locks
+^\.#
+# rcs
+(^|/)RCS($|/)
+,v$
+# subversion
+(^|/)\.svn($|/)
+# mercurial
+(^|/)\.hg($|/)
+# git
+(^|/)\.git($|/)
+# bzr
+\.bzr$
+# sccs
+(^|/)SCCS($|/)
+# darcs
+(^|/)_darcs($|/)
+(^|/)\.darcsrepo($|/)
+^\.darcs-temp-mail$
+-darcs-backup[[:digit:]]+$
+# gnu arch
+(^|/)(\+|,)
+(^|/)vssver\.scc$
+\.swp$
+(^|/)MT($|/)
+(^|/)\{arch\}($|/)
+(^|/).arch-ids($|/)
+# bitkeeper
+(^|/)BitKeeper($|/)
+(^|/)ChangeSet($|/)
+
+### miscellaneous
+# backup files
+~$
+\.bak$
+\.BAK$
+# patch originals and rejects
+\.orig$
+\.rej$
+# X server
+\..serverauth.*
+# image spam
+\#
+(^|/)Thumbs\.db$
+# vi, emacs tags
+(^|/)(tags|TAGS)$
+#(^|/)\.[^/]
+# core dumps
+(^|/|\.)core$
+# partial broken files (KIO copy operations)
+\.part$
+# waf files, see http://code.google.com/p/waf/
+(^|/)\.waf-[[:digit:].]+-[[:digit:]]+($|/)
+(^|/)\.lock-wscript$
+# mac os finder
+(^|/)\.DS_Store$
+
+# EPICS build system generated directories:
+/O\.
+^bin($|/)
+^db($|/)
+^dbd($|/)
+^dl($|/)
+^include($|/)
+^lib($|/)
+
diff -rN -u old-branch-2-0/Makefile new-branch-2-0/Makefile
--- old-branch-2-0/Makefile 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/Makefile 2022-11-28 23:15:36.762434368 +0100
@@ -1,28 +1,25 @@
-#Makefile at top of application tree
+# Makefile at top of application tree
TOP = .
include $(TOP)/configure/CONFIG
+
DIRS += configure
+
DIRS += src
+src_DEPEND_DIRS = configure
+
DIRS += test
+test_DEPEND_DIRS = src
+
+DEFAULT_REPO = /opt/repositories/controls/darcs/epics/support/seq/branch-2-0-13
+SEQ_PATH = www/control/SoftDist/sequencer
+USER_AT_HOST = wwwcsr@www-csr.bessy.de
+
include $(TOP)/configure/RULES_TOP
-# Override "tar" rules with rule that runs tar from one level up, generates
-# sub-directory with version number in it, and gzips the result (this rule
-# is not a replacement for the "tar" rule; it does not support .current_rel_-
-# hist and EPICS_BASE files; it does not handle files in the top-level
-# directory well)
-tar:
- @MODULE=$(notdir $(shell pwd)); \
- TARNAME=$$MODULE-$(SEQ_VERSION); \
- TARFILE=$$MODULE/$$TARNAME.tar; \
- echo "TOP: Creating $$TARNAME.tar file..."; \
- cd ..; $(RM) $$TARNAME; ln -s $$MODULE $$TARNAME; \
- ls $$TARNAME/READ* $$TARNAME/Makefile* | xargs tar vcf $$TARFILE; \
- for DIR in ${DIRS} docs; do \
- find $$TARNAME/$$DIR -name CVS -prune -o ! -type d -print \
- | grep -v "/O\..*$$" | grep -v /fm | grep -v /anl | \
- xargs tar vrf $$TARFILE; \
- done; \
- gzip -f $$TARFILE; \
- $(RM) $$TARNAME
+upload:
+ darcs push $(DEFAULT_REPO)
+ darcs push --repo=$(DEFAULT_REPO) -a $(USER_AT_HOST):$(SEQ_PATH)/branch-2-0-13
+ darcs dist -d seq-$(SEQ_VERSION)
+ rsync seq-$(SEQ_VERSION).tar.gz $(USER_AT_HOST):$(SEQ_PATH)/releases/
+.PHONY: upload
diff -rN -u old-branch-2-0/NOTESbyMRK new-branch-2-0/NOTESbyMRK
--- old-branch-2-0/NOTESbyMRK 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/NOTESbyMRK 2022-11-28 23:15:36.762434368 +0100
@@ -1,32 +1,25 @@
-The following breifly describes changes to the existing SEQ documentation
-in order to built sequence programs with the EPICS base 3.14 releases.
+Release History for releases that work with EPICS base 3.14.
+--------------
-New Compiler Option
+Version 2.0.12 contains the following changes:
-+i Code will be generated to automatically register sequence functions
-and state programs. This is the default
+Directory dependencies to permit building with the parallel make option -j.
--i Do not generate registration code. Only useful on vxWorks to save a small amount of memory.
+Library dependencies changes to match EPICS Base R3.14.10.
-Compiling and linking a state program under Unix.
+Added the routine seqcaStats to src/seq/seq_qry.c
-The exampleApp supplied with base demonstrates how to build sequence programs
-that work with epics databases.
-It also shows how to build a sequence program that runs without databases.
-When you run a standalone sequencer the -s option provides iocsh.
-If the -s option is not given no shell is started.
-For example
- ./sncProgram -s "user=mrkHost"
- epics>
-The iocsh shell provides a help command to see what commands are available.
+Cleaned up compiler warnings in src/snc
-
-test/simple also shows how to build a sequence program that runs
-without databases running in the same process.
+Version 2.0.11 contains the following changes:
+
+A bugfix in src/seq/seq_ca.c found by Stephanie Allison and Till Straumann.
+
+Moved the PV build configuration variables from configure/RELEASE to the new
+CONFIG_SITE file, and moved CONFIG_APP functionality into CONFIG. Also set
+CHECK_RELEASE to YES by default in configure/Makefile.
-Release History for releases that work with EPICS base 3.14.
---------------
Version 2.0.10 contains the new diagnostic
@@ -35,12 +28,14 @@
This produces report about all the channel access connections from sequence
programs.
+
Version 2.0.9 contains the following changes
seq_connect now initializes assignCount and numMonitoredChans BEFORE connecting
to the PVs. With the previous versions it was possible to signal that everything
was connected and the first monitor received before it actually happened.
+
Version 2.0.8 contains the following changes
seq_main.c was casting a pointer to an int. On some architectures this caused
@@ -53,17 +48,20 @@
test/simple and test/validate now use EPICS_BASE_IOC_LIBS instead
of EPICS_BASE_HOST_LIBS.
+
Version 2.0.7 contains the following changes
A sequence program could wait up to 20 seconds before all PVs connect and
the first monitor occurs for each monitored PV. This could happen even
if all PVs are local. This is now fixed.
+
Version 2.0.6 contains the following changes.
When looking to see if all PVs have connected it now looks for first monitor coming back as well as all PVs connecting. This prevents the chance of using the
value of a PV before it is given a value.
+
Version 2.0.5 of the sequencer contains the following changes:
Replaced the C++ static constructor used for command registration with a
@@ -86,6 +84,7 @@
Replaced devSequencer.c with version supplied by Kukhee Kim, SLAC
+
Version seq-2-0-4 of the sequencer
Changes have been made to follow the R3.14.2 build rules.
diff -rN -u old-branch-2-0/configure/CONFIG new-branch-2-0/configure/CONFIG
--- old-branch-2-0/configure/CONFIG 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/CONFIG 2022-11-28 23:15:36.762434368 +0100
@@ -1,14 +1,28 @@
-#CONFIG
-include $(TOP)/configure/CONFIG_APP
-# Add any changes to make definitions here
-
-#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
-
-# Use this when your IOC and the host use different paths
-# to access the application. Typically this will be
-# used with the Microsoft FTP server or with NFS mounts. Use
-# is indicated by failure of the cdCommands script on
-# vxWorks. You must rebuild in the iocBoot directory
-# before this takes effect.
-#IOCS_APPL_TOP = <the top of the application as seen by the IOC>
-SEQ_VERSION = 2.0.10
+# CONFIG
+
+include $(TOP)/configure/RELEASE
+-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH)
+-include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).Common
+
+ifdef T_A
+ -include $(TOP)/configure/RELEASE.Common.$(T_A)
+ -include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH).$(T_A)
+endif
+
+CONFIG=$(EPICS_BASE)/configure
+include $(CONFIG)/CONFIG
+
+# Override for definition in base
+INSTALL_LOCATION = $(TOP)
+
+include $(TOP)/configure/CONFIG_SITE
+-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH)
+-include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).Common
+
+ifdef T_A
+ -include $(TOP)/configure/CONFIG_SITE.Common.$(T_A)
+ -include $(TOP)/configure/CONFIG_SITE.$(EPICS_HOST_ARCH).$(T_A)
+ -include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
+endif
+
+SEQ_VERSION = 2.0.14
diff -rN -u old-branch-2-0/configure/CONFIG_APP new-branch-2-0/configure/CONFIG_APP
--- old-branch-2-0/configure/CONFIG_APP 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/CONFIG_APP 1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-# CONFIG_APP
-
-include $(TOP)/configure/RELEASE
--include $(TOP)/configure/RELEASE.$(EPICS_HOST_ARCH)
-CONFIG=$(EPICS_BASE)/configure
-include $(CONFIG)/CONFIG
-INSTALL_LOCATION = $(TOP)
-ifdef INSTALL_LOCATION_APP
-INSTALL_LOCATION = $(INSTALL_LOCATION_APP)
-endif
-
-ifdef T_A
--include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
-endif
-
-# dbst based database optimization (default: NO)
-DB_OPT = NO
diff -rN -u old-branch-2-0/configure/CONFIG_SITE new-branch-2-0/configure/CONFIG_SITE
--- old-branch-2-0/configure/CONFIG_SITE 1970-01-01 01:00:00.000000000 +0100
+++ new-branch-2-0/configure/CONFIG_SITE 2022-11-28 23:15:36.762434368 +0100
@@ -0,0 +1,18 @@
+# CONFIG_SITE - site-specific build configuration settings
+
+# Enable build of different process variable access methods
+PVCA = TRUE
+PVFILE = FALSE
+PVTKL = FALSE
+
+# To restrict the architectures to cross-compile for, set this:
+#CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040
+
+# To install somewhere other than $(TOP) set this:
+#INSTALL_LOCATION_APP = <install path>
+
+# Use this when your IOC and the host use different paths
+# to access the application. Typically this will be
+# used with the Microsoft FTP server or with NFS mounts.
+#IOCS_APPL_TOP = <IOC's path to TOP>
+
diff -rN -u old-branch-2-0/configure/Makefile new-branch-2-0/configure/Makefile
--- old-branch-2-0/configure/Makefile 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/Makefile 2022-11-28 23:15:36.762434368 +0100
@@ -1,10 +1,12 @@
# Makefile
TOP=..
-
include $(TOP)/configure/CONFIG
-CHECK_RELEASE = NO
+# Set the following to NO to disable consistency checking of
+# the support applications defined in $(TOP)/configure/RELEASE
+CHECK_RELEASE = YES
+
TARGETS = $(CONFIG_TARGETS)
CONFIGS += $(subst ../,,$(wildcard $(CONFIG_INSTALLS)))
diff -rN -u old-branch-2-0/configure/RELEASE new-branch-2-0/configure/RELEASE
--- old-branch-2-0/configure/RELEASE 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/RELEASE 2022-11-28 23:15:36.762434368 +0100
@@ -1,20 +1,6 @@
-#RELEASE Location of external products
-#Macro substitution is not allowed in the location defintions
+# RELEASE - Location of external products
# You should do a "gnumake clean uninstall install" in the application
# top directory each time changes are made to this file
-# If you don't want to install into $(TOP) then
-# define INSTALL_LOCATION_APP here
-#INSTALL_LOCATION_APP=<fullpathname>
-
-EPICS_BASE=/usr/local/iocapps/R3.14.7/support/base/3-14-7
-TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top
-
-#
-# Enable appropriate process variable access methods
-#
-PVCA = TRUE
-PVFILE = FALSE
-PVTKL = FALSE
-
+EPICS_BASE=/opt/Epics/R3.14.10/base/3-14-10-0-1
diff -rN -u old-branch-2-0/configure/RULES.iocBoot new-branch-2-0/configure/RULES.iocBoot
--- old-branch-2-0/configure/RULES.iocBoot 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/RULES.iocBoot 1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-#RULES.iocBoot
-DIRS += $(wildcard ioc*)
-DIRS += $(wildcard as*)
-include $(EPICS_BASE)/configure/RULES_DIRS
diff -rN -u old-branch-2-0/configure/RULES_BUILD new-branch-2-0/configure/RULES_BUILD
--- old-branch-2-0/configure/RULES_BUILD 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/configure/RULES_BUILD 2022-11-28 23:15:36.762434368 +0100
@@ -1,4 +1,4 @@
-# $Id: RULES_BUILD,v 1.14 2004-07-13 19:39:10 jba Exp $
+# RULES_BUILD,v 1.16 2006/03/29 23:28:09 anj Exp
#
# State notation language (snc) rules
# Each <name>.st (or <name>.stt) produces <name>.c
diff -rN -u old-branch-2-0/docs/manual/Installation.fm.mif new-branch-2-0/docs/manual/Installation.fm.mif
--- old-branch-2-0/docs/manual/Installation.fm.mif 2022-11-28 23:15:36.738433775 +0100
+++ new-branch-2-0/docs/manual/Installation.fm.mif 2022-11-28 23:15:36.766434468 +0100
@@ -21402,7 +21402,7 @@
<Unique 791731>
<PgfTag `PROGRAM'>
<ParaLine
- <String `### @(#)Version R3.14.0.alpha $$Date: 2000-04-25 19:13:01 $$'>
+ <String `### @(#)Version R3.14.0.alpha $2000/04/25 19:13:01$'>
> # end of ParaLine
> # end of Para
<Para
diff -rN -u old-branch-2-0/docs/manual/Manual-9.html new-branch-2-0/docs/manual/Manual-9.html
--- old-branch-2-0/docs/manual/Manual-9.html 2022-11-28 23:15:36.742433874 +0100
+++ new-branch-2-0/docs/manual/Manual-9.html 2022-11-28 23:15:36.766434468 +0100
@@ -258,7 +258,7 @@
<P CLASS="PROGRAM">
<A NAME="pgfId-791730"></A>### @(#)EPICS IOC CORE built on Mar 22 2000</P>
<P CLASS="PROGRAM">
-<A NAME="pgfId-791731"></A>### @(#)Version R3.14.0.alpha $$Date: 2000-04-04 03:21:38 $$</P>
+<A NAME="pgfId-791731"></A>### @(#)Version R3.14.0.alpha $2000/04/04 03:21:38$</P>
<P CLASS="PROGRAM">
<A NAME="pgfId-791732"></A>### @(#)Built date Mar 22 2000</P>
<P CLASS="PROGRAM">
diff -rN -u old-branch-2-0/docs/manual/Manual.ps new-branch-2-0/docs/manual/Manual.ps
--- old-branch-2-0/docs/manual/Manual.ps 2022-11-28 23:15:36.750434072 +0100
+++ new-branch-2-0/docs/manual/Manual.ps 2022-11-28 23:15:36.774434666 +0100
@@ -61318,7 +61318,7 @@
192 234/G10.791729 FmPA
(### @\050#\051EPICS IOC CORE built on Mar 22 2000) 198 214 T
192 223/G10.791730 FmPA
-(### @\050#\051Version R3.14.0.alpha $$Date: 2000-04-04 03:22:13 $$) 198 203 T
+(### @\050#\051Version R3.14.0.alpha $2000/04/04 03:22:13$) 198 203 T
192 212/G10.791731 FmPA
(### @\050#\051Built date Mar 22 2000) 198 192 T
192 201/G10.791732 FmPA
diff -rN -u old-branch-2-0/src/Makefile new-branch-2-0/src/Makefile
--- old-branch-2-0/src/Makefile 2022-11-28 23:15:36.750434072 +0100
+++ new-branch-2-0/src/Makefile 2022-11-28 23:15:36.778434764 +0100
@@ -1,7 +1,15 @@
TOP = ..
include $(TOP)/configure/CONFIG
+
DIRS += pv
+
DIRS += seq
+seq_DEPEND_DIRS = pv
+
DIRS += dev
+dev_DEPEND_DIRS = seq
+
DIRS += snc
+snc_DEPEND_DIRS = seq
+
include $(TOP)/configure/RULES_DIRS
diff -rN -u old-branch-2-0/src/dev/devSequencer.c new-branch-2-0/src/dev/devSequencer.c
--- old-branch-2-0/src/dev/devSequencer.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/dev/devSequencer.c 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: devSequencer.c,v 1.4 2003-08-07 14:34:37 mrk Exp $
+/* devSequencer.c,v 1.4 2003/08/07 14:34:37 mrk Exp
*
* Device support to permit database access to sequencer internals
*
@@ -188,15 +188,15 @@
and replace null characeter to point end of string.
And assign to sperated strings */
while(argN<3) {
- if(*(inpStr+i) == NULL) break;
+ if(*(inpStr+i) == 0) break;
inpArg[argN++] = inpStr+i;
while(i<80) {
tempChar = inpStr + (i++);
if((*tempChar < '0' || *tempChar > '9') &&
(*tempChar < 'a' || *tempChar > 'z') &&
(*tempChar < 'A' || *tempChar > 'Z') ) {
- if(*tempChar == NULL) i-=1;
- *tempChar = NULL;
+ if(*tempChar == 0) i-=1;
+ *tempChar = 0;
break;
}
}
@@ -424,7 +424,10 @@
}
/*
- * $Log: not supported by cvs2svn $
+ * devSequencer.c,v
+ * Revision 1.4 2003/08/07 14:34:37 mrk
+ * version obtained from Kukhee Kim,
+ *
*
* Revision 1.2 2003/05/23 18:44:22 KHKIM
* change to support I/O interrupt mode
diff -rN -u old-branch-2-0/src/pv/pv.cc new-branch-2-0/src/pv/pv.cc
--- old-branch-2-0/src/pv/pv.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pv.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pv.cc,v 1.4 2001-02-16 21:45:16 norume Exp $
+/* pv.cc,v 1.4 2001/02/16 21:45:16 norume Exp
*
* Implementation of EPICS sequencer message system-independent library (pv)
* (NB, "pv" = "process variable").
@@ -436,7 +436,10 @@
}
/*
- * $Log: not supported by cvs2svn $
+ * pv.cc,v
+ * Revision 1.4 2001/02/16 21:45:16 norume
+ * Many 3.14-related changes.
+ *
* Revision 1.3 2001/02/16 18:45:39 mrk
* changes for latest version of 3.14
*
diff -rN -u old-branch-2-0/src/pv/pv.h new-branch-2-0/src/pv/pv.h
--- old-branch-2-0/src/pv/pv.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pv.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pv.h,v 1.3 2001-02-16 18:45:39 mrk Exp $
+/* pv.h,v 1.3 2001/02/16 18:45:39 mrk Exp
*
* Definitions for EPICS sequencer message system-independent library (pv)
* (NB, "pv" = "process variable").
@@ -13,7 +13,8 @@
#ifndef INCLpvh
#define INCLpvh
-#include "shareLib.h" /* reset share lib defines */
+#include "shareLib.h" /* reset share lib defines */
+#include "epicsTypes.h" /* for thread ids */
#include "epicsThread.h" /* for thread ids */
#include "epicsMutex.h" /* for locks */
#include "epicsTime.h" /* for time stamps */
@@ -60,12 +61,12 @@
/*
* Value-related types (c.f. db_access.h)
*/
-typedef char pvChar;
-typedef short pvShort;
-typedef long pvLong;
-typedef float pvFloat;
-typedef double pvDouble;
-typedef char pvString[256]; /* use sizeof( pvString ) */
+typedef epicsInt8 pvChar;
+typedef epicsInt16 pvShort;
+typedef epicsInt32 pvLong;
+typedef epicsFloat32 pvFloat;
+typedef epicsFloat64 pvDouble;
+typedef char pvString[256]; /* use sizeof( pvString ) */
#define PV_TIME_XXX(_type) \
typedef struct { \
@@ -346,7 +347,10 @@
#endif /* INCLpvh */
/*
- * $Log: not supported by cvs2svn $
+ * pv.h,v
+ * Revision 1.3 2001/02/16 18:45:39 mrk
+ * changes for latest version of 3.14
+ *
* Revision 1.2 2000/04/14 21:53:28 jba
* Changes for win32 build.
*
diff -rN -u old-branch-2-0/src/pv/pvAlarm.h new-branch-2-0/src/pv/pvAlarm.h
--- old-branch-2-0/src/pv/pvAlarm.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvAlarm.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvAlarm.h,v 1.1.1.1 2000-04-04 03:22:15 wlupton Exp $
+/* pvAlarm.h,v 1.1.1.1 2000/04/04 03:22:15 wlupton Exp
*
* Definitions for EPICS sequencer message system-independent status and
* severity (alarms).
@@ -60,7 +60,10 @@
#endif /* INCLpvAlarmh */
/*
- * $Log: not supported by cvs2svn $
+ * pvAlarm.h,v
+ * Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
+ * first commit of seq-2-0-0
+ *
* Revision 1.1 2000/03/29 01:58:59 wlupton
* initial insertion
*
diff -rN -u old-branch-2-0/src/pv/pvCa.cc new-branch-2-0/src/pv/pvCa.cc
--- old-branch-2-0/src/pv/pvCa.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvCa.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvCa.cc,v 1.7 2001-10-04 18:33:25 jhill Exp $
+/* pvCa.cc,v 1.7 2001/10/04 18:33:25 jhill Exp
*
* Implementation of EPICS sequencer CA library (pvCa)
*
@@ -778,7 +778,10 @@
}
/*
- * $Log: not supported by cvs2svn $
+ * pvCa.cc,v
+ * Revision 1.7 2001/10/04 18:33:25 jhill
+ * context_ variable wasnt initialized
+ *
* Revision 1.6 2001/07/05 14:42:15 mrk
* ca changed client contect
*
diff -rN -u old-branch-2-0/src/pv/pvCa.h new-branch-2-0/src/pv/pvCa.h
--- old-branch-2-0/src/pv/pvCa.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvCa.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvCa.h,v 1.4 2001-10-15 21:41:42 jhill Exp $
+/* pvCa.h,v 1.4 2001/10/15 21:41:42 jhill Exp
*
* Definitions for EPICS sequencer CA library (pvCa)
*
@@ -68,7 +68,10 @@
#endif /* INCLpvCah */
/*
- * $Log: not supported by cvs2svn $
+ * pvCa.h,v
+ * Revision 1.4 2001/10/15 21:41:42 jhill
+ * fixed to match R3.14 CA client lib
+ *
* Revision 1.3 2001/07/05 14:42:16 mrk
* ca changed client contect
*
diff -rN -u old-branch-2-0/src/pv/pvFile.cc new-branch-2-0/src/pv/pvFile.cc
--- old-branch-2-0/src/pv/pvFile.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvFile.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvFile.cc,v 1.1.1.1 2000-04-04 03:22:15 wlupton Exp $
+/* pvFile.cc,v 1.1.1.1 2000/04/04 03:22:15 wlupton Exp
*
* Implementation of demonstration EPICS sequencer file library (pvFile)
*
@@ -331,7 +331,10 @@
}
/*
- * $Log: not supported by cvs2svn $
+ * pvFile.cc,v
+ * Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
+ * first commit of seq-2-0-0
+ *
* Revision 1.1 2000/03/31 23:00:06 wlupton
* initial insertion
*
diff -rN -u old-branch-2-0/src/pv/pvFile.h new-branch-2-0/src/pv/pvFile.h
--- old-branch-2-0/src/pv/pvFile.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvFile.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvFile.h,v 1.2 2001-02-23 20:45:22 jba Exp $
+/* pvFile.h,v 1.2 2001/02/23 20:45:22 jba Exp
*
* Definitions for demonstration EPICS sequencer file library (pvFile)
*
@@ -68,7 +68,10 @@
#endif /* INCLpvFileh */
/*
- * $Log: not supported by cvs2svn $
+ * pvFile.h,v
+ * Revision 1.2 2001/02/23 20:45:22 jba
+ * Change for win32.
+ *
* Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
* first commit of seq-2-0-0
*
diff -rN -u old-branch-2-0/src/pv/pvKtl.cc new-branch-2-0/src/pv/pvKtl.cc
--- old-branch-2-0/src/pv/pvKtl.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvKtl.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvKtl.cc,v 1.2 2001-02-16 18:45:39 mrk Exp $
+/* pvKtl.cc,v 1.2 2001/02/16 18:45:39 mrk Exp
*
* Implementation of EPICS sequencer KTL library (pvKtl)
*
@@ -1351,7 +1351,10 @@
}
/*
- * $Log: not supported by cvs2svn $
+ * pvKtl.cc,v
+ * Revision 1.2 2001/02/16 18:45:39 mrk
+ * changes for latest version of 3.14
+ *
* Revision 1.1.1.1 2000/04/04 03:22:14 wlupton
* first commit of seq-2-0-0
*
diff -rN -u old-branch-2-0/src/pv/pvKtl.h new-branch-2-0/src/pv/pvKtl.h
--- old-branch-2-0/src/pv/pvKtl.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvKtl.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvKtl.h,v 1.2 2000-04-14 21:53:29 jba Exp $
+/* pvKtl.h,v 1.2 2000/04/14 21:53:29 jba Exp
*
* Definitions for EPICS sequencer KTL library (pvKtl)
*
@@ -228,7 +228,10 @@
#endif /* INCLpvKtlh */
/*
- * $Log: not supported by cvs2svn $
+ * pvKtl.h,v
+ * Revision 1.2 2000/04/14 21:53:29 jba
+ * Changes for win32 build.
+ *
* Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
* first commit of seq-2-0-0
*
diff -rN -u old-branch-2-0/src/pv/pvKtlCnv.cc new-branch-2-0/src/pv/pvKtlCnv.cc
--- old-branch-2-0/src/pv/pvKtlCnv.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvKtlCnv.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvKtlCnv.cc,v 1.1.1.1 2000-04-04 03:22:15 wlupton Exp $
+/* pvKtlCnv.cc,v 1.1.1.1 2000/04/04 03:22:15 wlupton Exp
*
* Implementation of EPICS sequencer KTL type conversion (pvKtlCnv)
*
@@ -286,7 +286,10 @@
};
/*
- * $Log: not supported by cvs2svn $
+ * pvKtlCnv.cc,v
+ * Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
+ * first commit of seq-2-0-0
+ *
* Revision 1.1 2000/03/06 19:21:04 wlupton
* misc error reporting and type conversion mods
*
diff -rN -u old-branch-2-0/src/pv/pvKtlCnv.h new-branch-2-0/src/pv/pvKtlCnv.h
--- old-branch-2-0/src/pv/pvKtlCnv.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvKtlCnv.h 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvKtlCnv.h,v 1.1.1.1 2000-04-04 03:22:15 wlupton Exp $
+/* pvKtlCnv.h,v 1.1.1.1 2000/04/04 03:22:15 wlupton Exp
*
* Definitions for EPICS sequencer KTL type conversion (pvKtlCnv)
*
@@ -40,7 +40,10 @@
};
/*
- * $Log: not supported by cvs2svn $
+ * pvKtlCnv.h,v
+ * Revision 1.1.1.1 2000/04/04 03:22:15 wlupton
+ * first commit of seq-2-0-0
+ *
* Revision 1.1 2000/03/06 19:21:04 wlupton
* misc error reporting and type conversion mods
*
diff -rN -u old-branch-2-0/src/pv/pvNew.cc new-branch-2-0/src/pv/pvNew.cc
--- old-branch-2-0/src/pv/pvNew.cc 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/pv/pvNew.cc 2022-11-28 23:15:36.778434764 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvNew.cc,v 1.2 2000-04-14 21:53:29 jba Exp $
+/* pvNew.cc,v 1.2 2000/04/14 21:53:29 jba Exp
*
* Routine to create a system object for a named message system
* (will eventually load dynamically)
diff -rN -u old-branch-2-0/src/seq/Makefile new-branch-2-0/src/seq/Makefile
--- old-branch-2-0/src/seq/Makefile 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/Makefile 2022-11-28 23:15:36.778434764 +0100
@@ -12,7 +12,7 @@
# seq library
LIBRARY = seq
-seq_LIBS = pv iocsh Com
+seq_LIBS = pv Com
LIBSRCS = seq_main.c seq_task.c seq_ca.c seq_if.c seq_mac.c seq_prog.c \
seq_qry.c seqVersion.c seqCommands.c
diff -rN -u old-branch-2-0/src/seq/seq.h new-branch-2-0/src/seq/seq.h
--- old-branch-2-0/src/seq/seq.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seq.h 2022-11-28 23:15:36.778434764 +0100
@@ -72,9 +72,6 @@
#include "errlog.h"
#include "taskwd.h"
#include "pv.h"
-#include "shareLib.h"
-#define SEQ_UGLY_WINDOWS_HACK
-#define epicsExportSharedSymbols
#include "seqCom.h"
#include "seqPvt.h"
#endif /*INCLseqh*/
diff -rN -u old-branch-2-0/src/seq/seqCom.h new-branch-2-0/src/seq/seqCom.h
--- old-branch-2-0/src/seq/seqCom.h 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seqCom.h 2022-11-28 23:15:36.778434764 +0100
@@ -38,7 +38,6 @@
#ifndef INCLseqComh
#define INCLseqComh
-#ifndef SEQ_UGLY_WINDOWS_HACK
#include <stdio.h> /* standard i/o defs */
#include <stdlib.h> /* standard library defs */
@@ -46,8 +45,6 @@
#include "pvAlarm.h" /* status and severity defs */
#include "epicsThread.h" /* time stamp defs */
#include "epicsTime.h" /* time stamp defs */
-#include "epicsExport.h" /* for Registrar routine */
-#endif
#ifdef __cplusplus
extern "C" {
@@ -70,7 +67,7 @@
#define OPT_DOEXITTOSELF (1<<2) /* Do exit{} even if to same state */
/* Macros to handle set & clear event bits */
-typedef unsigned long bitMask;
+typedef epicsUInt32 bitMask;
#define NBITS (8*sizeof(bitMask))
/* # bits in bitMask word */
@@ -201,6 +198,8 @@
epicsShareFunc long epicsShareAPI seqShow (epicsThreadId);
epicsShareFunc long epicsShareAPI seqChanShow (epicsThreadId, char *);
+epicsShareFunc long epicsShareAPI seqcar(int level);
+epicsShareFunc void epicsShareAPI seqcaStats(int *pchans, int *pdiscon);
epicsShareFunc long epicsShareAPI seqQueueShow (epicsThreadId tid);
epicsShareFunc long epicsShareAPI seqStop (epicsThreadId);
epicsShareFunc void epicsShareAPI
diff -rN -u old-branch-2-0/src/seq/seqCommands.c new-branch-2-0/src/seq/seqCommands.c
--- old-branch-2-0/src/seq/seqCommands.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seqCommands.c 2022-11-28 23:15:36.778434764 +0100
@@ -1,5 +1,5 @@
/*
- * $Id: seqCommands.c,v 1.12 2005-01-20 16:49:06 anj Exp $
+ * seqCommands.c,v 1.12 2005/01/20 16:49:06 anj Exp
*
* DESCRIPTION: EPICS sequencer commands
*
diff -rN -u old-branch-2-0/src/seq/seq_ca.c new-branch-2-0/src/seq/seq_ca.c
--- old-branch-2-0/src/seq/seq_ca.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seq_ca.c 2022-11-28 23:15:36.778434764 +0100
@@ -212,7 +212,7 @@
}
else
{
- pVal = (void *)((long)pValue + pDB->dbOffset); /* ptr to data */
+ pVal = (void *)((char *)pValue + pDB->dbOffset); /* ptr to data */
memcpy(pDB->pVar, pVal, pDB->size * pDB->dbCount);
}
diff -rN -u old-branch-2-0/src/seq/seq_main.c new-branch-2-0/src/seq/seq_main.c
--- old-branch-2-0/src/seq/seq_main.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seq_main.c 2022-11-28 23:15:36.778434764 +0100
@@ -510,52 +510,52 @@
} typeMap[] = {
{
"char", pvTypeCHAR, pvTypeTIME_CHAR,
- sizeof (char), OFFSET(pvTimeChar, value[0])
+ sizeof (pvChar), OFFSET(pvTimeChar, value[0])
},
{
"short", pvTypeSHORT, pvTypeTIME_SHORT,
- sizeof (short), OFFSET(pvTimeShort, value[0])
+ sizeof (pvShort), OFFSET(pvTimeShort, value[0])
},
{
"int", pvTypeLONG, pvTypeTIME_LONG,
- sizeof (long), OFFSET(pvTimeLong, value[0])
+ sizeof (pvLong), OFFSET(pvTimeLong, value[0])
},
{
"long", pvTypeLONG, pvTypeTIME_LONG,
- sizeof (long), OFFSET(pvTimeLong, value[0])
+ sizeof (pvLong), OFFSET(pvTimeLong, value[0])
},
{
"unsigned char", pvTypeCHAR, pvTypeTIME_CHAR,
- sizeof (char), OFFSET(pvTimeChar, value[0])
+ sizeof (pvChar), OFFSET(pvTimeChar, value[0])
},
{
"unsigned short",pvTypeSHORT, pvTypeTIME_SHORT,
- sizeof (short), OFFSET(pvTimeShort, value[0])
+ sizeof (pvShort), OFFSET(pvTimeShort, value[0])
},
{
"unsigned int", pvTypeLONG, pvTypeTIME_LONG,
- sizeof (long), OFFSET(pvTimeLong, value[0])
+ sizeof (pvLong), OFFSET(pvTimeLong, value[0])
},
{
"unsigned long", pvTypeLONG, pvTypeTIME_LONG,
- sizeof (long), OFFSET(pvTimeLong, value[0])
+ sizeof (pvLong), OFFSET(pvTimeLong, value[0])
},
{
"float", pvTypeFLOAT, pvTypeTIME_FLOAT,
- sizeof (float), OFFSET(pvTimeFloat, value[0])
+ sizeof (pvFloat), OFFSET(pvTimeFloat, value[0])
},
{
"double", pvTypeDOUBLE, pvTypeTIME_DOUBLE,
- sizeof (double), OFFSET(pvTimeDouble, value[0])
+ sizeof (pvDouble), OFFSET(pvTimeDouble, value[0])
},
{
diff -rN -u old-branch-2-0/src/seq/seq_qry.c new-branch-2-0/src/seq/seq_qry.c
--- old-branch-2-0/src/seq/seq_qry.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/seq/seq_qry.c 2022-11-28 23:15:36.778434764 +0100
@@ -297,6 +297,13 @@
stats.nProgs, stats.nChans, stats.nConn, diss);
return diss;
}
+
+void epicsShareAPI seqcaStats(int *pchans, int *pdiscon) {
+ struct seqStats stats = {0, 0, 0, 0};
+ seqTraverseProg(seqcarCollect, (void *) &stats);
+ if (pchans) *pchans = stats.nChans;
+ if (pdiscon) *pdiscon = stats.nChans - stats.nConn;
+}
/*
* seqQueueShow() - Show syncQ queue information for a state program.
*/
@@ -389,11 +396,12 @@
int count, type;
{
int i;
- char *c;
- short *s;
- long *l;
- float *f;
- double *d;
+ pvChar *c;
+ pvShort *s;
+ pvLong *l;
+ pvFloat *f;
+ pvDouble *d;
+ pvString *r;
printf(" Value =");
for (i = 0; i < count; i++)
@@ -401,15 +409,15 @@
switch (type)
{
case pvTypeSTRING:
- c = (char *)pVal;
- for (i = 0; i < count; i++, c += sizeof(pvString))
+ r = (pvString *)pVal;
+ for (i = 0; i < count; i++, r++)
{
- printf(" %s", c);
+ printf(" %s", *r);
}
break;
case pvTypeCHAR:
- c = (char *)pVal;
+ c = (pvChar *)pVal;
for (i = 0; i < count; i++, c++)
{
printf(" %d", *c);
@@ -417,7 +425,7 @@
break;
case pvTypeSHORT:
- s = (short *)pVal;
+ s = (pvShort *)pVal;
for (i = 0; i < count; i++, s++)
{
printf(" %d", *s);
@@ -425,15 +433,15 @@
break;
case pvTypeLONG:
- l = (long *)pVal;
+ l = (pvLong *)pVal;
for (i = 0; i < count; i++, l++)
{
- printf(" %ld", *l);
+ printf(" %d", *l);
}
break;
case pvTypeFLOAT:
- f = (float *)pVal;
+ f = (pvFloat *)pVal;
for (i = 0; i < count; i++, f++)
{
printf(" %g", *f);
@@ -441,7 +449,7 @@
break;
case pvTypeDOUBLE:
- d = (double *)pVal;
+ d = (pvDouble *)pVal;
for (i = 0; i < count; i++, d++)
{
printf(" %g", *d);
@@ -468,7 +476,7 @@
pSP = seqFindProg(tid);
if (pSP == NULL)
{
- printf("No state program exists for thread id %d\n", (int)tid);
+ printf("No state program exists for thread id %p\n", tid);
return NULL;
}
diff -rN -u old-branch-2-0/src/snc/Makefile new-branch-2-0/src/snc/Makefile
--- old-branch-2-0/src/snc/Makefile 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/snc/Makefile 2022-11-28 23:15:36.778434764 +0100
@@ -19,12 +19,6 @@
SRCS = snc_main.c parse.c phase2.c gen_ss_code.c gen_tables.c snc.c \
sncVersion.c
-# Lex library
-SYS_PROD_LIBS_WIN32 += -nil-
-SYS_PROD_LIBS_cygwin32 += -nil-
-SYS_PROD_LIBS_Linux += fl
-SYS_PROD_LIBS_DEFAULT += l
-
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
diff -rN -u old-branch-2-0/src/snc/gen_ss_code.c new-branch-2-0/src/snc/gen_ss_code.c
--- old-branch-2-0/src/snc/gen_ss_code.c 2022-11-28 23:15:36.754434170 +0100
+++ new-branch-2-0/src/snc/gen_ss_code.c 2022-11-28 23:15:36.782434864 +0100
@@ -253,9 +253,7 @@
*/
void eval_delay(Expr *ep, Expr *sp)
{
- Expr *epf;
int delay_id;
- extern char *stype[];
#ifdef DEBUG
fprintf(stderr, "eval_delay: type=%s\n", stype[ep->type]);
@@ -283,8 +281,7 @@
Expr *tp;
Expr *ap;
int trans_num;
- extern char *prog_name;
- extern line_num;
+ extern int line_num;
/* Action function declaration */
printf("\n/* Action function for state \"%s\" in state set \"%s\" */\n",
@@ -302,7 +299,7 @@
/* local declarations are handled as text */
if (tp->type == E_TEXT)
{
- printf("\t\t%s\n", tp->left);
+ printf("\t\t%s\n", (char *)tp->left);
}
else if (tp->type == E_WHEN)
@@ -569,7 +566,7 @@
printf("]");
break;
case E_TEXT:
- printf("%s\n", ep->left);
+ printf("%s\n", (char *)ep->left);
line_num += 1;
break;
default:
@@ -618,9 +615,7 @@
*/
{
char *fname; /* function name */
- Expr *ep1, *ep2, *ep3; /* parameters */
- Chan *cp;
- Var *vp;
+ Expr *ep1; /* parameters */
enum fcode func_code;
int delay_id;
@@ -723,9 +718,8 @@
enum fcode func_code; function code
*/
{
- Expr *ep1, *ep2, *ep3;
+ Expr *ep1;
Var *vp;
- Chan *cp;
ep1 = ep->left; /* ptr to 1-st parameters */
if (ep1 != 0 && ep1->type == E_COMMA)
@@ -776,7 +770,6 @@
Var *vp;
char *vn;
int id;
- int len;
Chan *cp;
int num;
@@ -851,7 +844,7 @@
{
if (vp != 0 && ep1->type != E_SUBSCR)
{
- printf(", %ld", vp->length1);
+ printf(", %d", vp->length1);
}
else
{
diff -rN -u old-branch-2-0/src/snc/gen_tables.c new-branch-2-0/src/snc/gen_tables.c
--- old-branch-2-0/src/snc/gen_tables.c 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/gen_tables.c 2022-11-28 23:15:36.782434864 +0100
@@ -68,9 +68,6 @@
void gen_tables()
{
- extern Expr *ss_list; /* state sets (from parse) */
- extern char *global_c_code; /* global C code */
-
printf("\f/************************ Tables ***********************/\n");
/* Generate DB blocks */
@@ -140,11 +137,10 @@
int elem_num;
{
Var *vp;
- char *type_string, *suffix, elem_str[20], *db_name;
- extern char *prog_name;
+ char *suffix, elem_str[20], *db_name;
extern int reent_opt;
extern int num_events;
- int size, count, ef_num, mon_flag;
+ int ef_num, mon_flag;
char *db_type_str();
vp = cp->var;
@@ -155,7 +151,7 @@
else if (vp->class == VC_ARRAY2)
sprintf(elem_str, "[%d][0]", elem_num);
else
- sprintf(elem_str, "");
+ elem_str[0] = '\0';
if (vp->type == V_STRING)
suffix = "[0]";
@@ -456,9 +452,6 @@
extern int reent_opt;
extern char *prog_name;
- extern Expr entry_code_list;
- extern Expr exit_code_list;
- int i;
printf("\n/* State Program table (global) */\n");
@@ -524,7 +517,7 @@
{
extern Expr *ss_list;
Expr *ssp;
- int nss, nstates, n;
+ int nss, nstates;
printf("\n/* State Set Blocks */\n");
printf("static struct seqSS seqSS[NUM_SS] = {\n");
diff -rN -u old-branch-2-0/src/snc/parse.c new-branch-2-0/src/snc/parse.c
--- old-branch-2-0/src/snc/parse.c 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/parse.c 2022-11-28 23:15:36.782434864 +0100
@@ -66,10 +66,10 @@
Expr *global_c_list; /* global C code following state program */
-Chan *build_db_struct();
-void alloc_db_lists();
-void addVar();
-void addChan();
+Chan *build_db_struct(Var *vp);
+void alloc_db_lists(Chan *cp, int length);
+void addVar(Var *vp);
+void addChan(Chan *cp);
/*+************************************************************************
* NAME: program_name
@@ -84,8 +84,7 @@
* FUNCTION: Save program name for global use.
*
*-*************************************************************************/
-void program_name(pname, pparam)
-char *pname, *pparam;
+void program_name(char *pname, char *pparam)
{
prog_name = pname;
prog_param = pparam;
@@ -96,13 +95,14 @@
}
/* Parsing a declaration statement */
-void decl_stmt(type, class, name, s_length1, s_length2, value)
-int type; /* variable type (e.g. V_FLOAT) */
-int class; /* variable class (e.g. VC_ARRAY) */
-char *name; /* ptr to variable name */
-char *s_length1; /* array lth (1st dim, arrays only) */
-char *s_length2; /* array lth (2nd dim, [n]x[m] arrays only) */
-char *value; /* initial value or NULL */
+void decl_stmt(
+ int type, /* variable type (e.g. V_FLOAT) */
+ int class, /* variable class (e.g. VC_ARRAY) */
+ char *name, /* ptr to variable name */
+ char *s_length1, /* array lth (1st dim, arrays only) */
+ char *s_length2, /* array lth (2nd dim, [n]x[m] arrays only) */
+ char *value /* initial value or NULL */
+)
{
Var *vp;
int length1, length2;
@@ -153,9 +153,10 @@
}
/* Option statement */
-void option_stmt(option, value)
-char *option; /* "a", "r", ... */
-int value; /* TRUE means +, FALSE means - */
+void option_stmt(
+ char *option, /* "a", "r", ... */
+ int value /* TRUE means +, FALSE means - */
+)
{
extern int async_opt, conn_opt, debug_opt, line_opt, init_reg_opt,
reent_opt, warn_opt, newef_opt, main_opt;
@@ -193,17 +194,38 @@
return;
}
+void check_type_too_long(Var *vp)
+{
+ extern int line_num;
+ extern char *src_file;
+
+ if (vp->type == V_LONG || vp->type == V_ULONG)
+ {
+ printf("#include <limits.h>\n");
+ print_line_num(line_num-1, src_file);
+ printf(
+"#if LONG_MAX > 0x7fffffffL\n"
+"# error "
+"cannot assign variable >%s< because on this architecture its (base) \\\n"
+"type is larger than 4 bytes. Such variables cannot be faithfully mapped \\\n"
+"to any of the Channel Access base types. Try declaring the variable \\\n"
+"as 'int' or 'unsigned int'.\n"
+"#endif\n",
+ vp->name);
+ }
+}
+
/* "Assign" statement: Assign a variable to a DB channel.
* Format: assign <variable> to <string;
* Note: Variable may be subscripted.
*/
-void assign_single(name, db_name)
-char *name; /* ptr to variable name */
-char *db_name; /* ptr to db name */
+void assign_single(
+ char *name, /* ptr to variable name */
+ char *db_name /* ptr to db name */
+)
{
Chan *cp;
Var *vp;
- int subNum;
extern int line_num;
#ifdef DEBUG
@@ -226,6 +248,8 @@
return;
}
+ check_type_too_long(vp);
+
/* Build structure for this channel */
cp = build_db_struct(vp);
@@ -239,10 +263,11 @@
/* "Assign" statement: assign an array element to a DB channel.
* Format: assign <variable>[<subscr>] to <string>; */
-void assign_subscr(name, subscript, db_name)
-char *name; /* ptr to variable name */
-char *subscript; /* subscript value or NULL */
-char *db_name; /* ptr to db name */
+void assign_subscr(
+ char *name, /* ptr to variable name */
+ char *subscript, /* subscript value or NULL */
+ char *db_name /* ptr to db name */
+)
{
Chan *cp;
Var *vp;
@@ -268,6 +293,8 @@
return;
}
+ check_type_too_long(vp);
+
cp = vp->chan;
if (cp == NULL)
{
@@ -313,9 +340,10 @@
* If db name list contains fewer names than the array dimension,
* the remaining elements receive NULL assignments.
*/
-void assign_list(name, db_name_list)
-char *name; /* ptr to variable name */
-Expr *db_name_list; /* ptr to db name list */
+void assign_list(
+ char *name, /* ptr to variable name */
+ Expr *db_name_list /* ptr to db name list */
+)
{
Chan *cp;
Var *vp;
@@ -349,6 +377,8 @@
return;
}
+ check_type_too_long(vp);
+
/* Build a db structure for this variable */
cp = build_db_struct(vp);
@@ -377,8 +407,7 @@
}
/* Build a db structure for this variable */
-Chan *build_db_struct(vp)
-Var *vp;
+Chan *build_db_struct(Var *vp)
{
Chan *cp;
@@ -403,9 +432,7 @@
}
/* Allocate lists for assigning multiple pv's to a variable */
-void alloc_db_lists(cp, length)
-Chan *cp;
-int length;
+void alloc_db_lists(Chan *cp, int length)
{
/* allocate an array of pv names */
cp->db_name_list = (char **)calloc(sizeof(char **), length);
@@ -428,9 +455,10 @@
* monitor <var>; - monitor a single variable or all elements in an array.
* monitor <var>[<m>]; - monitor m-th element of an array.
*/
-void monitor_stmt(name, subscript)
-char *name; /* variable name (should be assigned) */
-char *subscript; /* element number or NULL */
+void monitor_stmt(
+ char *name, /* variable name (should be assigned) */
+ char *subscript /* element number or NULL */
+)
{
Var *vp;
Chan *cp;
@@ -498,10 +526,7 @@
}
/* Parsing "sync" statement */
-void sync_stmt(name, subscript, ef_name)
-char *name;
-char *subscript;
-char *ef_name;
+void sync_stmt(char *name, char *subscript, char *ef_name)
{
Chan *cp;
Var *vp;
@@ -569,11 +594,7 @@
}
/* Parsing "syncq" statement */
-void syncq_stmt(name, subscript, ef_name, maxQueueSize)
-char *name;
-char *subscript;
-char *ef_name;
-char *maxQueueSize;
+void syncq_stmt(char *name, char *subscript, char *ef_name, char *maxQueueSize)
{
Chan *cp;
Var *vp;
@@ -665,8 +686,9 @@
/* Definition C code */
-void defn_c_stmt(c_list)
-Expr *c_list; /* ptr to C code */
+void defn_c_stmt(
+ Expr *c_list /* ptr to C code */
+)
{
#ifdef DEBUG
fprintf(stderr, "defn_c_stmt\n");
@@ -680,8 +702,9 @@
}
/* Global C code (follows state program) */
-void global_c_stmt(c_list)
-Expr *c_list; /* ptr to C code */
+void global_c_stmt(
+ Expr *c_list /* ptr to C code */
+)
{
global_c_list = c_list;
@@ -690,8 +713,7 @@
/* Add a variable to the variable linked list */
-void addVar(vp)
-Var *vp;
+void addVar(Var *vp)
{
if (var_list == NULL)
var_list = vp;
@@ -703,8 +725,7 @@
/* Find a variable by name; returns a pointer to the Var struct;
returns 0 if the variable is not found. */
-Var *findVar(name)
-char *name;
+Var *findVar(char *name)
{
Var *vp;
@@ -719,8 +740,7 @@
}
/* Add a channel to the channel linked list */
-void addChan(cp)
-Chan *cp;
+void addChan(Chan *cp)
{
if (chan_list == NULL)
chan_list = cp;
@@ -731,15 +751,13 @@
}
/* Set debug print opt */
-void set_debug_print(opt)
-char *opt;
+void set_debug_print(char *opt)
{
debug_print_opt = atoi(opt);
}
/* Parsing "program" statement */
-void program(prog_list)
-Expr *prog_list;
+void program(Expr *prog_list)
{
ss_list = prog_list;
#ifdef DEBUG
@@ -751,16 +769,14 @@
}
/* Entry code */
-int entry_code(ep)
-Expr *ep;
+int entry_code(Expr *ep)
{
entry_code_list = ep;
return 0;
}
/* Exit code */
-int exit_code(ep)
-Expr *ep;
+int exit_code(Expr *ep)
{
exit_code_list = ep;
return 0;
@@ -769,11 +785,12 @@
/* Build an expression list (hierarchical):
Builds a node on a binary tree for each expression primitive.
*/
-Expr *expression(type, value, left, right)
-int type; /* E_BINOP, E_ASGNOP, etc */
-char *value; /* "==", "+=", var name, constant, etc. */
-Expr *left; /* LH side */
-Expr *right; /* RH side */
+Expr *expression(
+ int type, /* E_BINOP, E_ASGNOP, etc */
+ char *value, /* "==", "+=", var name, constant, etc. */
+ Expr *left, /* LH side */
+ Expr *right /* RH side */
+)
{
Expr *ep;
extern int line_num, c_line_num;
@@ -806,12 +823,11 @@
/* Link two expression structures and/or lists. Returns ptr to combined list.
Note: ->last ptrs are correct only for 1-st and last structures in the list */
-Expr *link_expr(ep1, ep2)
-Expr *ep1; /* beginning of 1-st structure or list */
-Expr *ep2; /* beginning 2-nd (append it to 1-st) */
+Expr *link_expr(
+ Expr *ep1, /* beginning of 1-st structure or list */
+ Expr *ep2 /* beginning 2-nd (append it to 1-st) */
+)
{
- Expr *ep;
-
if (ep1 == 0 && ep2 == 0)
return NULL;
else if (ep1 == 0)
@@ -835,9 +851,7 @@
}
/* Interpret pre-processor code */
-void pp_code(line, fname)
-char *line;
-char *fname;
+void pp_code(char *line, char *fname)
{
extern int line_num;
extern char *src_file;
diff -rN -u old-branch-2-0/src/snc/parse.h new-branch-2-0/src/snc/parse.h
--- old-branch-2-0/src/snc/parse.h 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/parse.h 2022-11-28 23:15:36.782434864 +0100
@@ -83,10 +83,6 @@
typedef struct db_chan Chan;
/* Note: Only one of db_name or db_name_list can have a non-zero value */
-Expr *expression(), *link_expr();
-Var *findVar();
-Chan *findChan();
-
/* Linked list allocation definitions */
#define allocExpr() (Expr *)calloc(1, sizeof(Expr));
#define allocVar() (Var *)calloc(1, sizeof(Var));
@@ -145,5 +141,11 @@
#define E_ENTRY 26 /* entry statement */
#define E_EXIT 27 /* exit statement */
#define E_OPTION 28 /* state option statement */
-#endif /*INCLparseh*/
+Var *findVar(char *name);
+Expr *link_expr(
+ Expr *ep1, /* beginning of 1-st structure or list */
+ Expr *ep2 /* beginning 2-nd (append it to 1-st) */
+);
+
+#endif /*INCLparseh*/
diff -rN -u old-branch-2-0/src/snc/parsedefs.h new-branch-2-0/src/snc/parsedefs.h
--- old-branch-2-0/src/snc/parsedefs.h 1970-01-01 01:00:00.000000000 +0100
+++ new-branch-2-0/src/snc/parsedefs.h 2022-11-28 23:15:36.782434864 +0100
@@ -0,0 +1,59 @@
+#ifndef INCLparsedefsh
+#define INCLparsedefsh
+
+/* defined in snc_main.c */
+void yyerror(char *err);
+void snc_err(char *err_txt);
+
+/* defined in parse.c */
+void program(Expr *prog_list);
+void program_name(char *pname, char *pparam);
+void assign_single(
+ char *name, /* ptr to variable name */
+ char *db_name /* ptr to db name */
+);
+void assign_subscr(
+ char *name, /* ptr to variable name */
+ char *subscript, /* subscript value or NULL */
+ char *db_name /* ptr to db name */
+);
+void assign_list(
+ char *name, /* ptr to variable name */
+ Expr *db_name_list /* ptr to db name list */
+);
+Expr *expression(
+ int type, /* E_BINOP, E_ASGNOP, etc */
+ char *value, /* "==", "+=", var name, constant, etc. */
+ Expr *left, /* LH side */
+ Expr *right /* RH side */
+);
+void monitor_stmt(
+ char *name, /* variable name (should be assigned) */
+ char *subscript /* element number or NULL */
+);
+void set_debug_print(char *opt);
+void decl_stmt(
+ int type, /* variable type (e.g. V_FLOAT) */
+ int class, /* variable class (e.g. VC_ARRAY) */
+ char *name, /* ptr to variable name */
+ char *s_length1, /* array lth (1st dim, arrays only) */
+ char *s_length2, /* array lth (2nd dim, [n]x[m] arrays only) */
+ char *value /* initial value or NULL */
+);
+void sync_stmt(char *name, char *subscript, char *ef_name);
+void syncq_stmt(char *name, char *subscript, char *ef_name, char *maxQueueSize);
+void defn_c_stmt(
+ Expr *c_list /* ptr to C code */
+);
+void option_stmt(
+ char *option, /* "a", "r", ... */
+ int value /* TRUE means +, FALSE means - */
+);
+int entry_code(Expr *ep);
+int exit_code(Expr *ep);
+void pp_code(char *line, char *fname);
+void global_c_stmt(
+ Expr *c_list /* ptr to C code */
+);
+
+#endif /*INCLparsedefsh*/
diff -rN -u old-branch-2-0/src/snc/phase2.c new-branch-2-0/src/snc/phase2.c
--- old-branch-2-0/src/snc/phase2.c 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/phase2.c 2022-11-28 23:15:36.782434864 +0100
@@ -84,9 +84,7 @@
*-*************************************************************************/
void phase2()
{
- extern Var *var_list; /* variables (from parse) */
extern Expr *ss_list; /* state sets (from parse) */
- extern Expr *global_c_list; /* global C code */
/* Count number of db channels and state sets defined */
num_queues = db_queue_count();
@@ -242,7 +240,6 @@
Expr *ep;
{
Var *vp;
- extern char *stype[];
extern int warn_opt;
if (ep->type != E_VAR)
@@ -280,7 +277,7 @@
extern Expr *ss_list;
extern int num_errors;
- Expr *ssp, *sp, *sp1, tr;
+ Expr *ssp, *sp, *sp1;
for (ssp = ss_list; ssp != 0; ssp = ssp->next)
{
@@ -432,7 +429,7 @@
for (; ep != NULL; ep = ep->next)
{
print_line_num(ep->line_num, ep->src_file);
- printf("%s\n", ep->left);
+ printf("%s\n", (char *)ep->left);
}
}
return;
@@ -450,7 +447,7 @@
print_line_num(ep->line_num, ep->src_file);
for (; ep != NULL; ep = ep->next)
{
- printf("%s\n", ep->left);
+ printf("%s\n", (char *)ep->left);
}
}
return;
@@ -682,7 +679,8 @@
extern int main_opt, init_reg_opt;
if (init_reg_opt) {
- printf ("\n\n/* Register sequencer commands and program */\n");
+ printf ("\n\n#include \"epicsExport.h\"\n");
+ printf ("\n/* Register sequencer commands and program */\n");
printf ("\nvoid %sRegistrar (void) {\n", prog_name);
printf (" seqRegisterSequencerCommands();\n");
printf (" seqRegisterSequencerProgram (&%s);\n", prog_name);
diff -rN -u old-branch-2-0/src/snc/proto.h new-branch-2-0/src/snc/proto.h
--- old-branch-2-0/src/snc/proto.h 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/proto.h 2022-11-28 23:15:36.782434864 +0100
@@ -3,7 +3,7 @@
Copyright, 1989-93, The Regents of the University of California.
Los Alamos National Laboratory
- $Id: proto.h,v 1.2 2001-03-21 15:06:10 mrk Exp $
+ proto.h,v 1.2 2001/03/21 15:06:10 mrk Exp
DESCRIPTION: Function prototypes for state notation language parser
ENVIRONMENT: UNIX
HISTORY:
diff -rN -u old-branch-2-0/src/snc/snc.y new-branch-2-0/src/snc/snc.y
--- old-branch-2-0/src/snc/snc.y 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/snc.y 2022-11-28 23:15:36.782434864 +0100
@@ -47,6 +47,7 @@
#include <stdio.h>
#include <ctype.h>
#include "parse.h"
+#include "parsedefs.h"
#ifndef TRUE
#define TRUE 1
@@ -199,9 +200,9 @@
in escaped C code */
/* ### this is not working yet; don't use it */
: type NAME SEMI_COLON
- { $$ = expression(E_TEXT, "", "int i;", 0); }
+ { $$ = expression(E_TEXT, "", (Expr *)"int i;", 0); }
| type NAME EQUAL NUMBER SEMI_COLON
- { $$ = expression(E_TEXT, "", "int i=0;", 0); }
+ { $$ = expression(E_TEXT, "", (Expr *)"int i=0;", 0); }
;
type /* types for variables defined in SNL */
@@ -282,9 +283,9 @@
state_option /* An option for a state */
: OPTION PLUS NAME SEMI_COLON
- { $$ = expression(E_OPTION,"stateoption",$3,"+"); }
+ { $$ = expression(E_OPTION,"stateoption",(Expr *)$3,(Expr *)"+"); }
| OPTION MINUS NAME SEMI_COLON
- { $$ = expression(E_OPTION,"stateoption",$3,"-"); }
+ { $$ = expression(E_OPTION,"stateoption",(Expr *)$3,(Expr *)"-"); }
| error { snc_err("state option specifier"); }
;
@@ -429,7 +430,7 @@
| else_stmt { $$ = $1; }
| while_stmt { $$ = $1; }
| for_stmt { $$ = $1; }
-| C_STMT { $$ = expression(E_TEXT, "", $1, 0); }
+| C_STMT { $$ = expression(E_TEXT, "", (Expr *)$1, 0); }
| pp_code { $$ = 0; }
/* | error { snc_err("action statement"); } */
;
@@ -453,9 +454,9 @@
;
pp_code /* pre-processor code (e.g. # 1 "test.st") */
-: PP_SYMBOL NUMBER STRING CR { pp_code($2, $3, ""); }
-| PP_SYMBOL NUMBER CR { pp_code($2, 0, ""); }
-| PP_SYMBOL NUMBER STRING NUMBER CR { pp_code($2, $3, $4); }
+: PP_SYMBOL NUMBER STRING CR { pp_code($2, $3); }
+| PP_SYMBOL NUMBER CR { pp_code($2, 0); }
+| PP_SYMBOL NUMBER STRING NUMBER CR { pp_code($2, $3); }
| PP_SYMBOL STRING CR { /* Silently consume #pragma lines */ }
;
@@ -469,8 +470,8 @@
;
escaped_c_list
-: C_STMT { $$ = expression(E_TEXT, "", $1, 0); }
-| escaped_c_list C_STMT { $$ = link_expr($1, expression(E_TEXT, "", $2, 0)); }
+: C_STMT { $$ = expression(E_TEXT, "", (Expr *)$1, 0); }
+| escaped_c_list C_STMT { $$ = link_expr($1, expression(E_TEXT, "", (Expr *)$2, 0)); }
;
%%
#include "snc_lex.c"
diff -rN -u old-branch-2-0/src/snc/snc_lex.l new-branch-2-0/src/snc/snc_lex.l
--- old-branch-2-0/src/snc/snc_lex.l 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/snc_lex.l 2022-11-28 23:15:36.782434864 +0100
@@ -39,6 +39,8 @@
*/
#include <string.h>
+#include <stdlib.h>
+#include <osiUnistd.h>
#ifndef TRUE
#define TRUE 1
@@ -116,7 +118,7 @@
line_num);
line_num++;
}
-<PP>{FPNUM} { yylval.pchar = strdup(yytext);
+<PP>{FPNUM} { yylval.pchar = strdup((char *)yytext);
RETURN(NUMBER);
}
<PP>\" { pStr = strBfr; BEGIN PP_STR; }
@@ -198,7 +200,7 @@
RETURN(NUMBER);
}
<SNL>{NAME} {
- yylval.pchar = strdup(yytext);
+ yylval.pchar = strdup((char *)yytext);
RETURN(NAME);
}
<SNL>"++" RETURN(AUTO_INCR);
@@ -248,19 +250,19 @@
<SNL>")" RETURN(R_PAREN);
<SNL>"," RETURN(COMMA);
<SNL>{HEX} {
- yylval.pchar = strdup(yytext);
+ yylval.pchar = strdup((char *)yytext);
RETURN(NUMBER);
}
<SNL>{OCTAL} {
- yylval.pchar = strdup(yytext);
+ yylval.pchar = strdup((char *)yytext);
RETURN(NUMBER);
}
<SNL>{FPNUM} {
- yylval.pchar = strdup(yytext);
+ yylval.pchar = strdup((char *)yytext);
RETURN(NUMBER);
}
<SNL>{CCONST} {
- yylval.pchar = strdup(yytext);
+ yylval.pchar = strdup((char *)yytext);
RETURN(CHAR_CONST);
}
<SNL>[\f\t\ ]* /* no action */ ;
diff -rN -u old-branch-2-0/src/snc/snc_main.c new-branch-2-0/src/snc/snc_main.c
--- old-branch-2-0/src/snc/snc_main.c 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/src/snc/snc_main.c 2022-11-28 23:15:36.782434864 +0100
@@ -109,8 +109,8 @@
src_file = in_file;
/* Use line buffered output */
- setvbuf(stdout, NULL, _IOLBF, 0);
- setvbuf(stderr, NULL, _IOLBF, 0);
+ setvbuf(stdout, NULL, _IOLBF, BUFSIZ);
+ setvbuf(stderr, NULL, _IOLBF, BUFSIZ);
printf("/* %s: %s */\n", sncVersion, in_file);
@@ -333,8 +333,7 @@
*
* NOTES:
*-*************************************************************************/
-void yyerror(err)
-char *err;
+void yyerror(char *err)
{
fprintf(stderr, "%s: line no. %d (%s)\n", err, line_num, src_file);
return;
diff -rN -u old-branch-2-0/test/Makefile new-branch-2-0/test/Makefile
--- old-branch-2-0/test/Makefile 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/Makefile 2022-11-28 23:15:36.782434864 +0100
@@ -1,11 +1,11 @@
#Makefile one level down from top of application tree
TOP = ..
-include $(TOP)/configure/CONFIG_APP
+include $(TOP)/configure/CONFIG
#directories in which to build
DIRS += simple
DIRS += validate
DIRS += demo
-include $(TOP)/configure/RULES_TOP
+include $(TOP)/configure/RULES_DIRS
diff -rN -u old-branch-2-0/test/demo/Makefile new-branch-2-0/test/demo/Makefile
--- old-branch-2-0/test/demo/Makefile 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/demo/Makefile 2022-11-28 23:15:36.782434864 +0100
@@ -20,8 +20,11 @@
#The following adds support from base/src/vxWorks
demo_OBJS_vxWorks += $(EPICS_BASE_BIN)/vxComLibrary
-demo_SRCS += demo.st
-demo_LIBS += seqDev seq pv
+LIBRARY_IOC += demoSupport
+demoSupport_LIBS += seq pv $(EPICS_BASE_IOC_LIBS)
+demoSupport_SRCS += demo.st
+
+demo_LIBS += demoSupport seqDev seq pv
demo_LIBS += $(EPICS_BASE_IOC_LIBS)
include $(TOP)/configure/RULES
diff -rN -u old-branch-2-0/test/demo/demo.st new-branch-2-0/test/demo/demo.st
--- old-branch-2-0/test/demo/demo.st 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/demo/demo.st 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: demo.st,v 1.1.1.2 2000-04-25 19:15:14 wlupton Exp $
+/* demo.st,v 1.1.1.2 2000/04/25 19:15:14 wlupton Exp
*
* Demo EPICS sequence
*/
@@ -36,7 +36,11 @@
option +r;
/* control variables and transition points for light control */
+#if 0
+/* trying to assign a long variable now gives a compiler error on 64 bit systems */
long light;
+#endif
+int light;
assign light to LIGHT;
double lightOn;
diff -rN -u old-branch-2-0/test/demo/demo_cake_config new-branch-2-0/test/demo/demo_cake_config
--- old-branch-2-0/test/demo/demo_cake_config 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/demo/demo_cake_config 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-# $Id: demo_cake_config,v 1.1.1.1 2000-04-04 03:23:05 wlupton Exp $
+# demo_cake_config,v 1.1.1.1 2000/04/04 03:23:05 wlupton Exp
#
# CAKE configuration file corresponding to demo.db (relevant to KTL only)
diff -rN -u old-branch-2-0/test/johng/johng.st new-branch-2-0/test/johng/johng.st
--- old-branch-2-0/test/johng/johng.st 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/johng/johng.st 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: johng.st,v 1.1.1.1 2000-04-04 03:22:42 wlupton Exp $
+/* johng.st,v 1.1.1.1 2000/04/04 03:22:42 wlupton Exp
*
* Demo Unix/KTL EPICS sequencer for John G (doesn't do anything useful)
*/
diff -rN -u old-branch-2-0/test/local/local.st new-branch-2-0/test/local/local.st
--- old-branch-2-0/test/local/local.st 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/local/local.st 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: local.st,v 1.1.1.1 2000-04-04 03:22:43 wlupton Exp $
+/* local.st,v 1.1.1.1 2000/04/04 03:22:43 wlupton Exp
*
* Sequence to illustrate / test local variable declarations
*/
diff -rN -u old-branch-2-0/test/parallel/control.st new-branch-2-0/test/parallel/control.st
--- old-branch-2-0/test/parallel/control.st 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/parallel/control.st 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: control.st,v 1.1.1.1 2000-04-04 03:23:14 wlupton Exp $
+/* control.st,v 1.1.1.1 2000/04/04 03:23:14 wlupton Exp
*
* Demo KTL EPICS sequence; illustrates and tests parallel control
*/
diff -rN -u old-branch-2-0/test/pv/arrput.cc new-branch-2-0/test/pv/arrput.cc
--- old-branch-2-0/test/pv/arrput.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/arrput.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: arrput.cc,v 1.2 2004-01-15 14:11:09 mrk Exp $
+/* arrput.cc,v 1.2 2004/01/15 14:11:09 mrk Exp
*
* Loop putting simulated values to an array-valued PV
*/
diff -rN -u old-branch-2-0/test/pv/arrputCA.cc new-branch-2-0/test/pv/arrputCA.cc
--- old-branch-2-0/test/pv/arrputCA.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/arrputCA.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: arrputCA.cc,v 1.2 2004-01-15 14:11:09 mrk Exp $
+/* arrputCA.cc,v 1.2 2004/01/15 14:11:09 mrk Exp
*
* Loop putting simulated values to an array-valued PV (CA version)
*/
diff -rN -u old-branch-2-0/test/pv/gphtest.cc new-branch-2-0/test/pv/gphtest.cc
--- old-branch-2-0/test/pv/gphtest.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/gphtest.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-// $Id: gphtest.cc,v 1.1.1.1 2000-04-04 03:23:09 wlupton Exp $
+// gphtest.cc,v 1.1.1.1 2000/04/04 03:23:09 wlupton Exp
//
// gpHash test program
diff -rN -u old-branch-2-0/test/pv/pvsimpleC.c new-branch-2-0/test/pv/pvsimpleC.c
--- old-branch-2-0/test/pv/pvsimpleC.c 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/pvsimpleC.c 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvsimpleC.c,v 1.1.1.1 2000-04-04 03:23:09 wlupton Exp $
+/* pvsimpleC.c,v 1.1.1.1 2000/04/04 03:23:09 wlupton Exp
*
* Very simple C program to demonstrate pv classes
*/
diff -rN -u old-branch-2-0/test/pv/pvsimpleCC.cc new-branch-2-0/test/pv/pvsimpleCC.cc
--- old-branch-2-0/test/pv/pvsimpleCC.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/pvsimpleCC.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-// $Id: pvsimpleCC.cc,v 1.1.1.1 2000-04-04 03:23:09 wlupton Exp $
+// pvsimpleCC.cc,v 1.1.1.1 2000/04/04 03:23:09 wlupton Exp
//
// Very simple C++ program to demonstrate pv classes
diff -rN -u old-branch-2-0/test/pv/pvtest.cc new-branch-2-0/test/pv/pvtest.cc
--- old-branch-2-0/test/pv/pvtest.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/pvtest.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-/* $Id: pvtest.cc,v 1.1.1.1 2000-04-04 03:23:09 wlupton Exp $
+/* pvtest.cc,v 1.1.1.1 2000/04/04 03:23:09 wlupton Exp
*
* Test pv classes
*/
diff -rN -u old-branch-2-0/test/pv/testCA.cc new-branch-2-0/test/pv/testCA.cc
--- old-branch-2-0/test/pv/testCA.cc 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/pv/testCA.cc 2022-11-28 23:15:36.782434864 +0100
@@ -1,4 +1,4 @@
-// $Id: testCA.cc,v 1.2 2004-01-15 14:11:09 mrk Exp $
+// testCA.cc,v 1.2 2004/01/15 14:11:09 mrk Exp
//
// CA test program illustrating R3.14 behavior
diff -rN -u old-branch-2-0/test/validate/Makefile new-branch-2-0/test/validate/Makefile
--- old-branch-2-0/test/validate/Makefile 2022-11-28 23:15:36.758434270 +0100
+++ new-branch-2-0/test/validate/Makefile 2022-11-28 23:15:36.782434864 +0100
@@ -11,16 +11,16 @@
SNCFLAGS_vxWorks += -nil-
# Sequence programs and/or object files to create
-SEQS = sncDelay sncEntry sncEntryOpte sncEntryVar sncExitOptx sncOptt sncOpttVar
-PROD_HOST = $(SEQS)
+PROD += sncDelay
+PROD += sncEntry
+PROD += sncEntryOpte
+PROD += sncEntryVar
+PROD += sncExitOptx
+PROD += sncOptt
+PROD += sncOpttVar
-sncDelay_SRCS = sncDelay.st
-sncEntry_SRCS = sncEntry.st
-sncEntryOpte_SRCS = sncEntryOpte.st
-sncEntryVar_SRCS = sncEntryVar.st
-sncExitOptx_SRCS = sncExitOptx.st
-sncOptt_SRCS = sncOptt.st
-sncOpttVar_SRCS = sncOpttVar.st
+# this test is supposed to fail on 64 bit systems
+#PROD += tooLong
# Libraries
PROD_LIBS += seq
@@ -30,4 +30,3 @@
include $(TOP)/configure/RULES
#----------------------------------------
# ADD RULES AFTER THIS LINE
-
diff -rN -u old-branch-2-0/test/validate/tooLong.st new-branch-2-0/test/validate/tooLong.st
--- old-branch-2-0/test/validate/tooLong.st 1970-01-01 01:00:00.000000000 +0100
+++ new-branch-2-0/test/validate/tooLong.st 2022-11-28 23:15:36.782434864 +0100
@@ -0,0 +1,27 @@
+/*
+ * Test proper rejection of variables whose type is too long
+ * to allow faithfull representation in CA, i.e. 64 bit types.
+ * On linux-x86_64 this should give error messages for the l and ul
+ * variables. On systems where sizeof(int)==8 (64 bit Windows?)
+ * even i and ui should be rejected.
+ */
+program tooLong
+
+int i;
+assign i to "";
+
+unsigned int ui;
+assign ui to "";
+
+long l;
+assign l to "";
+
+unsigned long ul;
+assign ul to "";
+
+ss tooLong {
+ state xy {
+ when () {
+ } state xy
+ }
+}
patch e68b6837c43f019bf88c8cd217899e149f1befe3
Author: benjamin.franksen@helmholtz-berlin.de
Date: Mon May 16 11:36:07 CEST 2011
tagged seq-2-0-14
patch 8c3741b8f21ca90bf16d97021141af499417cce8
Author: benjamin.franksen@helmholtz-berlin.de
Date: Mon May 16 11:03:05 CEST 2011
* bumped version to 2.0.14
patch 2865e645db1e92809f7ddd0edf3790249c168ad6
Author: benjamin.franksen@helmholtz-berlin.de
Date: Mon May 16 11:02:28 CEST 2011
* parameterized upload target in top-level Makefile
patch 0cb1806fb856ed2f0f77dfd2c4217c16b571e401
Author: ben.franksen@online.de
Date: Tue May 10 02:27:46 CEST 2011
* fix windows build by using osiUnistd.h instead of unistd.h
patch d13523b6784c164749524c5823ebcc96a74c72a7
Author: benjamin.franksen@helmholtz-berlin.de
Date: Sat May 7 14:03:38 CEST 2011
tagged seq-2-0-13
patch 84759dfd183e3d1ca02322e1a5f6bbdccec676fc
Author: benjamin.franksen@helmholtz-berlin.de
Date: Sat May 7 14:00:31 CEST 2011
* SEQ_VERSION is now 2.0.13
patch 8d3d21f52de362483db54ce80b82be59136c3b3e
Author: benjamin.franksen@helmholtz-berlin.de
Date: Sat May 7 13:57:39 CEST 2011
* updated upload target for final release
patch 740da846872c483a7d7ca6d595b90cdf09ddfcd7
Author: ben.franksen@online.de
Date: Sat May 7 13:48:38 CEST 2011
* comment out tooLong test
patch 18952d1cf5840732202ca9ed695eabb318613c84
Author: benjamin.franksen@helmholtz-berlin.de
Date: Tue Apr 19 12:59:21 CEST 2011
tagged seq-2-0-13-rc2
patch da751ed92d645c51728e9d112b83711bf9a5a7e5
Author: benjamin.franksen@helmholtz-berlin.de
Date: Tue Apr 19 12:37:40 CEST 2011
* move error detection for assign to 64 bit long from snc to C compiler
patch d447a6131777c49691b19f42062b175aa8acadb8
Author: benjamin.franksen@helmholtz-berlin.de
Date: Fri Apr 15 12:28:50 CEST 2011
tagged seq-2-0-13-rc1
patch 5a8ae3860d93b9dca68721c105a46fa74dba80c9
Author: benjamin.franksen@helmholtz-berlin.de
Date: Fri Apr 15 12:14:10 CEST 2011
* set default EPICS_BASE to 3.14.10
patch 298a5019abba1f4e7b923d893d89cca4ba03f2b0
Author: benjamin.franksen@helmholtz-berlin.de
Date: Fri Apr 15 11:58:11 CEST 2011
* added upload target to top-level Makefile
patch 484cbaafc6c3f26e6766190e9f0215d5d02dcb43
Author: ben.franksen@online.de
Date: Fri Apr 15 00:24:24 CEST 2011
* changed bitMask from unsigned long to epicsUInt32
Bitmasks are written out as literals by the compiler, so must
be of a fixed size (else the target systems bitMask overflows).
patch 90791322f0148b0bc6872f1e97c0f8780ae53ee3
Author: ben.franksen@online.de
Date: Thu Apr 7 13:24:29 CEST 2011
* fix a few warnings
patch 1fd8a8ed4b300ee2e93e4790a25c8a031553b94b
Author: ben.franksen@online.de
Date: Thu Apr 7 13:23:23 CEST 2011
* set default EPICS_BASE to 3.14.8.2
patch 6320ac0ec8ab38e8acd9f3888d3c312296e2746a
Author: benjamin.franksen@helmholtz-berlin.de
Date: Thu Apr 7 13:22:16 CEST 2011
* fixed bug introduced in compiler ansification patch
patch 723485b4ede4a7467fdd404c5916955532c97cd1
Author: ben.franksen@online.de
Date: Wed Apr 6 21:13:32 CEST 2011
* use .boring as boringfile
patch afa37a9eeaec8b696b7182224b0644f171cfa771
Author: benjamin.franksen <benjamin.franksen@bessy.de>
Date: Mon Mar 1 20:44:52 CET 2010
* added boringfile
patch 41656482809861d993607895eee0b410b4efda3d
Author: ben.franksen@online.de
Date: Wed Apr 6 20:59:29 CEST 2011
* try to make things work on 64 bit systems
patch ecb7067c7ef2ce0fc01a7927bb5a481c7b52f195
Author: ben.franksen@online.de
Date: Wed Apr 6 20:08:39 CEST 2011
* added include of epicsExport.h to generated code
patch 3c96a9dec6cf3439b3e26889b288b28f8ae2e937
Author: ben.franksen@online.de
Date: Wed Apr 6 20:07:23 CEST 2011
* fixed snc build problem
patch 05fdccf821763e6a0985a34dbe5b0e71cbcdf5ec
Author: benjamin.franksen <benjamin.franksen@bessy.de>
Date: Fri Feb 26 14:39:43 CET 2010
* import release 2.0.12
patch 7c9990256cc3d6cc2611a9363af2d96878882101
Author: ben.franksen <ben.franksen@online.de>
Date: Mon Mar 1 22:37:20 CET 2010
* ansificated compiler sources
patch 947c79ecbb0470780e08840a948116cc1ea9db9b
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Wed Sep 2 21:12:38 CEST 2009
* Fix SEQ_UGLY_WINDOWS_HACK properly.
patch af707987ae9c87e95eec769f235aac19e19952ec
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Mon Aug 17 06:41:56 CEST 2009
* Fix build warning on 64-bit archs.
patch 14db341ee8012c771898a5969e6a8b0de2f33be0
Author: (no author)
Date: Tue Nov 4 16:28:23 CET 2008
tagged seq-2-0-12
patch e654eb571bd79a5ad9bafe5f368ddb52b608b406
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Tue Nov 4 17:28:22 CET 2008
* Fixed version number
patch f2ddbc5b531b40c59fd43f2c7747339a00849ea8
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Tue Sep 16 00:29:55 CEST 2008
* Added some release notes about 2.0.12.
patch 040a1040883a21dc268a1a96782d88da1ea03c5d
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Tue Sep 2 17:15:54 CEST 2008
* For this to work on Win32, we need an intermediate support library.
patch a15064906ce0c8eb0725bc272324c8d1628cb739
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Sat Aug 30 06:55:51 CEST 2008
* List dependencies local to each dir.
patch 4073dcf6ecefcedbf46bf208359fa92e254491e2
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Aug 21 00:36:26 CEST 2008
* Added dependencies for parallel make from Ron Sluiter.
patch 75f583f6c2c791408d176ffe22ef766504461e43
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Wed Jul 23 00:24:01 CEST 2008
* Added seqcaStats routine, returns CA channel count information.
patch ef23b19503918b7e53f27076932f94bcd3729673
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Tue May 27 19:48:24 CEST 2008
* Fix setvbuf() calls for Windows.
patch c635a36dfed0bcf0acf1627be72441b5b984a0bf
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Tue Mar 20 17:22:05 CET 2007
* libiocsh routines were moved into libCom
patch cf243f6213b44fc116993830056d8e6b6b24c881
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Wed Jan 24 17:26:00 CET 2007
* Clear up some warnings.
patch 8ea4825320034b4abf54e91d0becc934598c28f2
Author: Janet B. Anderson <jba@aps.anl.gov>
Date: Wed Apr 19 20:48:24 CEST 2006
* Add includes for RELEASE.<hostarch> and CONFIG_SITE.<hostarch>.
patch 84258c084753a50fa79efc3681a3e5f8de1ba5f7
Author: (no author)
Date: Thu Mar 30 23:28:39 CEST 2006
tagged seq-2-0-11
patch d6310aad10b469b831c3a72943ccbf27ffbe1634
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 23:28:38 CEST 2006
* 2.0.11 notes.
patch 3688fccb1c8f2a2d06d66f7da9c64416e79cc549
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 23:27:33 CEST 2006
* Disallow RELEASE.<hostarch> and CONFIG_SITE.<hostarch>.
patch b06bf3d3a7658b875a9b23bb88af9a35c11565c9
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 23:22:04 CEST 2006
* Oops, should be using RULES_DIRS
patch 9e1ce928228ffc8c2c35bff3852350cc371d45dc
Author: Janet B. Anderson <jba@aps.anl.gov>
Date: Thu Mar 30 21:21:20 CEST 2006
* Added 2 includes for host specific RELEASE and CONFIG_SITE definitions.
patch 1bedb9ade882009810b34b1f94db16a810fb8bae
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 01:28:09 CEST 2006
* Another oops, this contains the SNC rules...
patch 9c10eca00e4c4693dc1043adbf3f3688f62cb40b
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 01:17:52 CEST 2006
* Cleanup, throw out unused files.
Reorganized CONFIG_APP -> CONFIG.
Moved PVxxx variables into the new CONFIG_SITE file.
patch 2d83766b27e1c95152084de928dd51bee0c94bc9
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Mar 30 01:16:17 CEST 2006
* Cleanup.
patch 88fd839a9b029b1c6b07f6f35df7f89f7f822144
Author: Andrew Johnson <anj@aps.anl.gov>
Date: Thu Nov 3 23:09:22 CET 2005
* Added seqcar() declaration to remove compiler warning