Fix SEQ_UGLY_WINDOWS_HACK properly. --> 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:34:48.786933799 +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:34:48.762933205 +0100
+++ new-branch-2-0/Makefile 2022-11-28 23:34:48.786933799 +0100
@@ -10,4 +10,16 @@
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
+
+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/configure/CONFIG new-branch-2-0/configure/CONFIG
--- old-branch-2-0/configure/CONFIG 2022-11-28 23:34:48.762933205 +0100
+++ new-branch-2-0/configure/CONFIG 2022-11-28 23:34:48.786933799 +0100
@@ -25,4 +25,4 @@
-include $(TOP)/configure/O.$(T_A)/CONFIG_APP_INCLUDE
endif
-SEQ_VERSION = 2.0.12
+SEQ_VERSION = 2.0.14
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:34:48.762933205 +0100
+++ new-branch-2-0/configure/RELEASE 2022-11-28 23:34:48.786933799 +0100
@@ -3,6 +3,4 @@
# You should do a "gnumake clean uninstall install" in the application
# top directory each time changes are made to this file
-#EPICS_BASE=/usr/local/iocapps/R3.14.8.2/base/3-14-8-2-asd1
-
-EPICS_BASE=/home/phoebus/ANJ/epics/base/3-14-dev
+EPICS_BASE=/opt/Epics/R3.14.10/base/3-14-10-0-1
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:34:48.762933205 +0100
+++ new-branch-2-0/configure/RULES_BUILD 2022-11-28 23:34:48.786933799 +0100
@@ -1,4 +1,4 @@
-# $Id: RULES_BUILD,v 1.16 2006-03-29 23:28:09 anj 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:34:48.766933304 +0100
+++ new-branch-2-0/docs/manual/Installation.fm.mif 2022-11-28 23:34:48.790933897 +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:34:48.766933304 +0100
+++ new-branch-2-0/docs/manual/Manual-9.html 2022-11-28 23:34:48.790933897 +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:34:48.774933502 +0100
+++ new-branch-2-0/docs/manual/Manual.ps 2022-11-28 23:34:48.798934095 +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/dev/devSequencer.c new-branch-2-0/src/dev/devSequencer.c
--- old-branch-2-0/src/dev/devSequencer.c 2022-11-28 23:34:48.778933601 +0100
+++ new-branch-2-0/src/dev/devSequencer.c 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pv.cc 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pv.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvAlarm.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvCa.cc 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvCa.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvFile.cc 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvFile.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvKtl.cc 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvKtl.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvKtlCnv.cc 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvKtlCnv.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/pv/pvNew.cc 2022-11-28 23:34:48.802934195 +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/seq.h new-branch-2-0/src/seq/seq.h
--- old-branch-2-0/src/seq/seq.h 2022-11-28 23:34:48.778933601 +0100
+++ new-branch-2-0/src/seq/seq.h 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/seq/seqCom.h 2022-11-28 23:34:48.802934195 +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 */
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:34:48.778933601 +0100
+++ new-branch-2-0/src/seq/seqCommands.c 2022-11-28 23:34:48.802934195 +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:34:48.778933601 +0100
+++ new-branch-2-0/src/seq/seq_ca.c 2022-11-28 23:34:48.802934195 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/seq/seq_main.c 2022-11-28 23:34:48.802934195 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/seq/seq_qry.c 2022-11-28 23:34:48.802934195 +0100
@@ -396,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++)
@@ -408,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);
@@ -424,7 +425,7 @@
break;
case pvTypeSHORT:
- s = (short *)pVal;
+ s = (pvShort *)pVal;
for (i = 0; i < count; i++, s++)
{
printf(" %d", *s);
@@ -432,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);
@@ -448,7 +449,7 @@
break;
case pvTypeDOUBLE:
- d = (double *)pVal;
+ d = (pvDouble *)pVal;
for (i = 0; i < count; i++, d++)
{
printf(" %g", *d);
@@ -475,7 +476,7 @@
pSP = seqFindProg(tid);
if (pSP == NULL)
{
- printf("No state program exists for thread id %ld\n", (long)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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/Makefile 2022-11-28 23:34:48.802934195 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/gen_ss_code.c 2022-11-28 23:34:48.806934293 +0100
@@ -299,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)
@@ -566,7 +566,7 @@
printf("]");
break;
case E_TEXT:
- printf("%s\n", ep->left);
+ printf("%s\n", (char *)ep->left);
line_num += 1;
break;
default:
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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/parse.c 2022-11-28 23:34:48.806934293 +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,13 +194,35 @@
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;
@@ -225,6 +248,8 @@
return;
}
+ check_type_too_long(vp);
+
/* Build structure for this channel */
cp = build_db_struct(vp);
@@ -238,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;
@@ -267,6 +293,8 @@
return;
}
+ check_type_too_long(vp);
+
cp = vp->chan;
if (cp == NULL)
{
@@ -312,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;
@@ -348,6 +377,8 @@
return;
}
+ check_type_too_long(vp);
+
/* Build a db structure for this variable */
cp = build_db_struct(vp);
@@ -376,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;
@@ -402,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);
@@ -427,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;
@@ -497,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;
@@ -568,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;
@@ -664,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");
@@ -679,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;
@@ -689,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;
@@ -702,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;
@@ -718,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;
@@ -730,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
@@ -750,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;
@@ -768,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;
@@ -805,9 +823,10 @@
/* 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) */
+)
{
if (ep1 == 0 && ep2 == 0)
return NULL;
@@ -832,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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/parse.h 2022-11-28 23:34:48.806934293 +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:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/phase2.c 2022-11-28 23:34:48.806934293 +0100
@@ -429,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;
@@ -447,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;
@@ -679,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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/proto.h 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/snc.y 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/snc_lex.l 2022-11-28 23:34:48.806934293 +0100
@@ -39,6 +39,8 @@
*/
#include <string.h>
+#include <stdlib.h>
+#include <osiUnistd.h>
#ifndef TRUE
#define TRUE 1
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:34:48.782933700 +0100
+++ new-branch-2-0/src/snc/snc_main.c 2022-11-28 23:34:48.806934293 +0100
@@ -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/demo/demo.st new-branch-2-0/test/demo/demo.st
--- old-branch-2-0/test/demo/demo.st 2022-11-28 23:34:48.782933700 +0100
+++ new-branch-2-0/test/demo/demo.st 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/demo/demo_cake_config 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/johng/johng.st 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/local/local.st 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/parallel/control.st 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/arrput.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/arrputCA.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/gphtest.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/pvsimpleC.c 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/pvsimpleCC.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/pvtest.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/pv/testCA.cc 2022-11-28 23:34:48.806934293 +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:34:48.782933700 +0100
+++ new-branch-2-0/test/validate/Makefile 2022-11-28 23:34:48.806934293 +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:34:48.806934293 +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