Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37559166
en ru br
Репозитории ALT

Группа :: Разработка/Functional
Пакет: refal-plus

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: refal-plus-4137-alt-build.patch
Скачать


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 <stdarg.h>
 #include <locale.h>
 #include <typeinfo>
+#include <exception>
 
 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 <time.h>
 #include <stdlib.h>
 #include <locale.h>
+#include <exception>
 
 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 <Direction D = d_lt>
+template <Direction D> //  = 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<ObjClass2, typename SymbolType<ObjClass2>::Type>(
-        p->get_object<ObjClass1>().convert<ObjClass2>());
+        p->get_object<ObjClass1>().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);
     }
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin