baud@GATECH.EDU (Kurt Baudendistel) (10/12/88)
BUG REPORT 15
BEHAVIOR:
incorrect code generation on unsigned mixed length integer operations.
the following is output when the given program is run:
65536 = 0
COMPILER VERSION: GNU C++ compiler driver, version 1.25.0
INPUT FILES:
bug.cc
type.h
COMMAND LINE: g++ -v -g bug.cc
/usr/local/lib/gcc-cpp+ -v -I . -I ./include -I /dsp/mcclellan/baud/c++/include -I /usr/local/lib/g++-include -undef -D__GNU__ -D__GNUG__ -Dvax -Dunix bug.cc /tmp/cc027681.cpp
GNU CPP version 1.25.0
/usr/local/lib/gcc-c++ /tmp/cc027681.cpp -quiet -dumpbase bug.cc -noreg -version -G -o /tmp/cc027681.s
as /tmp/cc027681.s -o bug.o
/usr/local/lib/gcc-ld++ -C /usr/lib/crt0+.o bug.o /dsp/mcclellan/baud/c++/lib/Complex.a /dsp/mcclellan/baud/c++/lib/Fft.a /dsp/mcclellan/baud/c++/lib/Filter.a /dsp/mcclellan/baud/c++/lib/Fix.a /dsp/mcclellan/baud/c++/lib/Lev.a /dsp/mcclellan/baud/c++/lib/Vec.a /dsp/mcclellan/baud/c++/lib/fixv.a /dsp/mcclellan/baud/c++/lib/nr.a /dsp/mcclellan/baud/c++/lib/usage.a /dsp/mcclellan/baud/c++/lib/z_error.a /usr/local/lib/libg++.a /usr/lib/libm.a -lg++ /usr/local/lib/gcc-gnulib+ -lg -lc
FILE NAMES:
tm.h = tm-vax.h
md = vax.md
MACHINE: vax 11/780 with BRL UNIX (4.2 BSD)
SOURCE FILES:
----------------------------------------------------------------------------
// bug.cc
#include <stream.h>
#include <type.h>
main() {
uint16 x = 0;
uint32 c = 1;
uint32 a = ~x + c;
cout << "65536 = " << a << "\n";
}
----------------------------------------------------------------------------
//
// type.h : machine type definitions
//
#ifndef TYPEH
#define TYPEH
typedef short int int16;
typedef long int int32;
typedef unsigned short int uint16;
typedef unsigned long int uint32;
typedef unsigned int uint;
typedef unsigned char byte;
#endif
----------------------------------------------------------------------------