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

Reply via email to