build on Irix

This commit is contained in:
David Rose 2003-01-20 15:52:42 +00:00
parent 302eeb67fc
commit 78897e2563
11 changed files with 56 additions and 26 deletions

View File

@ -17,9 +17,6 @@
// Does the C++ compiler support namespaces?
#define HAVE_NAMESPACE 1
// Does the C++ compiler support ios::binary?
#define HAVE_IOS_BINARY
// How about the typename keyword?
#define HAVE_TYPENAME 1
@ -45,8 +42,12 @@
// Can we determine the terminal width by making an ioctl(TIOCGWINSZ) call?
#define IOCTL_TERMINAL_WIDTH 1
// Do the compiler or the system headers define a "streamsize" typedef?
// Do the system headers define a "streamsize" typedef? How about the
// ios::binary enumerated value? And other ios typedef symbols like
// ios::openmode and ios::fmtflags?
#define HAVE_STREAMSIZE
#define HAVE_IOS_BINARY
#define HAVE_IOS_TYPEDEFS
// Can we safely call getenv() at static init time?
#define STATIC_INIT_GETENV 1

View File

@ -45,8 +45,12 @@
// Can we determine the terminal width by making an ioctl(TIOCGWINSZ) call?
#define IOCTL_TERMINAL_WIDTH 1
// Do the compiler or the system headers define a "streamsize" typedef?
// Do the system headers define a "streamsize" typedef? How about the
// ios::binary enumerated value? And other ios typedef symbols like
// ios::openmode and ios::fmtflags?
#define HAVE_STREAMSIZE 1
#define HAVE_IOS_BINARY 1
#define HAVE_IOS_TYPEDEFS 1
// Can we safely call getenv() at static init time?
#define STATIC_INIT_GETENV

View File

@ -45,8 +45,12 @@
// Can we determine the terminal width by making an ioctl(TIOCGWINSZ) call?
#define IOCTL_TERMINAL_WIDTH
// Do the compiler or the system headers define a "streamsize" typedef?
// Do the system headers define a "streamsize" typedef? How about the
// ios::binary enumerated value? And other ios typedef symbols like
// ios::openmode and ios::fmtflags?
#define HAVE_STREAMSIZE 1
#define HAVE_IOS_BINARY 1
#define HAVE_IOS_TYPEDEFS 1
// Can we safely call getenv() at static init time?
#define STATIC_INIT_GETENV 1

View File

@ -134,9 +134,6 @@ $[cdefine WORDS_BIGENDIAN]
/* Define if the C++ compiler uses namespaces. */
$[cdefine HAVE_NAMESPACE]
/* Define if the C++ iostream library supports ios::binary. */
$[cdefine HAVE_IOS_BINARY]
/* Define if fstream::open() accepts a third parameter for umask. */
$[cdefine HAVE_OPEN_MASK]
@ -165,9 +162,16 @@ $[cdefine HAVE_GETOPT_LONG_ONLY]
/* Define if you have ioctl(TIOCGWINSZ) to determine terminal width. */
$[cdefine IOCTL_TERMINAL_WIDTH]
/* Do the compiler or the system headers define a "streamsize" typedef? */
/* Do the system headers define a "streamsize" typedef? */
$[cdefine HAVE_STREAMSIZE]
/* Do the system headers define key ios typedefs like ios::openmode
and ios::fmtflags? */
$[cdefine HAVE_IOS_TYPEDEFS]
/* Define if the C++ iostream library defines ios::binary. */
$[cdefine HAVE_IOS_BINARY]
/* Can we safely call getenv() at static init time? */
$[cdefine STATIC_INIT_GETENV]

View File

@ -97,10 +97,19 @@ public:
// lexer.
struct cppyyltype {
// Bison expects these members to be part of this struct.
int first_line;
int first_column;
int last_line;
int last_column;
// Early versions of bison (1.25 and earlier) expected these members
// to be in this struct as well.
int timestamp;
char *text;
// The remaining members are added for this application and have no
// meaning to bison.
CPPFile file;
};
#define YYLTYPE cppyyltype

