template instances used in cas are missing (required for vxWorks)

Bug #541338 reported by Dirk Zimoch
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
Fix Released
Medium
Andrew Johnson

Bug Description

When building a channel access server for vxWorks, one gets a lot of missing symbols due to uninstanciated templates. This has to do with the -fno-implicit-templates compiler flag for vxWorks. A list of explicit template calls is requires as it is done for libraries ca and db.

Additional information:
Code for templateInstances.cpp:
#define epicsExportSharedSymbols

#include <ipIgnoreEntry.h>
#include <casChannelI.h>

#ifdef _MSC_VER
# pragma warning ( push )
# pragma warning ( disable:4660 )
#endif

template class resTable < ipIgnoreEntry, ipIgnoreEntry >;
template class resTable < casChannelI, chronIntId >;
template class resTable < casEventMaskEntry, stringId >;
template class chronIntIdResTable < casChannelI >;
template class tsFreeList < casMonEvent, 1024, epicsMutexNOOP >;
template class tsFreeList < casMonitor, 1024, epicsMutex >;
template class tsFreeList < ipIgnoreEntry, 128, epicsMutex >;

#ifdef _MSC_VER
# pragma warning ( pop )
#endif

Original Mantis Bug: mantis-308
    http://www.aps.anl.gov/epics/mantis/view_bug_page.php?f_id=308

Tags: cas 3.14
Revision history for this message
Andrew Johnson (anj) wrote :

Created templateInstances.cpp file as given by Dirk.
Fixed for R3.14.10.

Revision history for this message
Andrew Johnson (anj) wrote :

R3.14.10 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.