Executing on host: /mnt/gnu/gcc/objdir/gcc/testsuite/g++/../../g++ -B/mnt/gnu/gc c/objdir/gcc/testsuite/g++/../../ /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4 .C -nostdinc++ -I/mnt/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include /hppa2.0w-hp-hpux11.11 -I/mnt/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/ include -I/mnt/gnu/gcc/gcc/libstdc++-v3/libsupc++ -I/mnt/gnu/gcc/gcc/libstdc++-v 3/include/backward -I/mnt/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-leng th=0 -S -o vla4.s (timeout = 300) /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C: In function 'void f(int)': /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C:9: error: cannot create type in formation for type 'int (*)[(((long unsigned int)(((int)i) - 1)) + 1u)]' because it involves types of variable size /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C: In function 'int main()': /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C:18: error: cannot create type i nformation for type 'int (*)[(((long unsigned int)(((int)i) - 1)) + 1u)]' becaus e it involves types of variable size compiler exited with status 1 output is: /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C: In function 'void f(int)': /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C:9: error: cannot create type in formation for type 'int (*)[(((long unsigned int)(((int)i) - 1)) + 1u)]' because it involves types of variable size /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C: In function 'int main()': /mnt/gnu/gcc/gcc/gcc/testsuite/g++.dg/ext/vla4.C:18: error: cannot create type i nformation for type 'int (*)[(((long unsigned int)(((int)i) - 1)) + 1u)]' becaus e it involves types of variable size PASS: g++.dg/ext/vla4.C (test for errors, line 9) FAIL: g++.dg/ext/vla4.C (test for errors, line 10) PASS: g++.dg/ext/vla4.C (test for errors, line 18) PASS: g++.dg/ext/vla4.C (test for excess errors) This test didn't fail in 4.2.1, so this fail is a regression.
Confirmed. Also fails on x86_64, i586 and ia64. So I guess everywhere.
Err, confirmed I said.
r128363 is good, r128394 is bad. Which points to: Author: jason Date: Tue Sep 11 15:20:47 2007 New Revision: 128382 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128382 Log: PR c++/15745 * except.c (prepare_eh_type): Use type_decays_to. * except.c (initialize_handler_parm): Use fold_build_cleanup_point_expr. PR c++/31411 * except.c (initialize_handler_parm): Put a CLEANUP_POINT_EXPR inside the MUST_NOT_THROW_EXPR. Modified: branches/gcc-4_2-branch/gcc/cp/ChangeLog branches/gcc-4_2-branch/gcc/cp/except.c and Author: jason Date: Tue Sep 11 15:40:51 2007 New Revision: 128383 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128383 Log: PR c++/31419 * call.c (reference_binding): Don't look for user-defined conversions to the same type. Modified: branches/gcc-4_2-branch/gcc/cp/ChangeLog branches/gcc-4_2-branch/gcc/cp/call.c
This is not a compiler bug; I forgot to apply the same patch to vla4.C on the branch that I did on the trunk. Fixed now.