Author: arekm Date: Fri Feb 5 20:13:07 2010 GMT Module: packages Tag: HEAD ---- Log message: - rel 2; disable mozilla bcond until it's fixed
---- Files affected: packages/gcc: gcc-branch.diff (1.23 -> 1.24) , gcc.spec (1.597 -> 1.598) ---- Diffs: ================================================================ Index: packages/gcc/gcc-branch.diff diff -u packages/gcc/gcc-branch.diff:1.23 packages/gcc/gcc-branch.diff:1.24 --- packages/gcc/gcc-branch.diff:1.23 Thu Jan 21 15:58:23 2010 +++ packages/gcc/gcc-branch.diff Fri Feb 5 21:13:01 2010 @@ -1,14 +1,137 @@ +Index: libgomp/ChangeLog +=================================================================== +--- libgomp/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ libgomp/ChangeLog (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -1,3 +1,8 @@ ++2010-01-26 Jakub Jelinek <[email protected]> ++ ++ PR fortran/42866 ++ * testsuite/libgomp.fortran/allocatable5.f90: New test. ++ + 2010-01-21 Release Manager + + * GCC 4.4.3 released. +Index: libgomp/testsuite/libgomp.fortran/allocatable5.f90 +=================================================================== +--- libgomp/testsuite/libgomp.fortran/allocatable5.f90 (.../tags/gcc_4_4_3_release) (wersja 0) ++++ libgomp/testsuite/libgomp.fortran/allocatable5.f90 (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,17 @@ ++! PR fortran/42866 ++! { dg-do run } ++ ++program pr42866 ++ integer, allocatable :: a(:) ++ allocate (a(16)) ++ a = 0 ++ !$omp parallel ++ !$omp sections reduction(+:a) ++ a = a + 1 ++ !$omp section ++ a = a + 2 ++ !$omp end sections ++ !$omp end parallel ++ if (any (a.ne.3)) call abort ++ deallocate (a) ++end +Index: gcc/DATESTAMP +=================================================================== +--- gcc/DATESTAMP (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/DATESTAMP (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -1 +1 @@ +-20100121 ++20100205 +Index: gcc/omp-low.c +=================================================================== +--- gcc/omp-low.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/omp-low.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -4606,7 +4606,7 @@ + l2_bb = region->exit; + if (exit_reachable) + { +- if (single_pred (l2_bb) == l0_bb) ++ if (single_pred_p (l2_bb) && single_pred (l2_bb) == l0_bb) + l2 = gimple_block_label (l2_bb); + else + { Index: gcc/DEV-PHASE =================================================================== ---- gcc/DEV-PHASE (.../tags/gcc_4_4_3_release) (wersja 156153) -+++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 156153) +--- gcc/DEV-PHASE (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/DEV-PHASE (.../branches/gcc-4_4-branch) (wersja 156526) @@ -0,0 +1 @@ +prerelease Index: gcc/ChangeLog =================================================================== ---- gcc/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 156153) -+++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 156153) -@@ -1,3 +1,8 @@ +--- gcc/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/ChangeLog (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -1,3 +1,76 @@ ++2010-02-04 Richard Guenther <[email protected]> ++ ++ PR rtl-optimization/42952 ++ * dse.c (const_or_frame_p): Remove MEM handling. ++ ++2010-01-31 Eric Botcazou <[email protected]> ++ ++ PR middle-end/42898 ++ Backport from mainline: ++ 2009-04-23 Eric Botcazou <[email protected]> ++ ++ * gimplify.c (gimplify_modify_expr_rhs) <VAR_DECL>: Do not do a direct ++ assignment from the constructor either if the target is volatile. ++ ++2010-01-31 Richard Guenther <[email protected]> ++ ++ PR middle-end/42898 ++ * gimplify.c (gimplify_init_constructor): For volatile LHS ++ initialize a temporary. ++ ++2010-01-26 Rainer Orth <[email protected]> ++ ++ * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for ++ HAVE_GNU_AS value. ++ * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION): ++ Test for HAVE_GNU_AS value. ++ ++2010-01-26 Jakub Jelinek <[email protected]> ++ ++ PR fortran/42866 ++ * omp-low.c (expand_omp_sections): Only use single_pred if ++ l2_bb is single_pred_p. ++ ++2010-01-25 Christian Bruel <[email protected]> ++ ++ PR target/42841 ++ * config/sh/sh.c (find_barrier): Increase length for non delayed ++ conditional branches. ++ (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P. ++ ++2010-01-25 Ramana Radhakrishnan <[email protected]> ++ ++ Backport from trunk. ++ 2010-01-19 Ramana Radhakrishnan <[email protected]> ++ ++ PR target/38697 ++ * config/arm/neon-testgen.m (emit_automatics): New parameter ++ features. Adjust for Fixed_return_reg feature. ++ (test_intrinsic): Call emit_automatics with new feature. ++ * config/arm/neon.ml: Update copyright years. ++ (features): New Fixed_return_reg feature. ++ (ops): Update feature for Vget_low. ++ ++2010-01-24 David S. Miller <[email protected]> ++ ++ * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only ++ define if not using GAS. ++ * config/sparc/sparc.c (sparc_elf_asm_named_section): ++ Likewise. Delete SECTION_MERGE code, which is only applicable ++ when using GAS. ++ ++2010-01-21 Felyza Wishbringer <[email protected]> ++ ++ PR bootstrap/42786 ++ * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx ++ cpu types. Add support for *-sse3 cpu types. ++ (x86_64-*-*): Ditto. ++ +2010-01-21 Jakub Jelinek <[email protected]> + + * BASE-VER: Set to 4.4.4. @@ -17,10 +140,1755 @@ 2010-01-21 Release Manager * GCC 4.4.3 released. +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowp8.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowp8 (void) + { +- poly8x8_t out_poly8x8_t; ++ register poly8x8_t out_poly8x8_t asm ("d18"); + poly8x16_t arg0_poly8x16_t; + + out_poly8x8_t = vget_low_p8 (arg0_poly8x16_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lows64.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lows64.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lows64.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -15,5 +15,4 @@ + out_int64x1_t = vget_low_s64 (arg0_int64x2_t); + } + +-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \...@\[a-za-z0-9 \]+\)?\n" } } */ + /* { dg-final { cleanup-saved-temps } } */ +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowu64.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -15,5 +15,4 @@ + out_uint64x1_t = vget_low_u64 (arg0_uint64x2_t); + } + +-/* { dg-final { scan-assembler "vmov\[ \]+\[dD\]\[0-9\]+, \[dD\]\[0-9\]+!?\(\[ \...@\[a-za-z0-9 \]+\)?\n" } } */ + /* { dg-final { cleanup-saved-temps } } */ +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowp16.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowp16 (void) + { +- poly16x4_t out_poly16x4_t; ++ register poly16x4_t out_poly16x4_t asm ("d18"); + poly16x8_t arg0_poly16x8_t; + + out_poly16x4_t = vget_low_p16 (arg0_poly16x8_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lows8.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lows8.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lows8.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lows8 (void) + { +- int8x8_t out_int8x8_t; ++ register int8x8_t out_int8x8_t asm ("d18"); + int8x16_t arg0_int8x16_t; + + out_int8x8_t = vget_low_s8 (arg0_int8x16_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowu8.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowu8 (void) + { +- uint8x8_t out_uint8x8_t; ++ register uint8x8_t out_uint8x8_t asm ("d18"); + uint8x16_t arg0_uint8x16_t; + + out_uint8x8_t = vget_low_u8 (arg0_uint8x16_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lows32.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lows32.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lows32.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lows32 (void) + { +- int32x2_t out_int32x2_t; ++ register int32x2_t out_int32x2_t asm ("d18"); + int32x4_t arg0_int32x4_t; + + out_int32x2_t = vget_low_s32 (arg0_int32x4_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lows16.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lows16.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lows16.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lows16 (void) + { +- int16x4_t out_int16x4_t; ++ register int16x4_t out_int16x4_t asm ("d18"); + int16x8_t arg0_int16x8_t; + + out_int16x4_t = vget_low_s16 (arg0_int16x8_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowu32.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowu32 (void) + { +- uint32x2_t out_uint32x2_t; ++ register uint32x2_t out_uint32x2_t asm ("d18"); + uint32x4_t arg0_uint32x4_t; + + out_uint32x2_t = vget_low_u32 (arg0_uint32x4_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowu16.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowu16 (void) + { +- uint16x4_t out_uint16x4_t; ++ register uint16x4_t out_uint16x4_t asm ("d18"); + uint16x8_t arg0_uint16x8_t; + + out_uint16x4_t = vget_low_u16 (arg0_uint16x8_t); +Index: gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c +=================================================================== +--- gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/gcc.target/arm/neon/vget_lowf32.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -9,7 +9,7 @@ + + void test_vget_lowf32 (void) + { +- float32x2_t out_float32x2_t; ++ register float32x2_t out_float32x2_t asm ("d18"); + float32x4_t arg0_float32x4_t; + + out_float32x2_t = vget_low_f32 (arg0_float32x4_t); +Index: gcc/testsuite/ada/acats/run_all.sh +=================================================================== +--- gcc/testsuite/ada/acats/run_all.sh (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/ada/acats/run_all.sh (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -129,6 +129,7 @@ + + cp $testdir/tests/cd/*.c $dir/support + cp $testdir/tests/cxb/*.c $dir/support ++grep -v '^#' $testdir/norun.lst | sort > $dir/support/norun.lst + + rm -rf $dir/run + mv $dir/tests $dir/tests.$$ 2> /dev/null +@@ -206,7 +207,7 @@ + + cd $dir/tests/$chapter + ls *.a *.ada *.adt *.am *.dep 2> /dev/null | sed -e 's/\(.*\)\..*/\1/g' | \ +- cut -c1-7 | sort | uniq | comm -23 - $testdir/norun.lst \ ++ cut -c1-7 | sort | uniq | comm -23 - $dir/support/norun.lst \ + > $dir/tests/$chapter/${chapter}.lst + countn=`wc -l < $dir/tests/$chapter/${chapter}.lst` + glob_countn=`expr $glob_countn + $countn` +Index: gcc/testsuite/gcc.dg/torture/pr42952.c +=================================================================== +--- gcc/testsuite/gcc.dg/torture/pr42952.c (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gcc.dg/torture/pr42952.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,19 @@ ++/* { dg-do run } */ ++/* { dg-options "-fno-tree-ccp -fno-tree-fre" } */ ++ ++extern void abort (void); ++ ++static int g[1]; ++ ++static int * const p = &g[0]; ++static int * const q = &g[0]; ++ ++int main(void) ++{ ++ g[0] = 1; ++ *p = 0; ++ *p = *q; ++ if (g[0] != 0) ++ abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr42898-2.c +=================================================================== +--- gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gcc.dg/torture/pr42898-2.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,25 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fdump-tree-optimized" } */ ++ ++struct hardware { ++ int parm1:8; ++ int :4; ++ int parm2:4; ++ int parm3:15; ++ int parm4:1; ++}; ++ ++const struct hardware h = { ++ .parm1=42, ++ .parm2=13, ++ .parm3=11850, ++ .parm4=1, ++}; ++ ++void f1(volatile struct hardware *ptr) ++{ ++ *ptr = h; ++} ++ ++/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ ++/* { dg-final { cleanup-tree-dump "optimized" } } */ +Index: gcc/testsuite/gcc.dg/torture/pr42898.c +=================================================================== +--- gcc/testsuite/gcc.dg/torture/pr42898.c (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gcc.dg/torture/pr42898.c (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fdump-tree-optimized" } */ ++ ++struct hardware { ++ int parm1:8; ++ int :4; ++ int parm2:4; ++ int parm3:15; ++ int parm4:1; ++}; ++ ++void f1(volatile struct hardware *ptr) ++{ ++ *ptr=(struct hardware) { ++ .parm1=42, ++ .parm2=13, ++ .parm3=11850, ++ .parm4=1, ++ }; ++} ++ ++/* { dg-final { scan-tree-dump-times "\\*ptr" 1 "optimized" } } */ ++/* { dg-final { cleanup-tree-dump "optimized" } } */ +Index: gcc/testsuite/ChangeLog +=================================================================== +--- gcc/testsuite/ChangeLog (.../tags/gcc_4_4_3_release) (wersja 156526) ++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -1,3 +1,84 @@ ++2010-02-04 Jerry DeLisle <[email protected]> ++ ++ PR libfortran/42901 ++ *gfortran.dg/namelist_60.f90: New test. ++ *gfortran.dg/namelist_59.f90: New test. ++ ++2010-02-04 Richard Guenther <[email protected]> ++ ++ PR rtl-optimization/42952 ++ * gcc.dg/torture/pr42952.c: New testcase. ++ ++2010-02-02 Tobias Burnus <[email protected]> ++ ++ PR fortran/42650 ++ * gfortran.dg/func_result_5.f90: New test. ++ ++2010-02-01 Uros Bizjak <[email protected]> ++ ++ Backport from mainline: ++ 2009-12-17 Uros Bizjak <[email protected]> ++ ++ * objc/execute/forward-1.x: XFAIL for -fgnu-runtime on ++ x86_64-*-darwin*, powerpc*-*-darwin* and alpha*-*-linux* targets. ++ ++2010-01-31 Eric Botcazou <[email protected]> ++ ++ PR middle-end/42898 ++ * gcc.dg/torture/pr42898-2.c: New test. ++ ++2010-01-31 Richard Guenther <[email protected]> ++ ++ PR middle-end/42898 ++ * gcc.dg/torture/pr42898.c: New testcase. ++ ++2010-01-31 Paul Thomas <[email protected]> ++ ++ PR fortran/38324 ++ * gfortran.dg/alloc_comp_basics_1.f90: Remove option -O2. ++ * gfortran.dg/alloc_comp_bounds_1.f90: New test. ++ ++2010-01-30 Paul Thomas <[email protected]> ++ ++ PR fortran/41044 ++ * gfortran.dg/parameter_array_ref_2.f90 : New test. ++ ++ PR fortran/41167 ++ * gfortran.dg/char_array_arg_1.f90 : New test. ++ ++2010-01-27 Paul Thomas <[email protected]> ++ ++ PR fortran/42736 ++ * gfortran.dg/dependency_25.f90 : New test. ++ ++2010-01-26 Jakub Jelinek <[email protected]> ++ ++ * ada/acats/run_all.sh: Make sure norun.lst is sorted using the ++ current collation. ++ ++ Backport from mainline: ++ 2009-12-17 Arnaud Charlet <[email protected]> ++ ++ * ada/acats/run_all.sh: Strip comments from norun.lst. ++ ++2010-01-25 Ramana Radhakrishnan <[email protected]> ++ ++ Backport from mainline. ++ 2010-01-19 Ramana Radhakrishnan <[email protected]> ++ ++ PR target/38697. ++ * gcc.target/arm/neon/vget_lowf32.c: Regenerate. ++ * gcc.target/arm/neon/vget_lowp16.c: Likewise. ++ * gcc.target/arm/neon/vget_lowp8.c: Likewise. ++ * gcc.target/arm/neon/vget_lows16.c: Likewise. ++ * gcc.target/arm/neon/vget_lows32.c: Likewise. ++ * gcc.target/arm/neon/vget_lows64.c: Likewise. ++ * gcc.target/arm/neon/vget_lows8.c: Likewise. ++ * gcc.target/arm/neon/vget_lowu16.c: Likewise. ++ * gcc.target/arm/neon/vget_lowu32.c: Likewise. ++ * gcc.target/arm/neon/vget_lowu64.c: Likewise. ++ * gcc.target/arm/neon/vget_lowu8.c: Likewise. ++ + 2010-01-21 Release Manager + + * GCC 4.4.3 released. +Index: gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 +=================================================================== +--- gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gfortran.dg/alloc_comp_bounds_1.f90 (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,50 @@ ++! { dg-do run } ++! Test the fix for PR38324, in which the bounds were not set correctly for ++! constructor assignments with allocatable components. ++! ++! Contributed by Dominique d'Humieres <[email protected]> ++! ++ integer, parameter :: ik4 = 4 ++ integer, parameter :: ik8 = 8 ++ integer, parameter :: from = -1, to = 2 ++ call foo ++ call bar ++contains ++ subroutine foo ++ type :: struct ++ integer(4), allocatable :: ib(:) ++ end type struct ++ integer(ik4), allocatable :: ia(:) ++ type(struct) :: x ++ allocate(ia(from:to)) ++ if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort ++ if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort ++ if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort ++ x=struct(ia) ++ if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort ++ x=struct(ia(:)) ++ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort ++ x=struct(ia(from:to)) ++ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort ++ deallocate(ia) ++ end subroutine ++ subroutine bar ++ type :: struct ++ integer(4), allocatable :: ib(:) ++ end type struct ++ integer(ik8), allocatable :: ia(:) ++ type(struct) :: x ++ allocate(ia(from:to)) ++ if (any(lbound(ia) .ne. -1) .or. any(ubound(ia) .ne. 2)) call abort ++ if (any(lbound(ia(:)) .ne. 1) .or. any(ubound(ia(:)) .ne. 4)) call abort ++ if (any(lbound(ia(from:to)) .ne. 1) .or. any(ubound(ia(from:to)) .ne. 4)) call abort ++ x=struct(ia) ++ if (any(lbound(x%ib) .ne. -1) .or. any(ubound(x%ib) .ne. 2)) call abort ++ x=struct(ia(:)) ++ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort ++ x=struct(ia(from:to)) ++ if (any(lbound(x%ib) .ne. 1) .or. any(ubound(x%ib) .ne. 4)) call abort ++ deallocate(ia) ++ end subroutine ++end ++ +Index: gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 +=================================================================== +--- gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gfortran.dg/parameter_array_ref_2.f90 (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,39 @@ ++! { dg-do compile } ++! Test the fix for the problems in PR41044 ++! ++! Contributed by <[email protected]> ++! Reduced by Joos VandeVondele <[email protected]> ++! ++ Subroutine PS_INIT (bkgd, punit, pform, psize, rot90, bbox, clip, eps, & ++ caller) ++ type psfd ! paper size and frame defaults ++ character(3) :: n ++ real :: p(2) ++ real :: f(4) ++ end type psfd ++ character(4) :: fn, orich, pfmt ++ type(psfd), parameter :: pfd(0:11)=(/ & ++ psfd(' ',(/ 0.0, 0.0/),(/200.,120.,800.,560./)), & ! A0_L ++ psfd('A0 ',(/ 840.9,1189.2/),(/140., 84.,560.,400./)), & ! A0_P ++ psfd('A1 ',(/ 594.6, 840.9/),(/100., 60.,400.,280./)), & ! A1_P ++ psfd('A2 ',(/ 420.4, 594.6/),(/ 70., 42.,280.,200./)), & ! A2_P ++ psfd('A3 ',(/ 297.3, 420.4/),(/ 50., 30.,200.,140./)), & ! A3_P ++ psfd('A4 ',(/ 210.2, 297.3/),(/ 35., 21.,140.,100./)), & ! A4_P ++ psfd('A5 ',(/ 148.7, 210.2/),(/ 25., 15.,100., 70./)), & ! A5_P ++ psfd('A6 ',(/ 105.1, 148.7/),(/ 18., 11., 70., 50./)), & ! A6_P ++ psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Letter_L ++ psfd('LET',(/ 215.9, 279.4/),(/ 35., 21.,140.,100./)), & ! Letter_P ++ psfd(' ',(/ 0.0, 0.0/),(/ 50., 30.,200.,140./)), & ! Legal_L ++ psfd('LEG',(/ 215.9, 355.6/),(/ 35., 21.,140.,100./))/) ! Legal_P ++ if (len_trim(pfmt) > 0) then ! set paper format ++ idx=sum(maxloc(index(pfd%n,pfmt(1:3))))-1 ++ end if ++ end subroutine PS_INIT ++ ++! This, additional problem, was posted as comment #8 by Tobias Burnus <[email protected]> ++ type t ++ integer :: i ++ end type t ++ type(t), parameter :: a(1) = t(4) ! [t(4)] worked OK ++ real(a(1)%i) :: b ++end +Index: gcc/testsuite/gfortran.dg/namelist_60.f90 +=================================================================== +--- gcc/testsuite/gfortran.dg/namelist_60.f90 (.../tags/gcc_4_4_3_release) (wersja 0) ++++ gcc/testsuite/gfortran.dg/namelist_60.f90 (.../branches/gcc-4_4-branch) (wersja 156526) +@@ -0,0 +1,27 @@ ++! { dg-do run } ++! PR42901 Reading array of structures from namelist ++! Test case derived from the reporters test case. ++program test_nml ++type field_descr ++ integer number ++end type ++type fsetup ++ type (field_descr), dimension(3) :: vel ! 3 velocity components ++end type ++type (fsetup) field_setup ++namelist /nl_setup/ field_setup <<Diff was trimmed, longer than 597 lines>> ---- CVS-web: http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc-branch.diff?r1=1.23&r2=1.24&f=u http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gcc/gcc.spec?r1=1.597&r2=1.598&f=u _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
