------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-18 12:09 ------- The testcase looks like
float f(float src[][4]) { return *(src[3]); } and the C frontend produces <return_expr 0x40191240 type <void_type 0x4019c8a0 void VOID align 8 symtab 0 alias set -1 pointer_to_this <pointer_type 0x4019c8fc>> side-effects arg 0 <modify_expr 0x40193168 type <real_type 0x4019ca10 float SF size <integer_cst 0x4018c408 constant invariant 32> unit size <integer_cst 0x4018c198 constant invariant 4> align 32 symtab 0 alias set -1 precision 32 pointer_to_this <pointer_type 0x4019cb24>> side-effects arg 0 <var_decl 0x40198108 D.1279 type <real_type 0x4019ca10 float> used ignored SF file /suse/rguenther/src/tests/pr23944.c line 3 size <integer_cst 0x4018c408 32> unit size <integer_cst 0x4018c198 4> align 32 context <function_decl 0x4020d100 f>> arg 1 <array_ref 0x4020ea28 type <real_type 0x4019ca10 float> arg 0 <indirect_ref 0x40191260 type <array_type 0x4020c398> > arg 1 <integer_cst 0x4018c1b0 constant invariant 0>>> /suse/rguenther/src/tests/pr23944.c:3> Closer look at the INDIRECT_REF node reveals: <indirect_ref 0x40191260 type <array_type 0x4020c398 type <real_type 0x4019ca10 float SF size <integer_cst 0x4018c408 constant invariant 32> unit size <integer_cst 0x4018c198 constant invariant 4> align 32 symtab 0 alias set -1 precision 32 pointer_to_this <pointer_type 0x4019cb24>> BLK size <integer_cst 0x4018c678 constant invariant 128> unit size <integer_cst 0x4018c690 constant invariant 16> align 32 symtab 0 alias set -1 domain <integer_type 0x4020c33c type <integer_type 0x4019c000 unsigned int> SI size <integer_cst 0x4018c408 32> unit size <integer_cst 0x4018c198 4> align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x4018c1b0 0> max <integer_cst 0x4018c378 3>> pointer_to_this <pointer_type 0x4020c450>> > well - there's something missing here. Frontend bug. -- What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23944