Skip to content

Conversation

@keenanlang
Copy link
Member

The C99 standard provides a guaranteed way to ensure bitwise compatibility across different platforms through the use of the stdint header. Because it is part of the standard, all compilers should implement it which means any potential new platforms will not need to be added into ndtypes.h. Additionally, this would solve naming clashes on Windows.

@MarkRivers
Copy link
Member

stdint.h does not exist in vxWorks 5.5.2 or earlier. It also does not exist in Visual Studio 2008 or earlier. Has a decision been made that synApps will no longer support those older compilers? What about EPICS base?

@MarkRivers
Copy link
Member

I just searched EPICS base 3.15.2 for any occurrence of stdint.h. I could not find any:

corvette:local/epics/base-3.15.2>find . -name '.h' -exec grep -H stdint.h {} ;
corvette:local/epics/base-3.15.2>find . -name '
.c*' -exec grep -H stdint.h {} ;

This indicates to me that the EPICS core developers have not decided to make C99 a requirement.

@MarkRivers
Copy link
Member

Why not use epicsTypes.h rather than stdint.h? Then it will work on non-C99 compilers. This is the way all synApps modules are currently written. uint_32_t would become epicsUInt32, etc.

@keenanlang
Copy link
Member Author

Has a decision been made that synApps will no longer support those older compilers?

vxWorks 5.5.2 hasn't really been supported since synApps 5_7 due to some NFS issues.

Regardless, I switched to epicsTypes because the primary issue for me that this is solving is name conflicts on minGW.

@MarkRivers
Copy link
Member

MarkRivers commented Sep 9, 2017

I 'm sorry I forgot to merge this pull request before releasing R7-7.
I can do so, but I have some requests and questions.

  • It appears that you changed the line endings in drvIcbAsyn.c. This means that Github is showing that all lines are different, which makes it hard for me to see what was actually changed. Can you please revert the line endings for this pull request.
  • There are now conflicts in icb_handler_subs.c. Can you please merge master into your branch and resolve the conflicts?
  • Have you tested the new version talking to real hardware? If so, on what platforms?

Thanks

@MarkRivers
Copy link
Member

@keenanlang this pull request is still outstanding. I'm waiting for your response to my questions of Sept. 9, 2017.

@MarkRivers
Copy link
Member

@keenanlang this pull request is still outstanding. I'm waiting for your response to my questions of Sept. 9, 2017.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants