Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: EPICS 7 vxWorks diff
From: Dirk Zimoch <dirk.zimoch@psi.ch>
To: "core-talk@aps.anl.gov" <core-talk@aps.anl.gov>
Date: Wed, 29 Nov 2017 20:48:30 +0100
Build is successful down to vxWorks 6.3.
Here is the diff.

Dirk
Entering 'modules/ca'
Entering 'modules/database'
Entering 'modules/libcom'
Entering 'modules/normativeTypes'
Entering 'modules/pvAccess'
diff --git a/src/client/pv/pvAccess.h b/src/client/pv/pvAccess.h
index fa0028d..4ae23cf 100644
--- a/src/client/pv/pvAccess.h
+++ b/src/client/pv/pvAccess.h
@@ -1445,6 +1445,8 @@ public:
     //! Drop all factories
     virtual void clear();
 
+    virtual ~ChannelProviderRegistry() {}
+
 private:
     // ctor is hidden to ensure explict compile errors from a hypothetical sub-class
     // we no longer support sub-classing by outside code
diff --git a/src/client/pva/client.h b/src/client/pva/client.h
index 08998b3..cb59353 100644
--- a/src/client/pva/client.h
+++ b/src/client/pva/client.h
@@ -193,7 +193,12 @@ void registerRefTrack();
  */
 class epicsShareClass ClientChannel
 {
+#if defined(__GNUC__)&&__GNUC__*100+__GNUC_MINOR__<305
+// workaround for bug in gcc before version 3.5
+public:
+#endif
     struct Impl;
+private:
     std::tr1::shared_ptr<Impl> impl;
     friend class ClientProvider;
     friend void detail::registerRefTrack();
Entering 'modules/pvData'
diff --git a/src/misc/pv/epicsException.h b/src/misc/pv/epicsException.h
index 68c9903..9e7c4f8 100644
--- a/src/misc/pv/epicsException.h
+++ b/src/misc/pv/epicsException.h
@@ -181,7 +181,7 @@ do { \
 
 #define PRINT_EXCEPTION(EI) PRINT_EXCEPTION2(EI,stderr)
 
-#ifndef __GNUC__
+#if !defined(__GNUC__) || __GNUC__ < 4
 #  define SHOW_EXCEPTION(EI) ::epics::pvData::detail::showException(EI)
 #else
 #  define SHOW_EXCEPTION(EI) \
diff --git a/src/misc/pv/reftrack.h b/src/misc/pv/reftrack.h
index 5d65e84..9257354 100644
--- a/src/misc/pv/reftrack.h
+++ b/src/misc/pv/reftrack.h
@@ -110,7 +110,7 @@ class epicsShareClass RefMonitor
     Impl *impl;
 public:
     RefMonitor();
-    ~RefMonitor();
+    virtual ~RefMonitor();
 
     void start(double period=10.0);
     void stop();
diff --git a/src/misc/pv/templateMeta.h b/src/misc/pv/templateMeta.h
index 20323a4..454a6c4 100644
--- a/src/misc/pv/templateMeta.h
+++ b/src/misc/pv/templateMeta.h
@@ -12,7 +12,7 @@
 //          You have been warned!
 #if defined(__MINGW32__) 
 # define FORCE_INLINE inline
-#elif defined(__GNUC__) && __GNUC__>=3
+#elif defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>=402
 # define FORCE_INLINE __attribute__((always_inline)) inline
 #elif defined(_MSC_VER)
 # define FORCE_INLINE __forceinline
Entering 'modules/pvDatabase'
Entering 'modules/pva2pva'
diff --git a/pdbApp/pvif.h b/pdbApp/pvif.h
index 328dc0f..cdddf17 100644
--- a/pdbApp/pvif.h
+++ b/pdbApp/pvif.h
@@ -290,7 +290,12 @@ struct epicsShareClass FieldName
     lookup(const epics::pvData::PVStructurePtr& S, epics::pvData::PVField** ppenclose) const;
 
     void show() const;
+#if defined(__GNUC__)&&__GNUC__*100+__GNUC_MINOR__<403
+// workaround for bug in gcc before version 4.3 https://gcc.gnu.org/bugs/#cxx_rvalbind
+public:
+#else
 private:
+#endif
     FieldName(const FieldName&);
     FieldName& operator=(const FieldName&);
 };
Entering 'modules/pvaClient'

Replies:
Re: EPICS 7 vxWorks diff Andrew Johnson

Navigate by Date:
Prev: Re: EPICS 7.0.1-pre1 -- vxWorks 6.2 Andrew Johnson
Next: Re: warnings about strict aliasing Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: warnings about strict aliasing Benjamin Franksen
Next: Re: EPICS 7 vxWorks diff Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 01 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·