View File

@ -109,18 +109,18 @@ get_ostream_ptr() const {
// case this does nothing. But the flag is available in
// case any extended types want to make use of it.
////////////////////////////////////////////////////////////////////
ios::fmtflags Notify::
ios_fmtflags Notify::
get_literal_flag() {
static bool got_flag = false;
static ios::fmtflags flag;
static ios_fmtflags flag;
if (!got_flag) {
#ifndef HAVE_IOSTREAM
flag = ios::bitalloc();
#else
// We lost bitalloc in the new iostream? This feature will just be
// disabled for now. No big deal.
flag = (ios::fmtflags)0;
// We lost bitalloc in the new iostream? Ok, this feature will
// just be disabled for now. No big deal.
flag = (ios_fmtflags)0;
#endif
got_flag = true;
}

View File

@ -75,7 +75,7 @@ PUBLISHED:
static Notify *ptr();
public:
static ios::fmtflags get_literal_flag();
static ios_fmtflags get_literal_flag();
bool assert_failure(const char *expression, int line,
const char *source_file);

View File

@ -74,6 +74,19 @@ using namespace std;
#define TYPENAME
#endif
#ifndef HAVE_STREAMSIZE
// Some compilers (notably SGI) don't define this for us
typedef int streamsize;
#endif /* HAVE_STREAMSIZE */
#ifndef HAVE_IOS_TYPEDEFS
typedef int ios_openmode;
typedef int ios_fmtflags;
#else
typedef ios::openmode ios_openmode;
typedef ios::fmtflags ios_fmtflags;
#endif
#if defined(WIN32_VC) && defined(FORCE_INLINING)
// If FORCE_INLINING is defined, we use the keyword __forceinline,

View File

@ -48,7 +48,7 @@ get_environment_variable(const string &var) {
////////////////////////////////////////////////////////////////////
INLINE void ExecutionEnvironment::
set_environment_variable(const string &var, const string &value) {
return get_ptr()->ns_set_environment_variable(var, value);
get_ptr()->ns_set_environment_variable(var, value);
}
////////////////////////////////////////////////////////////////////

View File

@ -1171,7 +1171,7 @@ bool Filename::
open_read(ifstream &stream) const {
assert(is_text() || is_binary());
ios::openmode open_mode = ios::in;
ios_openmode open_mode = ios::in;
#ifdef HAVE_IOS_BINARY
// For some reason, some systems (like Irix) don't define
@ -1206,7 +1206,7 @@ bool Filename::
open_write(ofstream &stream, bool truncate) const {
assert(is_text() || is_binary());
ios::openmode open_mode = ios::out;
ios_openmode open_mode = ios::out;
if (truncate) {
open_mode |= ios::trunc;
@ -1256,7 +1256,7 @@ bool Filename::
open_append(ofstream &stream) const {
assert(is_text() || is_binary());
ios::openmode open_mode = ios::app;
ios_openmode open_mode = ios::app;
#ifdef HAVE_IOS_BINARY
// For some reason, some systems (like Irix) don't define
@ -1292,7 +1292,7 @@ bool Filename::
open_read_write(fstream &stream) const {
assert(is_text() || is_binary());
ios::openmode open_mode = ios::in | ios::out;
ios_openmode open_mode = ios::in | ios::out;
#ifdef HAVE_IOS_BINARY
// For some reason, some systems (like Irix) don't define

View File

@ -19,11 +19,6 @@
#include "pfstreamBuf.h"
#include <assert.h>
#ifndef HAVE_STREAMSIZE
// Some compilers (notably SGI) don't define this for us
typedef int streamsize;
#endif /* HAVE_STREAMSIZE */
PipeStreamBuf::PipeStreamBuf(PipeStreamBuf::Direction dir) :
_dir(dir)
{