Hi,
I’ve compiled and run base 3.14.12.5-rc1 on Windows 8 64bit with Visual Studio 2013, shared build, both windows-x64-debug and windows-x64 as EPICS_HOST_ARCH targets - all built OK and “make runtests” passed too :-)
I noticed a couple of warnings in the build log that might have some relevance
c:\epics-base-3.14.12.5-rc1\src\ca\oldAccess.h(594) : warning C4930: 'epicsGuardRelease<T> guardRelease(void)': prototyped function not called (was a variable definition intended?)
with
[
T=epicsMutex
]
c:\epics-base-3.14.12.5-rc1\src\ca\sgAutoPtr.h(59) : see reference to function template instantiation 'void ca_client_context::whenThereIsAnExceptionDestroySyncGroupIO<T>(epicsGuard<epicsMutex> &,T &)' being compiled
with
[
T=syncGroupWriteNotify
]
c:\epics-base-3.14.12.5-rc1\src\ca\sgAutoPtr.h(55) : while compiling class template member function 'sgAutoPtr<syncGroupWriteNotify>::~sgAutoPtr(void)'
..\CASG.cpp(216) : see reference to function template instantiation 'sgAutoPtr<syncGroupWriteNotify>::~sgAutoPtr(void)' being compiled
..\CASG.cpp(216) : see reference to class template instantiation 'sgAutoPtr<syncGroupWriteNotify>' being compiled
Passing “guard” as the argument would remove the warning, but I don’t know if that is the desired behaviour. Removing the () from the line gives a “no appropriate default constructor” error.
cl -c /favor:blend /nologo /D__STDC__=0 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /Zi /RTCsu /W3 /w44355 /MDd -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include ..\\tool_lib.c
tool_lib.c
c:\epics-base-3.14.12.5-rc1\include\alarmString.h(30) : warning C4273: 'epicsAlarmSeverityStrings' : inconsistent dll linkage
C:\epics-base-3.14.12.5-rc1\include\alarm.h(46) : see previous definition of 'epicsAlarmSeverityStrings'
c:\epics-base-3.14.12.5-rc1\include\alarmString.h(40) : warning C4273: 'epicsAlarmConditionStrings' : inconsistent dll linkage
C:\epics-base-3.14.12.5-rc1\include\alarm.h(101) : see previous definition of 'epicsAlarmConditionStrings'
epicsAlarmSeverityStrings is declared epicsShareExtern in alarm.h but just extern in alarmString.h – making both extern removes the warning, making them both epicsShareExtern causes a “error C2491: 'epicsAlarmSeverityStrings' : definition of dllimport data not allowed” issue when compiling tool_lib.c
I also enclose a diff of a couple of minor mods I have locally in 3-14-12-4:
* With a debug build on windows, isprint() throws an exception if the function argument is < 0
* The windows implementation of currentTime::getCurrentTime is missing a divide by EPICS_TIME_TICKS_PER_SEC when reporting a time discontinuity
Regards,
Freddie
> -----Original Message-----
> From: [email protected] [mailto:tech-talk-
> [email protected]] On Behalf Of Andrew Johnson
> Sent: 09 March 2015 20:07
> To: EPICS tech-talk
> Subject: Base 3.14.12.5-rc1 Available
>
> The first Release Candidate version of the next EPICS Base-3.14.12.5
> release is now available for download from the Base R3.14.12 or the Base
> Downloads web-pages.
> http://www.aps.anl.gov/epics/base/R3-14/12.php
>
> This is a patch release, containing all of the Known Problems fixes and
> a number of other minor (backwards-compatible) enhancements to 3.14.12,
> mostly to the build system. Please read the Release Notes linked from
> the above web-page for details of the significant changes.
>
> Please report problems with this version to tech-talk as soon as
> possible. If no major issues are discovered in the next two weeks
> Base-3.14.12.5 will be released on March 23rd.
>
> Thanks to everyone who has reported problems and contributed patches.
>
> - Andrew
>
> --
> Doctorow's Law: Anytime someone puts a lock on something you own,
> against your wishes, and doesn't give you the key, they're
> not doing it for your benefit.
Index: src/libCom/osi/os/WIN32/osdTime.cpp
===================================================================
--- src/libCom/osi/os/WIN32/osdTime.cpp (revision 60)
+++ src/libCom/osi/os/WIN32/osdTime.cpp (revision 61)
@@ -366,9 +366,9 @@
LONGLONG epicsTimeCurrent = this->epicsTimeLast + offset;
if ( this->epicsTimeLast > epicsTimeCurrent ) {
double diff = static_cast < double >
- ( this->epicsTimeLast - epicsTimeCurrent );
+ (this->epicsTimeLast - epicsTimeCurrent) / EPICS_TIME_TICKS_PER_SEC;
errlogPrintf (
- "currentTime::getCurrentTime(): %f sec "
+ "currentTime::getCurrentTime(): %g sec "
"time discontinuity detected\n",
diff );
}
Index: src/libCom/misc/epicsString.c
===================================================================
--- src/libCom/misc/epicsString.c (revision 60)
+++ src/libCom/misc/epicsString.c (revision 61)
@@ -131,7 +131,7 @@
case '\'': len = epicsSnprintf(outpos, maxout, "\\'"); break;
case '\"': len = epicsSnprintf(outpos, maxout, "\\\""); break;
default:
- if (isprint(0xff & (int)c))
+ if ( c >= 0 && isprint(0xff & (int)c) )
len = epicsSnprintf(outpos, maxout, "%c", c);
else
len = epicsSnprintf(outpos, maxout, "\\%03o",
@@ -166,7 +166,7 @@
nout++;
break;
default:
- if (!isprint(0xff & (int)c))
+ if ( c < 0 || !isprint(0xff & (int)c) )
nout += 3;
}
}
@@ -230,7 +230,7 @@
case '\'': nout += fprintf(fp, "\\'"); break;
case '\"': nout += fprintf(fp, "\\\""); break;
default:
- if (isprint(0xff & (int)c))
+ if ( c >= 0 && isprint(0xff & (int)c) )
nout += fprintf(fp, "%c", c);
else
nout += fprintf(fp, "\\%03o", (unsigned char)c);
- Replies:
- Re: Base 3.14.12.5-rc1 Available Andrew Johnson
- References:
- Base 3.14.12.5-rc1 Available Andrew Johnson
- Navigate by Date:
- Prev:
Re: using PI C-863 Mercury motor controller with linux Pearson, Matthew R.
- Next:
Re: Base 3.14.12.5-rc1 Available Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Base 3.14.12.5-rc1 Available Jeong Han Lee
- Next:
Re: Base 3.14.12.5-rc1 Available Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
<2015>
2016
2017
2018
2019
2020
2021
2022
2023
2024
|