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