diff options
author | cathook <b01902109@csie.ntu.edu.tw> | 2014-10-21 21:10:15 +0800 |
---|---|---|
committer | cathook <b01902109@csie.ntu.edu.tw> | 2014-10-21 21:10:15 +0800 |
commit | 5da947222ae34cb998b3bfa39dd818f7d06df2a7 (patch) | |
tree | dadf57e5ea17d696ae19fa8b4e358e4f02c5333d | |
parent | f7770eea2208dba6f3171adcb268f446263275cb (diff) | |
download | meow-5da947222ae34cb998b3bfa39dd818f7d06df2a7.tar.gz meow-5da947222ae34cb998b3bfa39dd818f7d06df2a7.tar.zst meow-5da947222ae34cb998b3bfa39dd818f7d06df2a7.zip |
Fix the waring "unused function"
-rw-r--r-- | meowpp/meow/bases/pointers.h | 27 | ||||
-rw-r--r-- | meowpp/meow/syntax.h | 7 | ||||
-rw-r--r-- | meowpp/meow/threading/lockers.h | 2 | ||||
-rwxr-xr-x | meowpp/test.py | 2 |
4 files changed, 29 insertions, 9 deletions
diff --git a/meowpp/meow/bases/pointers.h b/meowpp/meow/bases/pointers.h index 9305bcf..59a676a 100644 --- a/meowpp/meow/bases/pointers.h +++ b/meowpp/meow/bases/pointers.h @@ -13,6 +13,7 @@ #include <cstdint> #include <cstdlib> +#include <meow/syntax.h> #include <meow/bases/object.h> #include <meow/debug/assert.h> #include <meow/alloc.h> @@ -164,6 +165,7 @@ class PointerTypesShareCounter { size_t* counter_; public: + PointerTypesShareCounter(); friend size_t* GetPointerCounter(PointerTypesShareCounter const* ptr); }; @@ -171,6 +173,10 @@ size_t* GetPointerCounter(PointerTypesShareCounter const* ptr) { return ptr->counter_; } +inline PointerTypesShareCounter::PointerTypesShareCounter() { + MEOW_SUPPRESS_UNUSED_WARNING(GetPointerCounter); +} + } @@ -477,6 +483,8 @@ class EntryPointerBase : public Object { * @brief Copies from another EntryPointerBase. */ virtual void CopyFrom(EntryPointerBase const *) = 0; + + using Object::CopyFrom; /*! * @brief Creates and returns a copy of itself. @@ -548,7 +556,6 @@ class NormalEntryPointer : counter_ = NewEntry<size_t>(1); } public: - struct CREATE_OBJ {}; /*! * @brief Points to NULL @@ -578,7 +585,7 @@ class NormalEntryPointer : * @param [in] args Arguments for the constructor of the Type. */ template<typename... Args> - NormalEntryPointer(CREATE_OBJ, Args... args) : + NormalEntryPointer(size_t, Args... args) : NormalEntryPointer(NewEntry<Type>(args...)) {} @@ -622,12 +629,17 @@ class EntryPointerTypesShareImpl { public: friend Object* GetEntryPointerImpl(EntryPointerTypesShareImpl const* ptr); + EntryPointerTypesShareImpl(); }; Object* GetEntryPointerImpl(EntryPointerTypesShareImpl const* ptr) { return ptr->impl_; } +inline EntryPointerTypesShareImpl::EntryPointerTypesShareImpl() { + MEOW_SUPPRESS_UNUSED_WARNING(GetEntryPointerImpl); +} + } @@ -672,8 +684,7 @@ class EntryPointer : public Object, public EntryPointerTypesShareImpl { EntryPointer(size_t n, Args... args) { set_impl_( dynamic_cast<EntryPointerBase<Type>*>( - NewEntry<NormalEntryPointer<Type>>( - typename NormalEntryPointer<Type>::CREATE_OBJ(), args...))); + NewEntry<NormalEntryPointer<Type>>(0, args...))); } /*! @@ -795,8 +806,12 @@ class EntryPointer : public Object, public EntryPointerTypesShareImpl { * @param [in] t Another pointer. */ EntryPointer& CopyFrom(EntryPointer const & t) { - DeleteEntry(get_impl_()); - set_impl_(t.get_impl_()->Copy()); + if (is_entry_of_array() == t.is_entry_of_array()) { + get_impl_()->CopyFrom(t.get_impl_()); + } else { + DeleteEntry(get_impl_()); + set_impl_(t.get_impl_()->Copy()); + } return *this; } diff --git a/meowpp/meow/syntax.h b/meowpp/meow/syntax.h index f1b1424..ec23ae6 100644 --- a/meowpp/meow/syntax.h +++ b/meowpp/meow/syntax.h @@ -32,9 +32,14 @@ for (__VA_ARGS__; with_flag__##__LINE__; \ with_flag__##__LINE__ = false) -/** +/*! * @brief Python style keyword pass for empty block. */ #define pass +/*! + * @brief Prevent some warning. + */ +#define MEOW_SUPPRESS_UNUSED_WARNING(x) (void)(x) + #endif // __MEOW_SYNTAX_H__ diff --git a/meowpp/meow/threading/lockers.h b/meowpp/meow/threading/lockers.h index fe06222..a6360b2 100644 --- a/meowpp/meow/threading/lockers.h +++ b/meowpp/meow/threading/lockers.h @@ -5,7 +5,7 @@ * @author cathook */ #ifndef __MEOW_THREADING_LOCKERS_H__ -#define __MEOW_THREADING_LOCKES_H__ +#define __MEOW_THREADING_LOCKERS_H__ #include <meow/bases/object.h> #include <meow/bases/state.h> diff --git a/meowpp/test.py b/meowpp/test.py index 40de33c..cbb7b8d 100755 --- a/meowpp/test.py +++ b/meowpp/test.py @@ -17,7 +17,7 @@ JOIN_TIMEOUT = 1 class Default(object): COMPILER = 'g++' - COMPILE_ARGS = '-g -Wall -Werror -std=c++11 -pedantic -pthread' + COMPILE_ARGS = '-g -Wall -Werror -std=c++11 -pedantic -pthread -lstdc++' PROJ_PATH = os.getcwd() TEST_PATH = os.getcwd() TIME_LIMIT = 30 |