bug-groff
[Top][All Lists]
Advanced

[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

Attachment: 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 ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]