Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  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  <20182019  2020 
<== Date ==> <== Thread ==>

Subject: xxxRecord.c warning about epicsFloat64 to float conversion
From: "J. Lewis Muir" <jlmuir@imca-cat.org>
To: EPICS Tech-Talk <tech-talk@aps.anl.gov>
Date: Tue, 22 May 2018 15:07:10 -0500
Hi, all.

I don't know if anyone cares to fix this since it's on EPICS Base
3.14.12.7, but when I generate a new app and IOC with the makeBaseApp.pl
program on Windows and compile it, I get the following warning about a
conversion from "epicsFloat64" to "float" (the full output is at the end
of this email):

===
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\xxxRecord.c
xxxRecord.c
..\xxxRecord.c(211) : warning C4244: '=' : conversion from 'epicsFloat64' to 'float', possible loss of data
..\xxxRecord.c(211) : warning C4244: '=' : conversion from 'epicsFloat64' to 'float', possible loss of data
===

Environment:

* 32-bit Windows 7 Pro
* Visual Studio C++ 2010 Express SP1
* 32-bit Strawberry Perl 5.26.2.1
* EPICS Base 3.14.12.7 + Known Problems patches
* EPICS_HOST_ARCH=win32-x86

Regards,

Lewis

===
C:\tmp>call C:\opt\epics-base\startup\win32.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
C:\tmp>makeBaseApp.pl -t example myModule

C:\tmp>makeBaseApp.pl -i -t example myModule
Using target architecture win32-x86 (only one available)
The following applications are available:
    myModule
What application should the IOC(s) boot?
The default uses the IOC's name, even if not listed above.
Application name?

C:\tmp>gmake
gmake: Entering directory 'C:/tmp'
gmake -C ./configure install
gmake[1]: Entering directory 'C:/tmp/configure'
perl C:/opt/epics-base/bin/win32-x86/makeMakefile.pl O.win32-x86 ../..
perl -MExtUtils::Command -e mkpath O.Common
gmake -C O.win32-x86 -f ../Makefile TOP=../.. \
    T_A=win32-x86 install
gmake[2]: Entering directory 'C:/tmp/configure/O.win32-x86'
perl C:/opt/epics-base/bin/win32-x86/convertRelease.pl checkRelease
gmake[2]: Leaving directory 'C:/tmp/configure/O.win32-x86'
gmake[1]: Leaving directory 'C:/tmp/configure'
gmake -C ./myModuleApp install
gmake[1]: Entering directory 'C:/tmp/myModuleApp'
gmake -C ./src install
gmake[2]: Entering directory 'C:/tmp/myModuleApp/src'
perl C:/opt/epics-base/bin/win32-x86/makeMakefile.pl O.win32-x86 ../../..
perl -MExtUtils::Command -e mkpath O.Common
gmake -C O.win32-x86 -f ../Makefile TOP=../../.. \
    T_A=win32-x86 install
gmake[3]: Entering directory 'C:/tmp/myModuleApp/src/O.win32-x86'
perl C:/opt/epics-base/bin/win32-x86/makeIncludeDbd.pl base.dbd xxxSupport.dbd dbSubExample.dbd myModuleHello.dbd initTrace.dbd myModuleInclude.dbd
echo "../O.Common/myModuleInclude.dbd : ../Makefile" >> myModule.dbd.d
"Expanding dbd"
"Installing dbd file ../../../dbd/xxxSupport.dbd"
mkdir ../../../dbd
"Installing created dbd file ../../../dbd/myModule.dbd"
"Installing dbd file ../../../dbd/xxxRecord.dbd"
echo "../O.Common/xxxRecord.h : ../Makefile" >> xxxRecord.h.d
C:\\opt\\epics-base\\bin\\win32-x86\\dbToRecordtypeH.exe   -I. -I.. -I../O.Common -I../../../dbd -IC:/opt/epics-base/dbd ../xxxRecord.dbd xxxRecord.h
"Installing generated generic include file ../../../include/xxxRecord.h"
mkdir ../../../include
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\xxxRecord.c
xxxRecord.c
..\xxxRecord.c(211) : warning C4244: '=' : conversion from 'epicsFloat64' to 'float', possible loss of data
..\xxxRecord.c(211) : warning C4244: '=' : conversion from 'epicsFloat64' to 'float', possible loss of data
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\devXxxSoft.c
devXxxSoft.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\dbSubExample.c
dbSubExample.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\myModuleHello.c
myModuleHello.c
cl -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3        -MD     -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\initTrace.c
initTrace.c
link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release       -implib:myModuleSupport.lib -out:myModuleSupport.dll         xxxRecord.obj devXxxSoft.obj dbSubExample.obj myModuleHello.obj initTrace.obj      C:\\opt\\epics-base\\lib\\win32-x86\\recIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\softDevIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\miscIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\rsrvIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbtoolsIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\asIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\registryIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbStaticIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\ca.lib  C:\\opt\\epics-base\\lib\\win32-x86\\Com.lib
   Creating library myModuleSupport.lib and object myModuleSupport.exp
