EPICS Controls 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  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Different behavior on dbdToRecordTypeH - include guard
From: Andrew Johnson <[email protected]>
To: "Kim, Kukhee" <[email protected]>, "[email protected] Talk" <[email protected]>
Date: Wed, 10 Dec 2014 16:26:49 -0600
Hi Kukhee,

On 12/10/2014 02:03 PM, Kim, Kukhee wrote:
> I just found that the tool "dbdToRecordTypeH" in base-R3.15 behaves
> differently compare to the previous version.
> In the previous version, the tool put "include guard" for type
> definition.
> But, the new one doesn't put the "include guard".

The generated files from a 3.15 build do have an include guard, the name
it uses has changed slightly though and the guard now wraps the whole
header file rather than just a part of it:

> /* aiRecord.h generated from aiRecord.dbd */
> 
> #ifndef INC_aiRecord_H
> #define INC_aiRecord_H
> 
> #include "epicsTypes.h"
...
> } aiFieldIndex;
> 
> #ifdef GEN_SIZE_OFFSET
> 
> #ifdef __cplusplus
> extern "C" {
> #endif
> #include <epicsExport.h>
...
> #ifdef __cplusplus
> }
> #endif
> #endif /* GEN_SIZE_OFFSET */
> 
> #endif /* INC_aiRecord_H */

In 3.14 the include guard covered the record structure and index
definitions but not the GEN_SIZE_OFFSET section:

> #ifndef INCaiH
> #define INCaiH
> #include "epicsTypes.h"
...
> #define aiRecordSIMS	81
> #endif /*INCaiH*/
> #ifdef GEN_SIZE_OFFSET
> #ifdef __cplusplus
> extern "C" {
> #endif
> #include <epicsExport.h>
...
> #ifdef __cplusplus
> }
> #endif
> #endif /*GEN_SIZE_OFFSET*/

Only *Record.c files define the GEN_SIZE_OFFSET macro though, and they
shouldn't be including other headers that include their own *Record.h
file so this change should be transparent.

What does your complicated include setup that this breaks look like?

- Andrew
-- 
People everywhere confuse what they read in newspapers with news.
-- A. J. Liebling

Replies:
RE: Different behavior on dbdToRecordTypeH - include guard Kim, Kukhee
References:
Different behavior on dbdToRecordTypeH - include guard Kim, Kukhee

Navigate by Date:
Prev: Re: read status nin "" 0 error with Eric Norum
Next: RE: Different behavior on dbdToRecordTypeH - include guard Kim, Kukhee
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Different behavior on dbdToRecordTypeH - include guard Kim, Kukhee
Next: RE: Different behavior on dbdToRecordTypeH - include guard Kim, Kukhee
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·