This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
bug in valarray header
- To: "Cygwin Mailing List" <cygwin@sourceware.cygnus.com>
- Subject: bug in valarray header
- From: "Reza Habib" <reza@psych.utoronto.ca>
- Date: Sun, 1 Aug 1999 21:15:58 -0400
Hello. I'm porting a program I've written in borland c++ builder 4.0 to gcc
2.95. The program uses the valarray classes of the standard c++ library.
The program compiles and runs correctly with borland c++ builder however the
exact same code causes a segmentation fault with gcc. The culprit line of
source code as revealed by gdb is:
Mask = Mask && (Image > 0.0f);
Here is the context within which that line occurs:
//Convert image to float by assigning to valarray
valarray<float> Image(&(vector<float>(ByteImage,ByteImage +
IMAGEFILESIZE + 1).front()),IMAGEFILESIZE);
//Replace values less than 1/4 of maximum value with 0
Image[Image <= (Image.max() / 4.0f)] = 0.0f;
//Ratio normalize image: divide each value by the mean of the image
Image /= (Image.sum() / (valarray<float>(Image[Image >
0.0f])).size());
//Update mask with non-zero columns of current image
Mask = Mask && (Image > 0.0f);
This is the output for gdb:
74 Mask = Mask && (Image > 0.0f);
(gdb) n
n
Program received signal SIGSEGV, Segmentation fault.
0x41a279 in LM786 ()
at
//D/Mingw32/bin/../lib/gcc-lib/i386-mingw32/2.95/../../../../include/g++-
3/std/std_valarray.h:266
266
//D/Mingw32/bin/../lib/gcc-lib/i386-mingw32/2.95/../../../../include/g++
-3/std/std_valarray.h: No such file or directory.
I got no warnings or errors when compiling the code and as I mentioned the
code compiled and ran perfectly when compiled with borland c++ builder 4.
So my guess is that this is a problem with the gcc version of the valarray
header. Any clues into this matter would be greatly appreciated. Thanks.
Reza
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com