Generating code
Finished generating code
"Installing shared library ../../../bin/win32-x86/myModuleSupport.dll"
mkdir ../../../bin
mkdir ../../../bin/win32-x86
"Installing library ../../../lib/win32-x86/myModuleSupport.lib"
mkdir ../../../lib
mkdir ../../../lib/win32-x86
perl C:/opt/epics-base/bin/win32-x86/registerRecordDeviceDriver.pl ../O.Common/myModule.dbd myModule_registerRecordDeviceDriver C:/tmp > myModule.tmp
perl -MExtUtils::Command -e mv myModule.tmp myModule_registerRecordDeviceDriver.cpp
cl -EHsc -GR -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3 -w44355 -w44344 -w44251        -MD  -TP   -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        myModule_registerRecordDeviceDriver.cpp
myModule_registerRecordDeviceDriver.cpp
cl -EHsc -GR -c                -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -GL -Oy-   -W3 -w44355 -w44344 -w44251        -MD  -TP   -I. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32 -I..\\..\\..\\include -IC:\\opt\\epics-base\\include\\os\\WIN32 -IC:\\opt\\epics-base\\include        ..\\myModuleMain.cpp
myModuleMain.cpp
link -nologo  -LTCG -incremental:no -opt:ref -release               -out:myModule.exe        myModule_registerRecordDeviceDriver.obj myModuleMain.obj     ..\\..\\..\\lib\\win32-x86\\myModuleSupport.lib  C:\\opt\\epics-base\\lib\\win32-x86\\recIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\softDevIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\miscIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\rsrvIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbtoolsIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\asIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\registryIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\dbStaticIoc.lib  C:\\opt\\epics-base\\lib\\win32-x86\\ca.lib  C:\\opt\\epics-base\\lib\\win32-x86\\Com.lib
Generating code
Finished generating code
"Installing created file ../../../bin/win32-x86/myModule.exe"
gmake[3]: Leaving directory 'C:/tmp/myModuleApp/src/O.win32-x86'
gmake[2]: Leaving directory 'C:/tmp/myModuleApp/src'
gmake -C ./Db install
gmake[2]: Entering directory 'C:/tmp/myModuleApp/Db'
perl C:/opt/epics-base/bin/win32-x86/makeMakefile.pl O.win32-x86 ../../..
perl -MExtUtils::Command -e mkpath O.Common
gmake -C O.win32-x86 -f ../Makefile TOP=../../.. \
    T_A=win32-x86 install
gmake[3]: Entering directory 'C:/tmp/myModuleApp/Db/O.win32-x86'
"Installing ../../../db/dbExample1.db"
mkdir ../../../db
"Installing ../../../db/dbExample2.db"
"Installing ../../../db/dbSubExample.db"
"Installing substitution file ../../../db/user.substitutions"
"Installing substitution file ../../../db/userHost.substitutions"
gmake[3]: Leaving directory 'C:/tmp/myModuleApp/Db/O.win32-x86'
gmake[2]: Leaving directory 'C:/tmp/myModuleApp/Db'
gmake[1]: Leaving directory 'C:/tmp/myModuleApp'
gmake -C ./iocBoot install
gmake[1]: Entering directory 'C:/tmp/iocBoot'
gmake -C ./iocmyModule install
gmake[2]: Entering directory 'C:/tmp/iocBoot/iocmyModule'
perl C:/opt/epics-base/bin/win32-x86/convertRelease.pl -a win32-x86 -t C:/tmp envPaths
perl C:/opt/epics-base/bin/win32-x86/convertRelease.pl -a win32-x86 -t C:/tmp dllPath.bat
gmake[2]: Leaving directory 'C:/tmp/iocBoot/iocmyModule'
gmake[1]: Leaving directory 'C:/tmp/iocBoot'
gmake: Leaving directory 'C:/tmp'

C:\tmp>
===

Replies:
Re: xxxRecord.c warning about epicsFloat64 to float conversion Ralph Lange

Navigate by Date:
Prev: RE: printing to console in Display Builder Gregory, Ray
Next: 'Reverse' trace processing Daykin, Evan
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  <20182019  2020 
Navigate by Thread:
Prev: RE: printing to console in Display Builder Gregory, Ray
Next: Re: xxxRecord.c warning about epicsFloat64 to float conversion Ralph Lange
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  <20182019  2020 
ANJ, 23 May 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·