o removed -O3 from mingw debug builds (so the issues below are reproduced on mingw)

o gnu compiler for windows doesnt support well dll exporting individual functions from a class
in debug builds so I switched to exporting the entire interface class in several places
o fixed several places in ca lib where include of epicsTimer.h wasnt properly ifdef'd so
that it is imported by ca header files
--- these issues were already fixed on cvs main trunk ---
This commit is contained in:
Jeff Hill
2010-11-04 10:19:54 -06:00
parent b4d7b6f851
commit f340b3e153
7 changed files with 43 additions and 10 deletions
+5 -5
View File
@@ -28,7 +28,7 @@
*/
/* code using a timer must implement epicsTimerNotify */
class epicsTimerNotify {
class epicsShareClass epicsTimerNotify {
public:
enum restart_t { noRestart, restart };
class expireStatus {
@@ -41,13 +41,13 @@ public:
double delay;
};
epicsShareFunc virtual ~epicsTimerNotify () = 0;
virtual ~epicsTimerNotify () = 0;
/* return "noRestart" or "expireStatus ( restart, 30.0 )" */
virtual expireStatus expire ( const epicsTime & currentTime ) = 0;
epicsShareFunc virtual void show ( unsigned int level ) const;
virtual void show ( unsigned int level ) const;
};
class epicsTimer { /* X aCC 655 */
class epicsShareClass epicsTimer { /* X aCC 655 */
public:
/* calls cancel (see warning below) and then destroys the timer */
virtual void destroy () = 0;
@@ -67,7 +67,7 @@ public:
double getExpireDelay ();
virtual void show ( unsigned int level ) const = 0;
protected:
epicsShareFunc virtual ~epicsTimer () = 0; /* protected => delete() must not be called */
virtual ~epicsTimer () = 0; /* protected => delete() must not be called */
};
class epicsTimerQueue { /* X aCC 655 */