[med-svn] r10818 - in trunk/packages/ncbi-blast+/trunk/debian: . patches

Aaron M. Ucko ucko at alioth.debian.org
Fri May 11 00:37:37 UTC 2012


Author: ucko
Date: 2012-05-11 00:37:37 +0000 (Fri, 11 May 2012)
New Revision: 10818

Added:
   trunk/packages/ncbi-blast+/trunk/debian/patches/fix_gcc47_errors
Modified:
   trunk/packages/ncbi-blast+/trunk/debian/changelog
   trunk/packages/ncbi-blast+/trunk/debian/patches/series
Log:
debian/patches/fix_gcc47_errors: fix various GCC 4.7 compilation
errors and warnings.  (Closes: #669679.)
* Explicitly qualify more dependent names originating in base templates.
* Directly #include headers as needed.
* Use modern syntax for making protected base members public.
* Add forward declarations as needed.


Modified: trunk/packages/ncbi-blast+/trunk/debian/changelog
===================================================================
--- trunk/packages/ncbi-blast+/trunk/debian/changelog	2012-05-11 00:24:23 UTC (rev 10817)
+++ trunk/packages/ncbi-blast+/trunk/debian/changelog	2012-05-11 00:37:37 UTC (rev 10818)
@@ -2,10 +2,18 @@
 
   * NOT YET RELEASED.
   
-  [Andreas Tille]
+  [ Aaron M. Ucko ]
+  * debian/patches/fix_gcc47_errors: fix various GCC 4.7 compilation
+    errors and warnings.  (Closes: #669679.)
+    - Explicitly qualify more dependent names originating in base templates.
+    - Directly #include headers as needed.
+    - Use modern syntax for making protected base members public.
+    - Add forward declarations as needed.
+  
+  [ Andreas Tille ]
   * debian/control: Modernize Vcs-* fields.
 
- -- Aaron M. Ucko <ucko at debian.org>  Thu, 10 May 2012 18:27:00 -0400
+ -- Aaron M. Ucko <ucko at debian.org>  Thu, 10 May 2012 20:37:32 -0400
 
 ncbi-blast+ (2.2.26-2) unstable; urgency=low
 

Added: trunk/packages/ncbi-blast+/trunk/debian/patches/fix_gcc47_errors
===================================================================
--- trunk/packages/ncbi-blast+/trunk/debian/patches/fix_gcc47_errors	                        (rev 0)
+++ trunk/packages/ncbi-blast+/trunk/debian/patches/fix_gcc47_errors	2012-05-11 00:37:37 UTC (rev 10818)
@@ -0,0 +1,320 @@
+Subject: fix various GCC 4.7 compilation errors and warnings
+
+ * Explicitly qualify more dependent names originating in base templates.
+ * Directly #include headers as needed.
+ * Use modern syntax for making protected base members public.
+ * Add forward declarations as needed.
+
+Author: Aaron M. Ucko <ucko at debian.org>
+Last-Update: 2012-04-13
+--- a/c++/include/connect/ncbi_conn_stream.hpp
++++ b/c++/include/connect/ncbi_conn_stream.hpp
+@@ -259,7 +259,7 @@
+ class CConn_IOStreamSetReadTimeout : protected CConn_IOStreamSetTimeout
+ {
+ public:
+-    CConn_IOStreamSetTimeout::GetTimeout;
++    using CConn_IOStreamSetTimeout::GetTimeout;
+ 
+ protected:
+     CConn_IOStreamSetReadTimeout(const STimeout* timeout)
+@@ -289,7 +289,7 @@
+ class CConn_IOStreamSetWriteTimeout : protected CConn_IOStreamSetTimeout
+ {
+ public:
+-    CConn_IOStreamSetTimeout::GetTimeout;
++    using CConn_IOStreamSetTimeout::GetTimeout;
+ 
+ protected:
+     CConn_IOStreamSetWriteTimeout(const STimeout* timeout)
+--- a/c++/include/corelib/ncbiexpt.hpp
++++ b/c++/include/corelib/ncbiexpt.hpp
+@@ -852,7 +852,7 @@
+     exception_class(const exception_class& other) \
+        : base_class(other) \
+     { \
+-        x_Assign(other); \
++        this->x_Assign(other); \
+     } \
+ public: \
+     virtual ~exception_class(void) throw() {} \
+@@ -1172,7 +1172,7 @@
+         : TBase( other)
+     {
+         m_Errno = other.m_Errno;
+-        x_Assign(other);
++        this->x_Assign(other);
+     }
+ 
+     /// Destructor.
+--- a/c++/include/corelib/ncbimisc.hpp
++++ b/c++/include/corelib/ncbimisc.hpp
+@@ -39,6 +39,7 @@
+ #ifdef HAVE_SYS_TYPES_H
+ #  include <sys/types.h>
+ #endif
++#include <cstdlib>
+ #ifdef NCBI_COMPILER_ICC
+ // Preemptively pull in <cctype>, which breaks if we've already
+ // repointed is* at NCBI_is*.
+--- a/c++/include/corelib/ncbistl.hpp
++++ b/c++/include/corelib/ncbistl.hpp
+@@ -37,6 +37,7 @@
+ 
+ #include <common/ncbi_export.h>
+ 
++#include <algorithm>
+ 
+ // Get rid of some warnings in MSVC++
+ #if (_MSC_VER >= 1200)
+--- a/c++/include/corelib/ncbistr.hpp
++++ b/c++/include/corelib/ncbistr.hpp
+@@ -3039,7 +3039,7 @@
+         : TBase(other)
+     {
+         m_Pos = other.m_Pos;
+-        x_Assign(other);
++        this->x_Assign(other);
+     }
+ 
+     /// Destructor.
+--- a/c++/include/serial/impl/stltypes.hpp
++++ b/c++/include/serial/impl/stltypes.hpp
+@@ -412,6 +412,7 @@
+     typedef StlIterator TStlIterator;
+     typedef TypeInfoIterator TTypeInfoIterator;
+     typedef typename TTypeInfoIterator::TObjectPtr TObjectPtr;
++    typedef CStlClassInfoFunctions<Container> CParent;
+ 
+     static TStlIterator& It(TTypeInfoIterator& iter)
+         {
+@@ -437,7 +438,8 @@
+         }
+     static bool InitIterator(TTypeInfoIterator& iter)
+         {
+-            TStlIterator stl_iter = Get(iter.GetContainerPtr()).begin();
++            TStlIterator stl_iter
++                = CParent::Get(iter.GetContainerPtr()).begin();
+             if ( sizeof(TStlIterator) <= sizeof(iter.m_IteratorData) ) {
+                 void* data = &iter.m_IteratorData;
+                 new (data) TStlIterator(stl_iter);
+@@ -445,7 +447,7 @@
+             else {
+                 iter.m_IteratorData = new TStlIterator(stl_iter);
+             }
+-            return stl_iter != Get(iter.GetContainerPtr()).end();
++            return stl_iter != CParent::Get(iter.GetContainerPtr()).end();
+         }
+     static void ReleaseIterator(TTypeInfoIterator& iter)
+         {
+@@ -466,7 +468,7 @@
+ 
+     static bool NextElement(TTypeInfoIterator& iter)
+         {
+-            return ++It(iter) != Get(iter.GetContainerPtr()).end();
++            return ++It(iter) != CParent::Get(iter.GetContainerPtr()).end();
+         }
+     static TObjectPtr GetElementPtr(const TTypeInfoIterator& iter)
+         {
+@@ -503,7 +505,7 @@
+     
+     static bool EraseElement(TTypeInfoIterator& iter)
+         {
+-            TStlIterator& it = It(iter);
++            TStlIterator& it = CParent::It(iter);
+             Container* c = static_cast<Container*>(iter.GetContainerPtr());
+             it = c->erase(it);
+             return it != c->end();
+@@ -511,7 +513,7 @@
+     static void EraseAllElements(TTypeInfoIterator& iter)
+         {
+             Container* c = static_cast<Container*>(iter.GetContainerPtr());
+-            c->erase(It(iter), c->end());
++            c->erase(CParent::It(iter), c->end());
+         }
+ 
+     static void SetIteratorFunctions(CStlOneArgTemplate* info)
+@@ -542,7 +544,7 @@
+         }
+     static bool EraseElement(TTypeInfoIterator& iter)
+         {
+-            TStlIterator& it = It(iter);
++            TStlIterator& it = CParent::It(iter);
+             Container* c = static_cast<Container*>(iter.GetContainerPtr());
+             TStlIterator erase = it++;
+             c->erase(erase);
+@@ -551,7 +553,7 @@
+     static void EraseAllElements(TTypeInfoIterator& iter)
+         {
+             Container* c = static_cast<Container*>(iter.GetContainerPtr());
+-            c->erase(It(iter), c->end());
++            c->erase(CParent::It(iter), c->end());
+         }
+ 
+     static void SetIteratorFunctions(CStlOneArgTemplate* info)
+--- a/c++/include/serial/iterator.hpp
++++ b/c++/include/serial/iterator.hpp
+@@ -520,13 +520,13 @@
+     CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo)
+         : m_NeedType(needType)
+         {
+-            Init(beginInfo);
++            this->Init(beginInfo);
+         }
+     CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo,
+                       const string& filter)
+         : m_NeedType(needType)
+         {
+-            Init(beginInfo, filter);
++            this->Init(beginInfo, filter);
+         }
+ 
+     virtual bool CanSelect(const CConstObjectInfo& object)
+--- a/c++/include/util/bitset/bmfunc.h
++++ b/c++/include/util/bitset/bmfunc.h
+@@ -39,6 +39,13 @@
+ namespace bm
+ {
+ 
++bm::id_t bit_block_any_range(const bm::word_t* block,
++                             bm::word_t left,
++                             bm::word_t right);
++
++bm::id_t bit_block_calc_count_range(const bm::word_t* block,
++                                    bm::word_t left,
++                                    bm::word_t right);
+ 
+ /*!
+     @brief Structure with statistical information about bitset's memory 
+--- a/c++/include/util/bitset/bmserial.h
++++ b/c++/include/util/bitset/bmserial.h
+@@ -1381,7 +1381,7 @@
+     case set_block_arrgap: 
+     case set_block_arrgap_egamma:
+         {
+-        	unsigned arr_len = read_id_list(dec, btype, this->id_array_);
++            unsigned arr_len = this->read_id_list(dec, btype, this->id_array_);
+             gap_len = gap_set_array(gap_temp_block_, this->id_array_, arr_len);
+             break;
+         }
+@@ -1390,7 +1390,7 @@
+             (sizeof(gap_word_t) == 2 ? dec.get_16() : dec.get_32());
+     case set_block_arrgap_egamma_inv:
+     case set_block_arrgap_inv:
+-        gap_len = read_gap_block(dec, btype, gap_temp_block_, gap_head);
++        gap_len = this->read_gap_block(dec, btype, gap_temp_block_, gap_head);
+         break;
+     default:
+         BM_ASSERT(0);
+--- a/c++/include/util/linkedset.hpp
++++ b/c++/include/util/linkedset.hpp
+@@ -268,10 +268,10 @@
+             pair<iterator, bool> ins = m_Container.insert(value);
+             if ( ins.second ) {
+                 if ( ins.first == begin() )
+-                    insertToStart(*ins.first);
++                    this->insertToStart(*ins.first);
+                 else {
+                     iterator prev = ins.first;
+-                    insertAfter(*--prev, *ins.first);
++                    this->insertAfter(*--prev, *ins.first);
+                 }
+             }
+             return ins;
+@@ -280,10 +280,10 @@
+     void erase(iterator iter)
+         {
+             if ( iter == begin() )
+-                removeFromStart(*iter);
++                this->removeFromStart(*iter);
+             else {
+                 iterator prev = iter;
+-                removeAfter(*--prev, *iter);
++                this->removeAfter(*--prev, *iter);
+             }
+             m_Container.erase(iter);
+         }
+@@ -422,10 +422,10 @@
+         {
+             iterator iter = m_Container.insert(value);
+             if ( iter == begin() )
+-                insertToStart(get(iter));
++                this->insertToStart(get(iter));
+             else {
+                 iterator prev = iter;
+-                insertAfter(get(--prev), get(iter));
++                this->insertAfter(get(--prev), get(iter));
+             }
+             return iter;
+         }
+@@ -433,10 +433,10 @@
+     void erase(iterator iter)
+         {
+             if ( iter == begin() )
+-                removeFromStart(get(iter));
++                this->removeFromStart(get(iter));
+             else {
+                 iterator prev = iter;
+-                removeAfter(get(--prev), get(iter));
++                this->removeAfter(get(--prev), get(iter));
+             }
+             m_Container.erase(iter);
+         }
+--- a/c++/include/util/rangemap.hpp
++++ b/c++/include/util/rangemap.hpp
+@@ -578,7 +578,7 @@
+             // get level
+ 
+             // insert element
+-            TSelectMapI selectIter = insertLevel(selectKey);
++            TSelectMapI selectIter = this->insertLevel(selectKey);
+             pair<TLevelMapI, bool> levelIns = selectIter->second.insert(value);
+             
+             pair<iterator, bool> ret;
+@@ -640,7 +640,7 @@
+             // insert element
+             iterator ret;
+             ret.m_Range = range_type::GetWhole();
+-            ret.m_SelectIter = insertLevel(selectKey);
++            ret.m_SelectIter = this->insertLevel(selectKey);
+             ret.m_SelectIterEnd = this->m_SelectMap.end();
+             ret.m_LevelIter = ret.m_SelectIter->second.insert(value);
+             return ret;
+--- a/c++/src/serial/stdtypes.cpp
++++ b/c++/src/serial/stdtypes.cpp
+@@ -720,7 +720,7 @@
+             if ( IsSigned() ) {
+                 // signed -> unsigned
+                 // check for negative value
+-                if ( IsNegative(value) )
++                if ( CParent::IsNegative(value) )
+                     ThrowIntegerOverflow();
+             }
+             if ( sizeof(value) > sizeof(result) ) {
+@@ -751,7 +751,7 @@
+                 // unsigned -> signed
+                 if ( sizeof(value) == sizeof(result) ) {
+                     // same size - check for sign change only
+-                    if ( IsNegative(result) )
++                    if ( CParent::IsNegative(result) )
+                         ThrowIntegerOverflow();
+                 }
+             }
+@@ -786,7 +786,7 @@
+             if ( IsSigned() ) {
+                 // signed -> unsigned
+                 // check for negative value
+-                if ( IsNegative(value) )
++                if ( CParent::IsNegative(value) )
+                     ThrowIntegerOverflow();
+             }
+             if ( sizeof(value) > sizeof(result) ) {
+@@ -817,7 +817,7 @@
+                 // unsigned -> signed
+                 if ( sizeof(value) == sizeof(result) ) {
+                     // same size - check for sign change only
+-                    if ( IsNegative(result) )
++                    if ( CParent::IsNegative(result) )
+                         ThrowIntegerOverflow();
+                 }
+             }

Modified: trunk/packages/ncbi-blast+/trunk/debian/patches/series
===================================================================
--- trunk/packages/ncbi-blast+/trunk/debian/patches/series	2012-05-11 00:24:23 UTC (rev 10817)
+++ trunk/packages/ncbi-blast+/trunk/debian/patches/series	2012-05-11 00:37:37 UTC (rev 10818)
@@ -3,3 +3,4 @@
 fix_lib_deps
 no_multiarch_rpath
 wrong_path_to_touch.patch
+fix_gcc47_errors




More information about the debian-med-commit mailing list