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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: _registerRecordDeviceDriver warning |
From: | Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> |
To: | "David A. Slimmer" <slimmer at fnal.gov> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 15 May 2023 11:16:23 -0700 |
On 5/15/23 10:37, David A. Slimmer via Tech-talk wrote:
I’m trying to implement device support under base-7.0.5, and I’m getting the following warning when I compile: Biascontroller_registerRecordDeviceDriver.cpp:382:62: warning: missing initializer for member 'iocshFuncDef::usage' [-Wmissing-field-initializers] 382 | {"Biascontroller_registerRecordDeviceDriver", 1, rrddArgs}; | I looked at the Biascontroller_registerRecordDeviceDriver.cpp code, but it looks identical to the code generated for another project using device support built with an earlier version of EPICS base (R3.15 I think). Any ideas where I might look to track this down?
Firstly, this warning can simply be ignored. The "uninitialized" field will be initialized to NULL in this context, which is the intent. The warning comes from the addition of usage messages for IOC shell commands in 7.0.4. https://github.com/epics-base/epics-base/commit/ce4fb6085ffccd2ad0c29191d221c55341a485a6 There is no particular reason why the generated *_registerRecordDeviceDriver commands don't have a usage message. Although I can't immediately think of what the wording would be. As a note for _external_ modules wishing to provide a usage message, the macro IOCSHFUNCDEF_HAS_USAGE can be tested to determine if iocshFuncDef::usage exists. https://github.com/epics-base/epics-base/blob/cb97d662a74b8de6d7265a0863edbf88d0486f28/modules/database/src/template/top/exampleApp/src/_APPNAME_Hello.c#L20-L30