Thread View: gnu.g++.bug
1 messages
1 total messages
Started by Tom Vijlbrief
Thu, 30 Nov 1989 11:28
g++ 1.36.1- eats all available memory on SPARC
Author: Tom Vijlbrief
Date: Thu, 30 Nov 1989 11:28
Date: Thu, 30 Nov 1989 11:28
87 lines
2876 bytes
2876 bytes
The following program eats all available memory in my sparc:
=========================================
#include <stdarg.h>
#define BIT(x) (x)
enum eVObjAlign {
eVObjHLeft = BIT(0),
eVObjHCenter= BIT(1),
eVObjHRight = BIT(2),
eVObjHExpand= BIT(3),
eVObjH = eVObjHLeft|eVObjHCenter|eVObjHRight|eVObjHExpand,
eVObjVTop = BIT(8),
eVObjVBase = BIT(9),
eVObjVCenter= BIT(10),
eVObjVBottom= BIT(11),
eVObjVExpand= BIT(12),
eVObjV = eVObjVTop|eVObjVBase|eVObjVCenter|eVObjVBottom|eVObjVExpand
};
class VObjAlign {
eVObjAlign f;
public:
VObjAlign() {}
VObjAlign(int i) { f= eVObjAlign(i); }
operator int() { return f; }
};
typedef int Collection, VObject;
class Point {
public:
short a,b;
Point(int x) {a=b=x;};
};
Point gPoint0(3);
class OneOfCluster: public Point {
public:
OneOfCluster(int id= 1, VObjAlign a= 1, Point g= gPoint0, Collection *cp= 0);
OneOfCluster(int id, VObjAlign a, Point g, VObject*, ...);
OneOfCluster(int id, VObjAlign a, Point g, char*, ...);
};
OneOfCluster::OneOfCluster(int id, VObjAlign a, Point g, VObject*, ...): (id)
{
va_list ap;
va_start(ap, g);
SetItems(ap);
Init(0);
va_end(ap);
}
OneOfCluster::OneOfCluster(int id, VObjAlign a, Point g, char*, ...): (id)
{
char *t;
va_list ap;
va_start(ap, g);
Init(0);
va_end(ap);
}
===========================
tom@lightning:~/src/CC> g++ -v -c vararg.cc
gcc version 1.36.1- (based on GCC 1.36)
/usr/local/lib/gcc-cpp -+ -v -undef -D__GNUC__ -D__GNUG__ -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ vararg.cc /usr/tmp/cca00190.cpp
GNU CPP version 1.36
/usr/local/lib/gcc-cc1plus /usr/tmp/cca00190.cpp -quiet -dumpbase vararg.cc -version -o /usr/tmp/cca00190.s
GNU C++ version 1.36.1- (based on GCC 1.36) (sparc) compiled by GNU C version 1.36.
default target switches: -mfpu -mepilogue
^Ctom@lightning:~/src/CC>
================================
The problem is caused by the VObjAlign class in the variable argument list,
replacing it by an int works.
Tom
===============================================================================
Tom Vijlbrief
TNO Institute for Perception
P.O. Box 23 Phone: +31 34 63 562 11
3769 ZG Soesterberg E-mail: tnosoes!tom@mcvax.cwi.nl
The Netherlands or: uunet!mcvax!tnosoes!tom
===============================================================================
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