EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Redundancy Patch: iocsh
From: Andrew Johnson <[email protected]>
To: "Liu, Gongfa" <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Mon, 19 Nov 2007 11:03:23 -0600
Liu, Gongfa wrote:

The following is the email copied from [email protected]. The compiler error is same in our case. Maybe this compiler error can be ignored here since it is not related to the redundancy patch.

 > From: Graham Waters [mailto:[email protected]]
 >
 > /usr2/tornado/release/2.2.1/x86/host/sun4-solaris2/bin/ccpentium -c
 > -D_POSIX_SOURCE       -DCPU=PENTIUM -D_X86_   -DvxWorks -include
 > /usr2/tornado/release/2.2.1/x86/target/h/vxWorks.h  -ansi  -O3  -Wall
 >    -mpentium -fno-defer-pop -x 'c++'  -fno-implicit-templates
 > -fno-builtin  -I. -I.. -I../../../include/os/vxWorks -I../../../include
 >        -I/usr2/tornado/release/2.2.1/x86/target/h  ../iocsh.cpp
 > ..../iocsh.cpp: In function `void iocshRegisterVariable (const
 > iocshVarDef
 > *)':
 > ..../iocsh.cpp:133: Internal compiler error in `expand_expr', at
 > expr.c:5996

Ok, we think that the Pentium compiler may have an internally defined macro called 'varArgs', which is the name of the variable at the error location. Please try this patch (the diff is against the original R3.14.9 file), which instead renames that group of variables:

Index: iocsh.cpp
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/src/iocsh/Attic/iocsh.cpp,v
retrieving revision 1.9.2.35
diff -u -b -r1.9.2.35 iocsh.cpp
--- iocsh.cpp   12 Dec 2006 21:04:19 -0000      1.9.2.35
+++ iocsh.cpp   19 Nov 2007 16:53:58 -0000
@@ -147,10 +147,10 @@
     struct iocshVariable *l, *p, *n;
     int i;
     int found;
-    static const iocshArg varArg0 = { "[variable",iocshArgString};
-    static const iocshArg varArg1 = { "[value]]",iocshArgString};
-    static const iocshArg *varArgs[2] = {&varArg0, &varArg1};
-    static const iocshFuncDef varFuncDef = {"var",2,varArgs};
+    static const iocshArg varCmdArg0 = { "[variable",iocshArgString};
+    static const iocshArg varCmdArg1 = { "[value]]",iocshArgString};
+    static const iocshArg *varCmdArgs[2] = {&varCmdArg0, &varCmdArg1};
+    static const iocshFuncDef varFuncDef = {"var",2,varCmdArgs};

     iocshTableLock ();
     while ((piocshVarDef != NULL)


- Andrew
--
When a distinguished but elderly scientist states that something is
possible, he is almost certainly right.  When he states that something
is impossible, he is very probably wrong.  -- Arthur C. Clarke

Replies:
Re: Redundancy Patch: iocsh Liu, Gongfa
References:
Redundancy Patch: iocsh Andrew Johnson
Re: Redundancy Patch: iocsh Andrew Johnson
Re: Redundancy Patch: iocsh Liu, Gongfa

Navigate by Date:
Prev: Re: Redundancy Patch: makeBaseApp Liu, Gongfa
Next: Re: Redundancy Patch: iocsh Liu, Gongfa
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Redundancy Patch: iocsh Liu, Gongfa
Next: Re: Redundancy Patch: iocsh Liu, Gongfa
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·