Shifu Xu just showed me a sequencer build problem he found when upgrading a
3.13.10 application to R3.14.11. Put this line in an snc.st file and compile
it for vxWorks:
%%#include <vxWorks.h>
The line gets translated by the C pre-processor into this in the intermediate
snc.i file, which is obviously wrong:
%%#include <1 .h>
That's because the pre-processor is being given the flag '-DvxWorks' and it
doesn't know that it should not substitute macros inside <angle-quotes>.
It should be possible to prevent this by adjusting the appropriate rule in the
sequencer's RULES_BUILD file to exclude that flag, but I'm not sure if we
should try to do that or not. How come this didn't used to occur with
R3.13.10?
It is possible to work around the problem by using double-quotes instead:
%%#include "vxWorks.h"
The other suggestion I made to Shifu was to just delete that line completely
from the source program as all our vxWorks compiles are given the flag
-include /path/to/vxWorks.h'
but I'm not sure whether we should encourage people to rely on that in case we
want to delete that flag in the future.
Comments/ideas? Just document it and ignore it?
- Andrew
--
Optimization is the process of taking something that works and
replacing it with something that almost works, but costs less.
-- Roger Needham
- Replies:
- Re: Sequencer Preprocessor Build Rules J. Lewis Muir
- Navigate by Date:
- Prev:
RE: asyn connection management with asynPortDriver Mark Rivers
- Next:
driver support for SIS3302 and SIS3305 Hu, Yong
- 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:
APS Website issues Andrew Johnson
- Next:
Re: Sequencer Preprocessor Build Rules J. Lewis Muir
- 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
|