🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#522
Author: csusac!cvms!ronald
Date: Mon, 29 May 1989 03:05
343 lines
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