Thread View: gnu.g++.lib.bug
1 messages
1 total messages
Started by csusac!cvms!ronald
Mon, 29 May 1989 03:05
System V support for libg++ 1.35.0
Author: csusac!cvms!ronald
Date: Mon, 29 May 1989 03:05
Date: Mon, 29 May 1989 03:05
343 lines
11587 bytes
11587 bytes
Here are some patches to make libg++ 1.35.0 compile on under System V.
libg++ was compiled by g++ 1.35.0, configured as 'i386v' with my
COFF patches.
All tests compiled! (with a little filename munging along the way,
this is a *lot* better than the 1.34.0 release)
These tests fail under i386:
tBitString tComplex
tFile tFix
tFix16 tFix24
tRandom tRational
tgwrapper twrapper
tCurses
More details on the failures in another message.
--
Ronald Cole | uucp: cvms!ronald voice: +1 916 895 8321
Senior Software Engineer | internet: csusac!cvms!ronald@ucdavis.edu
CVM Systems +----------------------------------------------------
"No sex, please, we're software engineers." - Michael Swaine
---------------------------- starts here -------------------------------
diff -rc2 libg++-1.35.0/g++-include/BitSet.h libg++/g++-include/BitSet.h
*** libg++-1.35.0/g++-include/BitSet.h Sun May 7 08:08:54 1989
--- libg++/g++-include/BitSet.h Sun May 28 13:33:31 1989
***************
*** 366,370 ****
inline void BitSet::clear()
{
! if (rep->len > 0) bzero(rep->s, rep->sz * sizeof(short));
rep->len = rep->virt = 0;
}
--- 366,375 ----
inline void BitSet::clear()
{
! if (rep->len > 0)
! #if defined(i386)
! memset(rep->s, 0, rep->sz * sizeof(short));
! #else
! bzero(rep->s, rep->sz * sizeof(short));
! #endif
rep->len = rep->virt = 0;
}
diff -rc2 libg++-1.35.0/g++-include/MPlex.ccP libg++/g++-include/MPlex.ccP
*** libg++-1.35.0/g++-include/MPlex.ccP Sat May 13 03:01:39 1989
--- libg++/g++-include/MPlex.ccP Sun May 28 13:35:25 1989
***************
*** 38,42 ****
--- 38,46 ----
unsigned msize = (top - base)/_MAP_BITS + 1;
map = (unsigned long *) (new long[msize]);
+ #if defined(i386)
+ memset((void*)map, 0, msize * sizeof(long));
+ #else
bzero((void*)map, msize * sizeof(long));
+ #endif
}
***************
*** 69,73 ****
--- 73,81 ----
top = base + s;
unused = 0;
+ #if defined(i386)
+ memset((void*)map, 0, ((top - base)/_MAP_BITS + 1) * sizeof(long));
+ #else
bzero((void*)map, ((top - base)/_MAP_BITS + 1) * sizeof(long));
+ #endif
}
diff -rc2 libg++-1.35.0/g++-include/Obstack.h libg++/g++-include/Obstack.h
*** libg++-1.35.0/g++-include/Obstack.h Sun May 7 08:09:51 1989
--- libg++/g++-include/Obstack.h Sun May 28 13:37:08 1989
***************
*** 127,131 ****
--- 127,135 ----
if (nextfree+size > chunklimit)
newchunk(size);
+ #if defined(i386)
+ memcpy(nextfree, data, size);
+ #else
bcopy(data, nextfree, size);
+ #endif
nextfree += size;
}
***************
*** 135,139 ****
--- 139,147 ----
if (nextfree+size+1 > chunklimit)
newchunk(size+1);
+ #if defined(i386)
+ memcpy(nextfree, data, size);
+ #else
bcopy(data, nextfree, size);
+ #endif
nextfree += size;
*(nextfree)++ = terminator;
diff -rc2 libg++-1.35.0/g++-include/RPlex.ccP libg++/g++-include/RPlex.ccP
*** libg++-1.35.0/g++-include/RPlex.ccP Sun May 7 08:21:33 1989
--- libg++/g++-include/RPlex.ccP Sun May 28 13:38:55 1989
***************
*** 269,273 ****
--- 269,277 ----
maxch *= 2;
<T>IChunk** newch = new _<T>IChunk_ptr [maxch];
+ #if defined(i386)
+ memcpy(newch, chunks, fch * sizeof(_<T>IChunk_ptr));
+ #else
bcopy(chunks, newch, fch * sizeof(_<T>IChunk_ptr));
+ #endif
delete chunks;
chunks = newch;
***************
*** 311,315 ****
--- 315,323 ----
maxch *= 2;
<T>IChunk** newch = new _<T>IChunk_ptr [maxch];
+ #if defined(i386)
+ memcpy(&(newch[lch]), chunks, lch * sizeof(_<T>IChunk_ptr));
+ #else
bcopy(chunks, &(newch[lch]), lch * sizeof(_<T>IChunk_ptr));
+ #endif
delete chunks;
chunks = newch;
diff -rc2 libg++-1.35.0/g++-include/ctype.h libg++/g++-include/ctype.h
*** libg++-1.35.0/g++-include/ctype.h Sun May 7 08:10:34 1989
--- libg++/g++-include/ctype.h Sun May 28 13:41:01 1989
***************
*** 14,37 ****
static const int _P = 020;
static const int _C = 040;
static const int _X = 0100;
static const int _B = 0200;
! extern char _ctype_[];
! inline int isalpha(char c) { return ((_ctype_+1)[c]&(_U|_L)); }
! inline int isupper(char c) { return ((_ctype_+1)[c]&_U); }
! inline int islower(char c) { return ((_ctype_+1)[c]&_L); }
! inline int isdigit(char c) { return ((_ctype_+1)[c]&_N); }
! inline int isxdigit(char c) { return ((_ctype_+1)[c]&_X); }
! inline int isspace(char c) { return ((_ctype_+1)[c]&_S); }
! inline int ispunct(char c) { return ((_ctype_+1)[c]&_P); }
! inline int isalnum(char c) { return ((_ctype_+1)[c]&(_U|_L|_N)); }
! inline int isprint(char c) { return ((_ctype_+1)[c]&(_P|_U|_L|_N|_B)); }
! inline int isgraph(char c) { return ((_ctype_+1)[c]&(_P|_U|_L|_N)); }
! inline int iscntrl(char c) { return ((_ctype_+1)[c]&_C); }
inline int isascii(char c) { return ((unsigned)(c)<=0177); }
inline int toupper(char c) { return ((c)-'a'+'A'); }
inline int tolower(char c) { return ((c)-'A'+'a'); }
! inline int toascii(char c) { return ((c)&0177); }
#endif _ctype_h
--- 14,60 ----
static const int _P = 020;
static const int _C = 040;
+ #if defined(i386)
+ static const int _B = 0100;
+ static const int _X = 0200;
+ #else
static const int _X = 0100;
static const int _B = 0200;
+ #endif
+
+ #if defined(i386)
+ #define CTYPE _ctype
+ #else
+ #define CTYPE _ctype_
+ #endif
! extern char CTYPE[];
! inline int isalpha(char c) { return ((CTYPE+1)[c]&(_U|_L)); }
! inline int isupper(char c) { return ((CTYPE+1)[c]&_U); }
! inline int islower(char c) { return ((CTYPE+1)[c]&_L); }
! inline int isdigit(char c) { return ((CTYPE+1)[c]&_N); }
! inline int isxdigit(char c) { return ((CTYPE+1)[c]&_X); }
! inline int isspace(char c) { return ((CTYPE+1)[c]&_S); }
! inline int ispunct(char c) { return ((CTYPE+1)[c]&_P); }
! inline int isalnum(char c) { return ((CTYPE+1)[c]&(_U|_L|_N)); }
! inline int isprint(char c) { return ((CTYPE+1)[c]&(_P|_U|_L|_N|_B)); }
! inline int isgraph(char c) { return ((CTYPE+1)[c]&(_P|_U|_L|_N)); }
! inline int iscntrl(char c) { return ((CTYPE+1)[c]&_C); }
inline int isascii(char c) { return ((unsigned)(c)<=0177); }
+ inline int toascii(char c) { return ((c)&0177); }
+ #if defined(i386)
+ inline int _toupper(char c) { return ((CTYPE+258)[c]); }
+ inline int _tolower(char c) { return ((CTYPE+258)[c]); }
+
+ extern "C" {
+
+ int toupper(int);
+ int tolower(int);
+
+ }
+ #else
inline int toupper(char c) { return ((c)-'a'+'A'); }
inline int tolower(char c) { return ((c)-'A'+'a'); }
! #endif
#endif _ctype_h
diff -rc2 libg++-1.35.0/g++-include/stdio.h libg++/g++-include/stdio.h
*** libg++-1.35.0/g++-include/stdio.h Sun May 7 05:30:07 1989
--- libg++/g++-include/stdio.h Sun May 28 13:47:20 1989
***************
*** 55,59 ****
/* check and possibly comment out the following */
! #ifndef USG
#define HAVE_BUFSIZ
#endif
--- 55,61 ----
/* check and possibly comment out the following */
! #if defined(i386)
! #define DOES_8TH_BIT
! #else
#define HAVE_BUFSIZ
#endif
***************
*** 66,71 ****
--- 68,78 ----
extern struct _iobuf {
int _cnt;
+ # ifdef DOES_8TH_BIT
+ unsigned char* _ptr;
+ unsigned char* _base;
+ # else
char* _ptr;
char* _base;
+ # endif
# ifdef HAVE_BUFSIZ
int _bufsiz;
***************
*** 86,92 ****
--- 93,105 ----
#define _IOEOF 00020
#define _IOERR 00040
+ #if defined(i386)
+ #define _IOLBF 00100
+ #define _IORW 00200
+ #define _IOSTRG 00400
+ #else
#define _IOSTRG 00100
#define _IOLBF 00200
#define _IORW 00400
+ #endif
#define _IOAPPEND 01000
***************
*** 101,108 ****
#define stderr (&_iob[2])
#define getc(p) (--(p)->_cnt>=0?(int)(*(unsigned char*)(p)->_ptr++):_filbuf(p))
#define putc(x,p) (--(p)->_cnt>=0? ((int)((unsigned char)((*(p)->_ptr++=(unsigned)(x))))):_flsbuf((unsigned)(x),p))
-
#define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF))
#define getchar() getc(stdin)
#define putchar(x) putc(x,stdout)
--- 114,127 ----
#define stderr (&_iob[2])
+ #ifdef DOES_8TH_BIT
+ #define getc(p) (--(p)->_cnt>=0?(int)*(p)->_ptr++:_filbuf(p))
+ #define putc(x,p) (--(p)->_cnt>=0? (int)(*(p)->_ptr++=(unsigned char)(x)):_flsbuf((unsigned char)(x),(p)))
+ #define clearerr(p) ((void)((p)->_flag &= ~(_IOERR | _IOEOF)))
+ #else
#define getc(p) (--(p)->_cnt>=0?(int)(*(unsigned char*)(p)->_ptr++):_filbuf(p))
#define putc(x,p) (--(p)->_cnt>=0? ((int)((unsigned char)((*(p)->_ptr++=(unsigned)(x))))):_flsbuf((unsigned)(x),p))
#define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF))
+ #endif
+
#define getchar() getc(stdin)
#define putchar(x) putc(x,stdout)
diff -rc2 libg++-1.35.0/libconfig.h libg++/libconfig.h
*** libg++-1.35.0/libconfig.h Sun May 7 04:52:16 1989
--- libg++/libconfig.h Sun May 28 13:30:51 1989
***************
*** 80,84 ****
#ifdef USG
#define bzero(src, len) memset((src), 0, (len))
! #define bcopy(src, dest, len) memcopy((dest), (src), (len))
#define bcmp(s1,s2,n) memcmp((s1),(s2),(n))
#endif
--- 80,84 ----
#ifdef USG
#define bzero(src, len) memset((src), 0, (len))
! #define bcopy(src, dest, len) memcpy((dest), (src), (len))
#define bcmp(s1,s2,n) memcmp((s1),(s2),(n))
#endif
diff -rc2 libg++-1.35.0/src/File.cc libg++/src/File.cc
*** libg++-1.35.0/src/File.cc Sun May 7 05:32:18 1989
--- libg++/src/File.cc Sun May 28 13:30:54 1989
***************
*** 27,31 ****
--- 27,33 ----
extern "C" {
+ #ifndef USG
#include <sys/file.h> // needed to determine values of O_RDONLY...
+ #endif
#ifndef sun
diff -rc2 libg++-1.35.0/src/Makefile libg++/src/Makefile
*** libg++-1.35.0/src/Makefile Sat May 13 10:35:23 1989
--- libg++/src/Makefile Sun May 28 13:30:55 1989
***************
*** 1,3 ****
! # Makefile for g++ library version 1.34.0
# Copyright (C) 1988 Free Software Foundation
--- 1,3 ----
! # Makefile for g++ library version 1.35.0
# Copyright (C) 1988 Free Software Foundation
***************
*** 42,45 ****
--- 42,46 ----
# gcc flags for c files
CFLAGS= -g -O -I$I
+ #CFLAGS= -g -O -I$I -DUSG
# g++ files should have extension .cc
***************
*** 116,117 ****
--- 117,119 ----
Fix24.cc: $I/Fix24.h $I/File.h
CursesWindow.o: $I/curses.h $I/CursesWindow.h
+ $(GXX) $(GFLAGS) -c $<
diff -rc2 libg++-1.35.0/src/Obstack.cc libg++/src/Obstack.cc
*** libg++-1.35.0/src/Obstack.cc Thu Mar 30 02:59:52 1989
--- libg++/src/Obstack.cc Sun May 28 13:30:57 1989
***************
*** 24,27 ****
--- 24,28 ----
#include <builtin.h>
#include <Obstack.h>
+ #include "libconfig.h"
Obstack::Obstack(int size = 4092, int alignment = 4)
---------------------------- ends here -------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads