Hello community,

here is the log from the commit of package librime for openSUSE:Factory checked 
in at 2014-03-18 13:49:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librime (Old)
 and      /work/SRC/openSUSE:Factory/.librime.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "librime"

Changes:
--------
--- /work/SRC/openSUSE:Factory/librime/librime.changes  2013-11-17 
20:19:42.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.librime.new/librime.changes     2014-03-18 
13:49:49.000000000 +0100
@@ -1,0 +2,19 @@
+Wed Mar  5 11:22:05 UTC 2014 - [email protected]
+
+- update version 1.1git20140306
+  * new build dependency: compiler with C++11 support.
+    tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013).
+  * encoder: disable warnings for phrase encode failures in log output;
+    limit the number of results in encoding a phrase with multiple solutions.
+  * punctuator: fixed a bug in matching nested "pairs of 'symbols'".
+  * speller: better support for auto-committing, allowing users of table
+    based input schemata to omit explicitly selecting candidates in many cases.
+  * schema_list_translator: option for static schema list order.
+  * table_translator: fixed the range of CJK-D in charset filter.
+- added patch librime-1.1-gcc53613.patch
+  * workaround for gcc bug 53613: Cannot override a inline "= default" 
+    virtual destructor.
+- added patch librime-1.1-BOOST_NO_SCOPED_ENUMS.patch
+  * fix boost 1.49 filesystem linking on 12.3 and lower
+
+-------------------------------------------------------------------

Old:
----
  librime-1.0.tar.gz

New:
----
  librime-1.1-BOOST_NO_SCOPED_ENUMS.patch
  librime-1.1-gcc53613.patch
  librime-1.1git20140306.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ librime.spec ++++++
--- /var/tmp/diff_new_pack.BIytm0/_old  2014-03-18 13:49:49.000000000 +0100
+++ /var/tmp/diff_new_pack.BIytm0/_new  2014-03-18 13:49:49.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package librime
 #
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,17 @@
 
 
 Name:           librime
-Version:        1.0
+Version:        1.1git20140306
 Release:        0
 Summary:        Rime Input Method Engine
 License:        GPL-3.0+
 Group:          System/I18n/Chinese
 Url:            http://code.google.com/p/rimeime/
 Source:         %{name}-%{version}.tar.gz
+#PATCH-FIX-OPENSUSE workaround for gcc bug 53613 on 12.3 and lower
+Patch1:         librime-1.1-gcc53613.patch
+#PATCH-FIX-OPENSUSE fix boost 1.49 filesystem linking on 12.3 and lower
+Patch2:         librime-1.1-BOOST_NO_SCOPED_ENUMS.patch
 BuildRequires:  boost-devel
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
@@ -100,7 +104,11 @@
 This package is the development headers of Rime.
 
 %prep
-%setup -q -n %{name}
+%setup -q
+%if 0%{?suse_version} <= 1230
+%patch1 -p1
+%patch2 -p1
+%endif
 sed -i "s/1.46.0/1.36.0/" CMakeLists.txt
 
 %build
@@ -127,7 +135,7 @@
 %files -n librime1
 %defattr(-,root,root)
 %{_libdir}/%{name}.so.1
-%{_libdir}/%{name}.so.1.0.0
+%{_libdir}/%{name}.so.1.1.0
 
 %files devel
 %defattr(-,root,root)

++++++ librime-1.1-BOOST_NO_SCOPED_ENUMS.patch ++++++
Index: librime-1.1git20140306/include/rime/lever/customizer.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/lever/customizer.h
+++ librime-1.1git20140306/include/rime/lever/customizer.h
@@ -8,6 +8,9 @@
 #define RIME_CUSTOMIZER_H_
 
 #include <string>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #define BOOST_NO_CXX11_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 
Index: librime-1.1git20140306/include/rime/lever/switcher_settings.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/lever/switcher_settings.h
+++ librime-1.1git20140306/include/rime/lever/switcher_settings.h
@@ -9,6 +9,9 @@
 
 #include <string>
 #include <vector>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include "custom_settings.h"
 
