Problem with valarray and slices

Marc-Oliver Gewaltig Marc-Oliver.GewaltigAThre-ftr.f.rd.honda.co.jp
Thu Sep 16 09:19:00 GMT 1999


Hi,

we are not sure whether the valarray implementation which comes
with gcc-2.95.1 is supposed to be fully working, however, we'd like
to mention at least one problem:

The following trivial example code breaks on Sparc Solaris 2.6 (specs
follow):


#include <valarray>
#include <iostream>
#include <cassert>

  
int main(void)
{
  int alpha[] = {1,2,3,4,5,6,7,8,9,0};

  valarray<int> v(alpha,10);
  slice s(0,7,0);
  valarray<int> v2(v[s]);

  for(int i=0; i< v2.size(); ++i)
    cout << v2[i] << endl;

  assert(v2[0] == 1);

  return 0;
}

Result:
./valartst
225257
1
1
1
1
1
1
valartst.cc:17: failed assertion `v2[0] == 1'


The program was compiled with:
g++ valartst.cc -o valartst 


Regards

Oliver Gewaltig
----

g++ -v valartst.cc -o valartst
Reading specs from
/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/specs
gcc version 2.95.1 19990816 (release)
 /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/cpp -lang-c++ -v
-D__GNUC__=2
-D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Dsparc -Dsun -Dunix
-D__svr4__ -
D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc
-D__sun -
D__unix -Asystem(unix) -Asystem(svr4) -D__EXCEPTIONS
-D__GCC_NEW_VARARGS__ -Acpu
(sparc) -Amachine(sparc) valartst.cc /var/tmp/ccAfBkxe.ii
GNU CPP version 2.95.1 19990816 (release) (sparc)
#include "..." search starts here:
#include <...> search starts here:

/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../../../include/g++-3
 /usr/local/include

/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/../../../../sparc-sun-solaris2
.6/include
 /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/include
 /usr/include
End of search list.
The following default directories have been omitted from the search
path:
End of omitted list.
 /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/cc1plus
/var/tmp/ccAfBkxe.ii -
quiet -dumpbase valartst.cc -version -o /var/tmp/ccOE3SpX.s
GNU C++ version 2.95.1 19990816 (release) (sparc-sun-solaris2.6)
compiled by GNU
 C version 2.95.1 19990816 (release).
 /opt/gnu/sparc-sun-solaris2.6/bin/as -V -Qy -s -o /var/tmp/cciLtwIq.o
/var/tmp/
ccOE3SpX.s
GNU assembler version 2.9.1 (sparc-sun-solaris2.6), using BFD version
2.9.1
 /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/collect2 -V -Y
P,/usr/ccs/lib:
/usr/lib -Qy -o valartst
/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/crt1.o
 /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/crti.o
/usr/ccs/lib/values-Xa.
o /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/crtbegin.o
-L/opt/gnu/lib/gcc
-lib/sparc-sun-solaris2.6/2.95.1 -L/opt/gnu/sparc-sun-solaris2.6/lib
-L/usr/ccs/
bin -L/usr/ccs/lib -L/opt/gnu/lib /var/tmp/cciLtwIq.o -lstdc++ -lm -lgcc
-lc -lg
cc /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/crtend.o
/opt/gnu/lib/gcc-li
b/sparc-sun-solaris2.6/2.95.1/crtn.o
GNU ld version 2.9.1 (with BFD 2.9.1)
  Supported emulations:
   elf32_sparc                     

Abort          
-- 

------------------------
Marc-Oliver Gewaltig (Dipl. Phys.)
Future Technology Research      Tel. +49-(0)69-89011-739
HONDA R&D Europe GmbH           Fax. +49-(0)69-89011-749
Carl-Legien-Str. 30
D-63073 Offenbach/Main
e-mail.    Marc-Oliver.Gewaltig@hre-ftr.f.rd.honda.co.jp


More information about the Gcc-bugs mailing list