packages: gcc/gcc-branch.diff, gcc/gcc.spec - rel 2; disable mozilla bcond ...
arekm
arekm at pld-linux.org
Fri Feb 5 21:13:07 CET 2010
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 <jakub at redhat.com>
++
++ 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 <rguenther at suse.de>
++
++ PR rtl-optimization/42952
++ * dse.c (const_or_frame_p): Remove MEM handling.
++
++2010-01-31 Eric Botcazou <ebotcazou at adacore.com>
++
++ PR middle-end/42898
++ Backport from mainline:
++ 2009-04-23 Eric Botcazou <ebotcazou at adacore.com>
++
++ * 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 <rguenther at suse.de>
++
++ PR middle-end/42898
++ * gimplify.c (gimplify_init_constructor): For volatile LHS
++ initialize a temporary.
++
++2010-01-26 Rainer Orth <ro at CeBiTec.Uni-Bielefeld.DE>
++
++ * 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 <jakub at redhat.com>
++
++ 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 <christian.bruel at st.com>
++
++ 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 <ramana.radhakrishnan at arm.com>
++
++ Backport from trunk.
++ 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan at arm.com>
++
++ 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 <davem at davemloft.net>
++
++ * 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 <fwishbringer at gmail.com>
++
++ 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 <jakub at redhat.com>
+
+ * 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 <jvdelisle at gcc.gnu.org>
++
++ PR libfortran/42901
++ *gfortran.dg/namelist_60.f90: New test.
++ *gfortran.dg/namelist_59.f90: New test.
++
++2010-02-04 Richard Guenther <rguenther at suse.de>
++
++ PR rtl-optimization/42952
++ * gcc.dg/torture/pr42952.c: New testcase.
++
++2010-02-02 Tobias Burnus <burnus at net-b.de>
++
++ PR fortran/42650
++ * gfortran.dg/func_result_5.f90: New test.
++
++2010-02-01 Uros Bizjak <ubizjak at gmail.com>
++
++ Backport from mainline:
++ 2009-12-17 Uros Bizjak <ubizjak at gmail.com>
++
++ * objc/execute/forward-1.x: XFAIL for -fgnu-runtime on
++ x86_64-*-darwin*, powerpc*-*-darwin* and alpha*-*-linux* targets.
++
++2010-01-31 Eric Botcazou <ebotcazou at adacore.com>
++
++ PR middle-end/42898
++ * gcc.dg/torture/pr42898-2.c: New test.
++
++2010-01-31 Richard Guenther <rguenther at suse.de>
++
++ PR middle-end/42898
++ * gcc.dg/torture/pr42898.c: New testcase.
++
++2010-01-31 Paul Thomas <pault at gcc.gnu.org>
++
++ 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 <pault at gcc.gnu.org>
++
++ 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 <pault at gcc.gnu.org>
++
++ PR fortran/42736
++ * gfortran.dg/dependency_25.f90 : New test.
++
++2010-01-26 Jakub Jelinek <jakub at redhat.com>
++
++ * ada/acats/run_all.sh: Make sure norun.lst is sorted using the
++ current collation.
++
++ Backport from mainline:
++ 2009-12-17 Arnaud Charlet <charlet at adacore.com>
++
++ * ada/acats/run_all.sh: Strip comments from norun.lst.
++
++2010-01-25 Ramana Radhakrishnan <ramana.radhakrishnan at arm.com>
++
++ Backport from mainline.
++ 2010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan at arm.com>
++
++ 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 <dominiq at lps.ens.fr>
++!
++ 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 <ros at rzg.mpg.de>
++! Reduced by Joos VandeVondele <jv244 at cam.ac.uk>
++!
++ 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 <burnus at gcc.gnu.org>
++ 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
More information about the pld-cvs-commit
mailing list