Index: librime-1.1git20140306/include/rime/lever/user_dict_manager.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/lever/user_dict_manager.h
+++ librime-1.1git20140306/include/rime/lever/user_dict_manager.h
@@ -9,6 +9,9 @@
 
 #include <string>
 #include <vector>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 
 namespace rime {
Index: librime-1.1git20140306/src/core_module.cc
===================================================================
--- librime-1.1git20140306.orig/src/core_module.cc
+++ librime-1.1git20140306/src/core_module.cc
@@ -5,6 +5,9 @@
 // 2013-10-17 GONG Chen <[email protected]>
 //
 
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime_api.h>
 #include <rime/common.h>
Index: librime-1.1git20140306/src/dict/db.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/db.cc
+++ librime-1.1git20140306/src/dict/db.cc
@@ -5,6 +5,9 @@
 // 2011-11-02 GONG Chen <[email protected]>
 //
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime_version.h>
 #include <rime/common.h>
Index: librime-1.1git20140306/src/dict/dict_compiler.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/dict_compiler.cc
+++ librime-1.1git20140306/src/dict/dict_compiler.cc
@@ -7,6 +7,9 @@
 #include <fstream>
 #include <map>
 #include <set>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime/algo/algebra.h>
 #include <rime/algo/utilities.h>
Index: librime-1.1git20140306/src/dict/dictionary.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/dictionary.cc
+++ librime-1.1git20140306/src/dict/dictionary.cc
@@ -5,6 +5,9 @@
 // 2011-07-05 GONG Chen <[email protected]>
 //
 #include <utility>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime/common.h>
 #include <rime/schema.h>
Index: librime-1.1git20140306/src/dict/mapped_file.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/mapped_file.cc
+++ librime-1.1git20140306/src/dict/mapped_file.cc
@@ -7,6 +7,9 @@
 // 2011-06-30 GONG Chen <[email protected]>
 //
 #include <fstream>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <boost/interprocess/file_mapping.hpp>
 #include <boost/interprocess/mapped_region.hpp>
Index: librime-1.1git20140306/src/dict/preset_vocabulary.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/preset_vocabulary.cc
+++ librime-1.1git20140306/src/dict/preset_vocabulary.cc
@@ -4,6 +4,9 @@
 //
 // 2011-11-27 GONG Chen <[email protected]>
 //
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <boost/lexical_cast.hpp>
 #include <utf8.h>
Index: librime-1.1git20140306/src/dict/tree_db.cc
===================================================================
--- librime-1.1git20140306.orig/src/dict/tree_db.cc
+++ librime-1.1git20140306/src/dict/tree_db.cc
@@ -4,6 +4,9 @@
 //
 // 2011-11-02 GONG Chen <[email protected]>
 //
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #if defined(_MSC_VER)
 #pragma warning(disable: 4244)
Index: librime-1.1git20140306/src/gear/simplifier.cc
===================================================================
--- librime-1.1git20140306.orig/src/gear/simplifier.cc
+++ librime-1.1git20140306/src/gear/simplifier.cc
@@ -7,6 +7,9 @@
 #include <string>
 #include <vector>
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <opencc/opencc.h>
 #include <stdint.h>
Index: librime-1.1git20140306/src/lever/custom_settings.cc
===================================================================
--- librime-1.1git20140306.orig/src/lever/custom_settings.cc
+++ librime-1.1git20140306/src/lever/custom_settings.cc
@@ -5,6 +5,9 @@
 // 2012-02-26 GONG Chen <[email protected]>
 //
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime/config.h>
 #include <rime/deployer.h>
Index: librime-1.1git20140306/src/lever/deployment_tasks.cc
===================================================================
--- librime-1.1git20140306.orig/src/lever/deployment_tasks.cc
+++ librime-1.1git20140306/src/lever/deployment_tasks.cc
@@ -5,6 +5,9 @@
 // 2011-12-10 GONG Chen <[email protected]>
 //
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #define BOOST_NO_CXX11_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <boost/uuid/random_generator.hpp>
Index: librime-1.1git20140306/src/lever/switcher_settings.cc
===================================================================
--- librime-1.1git20140306.orig/src/lever/switcher_settings.cc
+++ librime-1.1git20140306/src/lever/switcher_settings.cc
@@ -6,6 +6,9 @@
 //
 #include <utility>
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <rime/config.h>
 #include <rime/deployer.h>
Index: librime-1.1git20140306/src/lever/user_dict_manager.cc
===================================================================
--- librime-1.1git20140306.orig/src/lever/user_dict_manager.cc
+++ librime-1.1git20140306/src/lever/user_dict_manager.cc
@@ -6,6 +6,9 @@
 //
 #include <fstream>
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <boost/scope_exit.hpp>
 #include <rime/common.h>
Index: librime-1.1git20140306/src/lever/userdb_recovery_task.cc
===================================================================
--- librime-1.1git20140306.orig/src/lever/userdb_recovery_task.cc
+++ librime-1.1git20140306/src/lever/userdb_recovery_task.cc
@@ -5,6 +5,9 @@
 // 2013-04-22 GONG Chen <[email protected]>
 //
 #include <boost/algorithm/string.hpp>
+#ifndef BOOST_NO_SCOPED_ENUMS
+#define BOOST_NO_SCOPED_ENUMS
+#endif // BOOST_NO_SCOPED_ENUMS
 #include <boost/filesystem.hpp>
 #include <boost/scope_exit.hpp>
 #include <rime/deployer.h>
++++++ librime-1.1-gcc53613.patch ++++++
Index: librime-1.1git20140306/include/rime/algo/calculus.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/algo/calculus.h
+++ librime-1.1git20140306/include/rime/algo/calculus.h
@@ -22,11 +22,12 @@ class Calculation {
   using Factory = Calculation* (const std::vector<std::string>& args);
 
   Calculation() = default;
-  virtual ~Calculation() = default;
+  virtual ~Calculation();
   virtual bool Apply(Spelling* spelling) = 0;
   virtual bool addition() { return true; }
   virtual bool deletion() { return true; }
 };
+inline Calculation::~Calculation() = default;
 
 class Calculus {
  public:
Index: librime-1.1git20140306/include/rime/dict/db.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/dict/db.h
+++ librime-1.1git20140306/include/rime/dict/db.h
@@ -18,7 +18,7 @@ class DbAccessor {
   DbAccessor() = default;
   explicit DbAccessor(const std::string& prefix)
       : prefix_(prefix) {}
-  virtual ~DbAccessor() = default;
+  virtual ~DbAccessor();
 
   virtual bool Reset() = 0;
   virtual bool Jump(const std::string &key) = 0;
@@ -30,11 +30,12 @@ class DbAccessor {
 
   std::string prefix_;
 };
+inline DbAccessor::~DbAccessor() = default;
 
 class Db : public Class<Db, const std::string&> {
  public:
   explicit Db(const std::string& name);
-  virtual ~Db() = default;
+  virtual ~Db();
 
   bool Exists() const;
   bool Remove();
@@ -72,11 +73,12 @@ class Db : public Class<Db, const std::s
   bool readonly_ = false;
   bool disabled_ = false;
 };
+inline Db::~Db() = default;
 
 class Transactional {
  public:
   Transactional() = default;
-  virtual ~Transactional() = default;
+  virtual ~Transactional();
   virtual bool BeginTransaction() { return false; }
   virtual bool AbortTransaction() { return false; }
   virtual bool CommitTransaction() { return false; }
@@ -84,12 +86,14 @@ class Transactional {
  protected:
   bool in_transaction_ = false;
 };
+inline Transactional::~Transactional() = default;
 
 class Recoverable {
  public:
-  virtual ~Recoverable() = default;
+  virtual ~Recoverable();
   virtual bool Recover() = 0;
 };
+inline Recoverable::~Recoverable() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/algo/encoder.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/algo/encoder.h
+++ librime-1.1git20140306/include/rime/algo/encoder.h
@@ -24,7 +24,7 @@ class RawCode : public std::vector<std::
 class PhraseCollector {
  public:
   PhraseCollector() = default;
-  virtual ~PhraseCollector() = default;
+  virtual ~PhraseCollector();
 
   virtual void CreateEntry(const std::string& phrase,
                            const std::string& code_str,
@@ -33,13 +33,14 @@ class PhraseCollector {
   virtual bool TranslateWord(const std::string& word,
                              std::vector<std::string>* code) = 0;
 };
+inline PhraseCollector::~PhraseCollector() = default;
 
 class Config;
 
 class Encoder {
  public:
   Encoder(PhraseCollector* collector) : collector_(collector) {}
-  virtual ~Encoder() = default;
+  virtual ~Encoder();
 
   virtual bool LoadSettings(Config* config) {
     return false;
@@ -53,7 +54,7 @@ class Encoder {
  protected:
   PhraseCollector* collector_;
 };
-
+inline Encoder::~Encoder() = default;
 // Aa : code at index 0 for character at index 0
 // Az : code at index -1 for character at index 0
 // Za : code at index 0 for character at index -1
Index: librime-1.1git20140306/include/rime/candidate.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/candidate.h
+++ librime-1.1git20140306/include/rime/candidate.h
@@ -21,7 +21,7 @@ class Candidate {
             size_t end,
             double quality = 0.)
       : type_(type), start_(start), end_(end), quality_(quality) {}
-  virtual ~Candidate() = default;
+  virtual ~Candidate();
 
   static shared_ptr<Candidate>
   GetGenuineCandidate(const shared_ptr<Candidate>& cand);
@@ -53,6 +53,7 @@ class Candidate {
   size_t end_ = 0;
   double quality_ = 0.;
 };
+inline Candidate::~Candidate() = default;
 
 using CandidateList = std::vector<shared_ptr<Candidate>>;
 
Index: librime-1.1git20140306/include/rime/component.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/component.h
+++ librime-1.1git20140306/include/rime/component.h
@@ -16,8 +16,9 @@ namespace rime {
 class ComponentBase {
  public:
   ComponentBase() = default;
-  virtual ~ComponentBase() = default;
+  virtual ~ComponentBase();
 };
+inline ComponentBase::~ComponentBase() = default;
 
 template <class T, class Arg>
 struct Class {
Index: librime-1.1git20140306/include/rime/config.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/config.h
+++ librime-1.1git20140306/include/rime/config.h
@@ -22,7 +22,7 @@ class ConfigItem {
   enum ValueType { kNull, kScalar, kList, kMap };
 
   ConfigItem() = default;  // null
-  virtual ~ConfigItem() = default;
+  virtual ~ConfigItem();
 
   ValueType type() const { return type_; }
 
@@ -31,6 +31,7 @@ class ConfigItem {
 
   ValueType type_ = kNull;
 };
+inline ConfigItem::~ConfigItem() = default;
 
 using ConfigItemPtr = shared_ptr<ConfigItem>;
 
Index: librime-1.1git20140306/include/rime/deployer.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/deployer.h
+++ librime-1.1git20140306/include/rime/deployer.h
@@ -25,10 +25,11 @@ using TaskInitializer = boost::any;
 class DeploymentTask : public Class<DeploymentTask, TaskInitializer> {
  public:
   DeploymentTask() = default;
-  virtual ~DeploymentTask() = default;
+  virtual ~DeploymentTask();
 
   virtual bool Run(Deployer* deployer) = 0;
 };
+inline DeploymentTask::~DeploymentTask() = default;
 
 class Deployer : public Messenger {
  public:
Index: librime-1.1git20140306/include/rime/filter.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/filter.h
+++ librime-1.1git20140306/include/rime/filter.h
@@ -22,7 +22,7 @@ class Filter : public Class<Filter, cons
  public:
   explicit Filter(const Ticket& ticket)
       : engine_(ticket.engine), name_space_(ticket.name_space) {}
-  virtual ~Filter() = default;
+  virtual ~Filter();
 
   virtual void Apply(CandidateList* recruited,
                      CandidateList* candidates) = 0;
@@ -35,6 +35,7 @@ class Filter : public Class<Filter, cons
   Engine* engine_;
   std::string name_space_;
 };
+inline Filter::~Filter() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/formatter.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/formatter.h
+++ librime-1.1git20140306/include/rime/formatter.h
@@ -20,7 +20,7 @@ class Formatter : public Class<Formatter
  public:
   Formatter(const Ticket& ticket)
       : engine_(ticket.engine), name_space_(ticket.name_space) {}
-  virtual ~Formatter() = default;
+  virtual ~Formatter();
 
   virtual void Format(std::string* text) = 0;
 
@@ -28,6 +28,7 @@ class Formatter : public Class<Formatter
   Engine* engine_;
   std::string name_space_;
 };
+inline Formatter::~Formatter() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/lever/custom_settings.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/lever/custom_settings.h
+++ librime-1.1git20140306/include/rime/lever/custom_settings.h
@@ -19,7 +19,7 @@ class CustomSettings {
   CustomSettings(Deployer* deployer,
                  const std::string& config_id,
                  const std::string& generator_id);
-  virtual ~CustomSettings() = default;
+  virtual ~CustomSettings();
 
   virtual bool Load();
   virtual bool Save();
@@ -39,6 +39,7 @@ class CustomSettings {
   Config config_;
   Config custom_config_;
 };
+inline CustomSettings::~CustomSettings() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/processor.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/processor.h
+++ librime-1.1git20140306/include/rime/processor.h
@@ -25,7 +25,7 @@ class Processor : public Class<Processor
  public:
   explicit Processor(const Ticket& ticket)
       : engine_(ticket.engine), name_space_(ticket.name_space) {}
-  virtual ~Processor() = default;
+  virtual ~Processor();
 
   virtual ProcessResult ProcessKeyEvent(const KeyEvent& key_event) {
     return kNoop;
@@ -35,6 +35,7 @@ class Processor : public Class<Processor
   Engine* engine_;
   std::string name_space_;
 };
+inline Processor::~Processor() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/segmentor.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/segmentor.h
+++ librime-1.1git20140306/include/rime/segmentor.h
@@ -19,7 +19,7 @@ class Segmentor : public Class<Segmentor
  public:
   explicit Segmentor(const Ticket& ticket)
       : engine_(ticket.engine), name_space_(ticket.name_space) {}
-  virtual ~Segmentor() = default;
+  virtual ~Segmentor();
 
   virtual bool Proceed(Segmentation* segmentation) = 0;
 
@@ -27,6 +27,7 @@ class Segmentor : public Class<Segmentor
   Engine* engine_;
   std::string name_space_;
 };
+inline Segmentor::~Segmentor() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/translation.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/translation.h
+++ librime-1.1git20140306/include/rime/translation.h
@@ -19,7 +19,7 @@ namespace rime {
 class Translation {
  public:
   Translation() = default;
-  virtual ~Translation() = default;
+  virtual ~Translation();
 
   // A translation may contain multiple results, looks
   // something like a generator of candidates.
@@ -40,6 +40,7 @@ class Translation {
  private:
   bool exhausted_ = false;
 };
+inline Translation::~Translation() = default;
 
 class UniqueTranslation : public Translation {
  public:
Index: librime-1.1git20140306/include/rime/translator.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/translator.h
+++ librime-1.1git20140306/include/rime/translator.h
@@ -23,7 +23,7 @@ class Translator : public Class<Translat
  public:
   explicit Translator(const Ticket& ticket)
       : engine_(ticket.engine), name_space_(ticket.name_space) {}
-  virtual ~Translator() = default;
+  virtual ~Translator();
 
   virtual shared_ptr<Translation> Query(const std::string& input,
                                         const Segment& segment,
@@ -33,6 +33,7 @@ class Translator : public Class<Translat
   Engine* engine_;
   std::string name_space_;
 };
+inline Translator::~Translator() = default;
 
 }  // namespace rime
 
Index: librime-1.1git20140306/include/rime/dict/db_utils.h
===================================================================
--- librime-1.1git20140306.orig/include/rime/dict/db_utils.h
+++ librime-1.1git20140306/include/rime/dict/db_utils.h
@@ -14,17 +14,18 @@ namespace rime {
 
 class Sink {
  public:
-  virtual ~Sink() = default;
+  virtual ~Sink();
   virtual bool MetaPut(const std::string& key, const std::string& value) = 0;
   virtual bool Put(const std::string& key, const std::string& value) = 0;
 
   template <class SourceType>
   int operator<< (SourceType& source);
 };
+inline Sink::~Sink() = default;
 
 class Source {
  public:
-  virtual ~Source() = default;
+  virtual ~Source();
   virtual bool MetaGet(std::string* key, std::string* value) = 0;
   virtual bool Get(std::string* key, std::string* value) = 0;
 
@@ -33,6 +34,7 @@ class Source {
 
   int Dump(Sink* sink);
 };
+inline Source::~Source() = default;
 
 template <class SourceType>
 int Sink::operator<< (SourceType& source) {
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to