vxWorks: missing extern "C" in epicsMMIO.h

Bug #1531359 reported by mdavidsaver
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
Low
mdavidsaver

Bug Description

Ji-Hwa and Eric Bjorklund find missing extern "C" {} around the sysPci*() prototypes in the vxworks version of epicsMMIO.h

http://www.aps.anl.gov/epics/tech-talk/2016/msg00012.php

This effects >= 3.15.0.2

Changed in epics-base:
assignee: nobody → mdavidsaver (mdavidsaver)
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

It looks like epicsMMIODef.h also needs some work to be used in C code. It's function are decorated with just 'inline' which has slightly, but significantly, different meanings in C vs. C++. For portability this should be 'static inline'. Plain 'inline', when not inlined, will produce multiple strong symbols and a linker error if this happens in more than one compilation unit.

Changed in epics-base:
status: New → Confirmed
importance: Undecided → Low
milestone: none → 3.15.branch
Revision history for this message
mdavidsaver (mdavidsaver) wrote :

Added extern C and changed 'inline' to 'static inline'

Changed in epics-base:
status: Confirmed → Fix Committed
Changed in epics-base:
milestone: 3.15.branch → 3.15.4
Changed in epics-base:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.