make compilation with gcc 2.95.* work (mostly by rolling back includes

changes from IRRToolSet 4.8.1 within #if (__GNUC__ > 2) .. #else)
also incidentially fixes a bug in rusage.cc
This commit is contained in:
spz 2005-03-06 11:40:21 +00:00
parent f1d3207933
commit 950a1c977c
25 changed files with 506 additions and 33 deletions

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.3 2005/03/04 14:55:57 spz Exp $
$NetBSD: distinfo,v 1.4 2005/03/06 11:40:21 spz Exp $
SHA1 (IRRToolSet-4.8.2.tar.gz) = f60a03cb6585503f1ef0b8b7c0a2ce7c39ce999c
Size (IRRToolSet-4.8.2.tar.gz) = 953222 bytes
@ -14,8 +14,8 @@ SHA1 (patch-ai) = ec16a78eb24c0a78846bfa370ca11fba09b60f0c
SHA1 (patch-aj) = bdd8215f482ea203a3387345640b87b421fbfe82
SHA1 (patch-ak) = 4a47bfdb462b2ec0beaa8dce028be569bc1d4e1e
SHA1 (patch-al) = 83ee86276245a4431f963d8b6db8feb04598a5ad
SHA1 (patch-am) = 2f4201b78809849403df63400bb503b134128774
SHA1 (patch-an) = de98b8d1a60538e8802063679e772104b2df4461
SHA1 (patch-am) = ae4d07005d20275a3b6a683ba04e5fc8aa84292d
SHA1 (patch-an) = 19e899a3bf0bab28e5a9322e6001f59643ffe897
SHA1 (patch-ao) = 6a9e0bb9552281b0424b5538096a0e2e6af54841
SHA1 (patch-ap) = 0a87688c453d7576cdaa3dbef1b51c0fb6e8396a
SHA1 (patch-aq) = a284f9fdacdedc50ee74acded9e4b21dca98de21
@ -28,3 +28,25 @@ SHA1 (patch-aw) = 1aee708df76060154f78e8df2f926f4671b30c85
SHA1 (patch-ax) = 24180d9b2485c400c5084b399ef8312be09971e4
SHA1 (patch-ay) = 545a721115733810cd90cf360736f5e6a7d4196f
SHA1 (patch-az) = 532ffcdda54a70e7ff57800a16feef5898b2bb82
SHA1 (patch-ba) = 9ad9e3ff42415f40a92d7788afe9a74f9f27c957
SHA1 (patch-bb) = 6d917213312f1884277d8081f5223e4890e11d8d
SHA1 (patch-bc) = ece1c767df515d59f994de1981197f1869ac7928
SHA1 (patch-bd) = f8d913316b8a65710efb38763ed97b1cb3ddef74
SHA1 (patch-be) = 7b82dbaab51adba608ecf8632c0c3d2c347a3d5a
SHA1 (patch-bf) = a8aac51938b649b168fc71ec1012fc16878e419f
SHA1 (patch-bg) = 3a5aaf2e246b1e316890022f17c95b71935b494e
SHA1 (patch-bh) = dc415ceac169b6f6775bf749918d65536cfdfe79
SHA1 (patch-bi) = 4913c6fe6ef65e08091399579dd3abf368217db0
SHA1 (patch-bj) = 12367917f957f898fb179b314c9c225922a839c3
SHA1 (patch-bk) = 1965ade44411b113f84a471975dd23c9bf2fdae7
SHA1 (patch-bl) = aad241e43a5b2d9fb41338527c5c92814bf2f45e
SHA1 (patch-bm) = 1100b3b7d68a58bf7a9d61d98339c3bba5dfb440
SHA1 (patch-bn) = 13e7b5e1c4c676fa0c42edf08bfa47d9fe67d708
SHA1 (patch-bo) = 3c11577df912d52361025d426a7ecc3cadfe6d79
SHA1 (patch-bp) = 5944c48114743a2771f3044beb84d767abe538df
SHA1 (patch-bq) = 17523090fd787ce7f585060d49c92b0b1e64430e
SHA1 (patch-br) = 72e7b86a31851a437dff832206c8d96f263a6b15
SHA1 (patch-bs) = ff8b504a8b8aedb49bdc27bffc50f58c5878c5c6
SHA1 (patch-bt) = 878e6723901f2f7e02416a2a7bbee0f2f4605af8
SHA1 (patch-bu) = ea10d9cafc9032bd9f50ea6b81cab58779f6890e
SHA1 (patch-bv) = d0584058eaddce6a03a7b90e5f44997d70afc51d

View file

@ -1,74 +1,95 @@
$NetBSD: patch-am,v 1.1.1.1 2005/02/28 12:37:30 spz Exp $
$NetBSD: patch-am,v 1.2 2005/03/06 11:40:21 spz Exp $
--- src/normalform/IPv6RadixSet.hh.orig 2004-07-30 12:58:12.000000000 +0200
+++ src/normalform/IPv6RadixSet.hh
@@ -74,7 +74,8 @@ extern ip_v6word_t ipv6bits[];
@@ -74,7 +74,12 @@ extern ip_v6word_t ipv6bits[];
class IPv6RadixTree {
public:
- friend class Iterator {
+#if (__GNUC__ > 2)
+ friend class Iterator;
+ class Iterator {
+#else
friend class Iterator {
+#endif
private:
const IPv6RadixTree* last;
const IPv6RadixTree* root;
@@ -152,7 +153,8 @@ class IPv6RadixSet {
@@ -152,7 +157,12 @@ class IPv6RadixSet {
public:
static bool compressedPrint;
- friend class Iterator {
+#if (__GNUC__ > 2)
+ friend class Iterator;
+ class Iterator {
+#else
friend class Iterator {
+#endif
private:
IPv6RadixTree::Iterator itr;
const IPv6RadixTree *now; // points to current node during iteration
@@ -163,7 +165,8 @@ public:
@@ -163,7 +173,12 @@ public:
bool next(ipv6_addr_t &_addr, u_int &_leng, ipv6_addr_t &rngs);
};
- friend class SortedIterator {
+#if (__GNUC__ > 2)
+ friend class SortedIterator;
+ class SortedIterator {
+#else
friend class SortedIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:
@@ -187,7 +190,8 @@ public:
@@ -187,7 +202,12 @@ public:
bool next(ipv6_addr_t &_addr, u_int &_leng, ipv6_addr_t &_rngs);
};
- friend class PrefixIterator {
+#if (__GNUC__ > 2)
+ friend class PrefixIterator;
+ class PrefixIterator {
+#else
friend class PrefixIterator {
+#endif
private:
IPv6RadixTree::Iterator itr;
const IPv6RadixTree *current;
@@ -204,7 +208,8 @@ public:
@@ -204,7 +224,12 @@ public:
bool next(ipv6_addr_t &_addr, u_int &_leng);
};
- friend class SortedPrefixIterator {
+#if (__GNUC__ > 2)
+ friend class SortedPrefixIterator;
+ class SortedPrefixIterator {
+#else
friend class SortedPrefixIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:
@@ -227,7 +232,8 @@ public:
@@ -227,7 +252,12 @@ public:
bool next(ipv6_addr_t &_addr, u_int &_leng);
};
- friend class PrefixRangeIterator {
+#if (__GNUC__ > 2)
+ friend class PrefixRangeIterator;
+ class PrefixRangeIterator {
+#else
friend class PrefixRangeIterator {
+#endif
private:
IPv6RadixTree::Iterator itr;
const IPv6RadixTree *current;
@@ -260,7 +266,8 @@ public:
@@ -260,7 +290,12 @@ public:
*/
};
- friend class SortedPrefixRangeIterator {
+#if (__GNUC__ > 2)
+ friend class SortedPrefixRangeIterator;
+ class SortedPrefixRangeIterator {
+#else
friend class SortedPrefixRangeIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:

View file

@ -1,74 +1,95 @@
$NetBSD: patch-an,v 1.1.1.1 2005/02/28 12:37:30 spz Exp $
$NetBSD: patch-an,v 1.2 2005/03/06 11:40:21 spz Exp $
--- src/normalform/RadixSet.hh.orig 2004-07-30 12:58:13.000000000 +0200
+++ src/normalform/RadixSet.hh
@@ -76,7 +76,8 @@ extern FixedSizeAllocator RadixTreeAlloc
@@ -76,7 +76,12 @@ extern FixedSizeAllocator RadixTreeAlloc
class RadixTree {
public:
- friend class Iterator {
+#if (__GNUC__ > 2)
+ friend class Iterator;
+ class Iterator {
+#else
friend class Iterator {
+#endif
private:
const RadixTree* last;
const RadixTree* root;
@@ -155,7 +156,8 @@ class RadixSet {
@@ -155,7 +160,12 @@ class RadixSet {
public:
static bool compressedPrint;
- friend class Iterator {
+#if (__GNUC__ > 2)
+ friend class Iterator;
+ class Iterator {
+#else
friend class Iterator {
+#endif
private:
RadixTree::Iterator itr;
const RadixTree *now; // points to current node during iteration
@@ -166,7 +168,8 @@ public:
@@ -166,7 +176,12 @@ public:
bool next(u_int &_addr, u_int &_leng, u_int64_t &rngs);
};
- friend class SortedIterator {
+#if (__GNUC__ > 2)
+ friend class SortedIterator;
+ class SortedIterator {
+#else
friend class SortedIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:
@@ -189,7 +192,8 @@ public:
@@ -189,7 +204,12 @@ public:
bool next(u_int &_addr, u_int &_leng, u_int64_t &_rngs);
};
- friend class PrefixIterator {
+#if (__GNUC__ > 2)
+ friend class PrefixIterator;
+ class PrefixIterator {
+#else
friend class PrefixIterator {
+#endif
private:
RadixTree::Iterator itr;
const RadixTree *current;
@@ -206,7 +210,8 @@ public:
@@ -206,7 +226,12 @@ public:
bool next(u_int &_addr, u_int &_leng);
};
- friend class SortedPrefixIterator {
+#if (__GNUC__ > 2)
+ friend class SortedPrefixIterator;
+ class SortedPrefixIterator {
+#else
friend class SortedPrefixIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:
@@ -228,7 +233,8 @@ public:
@@ -228,7 +253,12 @@ public:
bool next(u_int &_addr, u_int &_leng);
};
- friend class PrefixRangeIterator {
+#if (__GNUC__ > 2)
+ friend class PrefixRangeIterator;
+ class PrefixRangeIterator {
+#else
friend class PrefixRangeIterator {
+#endif
private:
RadixTree::Iterator itr;
const RadixTree *current;
@@ -259,7 +265,8 @@ public:
@@ -259,7 +289,12 @@ public:
}
};
- friend class SortedPrefixRangeIterator {
+#if (__GNUC__ > 2)
+ friend class SortedPrefixRangeIterator;
+ class SortedPrefixRangeIterator {
+#else
friend class SortedPrefixRangeIterator {
+#endif
private:
class PrefixLNode : public ListNode {
public:

View file

@ -0,0 +1,16 @@
$NetBSD: patch-ba,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/prefix.hh.orig 2004-07-30 12:58:14.000000000 +0200
+++ src/rpsl/rpsl/prefix.hh
@@ -59,7 +59,11 @@
#include <sys/types.h>
#include <vector>
#include <sstream>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
typedef unsigned long long int ip_v6word_t;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bb,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/Core/util/rusage.hh.orig 2004-07-30 12:58:10.000000000 +0200
+++ src/Core/util/rusage.hh
@@ -56,7 +56,11 @@
#define RUSAGE_H
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
class Rusage {
private:

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bc,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/Core/util/Buffer.hh.orig 2004-07-30 12:58:10.000000000 +0200
+++ src/Core/util/Buffer.hh
@@ -30,7 +30,11 @@
#include <cstdlib>
#include <cstring>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
extern "C" {
#ifdef HAVE_MALLOC_H
#include <malloc.h>

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bd,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/rpsl_filter.cc.orig 2004-07-30 12:58:15.000000000 +0200
+++ src/rpsl/rpsl/rpsl_filter.cc
@@ -52,7 +52,11 @@
// Author(s): Cengiz Alaettinoglu <cengiz@ISI.EDU>
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include <cstdio>
#include "rpsl_filter.hh"
#include "rpsl_attr.hh"

View file

@ -0,0 +1,16 @@
$NetBSD: patch-be,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/rpsl_policy.cc.orig 2004-07-30 12:58:15.000000000 +0200
+++ src/rpsl/rpsl/rpsl_policy.cc
@@ -55,7 +55,11 @@
#include <cstdio>
#include "rpsl_policy.hh"
#include "rpsl_attr.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bf,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/regexp.cc.orig 2004-07-30 12:58:14.000000000 +0200
+++ src/rpsl/rpsl/regexp.cc
@@ -56,7 +56,11 @@
#include "regexp.hh"
#include <cstring>
#include "symbols.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bg,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/rangelist.cc.orig 2004-07-30 12:58:14.000000000 +0200
+++ src/rpsl/rpsl/rangelist.cc
@@ -53,7 +53,11 @@
#include "config.h"
#include "rangelist.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bh,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/schema.cc.orig 2004-07-30 12:58:15.000000000 +0200
+++ src/rpsl/rpsl/schema.cc
@@ -53,7 +53,11 @@
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include <cstring>
#include <cstdio>
#include "gnu/std.h"

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bi,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/rpsl/rpsl/object.cc.orig 2004-07-30 12:58:14.000000000 +0200
+++ src/rpsl/rpsl/object.cc
@@ -52,7 +52,11 @@
// Author(s): Cengiz Alaettinoglu <cengiz@ISI.EDU>
#include "config.h"
+#if (__GNUC__ > 2)
#include <istream>
+#else
+#include <istream.h>
+#endif
#include <cstdio>
#include <sstream>
#include <fstream>

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bj,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/Core/util/Buffer.cc.orig 2004-07-30 12:58:10.000000000 +0200
+++ src/Core/util/Buffer.cc
@@ -36,7 +36,11 @@
#include <cassert>
#include <iomanip>
#include <cctype>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,42 @@
$NetBSD: patch-bk,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/Core/util/rusage.cc.orig 2004-07-30 12:58:10.000000000 +0200
+++ src/Core/util/rusage.cc
@@ -52,7 +52,11 @@
// Author(s): Cengiz Alaettinoglu <cengiz@ISI.EDU>
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include "rusage.hh"
#include <iomanip>
@@ -83,7 +87,6 @@ extern "C" {
#endif
}
-
double tv2f(timeval &tv)
/* Converts a timeval into a double giving the time in seconds. */
{
@@ -114,7 +117,7 @@ ostream& operator<<(ostream& stream, Rus
stime = tv2f(self.ru_stime) - ru.last_stime;
rtime = tv2f(end_time) - ru.last_rtime;
- stream << fixed << setprecision(2);
+ stream << setiosflags(ostream::fixed) << setprecision(2);
stream << " times: "
<< utime << " "
<< stime << " "
@@ -137,7 +140,7 @@ ostream& operator<<(ostream& stream, Rus
stream << " vo/nv cs: "
<< self.ru_nvcsw << " "
<< self.ru_nivcsw << endl;
- stream << scientific << setprecision(0);
+ stream << setiosflags(ostream::scientific) << setprecision(0);
return stream;
}

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bl,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/Filter.hh.orig 2004-07-30 12:58:12.000000000 +0200
+++ src/normalform/Filter.hh
@@ -55,7 +55,11 @@
#define FILTER_H
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
extern "C" {
#include <sys/types.h>
}

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bm,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/Filter.cc.orig 2004-07-30 12:58:12.000000000 +0200
+++ src/normalform/Filter.cc
@@ -54,7 +54,11 @@
#include "config.h"
#include "Filter.hh"
#include "util/debug.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bn,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/FilterOfASPath.cc.orig 2004-07-30 12:58:12.000000000 +0200
+++ src/normalform/FilterOfASPath.cc
@@ -55,7 +55,11 @@
#include "util/debug.hh"
#include "FilterOfASPath.hh"
#include <cstdio>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bo,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/FilterOfCommunity.cc.orig 2004-07-30 12:58:12.000000000 +0200
+++ src/normalform/FilterOfCommunity.cc
@@ -55,7 +55,11 @@
#include "config.h"
#include "FilterOfCommunity.hh"
#include "util/debug.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bp,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/SetOfIPv6Prefix.cc.orig 2004-07-30 12:58:13.000000000 +0200
+++ src/normalform/SetOfIPv6Prefix.cc
@@ -58,7 +58,11 @@
#include "SetOfIPv6Prefix.hh"
#include <cstdio>
#include <cassert>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bq,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/SetOfPrefix.cc.orig 2004-07-30 12:58:13.000000000 +0200
+++ src/normalform/SetOfPrefix.cc
@@ -59,7 +59,11 @@
#include <cstdio>
#include <cassert>
#include "rpsl/prefix.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-br,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/SetOfSymbol.cc.orig 2004-07-30 12:58:13.000000000 +0200
+++ src/normalform/SetOfSymbol.cc
@@ -51,7 +51,11 @@
//
// Author(s): Cengiz Alaettinoglu <cengiz@ISI.EDU>
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include <cstdio>
#include <cassert>
#include "config.h"

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bs,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/normalform/SymbolConjunct.cc.orig 2004-07-30 12:58:13.000000000 +0200
+++ src/normalform/SymbolConjunct.cc
@@ -53,7 +53,11 @@
#include "config.h"
#include "SymbolConjunct.hh"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
using namespace std;

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bt,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/RtConfig/command.y.orig 2004-07-30 12:58:11.000000000 +0200
+++ src/RtConfig/command.y
@@ -56,7 +56,11 @@
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include <cstring>
#include <cstdlib>
#include <cctype>

View file

@ -0,0 +1,47 @@
$NetBSD: patch-bu,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/gnug++/BitSet.cc.orig 2004-07-30 12:58:11.000000000 +0200
+++ src/gnug++/BitSet.cc
@@ -30,7 +30,11 @@ Foundation, 59 Temple Place - Suite 330,
#include <new>
#include <builtin.h>
#include <string>
+#if (__GNUC__ > 2)
#include <sstream>
+#else
+#include <strstream.h>
+#endif
using namespace std;
@@ -895,8 +899,11 @@ const char* BitSettoa(const BitSet& x, c
trim(x.rep);
int wrksiz = (x.rep->len + 1) * BITSETBITS + 2;
char* fmtbase = (char *) _libgxx_fmtq.alloc(wrksiz);
- //ostrstream stream(fmtbase, wrksiz);
+#if (__GNUC__ > 2)
std::ostringstream stream(fmtbase, ios_base::out | ios_base::trunc);
+#else
+ ostrstream stream(fmtbase, wrksiz);
+#endif
x.printon(stream, f, t, star);
stream << ends;
@@ -1043,11 +1050,17 @@ BitSet atoBitSet(const char* s, char f,
ostream& operator<<(ostream& s, const BitSet& x)
{
+#if (__GNUC__ > 2)
ostream::sentry opfx(s);
if (opfx) {
x.printon(s);
}
+#else
+ if (s.opfx()) {
+ x.printon(s);
+ }
+#endif
return s;
}

View file

@ -0,0 +1,16 @@
$NetBSD: patch-bv,v 1.1 2005/03/06 11:40:21 spz Exp $
--- src/RtConfig/command.y.cc.orig 2004-07-30 12:58:11.000000000 +0200
+++ src/RtConfig/command.y.cc
@@ -114,7 +114,11 @@
#include "config.h"
+#if (__GNUC__ > 2)
#include <ostream>
+#else
+#include <ostream.h>
+#endif
#include <cstring>
#include <cstdlib>
#include <cctype>