http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51264
Bug #: 51264 Summary: O0 Bootstrap failure: control reaches end of non-void function Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: vr...@gcc.gnu.org This might be a duplicate of PR20681, but I'm filing it just in case it's not. During a x86-64 -O0 bootstrap, the 3rd stage fails with: ... In function 'hashval_t iterative_hash_expr(const_tree, hashval_t)': /scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/tree.c:6999:1: error: control reaches end of non-void function [-Werror=return-type] cc1plus: all warnings being treated as errors ... full command line: ... /scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/./prev-gcc/g++ -B/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/./prev-gcc/ -B/opt/codesourcery/x86_64-unknown-linux-gnu/bin/ -nostdinc++ -B/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -B/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/libstdc++-v3/libsupc++ -L/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/gcc-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/prev-x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -c -g -O0 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/. -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/../include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/../libcpp/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/../libdecnumber -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/../libdecnumber/bid -I../libdecnumber -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr/include -I/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr/include /scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/tree.c -o tree.o/scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/tree.c: In function 'hashval_t iterative_hash_expr(const_tree, hashval_t)': /scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/gcc/tree.c:6999:1: error: control reaches end of non-void function [-Werror=return-type] cc1plus: all warnings being treated as errors ... configure line: ... Configured with: /scratch/vries/b2/ref-x86_64-ml-11-11-21/src/gcc-mainline/configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-checking=yes,rtl --disable-multilib --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --disable-nls --prefix=/opt/codesourcery --with-gmp=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --with-mpfr=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --with-mpc=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --with-ppl=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --with-host-libstdcxx='-L/usr/local/tools/gcc-4.3.3/lib64 -static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --with-libelf=/scratch/vries/b2/ref-x86_64-ml-11-11-21/obj/host-libs-mainline-0-x86_64-unknown-linux-gnu-x86_64-unknown-linux-gnu/usr --disable-libgomp --with-build-time-tools=/scratch/vries/b2/ref-x86_64-ml-11-11-21/install/x86_64-unknown-linux-gnu/bin --with-build-time-tools=/scratch/vries/b2/ref-x86_64-ml-11-11-21/install/x86_64-unknown-linux-gnu/bin ... I hit the problem with r181586.