[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Cannot compile groff-1.19 on Tru64Unix 5.1A
From: |
Martin MOKREJŠ |
Subject: |
Cannot compile groff-1.19 on Tru64Unix 5.1A |
Date: |
Fri, 6 Jun 2003 12:13:00 +0200 (CEST) |
Hi,
I found a bug in cxx compiler on Tru64UNix. Maybe you want to consider
some recommendation from the cxx developers. In future there might be a fix
in compiler. I have currently latest version:
$ cxx -V
Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885)
Compiler Driver V6.5-033 (cxx) cxx Driver
$
Hope this helps
--
Martin Mokrejs <address@hidden>, <address@hidden>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585
--- Begin Message ---
Subject: |
Re: CPP#5875: Subj: cxx crash on groff-1.19/src/preproc/pic/pic.cpp |
Date: |
Thu, 5 Jun 2003 15:44:16 -0400 (EDT) |
The error reduces to this short program:
extern "C" {
typedef unsigned long size_t;
extern void *memcpy (void *, const void *, size_t );
}
typedef union {
struct { double *v; int nv; } dv;
int by;
} YYSTYPE;
YYSTYPE yyval;
int yyparse() {
double *oldv = yyval.dv.v;
memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
return (0);
}
The assertion is from our middle-end, when it processes the memcpy
intrinsic (which is why you see this at -O2, when intrinsics get
turned on). We will analyze this and get back to you when
there is a fix. Sorry for any inconvenience caused by this bug.
If you can modify the source file, can you use the following as a
work-around?
In routine yyparse(), where this code resides, can you transform
case 136 to:
#if 0 /* Code before */
yyval.dv.v = new double[yyval.dv.maxv];
memcpy(yyval.dv.v, oldv, yyval.dv.nv*sizeof(double));
#else /* New code */
double *foo = new double[yyval.dv.maxv];
memcpy(foo, oldv, yyval.dv.nv*sizeof(double));
yyval.dv.v = foo;
#endif /* End */
This makes the test file compile successfully. If you are unable to
modify the source code, you may turn intrinsics processing off while
compiling this module with -nointrinsics on the command-line.
Please send all Compaq C/C++ Support requests to address@hidden
Reply to this message for further correspondence regarding THIS support
request. Thank you for choosing Compaq C/C++.
--- End Message ---
--- Begin Message ---
Subject: |
Re: CPP#5875: Subj: cxx crash on groff-1.19/src/preproc/pic/pic.cpp |
Date: |
Thu, 5 Jun 2003 15:12:14 +0200 (CEST) |
On Thu, 5 Jun 2003 address@hidden wrote:
> Please send us a pre-processed pic.ixx file that reproduces the crash
> and we will take a look.
$ cxx -P -I. -I/mnt/groff-1.19/src/preproc/pic
-I/mnt/groff-1.19/src/include
-I/mnt/groff-1.19/src/include -DHAVE_CONFIG_H -O2
-I/software/@sys/usr/include -c pic.cpp
$
File attached.
--
Martin Mokrejs <address@hidden>, <address@hidden>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585
pic.ixx.gz
Description: Binary data
--- End Message ---
--- Begin Message ---
Subject: |
cxx crash on groff-1.19/src/preproc/pic/pic.cpp |
Date: |
Thu, 5 Jun 2003 10:45:54 +0200 (CEST) |
Hi,
I have the following problem on Tru64Unix 5.1A compiling GNU groff-1.19:
/mnt/groff-1.19/src/preproc/pic $ cxx -I. -I/mnt/groff-1.19/src/preproc/pic
-I/mnt/groff-1.19/src/include -I/mnt/groff-1.19/src/include
-I/software/@sys/usr/include -DHAVE_CONFIG_H -O2 -source_listing -show
expansion -c pic.cpp
cxx: Fatal: A memory access violation (bus error or segmentation fault)
has occurred. Please submit a problem report.
$ cxx -V
Compaq C++ V6.5-033 for Compaq Tru64 UNIX V5.1A (Rev. 1885)
Compiler Driver V6.5-033 (cxx) cxx Driver
$
Unfortunately, pic.lis has 0 size. The crash does NOT happen with -O1 or
when -OX is omitted at all. Any fix available?
--
Martin Mokrejs <address@hidden>, <address@hidden>
PGP5.0i key is at http://www.natur.cuni.cz/~mmokrejs
MIPS / Institute for Bioinformatics <http://mips.gsf.de>
GSF - National Research Center for Environment and Health
Ingolstaedter Landstrasse 1, D-85764 Neuherberg, Germany
tel.: +49-89-3187 3683 , fax: +49-89-3187 3585
--- End Message ---
- Cannot compile groff-1.19 on Tru64Unix 5.1A,
Martin MOKREJŠ <=