diff --git a/c++/libp++/pxx_allocator.hh b/c++/libp++/pxx_allocator.hh index dc9be25..79ae708 100644 --- a/c++/libp++/pxx_allocator.hh +++ b/c++/libp++/pxx_allocator.hh @@ -62,7 +62,7 @@ public: inline Allocator (unsigned _features = 0) ; // // Virtual destructor - virtual inline ~Allocator () ; + virtual inline ~Allocator () throw (SysError); // // Allocate memory block of _size bytes virtual void* allocate (size_t _size) = 0 ; diff --git a/c++/libp++/pxx_allocator.ih b/c++/libp++/pxx_allocator.ih index d30d39f..69e67b7 100644 --- a/c++/libp++/pxx_allocator.ih +++ b/c++/libp++/pxx_allocator.ih @@ -11,7 +11,7 @@ inline Allocator::Allocator (unsigned _features /* = 0 */) : features (_features) {} -inline Allocator::~Allocator () +inline Allocator::~Allocator () throw (SysError) { if (set_as_default) default_allocator_destroyed = true; } diff --git a/c++/libp++/pxx_common.cc b/c++/libp++/pxx_common.cc index 4ce1484..2c03771 100644 --- a/c++/libp++/pxx_common.cc +++ b/c++/libp++/pxx_common.cc @@ -34,6 +34,7 @@ #include #include #include +#include namespace pxx { diff --git a/c++/libp++/pxx_heap_allocator.cc b/c++/libp++/pxx_heap_allocator.cc index 48676f7..fbc6d5d 100644 --- a/c++/libp++/pxx_heap_allocator.cc +++ b/c++/libp++/pxx_heap_allocator.cc @@ -55,7 +55,7 @@ HeapAllocator::HeapAllocator ( (lists + get_order(current_size))->put(p); } -HeapAllocator::~HeapAllocator () +HeapAllocator::~HeapAllocator () throw (SysError) {} void* HeapAllocator::allocate (size_t _size) diff --git a/c++/libp++/pxx_heap_allocator.hh b/c++/libp++/pxx_heap_allocator.hh index 52c9a54..0a44681 100644 --- a/c++/libp++/pxx_heap_allocator.hh +++ b/c++/libp++/pxx_heap_allocator.hh @@ -110,7 +110,7 @@ public: ) ; // // Destructor - ~HeapAllocator () ; + ~HeapAllocator () throw (SysError); // // Allocate memory block of _size bytes void* allocate (size_t _size) ; diff --git a/c++/runtime/rf_core.cc b/c++/runtime/rf_core.cc index bb01cad..b7c65ac 100644 --- a/c++/runtime/rf_core.cc +++ b/c++/runtime/rf_core.cc @@ -27,6 +27,7 @@ #include #include #include +#include namespace pxx { extern void terminate_handler () ; diff --git a/c++/runtime/rf_expr.hh b/c++/runtime/rf_expr.hh index e614324..860e459 100644 --- a/c++/runtime/rf_expr.hh +++ b/c++/runtime/rf_expr.hh @@ -60,7 +60,7 @@ class Expr /// We may use expression methods in SplitIterator class. We cannot avoid this /// because SplitIterator simultaneously changes two expressions in a way that /// adding necessary methods to Expr class will break invariants. -template +template // = d_lt> friend class SplitIterator ; /// /// Stack and Arg classes are our friends because they use special copy diff --git a/c++/runtime/rf_expr.ih b/c++/runtime/rf_expr.ih index fc997ed..11cce67 100644 --- a/c++/runtime/rf_expr.ih +++ b/c++/runtime/rf_expr.ih @@ -241,9 +241,9 @@ inline uintptr_t Expr::get_flags () const inline void Expr::dump () const { Term* p; - printf("%p, %p, %"PRIuPTR": ", first, last, last - first); + printf("%p, %p, %" PRIuPTR ": ", first, last, last - first); for (p = first; p < last; p++) { - printf("[%08"PRIxPTR" %08"PRIxPTR"]", p->data1, p->uint_data2); + printf("[%08" PRIxPTR " %08" PRIxPTR "]", p->data1, p->uint_data2); } printf("\n"); } @@ -636,7 +636,7 @@ inline Expr::Expr (Expr const& _expr) Term* q = first; for (Term* p = _expr.get_first(); p < _expr.get_last(); p++, q++) { new (q) Symbol::Type>( - p->get_object().convert()); + p->get_object().convert()); } } @@ -998,19 +998,26 @@ static INLINE bool write_wstr (FILE* _fp, WString const& _ws) while ((wc = *p++) != null) { switch (wc) { case L'\t': - if (fputs("\\t", _fp) == EOF) return false; break; + if (fputs("\\t", _fp) == EOF) return false; + break; case L'\r': - if (fputs("\\r", _fp) == EOF) return false; break; + if (fputs("\\r", _fp) == EOF) return false; + break; case L'\n': - if (fputs("\\n", _fp) == EOF) return false; break; + if (fputs("\\n", _fp) == EOF) return false; + break; case L'\v': - if (fputs("\\v", _fp) == EOF) return false; break; + if (fputs("\\v", _fp) == EOF) return false; + break; case L'\\': - if (fputs("\\\\", _fp) == EOF) return false; break; + if (fputs("\\\\", _fp) == EOF) return false; + break; case L'\'': - if (fputs("\\\'", _fp) == EOF) return false; break; + if (fputs("\\\'", _fp) == EOF) return false; + break; case L'\"': - if (fputs("\\\"", _fp) == EOF) return false; break; + if (fputs("\\\"", _fp) == EOF) return false; + break; default: if (iswprint(wc)) { size_t n = wctomb(buf, wc); diff --git a/c++/runtime/rf_stack.ih b/c++/runtime/rf_stack.ih index d02d06f..b0229fa 100644 --- a/c++/runtime/rf_stack.ih +++ b/c++/runtime/rf_stack.ih @@ -247,7 +247,7 @@ inline void Stack::dump () const Expr const* ap = geta(p); for (int n = getn(p); n; n--, ap++) { - printf(" (%p,%p,%p:%"PRIuPTR")\n", + printf(" (%p,%p,%p:%" PRIuPTR ")\n", ap->get_first(), ap->get_last(), ap->get_mem_chunk(), ap->get_mem_chunk() ? ap->get_mem_chunk()->get_ref_count() : 0); }